xhao 2020-05-10
链表及顺序表都属于线性表
顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。
链表:链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。即一个节点存储了数据以及下一个节点的地址,从而实现链表(存储elem及next)
单向链表:是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。
这里有头节点的概念,通过头节点结果找到链表中所有的节点
在python中a=10,b=20的赋值语句占用两个内存,一个存储具体的元素,而那一个就是变量a,b,它存储指向相应元素的地址
所以,在别的语言中赋值时候要表明相应的int型、char型;而在python中,理论上,一个类都可以赋值给一个变量
可以将节点封装成类方便使用
class SingleNode(object): """单链表的结点""" def _init_(self,item): #输入需要元素 self.item=item #存储元素 self.next=None #存储下一个节点的地址