你应该听说过哪些复杂的数据结构?

这是一个衍生问题,但我正在询问你至少应该熟悉它们的用处的数据结构。 但是,如果没有一些专业知识,这些结构太难实施。

我想说,两者之间的良好界限是一堆 - 你应该能够编写一个堆,但它会花一天时间。 不适合这将是一个BST等编辑:我明白这取决于你在做什么。 我认为用一个总结你为什么使用它的短语列出一个列表是非常棒的!

这是一个开始的列表:

  • B +树:单个键上的一般索引结构
  • Kd树:空间数据
  • 红黑树:自平衡BST; 也AVL或splay树
  • 跳过列表:针对随机或(伪)顺序访问的良好混合结构
  • Trie:线性时间字符串搜索

  • 布隆过滤器


    关于什么:

  • 二项式堆
  • 斐波那契堆
  • 不相交集数据结构
  • 张开树

  • 手指树

    链接地址: http://www.djcxy.com/p/39843.html

    上一篇: What are the complicated data structures you should have heard of?

    下一篇: How to implement a queue using two stacks?