一、数据结构之线性表(顺序存储结构——数组),附代码,简单易懂!(用Python实现)

        Hello大家好,从今天开始我想和大家分享一下数据结构方面的内容,那么最开始呢,我们将从线性表开始和大家进行简单的介绍,我们所有的测试和演示都是通过Python实现。那么废话不多说我们一起来看一下吧。

        线性表顾名思义,是一种线性结构的数据结构。《大话数据结构》作者在介绍线性表的时候举了一个非常生动有趣的例子:作者在接孩子放学的时候,发现学校老师给孩子们排了一个队,前后左右的同学都是固定的,并且这样的一种排序方式可能会持续很长时间,也许会是一个学期,一个学年。我们小的时候也是这样,这样做的好处是可以知道自己前一个同学和后一个同学分别是谁。如果有什么问题的话(比如哪个同学没来)可以第一时间发现是在具体的哪一个位置出现的问题。

        线性表的一个比较重要的特征是,所有元素按照一定的顺序进行存储,并且每一个元素有且只有一个前驱后继,在线性表中第一个元素没有前驱,线性表最后一个元素没有后继。

        那么在Python中我们一般是如何实现线性表结构呢?

一、顺序存储结构

1. 顺序存储结构的介绍:

       顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。

2. 顺序存储结构的实现:

         我们可以在内存当中申请一块内存去存储我们的数组,比如我们现在线性表有5个元素,那么我们就需要在内存当中开辟一个能存放五个数字的数组,如下:

arr1 = [1,2,3,4,5]
print(arr1)

  打印之后的结果是:

[1, 2, 3, 4, 5]

3.顺序存储结构的缺点:

        我们定义了一个数组,难免会想去在数组的基础上实现一些功能,例如比较基本的增删改查。但是我们可以发现,我们如果想在顺序存储结构上面存储一个数字(例如元素2之后,3之前),那么我们需要将存储的内容放入到元素2之后,这个时候3之后的所有内容都需要向后移动一个位置。所以这就是顺序存储结构的缺点:增删改查需要进行大量的操作。所以顺序结构适合那些查询量比较大,只会在末尾增加内容、但是增删改的操作量不是特别大的数据操作。

        好啦,今天分享的内容就到这里啦,关于数据结构的其他内容,欢迎查看我的个人公众号:GoyooPython,让我们一起努力吧!

你可能感兴趣的:(Python,数据结构,链表)