这是一个衍生问题,但我正在询问您至少应该熟悉它们的实用性的数据结构.如果没有一些专业知识,这些结构太难实现.
我会说两者之间的良好界限是堆 - 你应该能够编写一个堆,但它需要你一天.不合适的是BST等.编辑:我认为这取决于你在做什么.我认为列出一个包含总结您使用它的原因的短语会很棒!
这是一个开始的列表:
B +树:单个键上的一般索引结构很好
Kd树:空间数据
红黑树:自平衡BST; 还有AVL或splay树
跳过列表:用于随机或(伪)顺序访问的良好混合结构
Trie:线性时间字符串搜索
twk.. 9
布隆过滤器
布隆过滤器