异或链表

✍ dations ◷ 2025-05-09 21:06:28 #数据结构,二进制算术

异或链表(英语:XOR linked list)是数据结构里面的一种链式存储结构,可以在降低空间复杂度的情况下达到和双向链表一样的目的,使得在任何一个结点都能方便地访问它的前驱结点和后继结点。

普通双向链表的每个结点有三个域 ,分别存储着前一个结点的地址、后一个点的地址,以及数据

 ...  A       B         C         D         E  ...          –>  next –>  next  –>  next  –>          <–  prev <–  prev  <–  prev  <–

异或链表通过异或操作(这里用⊕表示)把前一个结点的地址和后一个结点的地址变成一个地址

 ...  A         B               C                D            E  ...          <–>  A⊕C     <->    B⊕D     <->      C⊕E  <->        link(B) = addr(A)⊕addr(C), link(C) = addr(B)⊕addr(D), …

当从左往右遍历的时候,如果当前结点是C,指针域是内容是B⊕D,通过和前一个结点B的地址做异或操作就能得到下一个结点D的地址,如此重复便能遍历整个链表。

相关

  • 重症监护室综合征重症监护室综合征(ICU Syndrome,亦译“ICU综合征”)是指由于重症监护室的封闭式环境及其间进行的医疗行为而对患者身心所产生的影响,进而引致谵妄、精神病、神经症等心理方面的
  • 经合组织“经合组织”可能指:
  • UCLA粉蓝色和金色加利福尼亚大学洛杉矶分校(英语:University of California, Los Angeles),简称加州大学洛杉矶分校(UCLA),是一所位于美国加利福尼亚州洛杉矶的公立研究型大学,创办于191
  • 冒口冒口(riser)也称为补给口(feeder),是在金属铸造(英语:metal casting)中为了避免因材料收缩(英语:Shrinkage (casting))而产生缩孔或是不平整处,额外所增加的材料储腔,不是最后铸件成品的
  • 连平县连平县位于中国广东省北部,属于河源市管辖。东边与广东省和平县相邻,南边与广东省东源县、新丰县相邻,西边与广东省翁源县相邻,北边与江西省龙南县、全南县相连,面积2365平方公里
  • 让·梯若尔麻省理工学院 让·马塞尔·梯若尔(法语:Jean Marcel Tirole,1953年8月9日-),法国经济学教授。他研究产业组织、博弈论、银行和金融、经济和心理学。梯若尔是让-雅克·拉丰基金会主
  • 合字合字、连字、连结字或合体字(英语:Ligature),在西方字体排印学中一般表示将多于一个字母的合成一个字形。如印刷品中常常将拉丁字母两个字母fi的i上一点常与f的一钩合并,而德语字
  • 卡加延河谷卡加延河谷是菲律宾第二大区,位于吕宋岛东部,包括5个省和3个市:巴丹群岛省、卡加延省、伊莎贝拉省、新比斯开省和季里诺省以及卡加延市、土格加劳市和圣地牙哥市。大区首府设在
  • 根纳季·伊万诺维奇·沃罗诺夫根纳季·伊万诺维奇·沃罗诺夫(俄语:Генна́дий Ива́нович Во́ронов;1910年8月31日-1994年4月1日)是一位苏联政治人物,曾于1963年至1971年间任俄罗斯苏
  • 结构基因组学 (基因组)结构基因组学(英语:Structural genomics)是基因组学的一个分支。其研究范围包括基因组作图与基因组测序。著名工程如人类基因组计划等。基因组作图(英语:mapping),也称染色体作图。