python数据结构之链表的实例讲解

yipeiwu_com5年前Python基础

在程序中,经常需要将⼀组(通常是同为某个类型的)数据元素作为整体 管理和使⽤,需要创建这种元素组,⽤变量记录它们,传进传出函数等。 ⼀组数据中包含的元素个数可能发⽣变化(可以增加或删除元素)。

对于这种需求,最简单的解决⽅案便是将这样⼀组元素看成⼀个序列,⽤ 元素在序列⾥的位置和顺序,表示实际应⽤中的某种有意义的信息,或者 表示数据之间的某种关系。

这样的⼀组序列元素的组织形式,我们可以将其抽象为线性表。⼀个线性 表是某类元素的⼀个集合,还记录着元素之间的⼀种顺序关系。线性表是 最基本的数据结构之⼀,在实际程序中应⽤⾮常⼴泛,它还经常被⽤作更 复杂的数据结构的实现基础。

根据线性表的实际存储⽅式,分为两种实现模型:

顺序表,将元素顺序地存放在⼀块连续的存储区⾥,元素间的顺序关 系由它们的存储顺序⾃然表示。

链表,将元素存放在通过链接构造起来的⼀系列存储块中。

为什么需要链表:

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

链表的定义:

链表(pnked pst)是⼀种常⻅的基础数据结构,是⼀种线性表,但是不 像顺序表⼀样连续存储数据,⽽是在每⼀个节点(数据存储单元)⾥存放 下⼀个节点的位置信息(即地址)。

以上这篇python数据结构之链表的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现共轭梯度法

python实现共轭梯度法

共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点,共轭梯度法不仅是解决大型...

Python中的ctime()方法使用教程

 ctime()方法转换,因为历元到表示本地时间的字符串表示以秒为单位的时间。如果不设置秒时或None,所返回的时间的当前time()被使用。使用asctime(localti...

Python字符串中删除特定字符的方法

Python字符串中删除特定字符的方法

分析 在Python中,字符串是不可变的。所以无法直接删除字符串之间的特定字符。 所以想对字符串中字符进行操作的时候,需要将字符串转变为列表,列表是可变的,这样就可以实现对字符串中特定字...

浅谈Python 敏感词过滤的实现

一个简单的实现 class NaiveFilter(): '''Filter Messages from keywords very simple filter imp...

python实现剪切功能

python实现剪切功能

本文实例为大家分享了python实现剪切功能的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python #coding: utf8 import sys m...