知识卡片
数据结构本质是对线性存储器的抽象模拟
内容
计算机的主存储器本身只是一长串可寻址的存储单元,并不天然具备数组、列表、栈、队列、树这些结构——数组的”行列”、树的”层级”,全部都是被构造出来、用来向使用者屏蔽底层线性存储细节的抽象工具。用户在这里不特指人:可能是操作电子表格的终端用户,也可能是发起请求的客户机进程,还可能是需要访问这份数据的另一个程序模块,共同点是使用者都被允许把数据当成一个方便的抽象结构来访问,而不必关心它实际是怎样铺陈在存储器里的一长串单元中的。发散:这解释了为什么”数据结构”这个学科真正研究的不是数据本身,而是”如何在线性存储器和某种更贴近问题本质的组织形式之间架一座桥”——不同数据结构的差异,本质上是这座桥搭建方式(用连续区块还是用指针链接)不同,而不是数据内容本身有什么不同。
参考来源
《计算机科学概论》第8章《数据抽象》