常见数据结构的简单总结

数组

  • 直接下标数组 如JAVA中的ArrayList
  • Hash值Mod为下标 如JAVA中的HashMap

链表

  • 单项链表
  • 双向链表 如JAVA中LinkedList
  • Skip List 跳跃表,可快速查找词语,在lucene、redis、Hbase等均有实现。相对于TreeMap等结构,特别适合高并发场景(Skip List介绍)

队列

  • Ternary Search Tree 三叉树,每一个node有3个节点,兼具省空间和查询快的优点(Ternary Search Tree)
  • Trie 适合英文词典,如果系统中存在大量字符串且这些字符串基本没有公共前缀,则相应的trie树将非常消耗内存(数据结构之trie树)
  • Finite State Transducers (FST) 一种有限状态转移机,Lucene 4有开源实现,并大量使用
  • Double Array Trie 适合做中文词典,内存占用小,很多分词工具均采用此种算法

通过邻接矩阵/邻接表/逆邻接表/十字链表表示。可以通过深度优先或者广度优先进行遍历。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值