计算机内存结构

内存结构模型

要理解数据结构怎样处理问题,需要对计算机内存、存储管理方面有一定的了解。

计算机的基本内存结构:

内存是线性排列的一批存储单元,单元有唯一编号,称为单元地址。

单元地址从0 开始连续排列,可用地址是一个连续整数区间。

对内存单元的访问(存取其中的数据)都通过单元地址进行。

因此,基于地址单元是0(1)操作,与单元位置或内存大小无关。

(程序运行中构造、使用、处理对象,都在这种线性结构里安排位置。)

内存和对象存储

程序运行中建立/存在的每一个对象都要占用一块(或大或小)的内存。

建立的每一个对象都有确定的唯一标识(例如内存位置),在其存储期间保持不变,这是一个基本原则。

知道一个对象的位置就能访问(使用)它,已知位置访问相应对象的操作可以在常量时间完成。

如果一个组合对象包含一组元素,它们在一块元素存储区里连续存储,每个元素的存储量相同,基于存储区位置和编号访问元素是0(1)操作。

设对象的元素存储区的起始位置是p,每个元素占用a个内存单元,在假设第一个元素编号为0.

要访问编号为k的元素,其位置loc可以通过:

loc = p + k*a

显然,计算元素位置(及访问元素)所用时间与元素编号无关,也与组合对象的元素个数无关(连续存储可以0(1)时间访问)。

发布了62 篇原创文章 · 获赞 70 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44762986/article/details/104268704