鱼C论坛

 找回密码
 立即注册
查看: 80|回复: 7

[技术交流] 计算机科学中5种诡异「数据结构」但都超级实用!

[复制链接]
发表于 昨天 11:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
70318340c3c47f7bf91b8ed08a23193bb32a3a48.jpg@308w_174h.jpeg

在程序世界里,数组、链表、哈希表、栈、队列、图与树共同构成了处理数据的“七武器”。

在线学习:



它们让我们能够以更低的时间成本完成创建、读取、更新与删除。

当算法需要更大规模的数据检索时,仅能左右分支的平衡二叉搜索树虽然平均查找复杂度可以降到O(log n),一旦退化或遇到海量数据就会导致频繁磁盘寻址。

1970年,Bayer与McCreight在波音实验室发明了B-tree,通过让单个节点容纳多关键字并拥有高扇出子节点,将树高显著压缩;

B+树进一步把真正的数据只放在有序串联的叶节点上,使范围查询与顺序遍历只需顺着叶链就能完成,从而在数据库与文件系统里大幅减少磁盘I/O。

当业务对前缀查找或长文本编辑有极致要求时,常见树结构又显得捉襟见肘。

RadixTree(压缩前缀树)把只有一个子节点的路径合并到父节点,天然适配IP地址与URL这种共享前缀极多的键,使一次匹配只与键长相关而与集合规模无关;

Linux路由表就借此实现了高速前缀转发。编辑器领域则偏爱Rope:

把整串文本切分成固定大小的叶片,再用一棵平衡二叉树记录片段长度。

插入、删除或撤销时,只需局部旋转与重组即可在O(log n)内完成,避免了对百兆级文件的大规模内存复制。

还有一些“概率型”或“伪随机”结构专为过滤与冲突而生。BloomFilter用k个独立哈希函数把元素映射到位图,查询时只要发现某个位为0即可确定元素一定不存在;

代价是当所有对应位都为1时只能回答“也许存在”,产生极低的假阳性但绝无漏判。

若需要在哈希表里彻底消除链表退化风险,可采用CuckooHashing:

为每个键准备两到三个候选槽位,插入冲突时把旧键逐出并重新安置,如同布谷鸟占巢。

最终在负载率合理范围内保证O(1)的最坏情况查找时间,为高速缓存与路由设备提供了确定性性能保证。

评论区聊聊你的想法



                               
登录/注册后可看大图




如果有收获,别忘了评分


                               
登录/注册后可看大图


                               
登录/注册后可看大图
                                                                    
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 昨天 11:11 | 显示全部楼层
鱼C论坛不愧是全国最大的「编程/AI/科技/新闻/娱乐」学习论坛!朕超喜欢这里
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 11:41 | 显示全部楼层
虽然现在我还看不懂,但是我会一直泡在论坛里,直到我能看懂!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 14:37 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 昨天 15:31 | 显示全部楼层
不会不会
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 15:55 | 显示全部楼层

都不会吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 15:55 | 显示全部楼层
每天都要快乐 发表于 2025-8-1 11:41
虽然现在我还看不懂,但是我会一直泡在论坛里,直到我能看懂!

一定可以滴!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 17:14 | 显示全部楼层
感谢分享!!鱼C论坛不愧是全国最大的「编程/AI/科技/新闻/娱乐」学习论坛!朕超喜欢这里
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-2 05:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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