一,绪论
1.基本概念和术语
数据:所有能被输入到计算机中,且能被计算机处理的符号的集合。是计算机操作的对象的总称。
数据元素:数据(集合)中的一个“个体”,数据及结构中讨论的基本单位。数据的基本单元
数据对象:数据为了表达某个意思,结构只是一种表现形式,
数据类型:在一种程序设计语言中,变量所具有的数据种类。整型、浮点型、字符型等等。
数据结构:数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
2.数据结构三要素
(1)逻辑结构(数据之间的相互关系)
a.线性结构:数据元素之间一对一的关系。
线性表
栈队列
数据
串
b.非线性结构:数据元素之间一对多的关系。
集合
树
图
(2)物理结构(存储结构):数据在计算机中的表示。物理结构是描述数据具体在内存中的存储。
a.顺序存储(逻辑相邻,实际储存位置也相邻)
注意:顺序存储结构中,线性表的逻辑顺序和物理顺序总是一致的。但在链式存储结构中,线性表的逻辑顺序和物理顺序一般是不同的。
b.链式储存(逻辑相邻,实际储存位置可能不相邻)
c.散列储存(哈希储存)
索引储存(利用附加索引表)
(3)数据运算
a.在数据上的体现
4.复杂度分析
(1)时间复杂度:
算法的执行时间与原操作执行次数之和成正比。时间复杂度有小到大:O(1)、O(logn)、O(n)、O(nlogn)、O(n2)、O(n3)。幂次时间复杂度有小到大O(2n)、O(n!)、O(nn)
(2)空间复杂度:
若输入数据所占空间只取决于问题本身,和算法无关,则只需要分析除输入和程序之外的辅助变量所占额外空间。
二,总结
数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。