算法的一般步骤
来源:互联网 发布:淘宝助理导入tbi格式 编辑:程序博客网 时间:2024/04/29 19:11
由于实际问题中各种各样的解决问题的方法千变万化,所以使得算法设计充满方法的灵活性和结果的多样性,但是人们在长期的实践中还是总结出解决常用问题的算法设计步骤,了解它对算法设计有很好的帮助。
按照自顶往下的设计原则,处理实际问题的算法设计是从理解问题入手自顶往下展开的,这是对问题的理解和分析逐层深入、逐步细化的一个过程,它符合人们对问题的认识规律。设计算法首先要做的是准确理解问题的要求,即整理出算法的输入和输出,明确算法的明确要求,在此基础上逐步展开算法的设计工作。
算法设计除了考虑实现正常的功能要求外,还必须恰当的处理可能发生的特殊情况,其中对各种可能的输入进行分析的重要工作。由于运行环境和使用者的不确定性,一个算法的进行很可能会遇见一些不正常的输入,此时算法应该能够妥善处理它,从而保证算法能够正常运行。为此,需要对算法运行的所有可能遇到的输入进行预测。例如一个正整数输入的算法,同时还要合理的处理输入的小数和负数的情况。一个要求输入字符的算法,应当能妥善处理输入为数字的情况,等等。对可能发生的各种情况分析的越充分,所设计的算法就越完善,算法的效率也更高。
由于实际问题的复杂性,有些问题无法求得精确解,有些问题求得精确解付出的时间太长。因此,在设计算法时需要根据问题要求和时间代价,计算机系统的条件等因素,确定问题解得形式和精度,使得设计的算法更具合理性。
正因为数据结构与算法之间的紧密联系,要使所设计的算法更高的效率,必须先确定数据结构,包括抽象问题的数据模型和确定它在计算机中的表现形式,即确定数据的逻辑结构和存储结构。当然也要确定问题处理过程中所用的辅助数据结构。算法设计要针对确定的数据结构来展开。
初始设计的算法难免有或大或小的逻辑错误,而这些逻辑错误是无法由计算机检查出来的。为了检查出算法中可能出现的逻辑错误,设计者要设计一组“输入值”,通过这组输入值“执行”算法,尽可能的发现算法中的逻辑错误,这就是跟踪算法。
判断所设计的算法是否达到目标,除了检查算法执行的结果是否和预计的一致以外,还要检查算法的效率是否满足
问题的需求,也就是要分析算法的时间效率和空间效率,算法设计过程可能在这一步和确定解的要求之间重复,知道算法效率满足要求为止。分析算法的时间效率和空间效率时,分别以算法的时间复杂度和空间复杂度来衡量。
- 算法的一般步骤
- 做算法编程题的一般步骤
- 图像滤波的一般算法步骤
- 机器学习算法调优的一般步骤
- 机器学习算法调优的一般步骤
- DebugVista的一般步骤
- DebugVista的一般步骤
- 一般的安装步骤
- 数据库连接的一般步骤
- log4j一般的使用步骤
- log4j一般的使用步骤
- SQLServer2005的一般部署步骤
- 软件测试的一般步骤
- 需求分析的一般步骤
- 专家系统开发的一般步骤
- 回溯法的一般步骤
- 安装Struts2的一般步骤
- 创建触发器的一般步骤
- session与cookie问题
- PHP位运算
- LIBGDX版NEHE OPENGL- 5. 3D Shapes
- 杭电2054
- JSP页面中Session对象详解
- 算法的一般步骤
- java中的内部类
- 在CentOS系统上静默安装Oracle 11gR2
- 2072 单词数(转)
- 对session和cookie的一些理解
- FTP服务
- Java面试宝典系列之字符串转整型、判断IP合法性、求最大公约数
- Struts2.0和Struts1.0的不同之处
- 基于第三方开发Android锁屏