首页 > 数据结构存储都在内存上吗?为什么不在硬盘上呢?

数据结构存储都在内存上吗?为什么不在硬盘上呢?

我在看《数据结构》的顺序表的物理结构,里面提到使用数组的方式,在内存中开辟空间,然后想到问题————为什么只在内存上,而不在硬盘上呢?


这问题跟数据结构没什么关系……

内存快啊。以CPU的速度而言内存都跟不上何况硬盘。
对于短时间任务而言,即使断电内存里数据丢失,从头计算的时间代价也是完全耗得起的。何况断电丢数据是偶发事件。为了这个把每个步骤都把运算过程保存到硬盘上会把整体的时间拖慢的。对于长时间任务也是阶段性存储。


我的理解是这样的,数据结构是我们程序中最常用的,也是执行过程中进行操作数据的一个载体,所以需要保存到内存中,数据以临时的为主,我们对数据操作大多时候也是从硬盘或者数据库读取到内存中进行相应的操作。放在硬盘或者数据库的数据,是通过I/O过后固化的数据,永久保存。。。


存在硬盘上的数据结构叫数据库


硬盘上存储的只是我们编写的程序源代码,而真正程序的执行是在内存中进行的,这里所说的一切空间分配都指的是内存空间。


内存的读写速度远远快于硬盘的读写速度,如果内存的空间足够的话(事实上,除大数据处理的情况外,大多情况下内存都够用),把数据结构存储在内存空间内可以保证程序的效率。然而当程序需要的数据结构足够大,以至于比机器本身内存还大,这就要考虑把部分数据存储在硬盘上,而把常用的那部分数据留在内存中,尽可能的保证程序的效率,内存和硬盘间的数据交换则涉及到比较复杂的算法来保证最“常用”的数据留在内存中。

【热门文章】
【热门文章】