1 数据结构的基本概念
1.1基本概念
-
数据:信息的载体,能被计算机程序识别的和处理的符号的集合
-
数据元素:数据的基本单位
-
数据对象:具有相同性质的数据元素的集合
-
数据类型:数据类型是一个值的集合和定义在这个集合上的一组操作的总称
1)原子类型:其值不可再分的数据类型 2)结构类型:其值可以再分解为若干成分的数据类型 3)抽象数据类型:抽象数据组织及与之相关的操作
-
抽象数据类型(ADT):一个数学模型及定义在该模型上的一组操作。(数据对象、数据关系、基本操作集)
-
数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合
1.2数据结构三要素
-
逻辑结构:数据元素之间的逻辑关系,可分为线性结构(Linear Structure)、树形结构(Tree Structure)、图结构(Graph Structure)
-
存储结构:数据结构在计算机中的物理表示
1)顺序方法:元素地址相邻 2)链接方法:结点中增加指针域存储结点间逻辑关系 3)索引方法:附加索引表(关键字,地址)通过关键字查找地址 4)散列方法:通过关键码利用散列函数求出结点地址
-
数据的运算:运算的定义针对逻辑结构,指出运算的功能;运算的实现针对存储结构,指出运算的具体操作步骤
2 算法和算法设计
算法五特性:有穷性、可行性、确定性、输入、输出
算法设计方法:穷举法、回溯法、分治法、递归法、贪心法、动态规划法
算法效率的的度量:时间复杂度、空间复杂度
1 时间复杂度:O(1)<O(log2n)<O(n)<O(nlog2n)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)
2 空间复杂度:算法所消耗的存储空间