朱迪矩阵

✍ dations ◷ 2025-06-08 09:38:59 #数据结构

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

看到的算法思路包括:

相关

  • 细菌感染病原细菌(英语:Pathogenic bacteria)是指能导致传染病的细菌病原体。本条目主要针对会造成人类传染病的病原细菌。大部分的细菌是无害,甚至是有益的,不过有些细菌是病原体。像结
  • 邱奇-图灵论题邱奇-图灵论题(英语:Church–Turing thesis,又称邱奇-图灵猜想,邱奇论题,邱奇猜想,图灵论题)是一个关于可计算性理论的假设。该假设论述了关于函数特性的,可有效计算的函数值(用更现
  • 医疗器械医疗器械(Medical Device),在台湾称为医疗器材(Medical Device),又作医疗设备或医疗仪器(Medical Equipment),用于医疗工作的诊断(diagnosis)、监护(Monitoring)和治疗(treatment)。医疗器
  • 细胞破碎细胞破碎技术是指利用外力破坏细胞膜和细胞壁,使细胞内容物包括目的产物成分释放出来的技术,是分离纯化细胞内合成的非分泌型生化物质(产品)的基础。 结合重组DNA技术和组织培养
  • 维罗纳维罗纳(意大利语:Verona)是位于意大利北部威尼托阿迪杰河畔的一座历史悠久的城市,2000年入选联合国教科文组织的世界遗产。莎士比亚的名作《罗密欧与茱丽叶》以此城为背景,有“爱
  • 克里米亚归属公投2014年克里米亚归属公投,是克里米亚自治共和国政府于2014年3月16日发起的一场公投,让克里米亚选民决定是否从乌克兰独立,并且加入俄罗斯联邦。参与者包含来自整个克里米亚半岛,
  • 王力 (语言学家)王力(1900年8月10日-1986年5月3日),字了一,原名王祥瑛,广西博白人,中国汉语语法学家、翻译家、诗人、散文家,在声韵学、训诂学等语言学领域亦有贡献。据说王力家境贫困,初小辍学。191
  • 约翰·柴尔德约翰·柴尔德爵士(Sir John Child, 1st Baronet,?-1690年)本籍英国伦敦,商人,经济学家。早年经商成功的他,1677年成为东印度公司主要股东,并于1679年-1680年间前往印度担任孟买总督,后
  • 青之花《青之花》(日语:青い花),是日本漫画家志村贵子的一部以校园女子百合为题材的漫画作品。2004年起在太田出版的杂志《Manga Erotics F》上连载。2009年,由J.C.STAFF宣布制作动画的
  • 天桥八怪天桥八怪,指的是从清末至民国时期,活跃在北京天桥地区进行民间曲艺表演的八位著名艺人,自清初迁汉令之后,天桥地区逐渐形成了一个民间娱乐中心,这里遍布茶馆酒肆,活跃着各种行当的