什么是你应该听说过的复杂的数据结构?数据结构、你应该、听说过、复杂

2023-09-10 23:47:13 作者:傲气一世

这是一个衍生的问题,但我询问以数据结构,你至少应该熟悉了它们的用途。这些结构太硬没有一定的专业知识不过来实现。

我会说,二者之间很好的边界​​是一个堆 - 你应该能够codeA堆,但它会带你一天。不适合这将是一个BST等编辑:我看到,这取决于你在做什么的地步。我认为这将是真棒有一个词概括你为什么使用它的列表!

下面是一个列表启动:

在B +树:在一个关键的很好的通用索引结构 K-D树:空间数据 红黑树:自平衡BST;也AVL或伸展树 在跳转列表:良好的混合结构的随机或(伪)顺序访问 特里:线性时间字符串搜索 解决方案

布鲁姆过滤器

如何看待程序员普遍缺乏数据结构和算法知识

This is a derivative question, but I'm inquiring as to the data structures that you should at least be familiar with for their usefulness. These structures are too hard to implement without some expertise however.

I would say a good boundary between the two is a heap -- you should be able to code a heap, but it would take you a day. Not appropriate for this would be a BST, etc. Edit: I see the point that it depends on what you are doing. I think it would be awesome to have a list with a phrase summarizing why you use it!

Here's a list to start:

B+ trees: good general indexing structure on a single key K-d tree: spatial data Red-black tree: self-balancing BST; also AVL or splay tree Skip list: good hybrid structure for either random or (pseudo)sequential access Trie: linear time string search

解决方案

Bloom filters