数据结构——开篇

在开发过程中,时刻都在和各式各样的数据打交道,在处理数据的过程中,我们经常从两方面进行考虑:

  • 数据之间的关系是什么
  • 数据怎么存储

而数据结构,就是使用计算机来存储、组合数据的方式。数据结构在软件开发中无处不在,从底层的操作系统到编译器的语法和词法分析,再到函数调用,再到上层的应用开发,都要和数据结构打交道,数据结构贯穿了整个软件开发的始终。

讨论数据结构的两个维度

前面说到,我们在处理数据的过程中,需要从数据之间的关系和数据的存储方式上进行考虑。当我们从数据之间的关系进行考虑时,我们是在讨论数据的逻辑结构,当我们从数据的存储方式上进行考虑时,我们是在讨论数据的存储结构。这就是讨论数据结构的两个维度。
从这两个维度上考虑,在开发时逻辑会更加清楚一些。良好的数据结构,会在加快开发效率的同时,也提高程序的运行效率。

数据结构的分类

从逻辑结构上进行分类,我们可以把数据结构分为以下三种结构:

  • 集合
  • 线性结构
  • 非线性结构

从存储结构上进行分类,我们可以把数据结构分为以下四个结构:

  • 顺序存储结构
  • 链式存储结构
  • 索引存储结构
  • 散列存储结构

每个分类还可以继续进行划分,比如线性结构可以再分为栈、队列、串等,链式存储结构可以再分为单向链表、双向链表、循环链表等。它们之间的关系如下图所示:


数据结构分类

后续的文章中,会依次介绍这些数据结构。

完。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容