数据结构与算法(Python)01-0 线性表(一看就会的线性表)

线性表定义

    若结构是非空有限集,则有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。 可表示为:(a1 ,  a2   , ……, an)
    线性结构的基本特征:
    1.集合中必存在唯一的一个“第一元素”;
    2.集合中必存在唯一的一个 “最后元素”
    3.除最后元素在外,均有 唯一的后继;
    4.除第一元素之外,均有 唯一的前驱。

线性表(Liner_List)是有n(n≥0)个类型相同的数据元素a1,a2,…,an组成的有限序列,每个元素都有唯一的前驱和唯一的后继(第一个元素无前驱、最后一个元素无后继)。记作(a1,a2,……,an)。如图2.1所示:
在这里插入图片描述例1 分析26 个英文字母组成的英文表是什么结构。
( A, B, C, D, …… , Z)
分析: 数据元素都是同类型(字母), 元素间关系是线性的。

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

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

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

  1. 顺序表,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。
  2. 链表,将元素存放在通过链接构造起来的一系列存储块中。

顺序表 链表的实际区别

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值