异或链表

✍ dations ◷ 2025-10-08 20:24:56 #数据结构,二进制算术

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

相关

  • 交叉学科科际整合(英:Interdisciplinarity),或译交叉学科、学科间研究,指的是两个或多个学科相互合作,在同一个目标下进行的学术活动。科际整合的项目通常源于对单一学科无法、或是无意
  • 钢铁条约钢铁条约(德语:Stahlpakt,意大利语:Patto d'Acciaio)是法西斯意大利与纳粹德国在1939年5月22日通过的协定。意大利外长加莱阿佐·齐亚诺与德国外长约阿希姆·冯·里宾特洛甫代表
  • 剑潭神社台湾神宫是原位于台湾台北市剑潭附近的剑潭山山麓的神社,1901年完工时名为“台湾神社”,二战末期(1944年)升格为神宫,主祀死于台湾的北白川宫能久亲王,是台湾日治时期所建的神社中
  • 第二次世界大战中国战区受降仪式第二次世界大战中国战区受降仪式,1945年9月9日9时,在中华民国南京市中央陆军军官学校大礼堂(现东部战区大礼堂)举行,大日本帝国陆军中国派遣军总司令冈村宁次大将签署投降书,向同
  • 酸浆酸浆(Physalis alkekengi),是茄科酸浆属植物,果实可食用,别名红姑娘、挂金灯、金灯、锦灯笼、泡泡草等。在中国北方,菇蔫儿、姑娘儿、菇茑、鬼灯球等名通常是对酸浆、毛酸浆(色黄味
  • 司前话广东省江门市的:司前话,又称河村话(Ho-tsun dialect)。其主要分布于广东新会司前镇。另外台山市下川镇、开平市水口镇和月山镇、鹤山市址山镇的方言亦可与司前镇当地的方言相互
  • 坪顶古圳七星墩圳今又另称或包含坪顶古圳、双溪圳及登峰玔,为台湾大台北地区史载最早开发的人工水圳。该水圳初建于1725年(清朝雍正年间),开垦者为台湾举人王锡棋。七星墩圳之名源自该圳
  • 圣菲省圣菲省(西班牙语:Provincia de Santa Fe)为南美国家阿根廷二十三省之一,位于阿根廷东北部,省会圣菲。1自治市
  • 芬尼根的守灵夜《芬尼根的守灵夜》(英语:Finnegans Wake),是爱尔兰作家乔伊斯最后一部长篇小说,书名来自民歌《芬尼根的守尸礼》,内容是有个搬运砖瓦的工人芬尼根从梯子上跌落,大家都以为他死了,守
  • 蔬果汁蔬果汁,常简称果汁,是指从新鲜水果或蔬菜榨汁而成的一种饮料。各种不同水果的果汁含有不同的维生素等营养,而被视为是一种对健康有益的饮料,但其缺乏水果所有的纤维素和过高的糖