数据结构学习一

50 阅读3分钟

1、计算机解决问题的步骤

把具体问题抽象为数学模型,并且为其设计算法。再根据算法进行编程、调试、运行。

2、数学模型的实质

分析问题, 从问题中找出计算机可以操作的对象,找出操作对象之间的关系,然后用数学语言描述。这就是数据结构

3、数据

能输入计算机且能被计算机处理的各种符号的集合

  • 数据元素:组成数据的基本单位,简称为元素,或者是节点、结点或顶点。
  • 数据项:构成数据元素的最小单位。
  • 数据 > 数据元素 > 数据项
  • 数据对象:是性质相同的数据元素的集合,是数据的一个子集。与数据之间的关系:子集

4、数据结构

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

  • 数据元素之间的逻辑关系,也称为逻辑结构。
  • 数据元素及其关系在计算机内存中的表示(又称为映像),称为数据的物理结构或者数据的存储结构。
  • 数据的运算和实现,即对数据元素可以时间操作以及这些操作在相应的存储结构上的实现。

5、逻辑结构

  • 描述数据元素之间的逻辑关系
  • 与数据的存储无关,独立于计算机
  • 从具体问题抽象出来的数学模型
  1. 逻辑结构的种类划分方式一:
  • 线性结构: 有且仅有一个开始和一个终端几点,并且所有结点最多只有一个直接前趋和一个直接后继,类别:线性表、栈、队列、串
  • 非线性结构: 一个结点可能有多个直接前趋和直接后继,例如:树、图
  1. 逻辑结构的种类划分方式二:
  • 集合结构: 结构中的数据元素之间除了同属于一个集合的关系外,无任何其他的关系
  • 线性结构:结构中的数据元素之间存在一对一的线性关系
  • 树形结构:结构中的数据元素之间存在一对多的层次关系
  • 图状结构或网状结构:结构柱中的数据元素之间存在多对多的任意关系

6、物理结构

  • 数据元素及其关系在计算机存储器中的结构(存储方式)
  • 数据结构在计算中的表示

7、数据类型

是一组性质相同的值的集合以及定义于这个值集合上的一组操作的总称。

8、抽象数据类型

指一个数学模型以及定义在此数学模型上的一组操作

9、算法

对特定问题求解方法和步骤的一种描述,它是质量的有限序列,其中每个指令表示一个或多个操作。

  1. 有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成
  2. 确定性:算法每一条质量必须有确切的含义,在任何条件下,只有唯一的一条执行路径,即对于相同的输入只能得到相同的输出
  3. 可行性:算法是可执行的,算法描述的操作可以通过已经实现的基本操作执行有限次来实现
  4. 输入:一个算法有零个或多个输入