https://www.cnblogs.com/lastk/p/12455381.htmlhtml
1、数据结构的基本概念数组
1.1 数据
数据是信息的载体,是描述客观事物的数、字符、以及全部能输入到计算机中,被计算机程序识别和处理的符号的集合。
例子:整数、实数和字符串都是数据。
1.2 数据元素
数据的基本单位,一般做为一个总体进行考虑和处理。
1.3 数据项
构成数据元素的不可分割的最小单位。
例子:一个班学生的学生记录是一个数据元素,学生记录的每一项,好比学号、姓名、性别等是数据项。
1.4 数据对象
具备相同性质的数据元素的集合。
例子:大写字母是一个数据对象,它是集合{‘A’,’B’,’C’……’Z’}。
1.5 数据类型
一个值的集合以及定义在此集合上的一组操做的总称。
原子类型:其值不可再分的数据类型(好比整型,字符型) |
结构类型:由若干成分按某种结构组成的,其值可再分的数据类型(好比Student,Frog) |
抽象数据类型:抽象数据组织与之相关的操做 |
1.6 抽象数据类型(Abstract Data Type)
ADT是指一个数学模型以及定义在该模型上的一组操做。一般使用(数据对象、数据关系、基本操做集)三元组表示
1.7 数据结构
相互之间存在一种或多种特定关系的数据元素的集合,包括三方面的内容:逻辑结构、存储结构和数据的运算
2、数据结构的三要素数据结构
2.1 数据的逻辑结构
• 指数据元素之间的逻辑关系
• 与数据的存储无关,独立于计算机
• 分为线性结构和非线性结构
线性结构:线性表,栈,队列,串,数组和广义表 |
非线性结构:树,图,集合 |
2.2 数据的存储结构
• 指数据在计算机中的表示,也称物理结构
• 存储结构是逻辑结构用计算机语言的实现
• 分为4类:顺序存储 ,链式存储,索引存储和散列存储
顺序存储:把逻辑上相邻的元素存储在物理位置也相邻的存储单元里 |
链式存储:不要求物理位置的相邻,借助指示元素存储地址的指针表示元素之间的逻辑关系 |
索引存储:在存储元素信息的同时,添加附加的索引表 |
散列存储:也称hash存储,根据结点的关键字经过散列函数直接计算出结点的存储地址 |
2.3 数据运算
• 施加在数据上的运算(包括定义与实现)
• 通常为数据的增、删、改、查和排序等
• 运算的定义是针对逻辑结构
• 运算的实现是针对物理结构