一、低层次数据结构——数组
计算机体系结构的一些低层次内容
1、 位(bit)和字节(byte)
计算机主存由位信息组成,1个字节相当于8位
2、 存储地址
为了跟踪信息存储在哪个字节中,每个存储字节都和一个作为其地址的唯一数字相关联
3、数组(array)
- 数组的定义
一组相关变量一个接一个地存储在计算机存储器中一块连续区域内的数据结构即为数组。 - 数组的特性
数组的每个单元必须占据相同数量的字节(为了允许使用索引值能够在常量时间内访问数组内的任一单元)。 - 创建低层次数组
在计算机系统中,创建低层次数组时,必须明确声明数组的大小,以便系统为其存储分配连续的内存。
二、基于数组实现的python内置序列类
列表类(list):['a','b','c']
元祖类(tuple):(1,2,3)
字符串类(str):'hello world!'
1、共性
- 都支持用下标访问序列元素,如
seq[k]
- 都使用数组这种低层次概念表示序列
2、不同
列表和元组仅仅储存返回对象的引用,是一种引用结构;
字符串是用字符数组表示的,是一种紧凑数组(compact array):
- 引用结构
通常将64位地址存入数组,无论存储单个元素的对象有多少位 - 紧凑数组
将原始数据(即字符转化的Unicode字节)直接存入数组,通过一个名为array
的模块提供支撑。
注:array模块定义了一个类(也命名为array),该类提供了紧凑存储原始数据类型的方法。
array类的构造函数需要以类型代码作为第一个参数(表明要存入数组的数据类型,确定数组的每个元素需要多少位)