1.1基本概念和术语
数据结构的学习我是按照《大话数据结构》这本书来学习的,首次看了前言觉得不错,做了一些学习笔记,都是从书中读到的重点,希望对大家有所帮助。
1.1.1数据
我们先谈一下,什么是数据?
概念:数据是描述客观事物的符号,是计算机可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
数据可以是整型等数值类型,也可以是声音、图像、视频等非数值类型。
其实,通俗来说,数据就是符号,具备一下两个前提:
1.可以输入到计算机中
2.能被计算机程序处理
它可以是整型、实型等数值类型,也可以是字符类型,而声音、图像、视频等都可以通过编码的手段变成字符数据来处理。
1.1.2数据元素
数据元素:组成数据的基本单位。
1.1.3数据项
数据项: 数据元素就是由若干个数据项组成的。
数据项是数据不可分割的最小单位。
的确,光看概念,对有的人还是抽象的,毕竟这是我简化的概念,我们举个例子:
数据(人类) 数据元素(人) 数据项((可以是眼,鼻、口等)、(也可以是姓名、年龄、身高等))。
1.1.4数据对象
数据对象:性质相同的数据元素的集合。我们一般将数据对象简称为数据。
性质相同指的是:数据元素具有相同的数量和类型的数据项。
比如: 人(数据元素)都具有年龄、性别、身高等相同的数据项,这些数据元素的集合就是人类(数据对象)。
1.1.5数据结构
相互之间存在一种或多种特定关系的数据元素的集合。(就是数据元素不是独立的,而是具有一定关系(或排列)的)。
1.2逻辑结构与物理结构
1.2.1逻辑结构
逻辑结构是指数据对象中的数据元素之间的相互关系。
集合结构:类似于数学上的集合、
2.线性结构: 一对一
3.树形结构 一对多的层次关系
4.图形结构 多对多
1.2.2物理结构
物理结构就是数据的逻辑结构在计算机中的存储形式。
1.顺序存储结构
举例:数组
2.来自网图
数据存在哪里并不重要,只要有一个指针存放相应的地址就能找到它。
1.3抽象数据类型
1.3.1数据类型
数据类型:指的是一组性质相同的值的集合及定义在此集合上的一些操作的集合。
原子类型:不可再分解的基本类型,包括整型,实型,字符型等
结构类型:由若干个类型组合而成,比如整型数组就是由若干个整型数据组成的。
C语言中int a,表示关于a的运算必须在int的赋值范围内进行操作。
1.3.2抽象数据类型
抽象:抽取事物具有的普遍性的本质。
抽象数据类型:一个数学模型及定义在它上面的操作。它把问题能分解成多个规模小且容易处理的问题,然后建立一个计算机能够处理的数据模型,把每个功能模块实现的细节作为一个独立单元,从而使具体的实现过程隐藏起来、
ADT 抽象数据类型名
Data
数据元素之间的逻辑关系的定义
operation
操作1
…初始条件
…操作结果描述
操作2
···
endADT