异或链表

✍ dations ◷ 2025-11-28 11:23:47 #数据结构,二进制算术

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

相关

  • 欧里庇得斯欧里庇得斯(希腊语:Ἐυριπίδης,前480年-前406年)与埃斯库罗斯和索福克勒斯并称为希腊三大悲剧大师,他一生共创作了九十二部作品,保留至今的有十七部。对于欧里庇得斯的评价
  • 血管性血友病类血友病,温韦伯氏疾病(Von Willebrand disease,简称vWD)、血管性血友病,是人类最常见的遗传性凝血异常疾病,但是也可会在某些情况下得病。致病的原因是缺乏一种血小板凝聚所需要
  • 钢琴教师《钢琴教师》(法语:La Pianiste)是一部2001年电影,迈克尔·哈内克导演,伊莎贝尔·于佩尔和伯努瓦·马西莫勒(英语:Benoît Magimel)主演,2004年诺贝尔文学奖得主艾尔弗雷德·耶利内克
  • 齐纳齐纳(阿拉伯语:زِنَاء‎)是伊斯兰教法所指穆斯林在婚姻关系之外的非法性关系,包括外遇及婚前性行为,例如通奸(双方同意的婚外性关系)、私通(未婚人士在双方同意的情况下性交)及
  • 冂部冂部,就汉字索引来说,是为部首之一,康熙字典214个部首中的第十三个(两划的则为第七个)。冂部归于二划部首,通常是从上方或下方为部,且无其他部首可用者将部首归为冂部。坰的本字,即
  • 阿尔·格林阿尔伯特·“阿尔”·格林尼(Albert "Al" Greene,1946年4月13日-)是一位美国歌手,在1970年代早期有多首灵魂乐歌曲在榜单上取得佳绩,包括《Tired of Being Alone》、《I'm Still I
  • 费迪南多·皮奥 (两西西里)费迪南多·皮奥·玛利亚(Ferdinando Pio Maria,1869年7月25日-1960年1月17日),两西西里王国王子,封卡拉布里亚公爵,1934年起为波旁-两西西里王室家族族长。费迪南多·皮奥是两西
  • 曼哈顿悬日曼哈顿悬日(英语:Manhattanhenge),也称为曼哈顿至日,是日落或日出与纽约市的曼哈顿主要街道网格的东西向街道对齐的事件。每年有两次日出或日落与东西向街道对齐,这些日期会落在冬
  • 拉伐尔喷管拉伐尔喷管(, 亦称渐缩渐阔喷管,convergent-divergent nozzle、CD nozzle或con-di nozzle)是一个中间收缩、不对称沙漏状的管子。借由将流体的热能转化为动能,可将通过它的热压
  • CTermCTerm是一个与FTerm功能相仿的通用仿真终端软件。是中国大陆地区发展的第一个在BBS站上支持鼠标操作的BBS软件。主要特点:支持以SSH方式登录BBS(从3.3.0版本开始);支持鼠标操作;