hash表,radix_tree,红黑树,B+树比较

数据结构对比:哈希表、Radix Tree、红黑树与B+树
本文探讨了四种常见的数据结构——哈希表、Radix Tree、红黑树和B+树。哈希表结合了数组和链表的特点,而哈希树则采用数组与树的组合,通常使用红黑树、B+树等形式。Radix Tree在Linux内核中用于page_cache管理,以其高效的查找速度著称。B树家族包括B树、B+树、B-树和B*树,各有其适用场景。红黑树在Linux内核中有广泛应用,其节点嵌入到数据结构中,适用于数据占用内存较大的情况。

如题,这几种数据结构都是我们平时常用的数据结构。

 

hash链表: 本质上就是 数组 + 链表

hash树: 本质上就是 数组 + 树。这个树可以是红黑树,B+树,radix_tree等

 

因为每种数据结构都有自己的优点,缺点。hash链表的各种性能介于 数组和链表之间,hash树的各种性能介于 数组和链表之间。

 

先看一个摘自网上的图: 

数组,链表,树的比较

首先,它们的程序在不同程度上比数组和链表的复杂;其次哈希表要求预先知道要存储多少数据,数据对存储空间的利用率也不是非常高。普通的二叉树对顺序的数据来说,会变成缓慢的O(N)级操作;而平衡树编起来显然较为困难。(来自http://hi.baidu.com/haifengjava/blog/item/2e4fc624d974cc0b4d088d13.html

 

 

 

在取hash数组的id的过程中,利用商,或者余数得到id。利用哪个主要是看是否可以减少对同一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值