相关疑难解决方法(0)

什么是鲜为人知但有用的数据结构?

周围有一些数据结构非常有用,但大多数程序员都不知道.他们是哪一个?

每个人都知道链接列表,二叉树和哈希,但是例如跳过列表布隆过滤器.我想知道更多不常见的数据结构,但值得了解,因为它们依赖于很棒的想法并丰富了程序员的工具箱.

PS:我也对像跳舞链接这样的技巧感兴趣,这些技巧巧妙地使用了常见数据结构的属性.

编辑:请尝试更详细地包含指向描述数据结构的页面的链接.此外,尝试添加几个关于数据结构为什么很酷的词(正如JonasKölker已经指出的那样).此外,尝试为每个答案提供一个数据结构.这将允许更好的数据结构根据他们的投票单独浮动到顶部.

language-agnostic computer-science data-structures

796
推荐指数
52
解决办法
35万
查看次数

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

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

我会说两者之间的良好界限是堆 - 你应该能够编写一个堆,但它需要你一天.不合适的是BST等.编辑:我认为这取决于你在做什么.我认为列出一个包含总结您使用它的原因的短语会很棒!

这是一个开始的列表:

  1. B +树:单个键上的一般索引结构很好
  2. Kd树:空间数据
  3. 红黑树:自平衡BST; 还有AVL或splay树
  4. 跳过列表:用于随机或(伪)顺序访问的良好混合结构
  5. Trie:线性时间字符串搜索

algorithm performance data-structures

16
推荐指数
2
解决办法
2625
查看次数