python-数据结构-DAY2

1.数据在内存中存储的两种基本方式
方式一------顺序表的基本布局
1)首先明确我们的逻辑地址(如同排序的序号,从0到N)
2)对应的空间会有存放的元素,这部分元素为顺序元素
3)这时候对应内存的物理地址,起始位置+字节数*逻辑地址(通常一个int是4个字节)
方式二----------元素外置的顺序表
1)我们直接将元素所在内存的物理地址获知,将物理地址作为一个存储单元的内容
2)对上述的存储单元在分配物理地址
3)这样我们就先找元素物理地址所在的地址,通过这个地址,找到元素的物理地址,在访问元素

2.顺序表的基本实现方式和区别
两种方式

区别:一般情况话,元素存储区的最开头会包含表头(用于描述存储数据特征),一体式的表头和数据是连续的,有相同的逻辑地址和物理地址,这时候如果我们要加入一个数据,这个数据的加入改变了存储的结构,我们就需要从新向内存申请地址,从新编辑物理地址,因为一体式的结构要求连续,所以表头的物理地址也会随之改变。但是分离式就不需要改变表头的物理地址,只需在改变数据存储结构后,将表头的内容,从原始的地址,指向新的地址即可,不用改变表头的地址。

3.扩充方式
线性扩充,节省空间,但是扩充频繁,浪费时间
加倍扩充,节省时间,但有可能浪费空间

4.元素的增加
在这里插入图片描述
5.元素的删除
时间复杂度同上

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章