数据结构和算法
常见的数据结构:
数组、栈、队列、表、串、树、图和文件等
-
数据(data)
所有能被计算机识别的符号集合。
-
数据元素(data Element)
-
是数据(集合)中的一个“个体”
-
是数据结构中讨论的基本单位
-
数据项(data Item)
-
是数据结构中讨论的最小单位
-
数据元素可以是数据项的集合
-
数据对象(data Object)
-
数据对象是具有相同性质的数据元素的集合,是数据的一个子集。
例如,迷宫数据对象中的数据元素是一个个点;电话薄数据对象中数据元素是每个人的记录;图书目录数据对象中数据元素是一张张书目卡片。
-
数据结构:
带结构的数据元素的集合
用集合的形式描述,数据结构是一个二元组:
DS = (D,R)
其中:D是数据元素的集合,R是D上关系的集合。
简言之,数据元素和其相互关系成为数据结构。
数据结构由一个四元组来表示:
Data_Structure = (D , L ,S , O ) ,
数据元素、数据元素之间的逻辑关系、逻辑关系在计算机中的存储表示、以及所规定的操作者四部分。
-
逻辑结构
线性结构:
-
-
存储结构(Storage Structure)
逻辑结构 :算法分析与设计
存储结构: 算法实现
存储结构分类:
-
顺序存储结构:把逻辑上相邻的元素存储在物理位置相邻的存储单元中
-
链式存储结构:在数据元素中添加一些地址域或辅助结构,用于存放数据元素之间的关系。
-
顺序数据结构:
链式数据结构:
-
数据结构的操作(Operation)
数据元素的查找、插入、删除、遍历和排序。
-
数据类型(Data Type)
数据类型:是程序设计语言中用来刻划操作对象的特性的一个值的集合定义在此集合上的一组操作的总称。
-
抽象数据类型(Abstract Data Type)
ADT一般包含数据元素、数据元素之间关系及操作三要素(D ,R , O),其中:
-
D是数据元素集
-
R是D上的关系集合
-
O是对D的基本操作集
ADT特点:
-
扩展性
-
抽象性
-