数据结构:链表(一)

链表及顺序表都属于线性表

顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。

链表:链表(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       #存储下一个节点的地址

相关推荐