1.0--开篇--数据结构在学什么
用程序代码把现实问题信息化,并用计算机高效地处理这些信息而创造价值
计算机/手机---计组(硬件)→操作系统→c语言、数据结构(软件)
第一章 绪论
1.1数据结构的基本概念
数据:
数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别(二进制o和1)和处理的符号的集合。数据是计算机程序加工的原料。
数据元素、数据项:
数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。
一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位。
要根据实际的业务需求来确定什么是数据元素、什么是数据项
数据结构、数据对象:
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
数据对象是具有相同性质的数据元素的集合,是数据的一个子集。
集合:各个元素同属一个集合,别无其他关系
线性结构:数据元素之间是一对一的关系。除了第一个元素,所有元素都有唯一前驱;除了最后一个元素,所有元素都有唯一后继
树形结构:数据元素之间是一对多的关系(二叉树)
图状结构(网状结构):数据元素之间是多对多的关系
若是顺序存储,则需放在队列;后面若是链式存储,可放在任一位置
数据类型、抽象数据类型:
数据类型是一个值的集合和定义在此集合上的一组操作的总称。
1)原子类型。其值不可再分的数据类型。
2)结构类型。其值可以再分解为若干成分(分量)的数据类型。
以下为原子类型(不可再分):
抽象数据类型(Abstract Data Type,ADT)是抽象数据组织及与之相关的操作。(ADT用数学化的语言定义数据的逻辑结构、定义运算。与具体的实现无关。)
定义一个ADT,就是定义了数据的逻辑结构、数据的运算。也就是定义了一个数据结构。
在探讨一种数据结构时:
①定义逻辑结构(数据元素之间的关系)
②定义数据的运算(针对现实需求,应该对这种逻辑结构进行什么样的运算)
③确定某种存储结构,实现数据结构,并实现一些对数据结构的基本运算