What are the complicated data structures you should have heard of?

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
  • Kd 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

  • 布隆过滤器


    What about:

  • Binomial Heaps
  • Fibonacci Heaps
  • Disjoint Set Data Structures
  • Splay Trees

  • 手指树

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

    上一篇:

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