文章目录
  1. 1. 概述
  2. 2. 什么是数据结构
  3. 3. 数据结构起源
  4. 4. 数据结构基本概念和术语
    1. 4.1. 数据
    2. 4.2. 数据元素
    3. 4.3. 数据项
    4. 4.4. 数据对象
  5. 5. 数据结构
    1. 5.1. 逻辑结构
    2. 5.2. 物理结构
  6. 6. 抽象数据类型
  7. 7. 总结
  8. 8. 参考

概述

提到算法就头疼,算法一直是自己编程生涯中的短板,这次下定决心开始学习算法。学习任何一种知识,都应该先弄清楚它的基本概念,这是学习所有知识的基础。这篇文章就是算法中数据结构相关的一些基本概念。

什么是数据结构

数据结构是相互之前存在一种或多种特定关系的数据元素的集合。

数据结构起源

早期人们都把计算机理解为数值计算工具,所以计算机解决问题,应该是先从具体问题抽象出一个适当的数据模型,设计出一个解此此模型的算法,然后编写程序,得到一个实际的软件。

现实中,我们更多的不是解决数值计算问题,而是需要一些更科学有效的手段(比如表、数和图等数据结构),才能更好的处理问题。所以数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的科学

数据结构基本概念和术语

数据

数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号。

数据不仅仅包含整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。

数据元素

数据元素是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。

数据项

一个数据元素可以由若干个数据项组成。

数据项是数据不可分割的最小单位。

数据对象

数据对象是性质相同的数据元素的集合,是数据的子集。

上述几个基本概念的包含关系为:

数据 > 数据对象 > 数据元素 > 数据项

数据结构

按照视点的不同,数据结构分为逻辑结构物理结构

逻辑结构

逻辑结构是指数据对象中数据元素之间的相互关系。逻辑结构分为以下四种:

  1. 集合结构
    集合结构中的数据元素中除了同属于一个集合外,它们之间没有其他关系。

  2. 线性结构
    线性结构中的数据元素之间是一对一的关系。

  3. 树形结构
    树形结构中的数据元素之间存在一种一对多的层次关系。

  4. 图形结构
    图形结构中的数据元素是多对多的关系。

物理结构

物理结构是指数据的逻辑结构在计算中的存储形式。

  1. 顺序存储结构
    顺序存储结构是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。

  2. 链式存储结构
    链式存储结构是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。

抽象数据类型

数据类型是指一组性质相同的值得集合及定义在此集合上的一些操作的总称。

抽象数据类型是指一个数学模型及定义改模型上的一组操作。

总结

数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

参考