算法
算法是在具体存储结构上实现某个抽象运算。确切地说,算法是对特定的求解步骤的一种描述,它是指令地有限序列,其中每一条指令表示计算机的一个或多个操作。
算法五个重要的特性:1.有穷性2.确定性3.可行性4.有输入5.有输出
程序可不满足有穷性。
算法描述:文字描述,语言方式,图形方式,表格方式。
算法设计目标:1.正确性2.可使用性3.可读性4.健壮性5.高效率与低存储量需求。
衡量算法效率方法:
- 事后统计法:缺点必须执行程序;存在其他因素掩盖算法本质。
- 事前分析估算法:
耗时因素:计算机运行效率、采用语言、编译产生机器语言代码质量、问题规模等。
只考虑算法本身的效率高低,可认为一个特定算法的“运行工作量”的大小,只依赖于问题的规模(通常用整数n表示),或者说,它是问题规模的函数。
一个算法是由控制结构(顺序、分支、循环)和原操作(指对固有数据类型的操作)构成。算法的运行时间取决于两者的综合效果。
为了便于比较同一问题的不同算法,通常从算法中选取一种对于所研究问题来说是基本运算的原操作(以下将基本运算的原操作简称为基本运算),算法执行时间大致为基本运算所需的时间与其运算次数(一条语句的运行次数称为语句频度)的乘积。被视为算法基本运算的一般是