python第16天顺序表

一、内存
内存一个字节8位,一个字节有一个地址标识,内存是连续的存储单元
如:一个整型占四个字节int a=1内存中表示如下
在这里插入图片描述

从取的角度,上图中存时代表a,则取时也当做一个整体,若存时当做4个字符,取时00000001当做一个字符,00000000当做一个字符
二、顺序表基本布局
1.存取同类型数据
list=[7,2100,390]连续存放,想要找第三个数,用起始位置加上逻辑地址*存储单元
在这里插入图片描述在这里插入图片描述
2、存储不同类型的数据
需要用元素外置,即把地址存储下来,通过地址去找数据
li=[12,“ab”,1.111,10000] 12占四个,ab占两个,虽然数据类型所占字节不一,但地址都是占四个字节

在这里插入图片描述
三、顺序表的结构:表头信息区(容量,元素个数)+数据区
四、表头区和数据区存储的实现方式:一体式和分离式
一体式,在存储空间不够,新增数据时需要整体替换,把原先的释放掉,
分离式只需要将地址指向新的存储空间,表头不用移动,变量的起始位置也不用改变在这里插入图片描述
五、元素存储区域扩充
增加固定数目和扩充容量加倍(推荐)
总结:python中list和tuple采用了顺序表的实现技术,具有以上顺序表的所有性质,
tuple是不变的顺序表,不支持改变其内部状态的任何操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值