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

yipeiwu_com5年前Python基础

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

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

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

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

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

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

为什么需要链表:

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

链表的定义:

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

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

相关文章

python UNIX_TIMESTAMP时间处理方法分析

本文实例讲述了python UNIX_TIMESTAMP时间处理方法。分享给大家供大家参考,具体如下: from datetime import datetime import ti...

Django模板变量如何传递给外部js调用的方法小结

前言 因为工作的需要,最近一直在思考如何更好的组织Django中的静态资源,比如JS、CSS一类,如何结合前端构建工具写出更好的代码以及结构呢?下面这篇文章就给大家详细介绍了实现的方法,...

pytorch 指定gpu训练与多gpu并行训练示例

一. 指定一个gpu训练的两种方法: 1.代码中指定 import torch torch.cuda.set_device(id) 2.终端中指定 CUDA_VISIBLE_DEV...

python实现在字符串中查找子字符串的方法

本文实例讲述了python实现在字符串中查找子字符串的方法。分享给大家供大家参考。具体如下: 这里实现python在字符串中查找子字符串,如果找到则返回子字符串的位置,如果没有找到则返回...

解读Python编程中的命名空间与作用域

解读Python编程中的命名空间与作用域

变量是拥有匹配对象的名字(标识符)。命名空间是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典。 一个Python表达式可以访问局部命名空间和全局命名空间里的变量。如果一个局...