1
常用算法设计方法
要使计算机能完成人们预定的工作,
首先必须为如何完成预定的工作设计一个算法,
然
后再根据算法编写程序。计算机程序要对问题的每个对象和处理规则给出正确详尽的描述,
其中程序的数据结构和变量用来描述问题的对象,
程序结构、
函数和语句用来描述问题的算
法。算法数据结构是程序的两个重要方面。
算法是问题求解过程的精确描述,
一个算法由有限条可完全机械地执行的、
有确定结果
的指令组成。
指令正确地描述了要完成的任务和它们被执行的顺序。
计算机按算法指令所描
述的顺序执行算法的指令能在有限的步骤内终止,
或终止于给出问题的解,
或终止于指出问
题对此输入数据无解。
通常求解一个问题可能会有多种算法可供选择,
选择的主要标准是算法的正确性和可靠
性,简单性和易理解性。其次是算法所需要的存储空间少和执行更快等。
算法设计是一件非常困难的工作,
经常采用的算法设计技术主要有迭代法、
穷举搜索法、
递推法、贪婪法、回溯法、分治法、动态规划法等等。另外,为了更简洁的形式设计和藐视
算法,在算法设计时又常常采用递归技术,用递归描述算法。
一、迭代法
迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。
设方程为
f(x)=0
,
用
某种数学方法导出等价的形式
x