开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: LLJ
收起左侧

[易语言纯源码] 红黑树

[复制链接]
结帖率:20% (1/5)
发表于 2023-5-12 09:37:37 | 显示全部楼层   四川省成都市
可以 很强 感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
 楼主| 发表于 2023-5-10 18:08:20 | 显示全部楼层   广东省汕头市
本帖最后由 LLJ 于 2023-5-10 18:17 编辑

哈希树

可以称为哈希树(Hash Tree),是在红黑树的基础上添加哈希函数,但本质上还是红黑树。

哈希表和哈希树

数据存储结构

哈希表是通过哈希函数将键映射到数组索引中。哈希树则是通过哈希函数计算后作为键,并按照二叉搜索树的规则组织起来。

时间复杂度

在不考虑哈希冲突的情况,哈希表的时间复杂度为 O(1),哈希树的时间复杂度为 O(log n)。哈希表在简单数据的情况优于哈希树。但在复杂数据的情况哈希树可能更有优势。

处理哈希值

哈希表会对哈希值进行求余数操作,并限制在哈希表的容量内,更容易发生哈希冲突。而哈希树更高效,不需要进行求余数操作,哈希值可以为任意值,也因此哈希冲突的概率更小。

内存占用

哈希表需要一个足够大的数组,大小通常是元素数量的几倍,而且也不一定能完美地将所有的键均匀地分散在整个哈希表中,所以会占用更多内存。哈希树占用的内存是根据节点的数量,因此占用的内存更少。


RedBlackTree.e (34.61 KB, 下载次数: 18)
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 22 天

发表于 2023-5-10 10:07:37 | 显示全部楼层   湖北省十堰市
学习学习................
回复 支持 反对

使用道具 举报

结帖率:73% (8/11)

签到天数: 25 天

发表于 2023-5-9 22:48:41 | 显示全部楼层   河南省焦作市

感谢分享,很给力!~
回复 支持 反对

使用道具 举报

签到天数: 22 天

发表于 2023-5-9 13:42:04 | 显示全部楼层   湖南省岳阳市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)

签到天数: 26 天

发表于 2023-5-9 13:06:24 | 显示全部楼层   新疆维吾尔自治区昌吉回族自治州
支持支持。感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)
发表于 2023-5-9 11:51:37 | 显示全部楼层   广西壮族自治区贵港市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

签到天数: 28 天

发表于 2023-5-9 10:20:20 | 显示全部楼层   湖北省武汉市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)

签到天数: 24 天

发表于 2023-5-9 08:53:03 | 显示全部楼层   广西壮族自治区玉林市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
 楼主| 发表于 2023-5-9 05:23:35 | 显示全部楼层   广东省汕头市
本帖最后由 LLJ 于 2023-5-9 05:31 编辑
易造轮 发表于 2023-5-9 04:26
请教哈希表用的是哪种查找?

由ChatGPT生成

哈希表是通过哈希函数将每个键映射到唯一的数组索引位置上,并将键值对存储在该位置上。查找时只需要使用同样的哈希函数找到对应的索引位置,并访问该位置上的键值对。在不考虑冲突的情况,查找的时间复杂度为 O(1)。

然而,实际应用中,并不能完美地将所有的键均匀地分散在整个哈希表中,有时候会出现多个键映射到同一个索引位置的情况,这种情况称为哈希冲突。为了解决哈希冲突,哈希表通常采用链表或者红黑树等数据结构来存储在同一个索引位置上的多个键值对,这样每次查找时需要依次遍历链表或者红黑树,查找时间复杂度为O(n/k),其中k为哈希表的容量,n为存储在哈希表中的键值对数量。



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表