绪论
一、数据结构
1.数据结构是指相互之间存在一定关系的数据元素的集合。按照视点的不同,数据结构分为逻辑结构和存储结构。
抽象数据类型(ADT)是一个数据结构以及定义在该结构上的一组操作的总称。
2.数据逻辑结构可分为四种:集合、线性结构、树结构、图结构
数据存储结构可分为两种:顺序存储结构(用一种连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示。)
3. 一般来说,一种数据的逻辑结构可以用多种存储结构来存储,而采用不同的存储结构,其数据处理的效率是不同的。
二、算法及算法分析
1.基本概念
算法是对特定问题求解步骤的一种描述,是指令的有限序列。
算法的五大基本特性:1、输入(有零个或多个输入)2、输出(有一个或多个输出)3、有穷性(对于任何合法输入在执行有限步后结束,且每步在有穷时间内完成)4、确定性(任何条件下,相同输入得到相同结果)5、可行性(算法描述的操作可以通过已经实现的基本操作执行有限次来实现)
好的算法除五大基本特性外,还要满足五个特性:1、正确性 2、健壮性 3、简单性 4、抽象分级 5、高效性
算法的描述方法:自然语言,流程图,程序设计语言,伪代码
2. 算法分析
1.算法的时间复杂度当问题规模充分大时,算法中基本语句的执行次数在健近意义下的阶,称作算法的渐进时间复杂度
2.算法的空间复杂度指在算法的执行过程中,需要的辅助空间数量。辅助空间是除算法本身和输入输出数据所占据的空间外,算法临时开辟的存储空间。S(n)=O(f(n)) 其中,n为问题规模,分析方法预算法的时间复杂度相似. 3.算法分析举例