数据结构+python(一):顺序表

数据结构基础+python实现(一):顺序表

Python中,列表、字典等类型算不上是最基本的数据结构,要想理解python中是如何对列表、字典等进行函数封装的,必须掌握内存中是如何存储最基本的数据类型。
内存是真正存储数据的地方,对于基本类型int、char等来说,计算机对每种不同的类型分配大小不同的内存空间。如int型需要分配4个字节,char类型分配1个字节等。本博客为学习笔记,加深对数据结构和python语言的理解!

顺序表的两种基本实现方式:一体式和分离式
在这里插入图片描述
一体式结构整体性强,易于管理。但是由于数据元素存储区域是表对象的一部分,过于固定;分离式表对象里只保存与整个表有关的内容(容量和元素个数),实际数据元素存放在另一个独立的元素存储区里,通过链接关联。
python中的顺序表:list
在python的官方实现中,list就是一种采用分离式技术实现的动态顺序表。“顺序表”表示数据的连续存储,而一个列表里面可以存放不同类型的数据元素。“分离”表示了内存中不再存放了具体的数据,而是存放了数据的地址即引用。由于int、char等数据类型所需的内存大小不一致,而系统分配的地址所需内存恰好一样,都是4个字节,所以这样给顺序表中不同数据类型的地址计算带来了方便。“动态”表示了在建立空表的时候,系统会分配一块能容纳8个元素的存储区,如果插入过程中存储区满的话,就动态增加存储区,但是由于每次分配的内存必须是连续的,所以需要全部(包括表头)重新分配一块全新的内存(一体式结构的弊端)。而分离式只需要将表头重新指向一个全新的内存即可。

猜你喜欢

转载自blog.csdn.net/qq_23557563/article/details/88045582