计算机算法分析与设计
概要:对于回溯法,通过约束到满足条件的所有解,特点为能进就进,不能进就退回来,与递归类似。分支法与回溯法类似,但解的目标是通过约束到满足条件的一个解,或到在某种意义下的最优解。回溯法以深度优先的方式搜索解空间树,而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树。本文在分析算法定义的基础上,对常见的5种算法进行论述并总结各自算法的特点。
随着计算机技术的突飞猛进,算法逐渐成为了核心内容,不容忽视。算法更能体现计算机的精髓,计算机技术的根本,算法的设计有多种方案,不同的实现方案展现的结果不同,这提现了计算机技术的多姿多彩。对于计算机技术来说,算法分析与设计是至关重要的。在一个大型软件系统的开发中,设计出有效的算法将起到决定性的作用。
1.定义
通俗的讲,算法是解决问题的一种方法。也因此算法分析与设计成为计算技术的核心问题之
编程递归函数一,也是计算机科学与技术专业本科及研究生的一门重要的专业基础课。算法分析与设计是计算机软件开发人员必修课,软件的效率和稳定性取决于软件中所采用的算法;对于一般程序员和计算机专业学生,学习算法设计与分析课程,可以开阔编程思路,编写出优质程序。一个算法应该具有以下五个重要的特征:有穷性、确切性、输入、输出、可行性。
算法的复杂性是算法效率的度量,是评价算法优劣的重要依据。一个算法的复杂性的高低体现在运行该算法所需要的计算机资源的多少上面,所需的资源越多,我们就说该算法的复杂性越高;反之,所需的资源越低,则该算法的复杂性越低。计算机的资源,最重要的是时间和空间(即存储器)资源。因而,算法的复杂性有时间复杂性和空间复杂性之分。不言而喻,对于任意给定的问题,设计出复杂性尽可能地的算法是我们在设计算法是追求的一个重要目标;另一方面,当给定的问题已有多种算法时,选择其中复杂性最低者,是我们在选用算法适应遵循的一个重要准则。因此,算法的复杂性分析对算法的设计或选用有着重要的指导意义和实用价值。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。