Python数据结构与算法(二)顺序表

本文探讨Python中的顺序表数据结构,包括线性表的概念、顺序表的结构和实现方式,以及Python list的实现策略。顺序表在Python中表现为list和tuple,支持高效元素访问和动态扩容。list的扩容策略初期为翻倍,大表时改为增加一倍。
摘要由CSDN通过智能技术生成

Python数据结构与算法(二)——顺序表

1. 线性表的概念和分类

在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。(参考《数据结构与算法——python语言实现(裘)》P66(以下简称裘书))

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

根据线性表的实际存储方式及基本考虑,分为两种实现模型:
1.顺序表,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。
2.链表,将元素存放在通过链接构造起来的一系列存储块中。

2. 顺序表的基本形式

顺序表的基本形式
顺序表元素储存区的基本表示方式如图a)所示,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值