本文主要是介绍一些鲜为人知却非常实用的数据结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原文:http://www.cnblogs.com/haippy/archive/2013/05/27/3101697.html
作为程序猿(媛),你必须熟知一些常见的数据结构,比如栈、队列、字符串、链表、二叉树、哈希,但是除了这些常见的数据结构以外,还有没有其他不是很有名,但却非常实用的数据结构呢,有人在 stackoverflow 上问了这样一个问题,得到了很多热心观众的回答,我们今天就来看看那些鲜为人知却非常实用的数据结构吧。
首先,维基百科上的一个页面列举了常见的数据结构,你可以先去那个页面看看。下面我们就来看看一些不是很常见的数据结构吧:
- Tries(前缀树)
- Bloom filter(布隆过滤器)
- Rope: 主要用于某些文本编辑器中,可用于字符串高效地插入、删除、追加等操作。SGI 的 STL 中实现了 Rope(http://www.sgi.com/tech/stl/Rope.html)
- Skiplist(跳表)
- Spatial Indices(空间索引),如R-trees 和 KD-trees
- Splay trees(伸展树)
- Disjoint Set(并查集)
- Fibonacci heaps(斐波那切堆)
- Huffman trees(哈夫曼树)
- ring buffer(又名circular buffer)
- Merkle trees(哈希树)
- min-max heap
- bitset(又称bit array, 位数组)
- Xor linked list
- AA tree
- Log-structured merge-tree
- Radix tree
- Judy array
这篇关于一些鲜为人知却非常实用的数据结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!