【发布时间】:2010-10-08 06:25:23
【问题描述】:
这是一个衍生问题,但我询问的是您至少应该熟悉的数据结构是否有用。但是,如果没有一些专业知识,这些结构很难实施。
我想说这两者之间的一个很好的界限是堆——你应该能够编写一个堆,但这需要你一天的时间。不适合这将是 BST 等。编辑:我认为这取决于你在做什么。我认为有一个包含一个短语总结你为什么使用它的列表会很棒!
这是一个开始的列表:
- B+ 树:单个键上良好的通用索引结构
- K-d 树:空间数据
- 红黑树:自平衡BST;还有 AVL 或伸展树
- 跳过列表:用于随机或(伪)顺序访问的良好混合结构
- Trie:线性时间字符串搜索
【问题讨论】:
标签: performance algorithm data-structures