数据结构(C语言版)
第一章
绪论
为什么要学习数据结构
根据 数据的需要 设计程序和算法
-
要处理的数据越来越多
-
要的数据越来越复杂
-
研究数据的数据结构后能更好的处理数据
1.2 数据结构的有关概念和术语
数据(data)
是描述客观事物的数值、字符以及所有能被输入到计算机并能被计算机识别、存储和处理的符号的集合。客观事物包括数值数据和非数值数据。数值数据:整数、实数或复数;非数值数据:字符、文字、图形、图像和声音等
客观事物
非数值型- 文字 声音 图像
数值型-数据
计算机没有办法像 人一样直接识别 所以需要用 数值 字符 来描述给计算机
能被输入进计算机 能识别的 能被存储 能被处理 才算数据
例如
图片被转换成一堆数字才能 输入进计算机(输入) 计算机能够识别出(识别) 并在显示器上显示出来(处理)并存储(存储)
数据元素(Data Element)
是数据的基本单位。在不同的条件下,数据元素又可称为元素、结点、顶点、记录等
数据的基本组成单位是数据元素
比如高校的基本组成单位就是 全国各地的一所又一所学校
在 数组中 数据元素称为元素
在链表中 数据元素可以称为 节点
在栈图中 数据元素可以称为 顶点
数据对象(Data Object)
具有相同性质数据元素的集合
数 是个数据对象 有理数 无理数 自然数 都是其中的数据元素 它们都哟相同的性质 那就是 都是数字
数据类型(Data Type)
在用高级语言编写的程序中,每个变量、常量或表达式都有一个它所属的确定的数据类型
C语言中
整数为 int类型
字符为 char类型
不同的数据有不同的类型
抽象数据类型(Abstract Data Type,简称ADT)
是指基于**逻辑关系的数据类型以及定义在该类型之上的一组操作
例如
ADT 抽象数据类型名
{
数据对象:(数据对象的定义)
数据关系:(数据关系的定义)
基本操作:(基本操作的定义)
}
以线性表为例
线性表的抽象数据类型的描述
数据对象-数据表中的元素
数据关系-各个数据之间的次序关系
数据操作 - 建立线性表、 插入数据 、删除数据、查找数据