数据结构论坛

首页 » 分类 » 定义 » 数据结构干货小故事说线性表
TUhjnbcbe - 2023/11/2 22:24:00

#Python知识分享#

一、线性表的定义

线性表在数据结构中属于数据结构三要素的逻辑结构,表示具有数据类型相同的多个数据元素的有限的序列。

假设表长为n,当n=0时,线性表为一个空表。

当将线性表命名为L时,一般表示为L=(a1,a2,…,ai,ai+1,…,an)

小要点:ai表示在线性表中表示“第i个”元素所在的位置的次序,即位序,当线性表中有n个元素时,a1表示表头元素,an表示表尾元素。要注意的是,在线性表中,任何一个元素,除了第一个元素外,都有且仅有一个直接前驱,任何一个元素都有且仅有一个直接后继,除了最后一个元素外。(在位序中,是从1开始排序中,与数组不同,数组下标是从0开始排的。)

其中,相同表示每个数据元素的类型都相同,数据元素所占的空间是一样大的;有限的序列表示数据元素按照先后次序排列,并且其数量是有限的。

小故事3-1:在进行双语教学时,通常小朋友都会学习数数歌,就是从一数到十,有时候也会数到更多。对于我们数数时,通常数的是整数,并且是有范围大。那么,对于有范围地按次序数数排列,是线性表吗?

依据定义而言,整数都是整型,按次序地数数,表示有次序的序列,有范围地是表示是有限的,因此这样是线性表。但是对于所有的整数按递增的次序排列数数的话,是线性表吗?显然不是,因为所有的整数是数不尽的,也就是说不是有限的。

超实用性的Python零基础入门到进阶视频源码淘宝¥2购买已下架

二、线性表的基本操作

1、初始化表,其实在我们敲代码时,在定义任何函数或者变量后,都应当对其数值进行初始化,以免在后续进行操作时,出现乱码,溢出等情况。

小故事3-2:犹记得第一次使用单片机时,第一次使用的元器件就是点亮一个LED灯。在尝试点亮一个LED灯后,就想到了夜晚的灯红酒绿,各色霓虹灯。之后就,一顿操作猛如虎,想采用一排LED灯来规划点不一样的花样,结果却忘了初始化,好家伙,这一排灯在随意乱动,跟蹦迪似的。

2、销毁操作,就是将我们一开始创建的表进行销毁,并且释放该表所占用的内存空间。

初始化表和销毁操作其实就是表从无到有,从有到无的过程。

3、插入操作,就是在表L中的某个位置插入指定的一个元素。

4、删除操作,就是删除表L中某个位置的元素,并返回该删除元素的值。

5、按值查找操作,就是在表L中根据所给的值,找到对应的元素。

6、按位查找操作,就是在表L中,获取某个位置上的元素的值。

7、此外常用的操作:求表的长度,依据函数返回值,得到线性表的具体长度,即表中所拥有的数据元素的个数;输出操作,通过按照前后顺序的关系,输出线性表中所有的元素的值;判空操作,当线性表为空表时,将返回true,若不为空表时,则返回false。

小提示:①对于数据操作记忆的小知识:创销、增删改查(创建、销毁、增加、删除、更改、查找);②要根据实际的需求定义基本操作,在定义函数时,需要定义返回值类型和参数的类型,并且命名可改变的,但是需要可读性,别人也可以看得懂。

③在进行引用时,一定要加引用符“”,引用符的意思就是要将调用过去的数值给带回来,带回到调用函数中,使调用函数中对应的数值有被更改。

为什么要实现对数据结构的基本操作呢?

①团队合作可以使得合作更顺利,队友可以更顺畅地看懂你的代码

②封装使用对以后有益,会使得我们的代码能更好地多次利用。

本文系作者授权百家号发表,未经许可,不得转载。

1
查看完整版本: 数据结构干货小故事说线性表