数据结构:链表

Posted cong3z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构:链表相关的知识,希望对你有一定的参考价值。

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

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

 

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

  

 

以上是关于数据结构:链表的主要内容,如果未能解决你的问题,请参考以下文章

NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段

JDK常用数据结构

817. Linked List Components - LeetCode

VSCode自定义代码片段5——HTML元素结构

VSCode自定义代码片段5——HTML元素结构

VSCode自定义代码片段5——HTML元素结构