数据结构(3)——算法和算法分析
数倌栗受绽据结构除了要研究数据的逻辑结构和存储结构外。还要研究如何在数据的各种结构上实施有效的操作或处理,这就涉及到算法。算法是对特定维咩缡朊问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。
工具/原料
数据结构书
算法5个特性
1、有穷性:对任何合法的输入值,一个算法必须在执行有穷步之后阶数,且每一步都应该在又穷时间内完成。
2、确定性:算法中每一条指令必须有姑百钠恁确切的含义,不会出现二义性,在任何条件下,算法只有唯一的一条执行路径,对于相同的输入只能得出相同的输出。
3、可行性:一个算法是可行的,即算法中的操作都可以通过已经实现的基本运算执行有限次来实现。
4、输入:一个算法有零个或多个输入,这些输入取自于某个特定的数据对象的集合,他可以使用输入语句从外部提供,也可以在算法内通过赋初值给定。
5、输出:一个算法有一个或多个输出,这些书除湿桶输入有着某种特定关系的量。
算法设计的要求
1、正确性:算法应当满足具体问题的需求。正确性大体可以分为以下四个层次:

4、事前分析估算的方法:

7、式子表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。T(n)称为算法的渐进时间复杂度,简称时间复杂度。
8、在大多数情况下,原操作是最深层循环类的语句中的原操作。它的执行次数和包含它的语句的频度相同(语句的频度指的是该语句重复执行的次数。)
9、例如:
