阅读:0       作者:解学武

数据结构到底学什么?

数据结构是一门研究数据存储方式的学科,在数据结构看来,数据的存储方式要从以下两个角度来综合分析:
  • 物理结构:在内存中,数据可以选择集中存放,也可以选择分散存放;
  • 逻辑结构:数据之间的逻辑关系有四种,分别是无关系、“一对一”关系、“一对多”关系和“多对多”关系。

数据的物理结构有 2 种,逻辑结构有 4 种,它们可以随意组合。例如,无关系的数据可以选择集中存放,也可以选择分散存放。针对具有不同物理结构和逻辑结构的数据,数据结构都会给出最恰当的存储方案。学习数据结构,实际上就是学习这些存储数据的方案。

下面是一张数据结构的知识谱,几乎涵盖了数据结构中所有的存储方案:


图 1 数据结构中的各个存储方案

注意,想彻底玩转图 1 中罗列的这些存储方案也是不容易的,除了掌握各个存储方案本身,还要学会在各个存储方案中完成对数据的“增删改查”操作,以及用这些存储方案解决一些常见的实际问题(例如字符的模式匹配、矩阵转置、最小生成树、最短路径等)。庆幸地是,这些知识在数据结构中都会讲到。

数据结构和算法是紧密相关的,学习数据结构的过程中,还要掌握一些常用的算法。关于数据结构与算法的关系和区别,读者可以猛击《数据结构和算法不是一码事》一文。

总结

学习数据结构,就是学习各种存储数据的方案。玩转数据结构,实际开发中遇到的各类数据存储问题都难不倒你。