无序表总结 第1篇

如图中,节点的数据项就是data,节点的引用信息next就是指向的下一个节点,当next为None时,就是说没有下一个节点了。

节点的代码实现:

通过前面我们发现,可以采用链表节点的方式构建数据集来实现无序表

链表的第一个和最后一个节点最重要。

如果想访问到链表中的所有节点,就必须从第一个节点开始沿着链表遍历下去

所以无序表必须要有对第一个节点的引用信息,因此可以设立一个属性head,保存对第一个节点的引用(如果表为空时,head为None )

随着数据项的加入,无序表的head始终指向链表中的第一个节点。

注意:无序表本身不包含数据项,数据项存在于节点中。可以理解为:无序表-->节点-->数据项

其中包含的head只是对首个节点的引用,判断是否为空表时很容易实现,一行代码就可以:

无序表总结 第2篇

在前面基本数据结构的讨论中,采用python list实现了多种线性数据结构,主要包括栈、队列、双端队列,可以发现列表list是一种简单强大的数据集结构,提供了丰富的操作接口。

什么是列表呢?

特别的,被称为“无序表(unordered list)”,其中的数据项只按照存放位置来索引,如第一个、第二个等(这里假设表中不存在重复的数据项)。

例如一个考试分数的集合“54,26,93,17,77,31”,如果用无序表来表示的话,就是[54, 26, 93, 17, 77,31]。

无序表总结 第3篇

为了实现无序表的数据结构,可以采用链表的方式。

什么意思呢?

如下图,数据项的存放位置并没有规则,但如果在数据项之间建立链接指向,就可以保持其前后相对位置。通俗点说,就是在前一个数据项时,告诉你指向的下一个数据项的位置就可以了。

上图中,第一个数据项和最后一个数据项需要显式标记起来,可以认为一个是队首,一个是队尾,队尾的后面就没有数据了。