计算机算法设计论文,计算机算法设计与分析小论文

《计算机算法设计与分析小论文》由会员分享,可在线阅读,更多相关《计算机算法设计与分析小论文(6页珍藏版)》请在人人文库网上搜索。

1、计算机算法设计与分析小论文摘要:算法是一个系列解决问题的清晰指令,即在有限时间内能够对一定规范的输入,能够得到所需要的输出。如果一个算法本身是有缺陷的!那么他往往不是这个问题的最佳解决方法,可见一个算法的优劣是通过一定的准则来规定的。通过这学期的对计算机算法分析设计这门课程的学习让我们充分的了解到了计算机算法的多样性和复杂性,让我们更加细心和耐心的去对待这门课程。例如甲某要去某个地方旅游,他有很多种方案到旅游地,但是不见的每种方案都是合理最优的!这时就是需要考虑透过一定的算法来得到自己的最优路线。所以可见算法就是以最少的成本、最快的速度、最好的质量开发出合适各种各样应用需求的软件,必须遵循软件。

2、工程的原则,设计出高效率的程序。一个高效的程序不仅需要编程技巧,更需要合理的数据组织和清晰高效的算法。目前我们将进行常见的算法分析设计策略介绍:1. 递归算法1.1递归算法介绍:直接或间接的调用自身的算法称为递归算法。或者说就是用自己来定义自己,不断调用自己的某一种状态。1.2递归算法满足的条件(1)递归满足2个条件:1)有反复执行的过程(调用自身)2)有跳出反复执行过程的条件(递归出口)1.3递归例子递归例子:阶乘问题n! = n * (n-1) * (n-2) * .* 1(n0)/阶乘int result(int i)int sum = 0;if (0 = i)return (1);el。

3、sesum = i * result(i-1);return sum;可见一个递归算法都有一个比较特殊的特点,那就是要先处理一些比较特殊的情况再处理递归关系。如上例中如果是0!的话!那么他的阶乘就是1,所以先处理0!这个特殊情况,然后再调用其他的递归关系得到自己想要的阶乘。比如当我们想要求出4!的结果那么我们就需要调用result(3)的结果而result(3)又要调用result(2)的结果!就这样直到得出答案为止。在我们日常,递归算法的出现可以帮助我们解决很多问题,正因为它的:结构清晰,可读性强,而且容易用数学归纳法来证明算法的正确性,因此它为设计算法、调试程序带来很大方便。2. 分治算法。

4、2.1分治算法介绍:一个分治算法把问题实例划分成若干子实例(多数情况是分成两个),并分别递归地解决每个子实例,然后把这些子实例的解组合起来,得到原问题实例的解。2.2 分治算法的特性1) 规模小,则很容易解决2)大问题可以分为若干规模小的相同问题3)利用子问题的解可以合并成该问题的解2.3分治算法的遇到问题为了阐明这个方法,考虑这样一问题:在一个整数组A1.n中,同时寻找最大值和最小值。下面我们来看一下用分治策略:将数组分割成两半,A1.n/2和A(n/2)+1.n,在每一半中找到最大值和最小值,并返回这两个最小值中的最小值及这两个最大值中的最大值。过程Min-Max 输入 n个整数元素的数组。

5、A1.nn为2的幂 输出 (x,y), A中的最大元素和最小元素if high-low=1 then if Alow2. usingnamespacestd;3. 4. voidGreedyChoose(intlen,int*s,int*f,bool*flag);5. 6. intmain(intargc,char*argv)7. 8. ints11=1,3,0,5,3,5,6,8,8,2,12;9. intf11=4,5,6,7,8,9,10,11,12,13,14;10. 11. boolmark11=0;12. 13. GreedyChoose(11,s,f,mark);14. for(。

6、inti=0;i=fj)27. 28. flagi=true;29. j=i;30. 31. 得出结果是 0 3 7 10,也就是对应的时间段本次课程的心得体会:计算机软件专业中,算法分析与设计是一门非常重要的课程,很多人为它如痴如醉。很多问题的解决,程序的编写都要依赖它,在软件还是面向过程的阶段,就有程序=算法+数据结构这个公式。算法的学习对于培养一个人的逻辑思维能力是有极大帮助的,它可以培养我们养成思考分析问题,解决问题的能力。如果一个算法有缺陷,或不适合某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂性和时间复杂度来衡量。算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述。计算机系统中的操作系统、语言编译系统、数据库管理系统以及各种各样的计算机应用系统中的软件,都必须使用具体的算法来实现。算法设计与分析是计算机科学与技术的一个核心问题。因此,学习算法无疑会增强自己的竞争力,提高自己的修为,为自己增彩。学习算法分析与设计使我对软件基础知识中算法的地位有了充分的了解,认识到光书本的知识的确不行,还是要理论联系实践才行。因此不断的练习是必要的,上机实践更重要虽然课程结束了,但我依然还会继续学习算法分析与设计,以后我将充分利用所学到我实际的开发项目中。6 / 6。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值