朱迪矩阵

✍ dations ◷ 2025-11-04 14:20:35 #数据结构

朱迪矩阵(Judy array)是一个计算机科学和软件工程学中的名词,是一种高性能、低内存消耗的数据结构,实现了关联数组的功能。与普通数组不同,Judy array可以是稀疏的,这一点更像是散列表,而非数组。Judy array可以用整形或字符串作为键值来存储、查询数据,它最大的优势是可动态自动扩展,高性能,节省内存并且易于使用。

由于Judy array在操作速度和内存使用上都非常高效,同时并不需要特殊配置或初始化,使得它可以用来替换掉多种常见数据结构,例如跳跃列表,链表,二叉树,B树,散列表,而且judy array在海量数据集上的表现比那些数据结构更好。

粗略地讲,Judy array像是一个高度优化了的256叉树,为了节省内存,它使用了超过20种不同的压缩技术来压缩树节点。.

Judy array 是Douglas Baskins发明的,他用自己妹妹的名字命名了这种数据结构。

容量、用量、密度 这三个概念是传统树形结构中很少使用,但在Judy array中反复使用的。这个的概念的定义如下:

Judy array是没有容量限制的,所以也不用事先分配好存储空间,它可以根据用量动态决定生长或收缩内存使用,来支撑海量数据存储。其存储能力仅受到计算机内存容量的限制。 Judy array的内存用量与其存储的数据用量基本呈线性关系。

Judy array在设计上就力争保持尽可能高的CPU缓存命中率,为了达到这个目标,其内部算法十分复杂。由于有了这些针对性的优化,使得Judy array在运行速度上十分高效,有时甚至超过散列表,尤其是在处理大数据集的时候。由于Judy array是依托树 (数据结构)形结构设计的,其内存消耗比散列表小很多,同样是拜树形结构所赐,使得它可以完成键值的顺序遍历,这一点在散列表中是不可能的。

从Judy array的发明者所撰写的简介以及其他一些相关的中文论文中看,设计中使用了多种的压缩思想与压缩算法,根据不同的密度情况,选择不同的压缩方式,以期尽可能节省内存,降低实际存储中的稀疏情况,我猜测,这能够在缓存命中率上带来不少提升,进而提升效率。

看到的算法思路包括:

相关

  • 电子前哨基金会电子前线基金会(英语:Electronic Frontier Foundation),也译作电子前锋基金会、电子前哨基金会、电子前沿基金会,是一个国际知名的民权组织,旨在维护互联网上的公民自由、提供法律
  • 空间资讯科学地理信息科学(英语:Geographic Information Science,简称GI Science)或地球空间信息学(Geoinformatics)是由全球定位系统(GPS)、地理信息系统(GIS)、遥感(RS)、计算机技术和数字传输网络
  • 格奥尔格·特拉克尔格奥尔格·特拉克尔(Georg Trakl ,1887年2月3日-1914年11月3日),20世纪奥地利著名诗人。特拉克尔出生于奥地利萨尔茨堡,他在那里度过了生命的前18年。他的父亲托比亚斯(Tobias)是一
  • 如实陈述2020年2月1日 (2020-02-01)-2020年3月22日 (2020-03-22)《如实陈述》(韩语:본 대로 말하라),为韩国OCN于2020年2月1日起播出的周末经典电视剧,由金尚勋导演与高英宰、韩基贤作家
  • 泰文字泰文(泰语:อักษรไทย、皇家音译:akson thai、IPA: listen)是在泰国用于书写泰语,南泰语和一些其他少数民族语言的字母,有44个辅音字母、21个元音字母、4个声调符号、和一些
  • 英雄儿女《英雄儿女》是1964年中国摄制的一部抗美援朝题材的电影,由长春电影制片厂摄制,与《上甘岭》《奇袭白虎团》和《冰血长津湖》为同一类型电影。电影《英雄儿女》是由巴金的小说
  • 德米特里·托尔宾斯基德米特里·托尔宾斯基(Dmitri Torbinski,1984年4月28日-)是俄罗斯的一位足球运动员。在场上司职中场。他现在效力于俄罗斯足球超级联赛球队莫斯科火车头足球俱乐部。他同时为俄
  • 威廉·莫尔顿·马斯顿查尔斯·莫尔顿 威廉·莫尔顿·马斯顿(英语:William Moulton Marston,1893年5月9日–1947年5月2日),以笔名查尔斯·莫尔顿(英语:Charles Moulton)为人所知,是美国的心理学家、发明家
  • 安德列斯长舌蝠属安德列斯长舌蝠属(小安德列斯长舌蝠),哺乳纲、翼手目、叶口蝠科的一属,而与安德列斯长舌蝠属(小安德列斯长舌蝠)同科的动物尚有蕉蝠属(蕉蝠)、鼓颏长舌蝠属(鼓颏长舌蝠)、长齿长舌蝠属
  • 塔特兰斯卡鲁门尼卡塔特兰斯卡鲁门尼卡(斯洛伐克语:Tatranská Lomnica)是位于斯洛伐克北部的一个村镇。塔特兰斯卡鲁门尼卡是斯洛伐克著名的旅游胜地,以滑雪和登山运动而著称。塔特兰斯卡鲁门尼卡