数据结构和算法(顺序表)

本文深入探讨了计算机内存模型,强调了内存是按字节为单位进行地址标记的。接着介绍了顺序表的概念,特别是对于整型和字符型数据在内存中的存储方式。顺序表的基本形式是数据元素连续存储,可以通过起始地址和存储单元大小快速定位元素。文章还比较了一体式和分离式顺序表结构的优缺点,讨论了数据扩充的两种策略——线性增长和容量翻倍。
摘要由CSDN通过智能技术生成

现在看一下,对于整型数据int = 1,2,3,4,5(基本数据类型),对于这部分数据该怎么保存呢?抛弃掉高级数据类型(列表,字典等这些python这些封装好的数据结构),只记得整型、浮点型、字符型等基本数据类型。那么对于int=1,2,3,4,5这部分数据该怎么保存呢?首要的一点是要知道数据存贮的本质是什么?

内存

计算机的内存是存储数据并直接与CPU打交道的。既然是内存,那就是存储单元了,即组织在一起的一些单位。那么内存到底是什么样子的模型呢?内存的基本单位是以一个字节为作为索引单位的,且一个字节是8位。也就是在找数据的时候,标地址的时候是以一个字节为单位进行标记的。
在这里插入图片描述
上表表示计算机找数据的一个存储位置,比如告诉计算机有一个数据存的100,那么计算机的CPU需要去内存中去找,内存是一个连续的存储空间,假设100存储的位置如上表所示,那么我们需要告诉计算机或者CPU要去哪个位置去找这个100,那么我们需要对内存空间标注位置,如上表所示,我们只需要告诉计算机100所处的位置在0x03处,那么计算机就可以通过地址来找到数据100。计算机在是根据存储单元来标识的,在存储数据时,就需要多个存储单元,

如果有一个基本类型整型,那么它需要多少存储单元呢?对于32位机的化,基本整型需要4个字节,虽然有一个整数int = 1,但是在内存中需要转化为二进制进行存储的,结果为0000 0001(8位),而一个整型包含4个字节,则二进制后的值是0000 0000 0000 0000 0000 0000 0000 0001。其存储方式如下表所示
在这里插入图片描述
注:上表中的元素0和1因分布在表格中,这里为了方便没有一一对应
我们看到的是一个整型变量int=1,它落实在计算机内部的时候,实际上占了4个存储单元。

对于另外一种数据类型Char,字符串中的一个字符,且这1个字符需要占1个存储单元。那么问题就来了,类型不同,用的存储空间也不一样。 这是类型的第一个本质,他决定你在内存中利用多少个存储单元;第二个从取的角度考虑,即计算法在取二进制数据的时候,怎么看待它的问题,若是整型,那么取出的32位二进制就表示一个整型数据,而如果二进制表示的是4个字符(char),那么该二进制就表示了4个字符,所以不能一概而论。

顺序表

对与一组数据,比如整型数据int = 1,2,3,这三个整数是一个集合,然后想把它做成一个高级的数据类型,然后想把这三个数据存储

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值