异或链表

✍ dations ◷ 2025-06-08 11:14:54 #数据结构,二进制算术

异或链表(英语: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的地址,如此重复便能遍历整个链表。

相关

  • 歇后语歇后语,换言之,就是“歇”去“后”半段之“语”,这就是说要把真正想表达的意旨藏起来,不直接明说,改以幽默的方式来呈现一段话语的前半段,然后,再让听者或读者就意义的关联性,或是语
  • 拉伯雷弗朗索瓦·拉伯雷(法语:François Rabelais 法语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","
  • Hebrew University of Jerusalem坐标:31°46′33″N 35°12′00″E / 31.77583°N 35.20000°E / 31.77583; 35.20000耶路撒冷希伯来大学(希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .scri
  • 前苏联国家苏联的加盟共和国(俄语:Сою́зные Респу́блики,转写:Soyúznye Respúbliki)是苏维埃社会主义共和国联盟的构成国,亦可视为苏联的一级行政区划。1991年苏联解体
  • 奥林匹克体育场奥林匹克体育场通常是夏季奥林匹克运动会的主要的中心体育场。奥运会的开、闭幕式和田径比赛会在奥运会主体育场进行。许多(但不是全部)奥运会的主体育场的名字中都包含“奥林
  • 2014年欧洲议会选举巴罗佐 欧洲人民党容克 欧洲人民党本文是 欧洲联盟的政治与政府 系列条目之一2014年欧洲议会选举(第八届)于2014年5月22至25日在所有欧盟成员国境内进行,选举时间是由欧盟理事
  • 2017年卡塔尔外交危机 沙特阿拉伯  阿联酋  巴林  埃及  马尔代夫  也门  毛里塔尼亚  科摩罗  索马里兰  乍得 支持方:  利比亚 (托布鲁克政府)  约旦  吉布提  塞内加尔 调停国:
  • 周家湾组周家湾组是位于中国甘肃康县、徽县以及陕西勉县、略阳县一带的下白垩世地层,1975年由地质部西北地研所齐骅等命名。该地层以紫红、黄绿、灰绿色泥岩、粉砂岩为主,间夹砂岩、砂
  • 南大西洋异常区南大西洋异常区(South Atlantic Anomaly)是地球上一片地磁最弱的区域,覆盖范围遍及南美洲南部及南大西洋海域。由于该区的地磁较其他地区弱,阻挡太阳粒子的范艾伦辐射带在该区
  • 平滑小檗平滑小檗(学名:)是小檗科小檗属的植物,为中国的特有植物。分布在中国大陆的四川、云南等地,生长于海拔2,100米至2,900米的地区,常生长在山坡常绿阔叶林、松林下以及山坡,目前尚未由