数据结构(第一章)
一、概论
- 数据:数据是信息的载体,是描述事物客观属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。
- 数据元素:数据元素是数据的基本单位。
- 数据项:数据项是构成数据元素的不可分割的最小单位。
- 数据对象:数据对象是具有相同性质的数据元素的集合,是一个数据的子集。
- 数据类型:1. 原子类型(不可再分的数据类型)2.结构类型(可以在分解为若干成分的数据类型)3.抽象数据类型(抽象数据组织及与之相关的操作)。
- 数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
- 数据结构包括三方面的内容:逻辑结构、存储结构和数据的运算。
二、算法分析
时间复杂度
- 概念:一个语句的频度是指该语句在算法中被重复执行的次数。
- T(n)=O( f(n) )
- 加法规则:T(n) = T1(n)+T2(n)=O( f(n) )+O( g(n) )=O( max( f(n) , g(n) ) )
- 乘法规则:*T(n) =T1(n) * T2(n)=O( f(n) ) O( g(n) )=O(f(n) * g(n) )
- 常见的渐进时间复杂度:
- O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)
空间复杂度
- 概念:定义为该算法所耗费的存储空间,它是问题规模n的函数。
- S(n)=O( g(n) )