logo资料库

计算机算法设计和分析课程总结.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
计算机算法设计和分析课程总结
计算机算法设计和分析课程总结 班级:09 计算机 1 班 姓名:XXX 学号:XXXXXXXX 大三的上半学期,我学习了计算机算法分析和设计这门课程,通 过 10 周的学习让我了解到了计算机编程所需要的算法分析和设计内 容。知道了算法在计算机编程中的应用之广泛,也深深领略到了算法 在计算机编程中的魅力。这门课程使我对计算机语言极其算法更深层 次的研究和使用。对于计算机科学来说,算法的概念是至关重要的。 算法指的是解决问题的一种方法或者一个过程。它是由若干条指 令组成的又穷序列,且满足 4 个性质,即输入、输出、确定性、有限 性。他与程序不同,程序是算法用某种语言的具体实现。我们采用的 是 C++语言来描述算法,对这么课程进行的深入的研究。我们学习的 学习这门课程的内容有,算法的概念、递归与分治策略、动态规划、 贪心算法。 递归与分治策略基本思想是:对这 k 个子问题分别求解。如果子 问题的规模仍然不够小,则再划分为 k 个子问题,如此递归的进行下 去,直到问题规模足够小,很容易求出其解为止。对这 k 个子问题分 别求解。如果子问题的规模仍然不够小则再划分为 k 个子问题,如此 递归的进行下去,直到问题 将求出的小规模的问题的解合并为一个 更大规模的问题的解,自底向上逐步求出原来问题的解。孙子兵法有: 凡治众如治寡,分数是也。 凡治众如治寡,分数是也。就是这个道 理。
之后我们又学习了动态规划,动态规划算法的基本思想是:将待 求解的问题分解成若干个相互联系的子问题,先求解子问题,然后从 这些子问题的解得到原问题的解; 对于重复出现的子问题,只在第 一次遇到的时候对它进行求解,并把答案保存起来,让以后再次遇到 时直接引用答案,不必重新求解 。当我们已经确定待解决的问题需 要用动态规划算法求解时,通常可以按照以下步骤设计动态规划算 法: 1 、分析问题的最优解,找出最优解的性质,并刻画其结构特征; 2 、递归地定义最优值; 3 、采用自底向上的方式计算问题的最优值; 4 、根据计算最优值时得到的信息,构造最优解。 动态规划算法没有一个固定的解题模式,技巧性很强。可以说, 动态规划算法在实际生活中的每一次应用都是一种创造。 我们还学习了贪心算法,贪心法的基本思路是:从问题的某一个 初始解出发逐步逼近给定的目标,以尽可能快的地求得更好的解。当 达到某算法中的某一步不能再继续前进时,算法停止。但是该算法不 能保证求得的最后解是最佳的,也不能用来求最大或最小解问题,只 能求满足某些约束条件的可行解的范围。通俗的说,该算法在执行过 程中对问题求解时,总是做出在当前看来是最好的选择。最经典的利 用贪心算法解决的问题就是马踏棋盘,在 8×8 方格的棋盘上,从任意 指定方格出发,为马寻找一条走遍棋盘每一格并且只经过一次的一条 最短路径。这个如果人手算的计算量可想而知,但是利用贪心算法,
很快就能够让计算机帮我们找到最佳的解法。 我们通过对算法分析这门课程的学习,学到的不仅仅是书上的那 几个编程实例,和已经解决的各种计算量复杂的问题,更重要的是我 们要学习一种思想,我们如果能够掌握算法的核心思想,不管在计算 机行业还是其他行业,都将让我们办事更有效率。当然,这些算法我 们虽然已经学习了,但是要想熟练掌握还需要更多的联系和摸索,表 面上看起来枯燥无味的编程学习,其实涉及到算法部分时候还是非常 有趣,并且能够让我们感觉到挑战的。我非常喜欢这门课程,希望在 以后的日子里能多接触更多的算法,让自己的编程水平得到更大的提 升。
分享到:
收藏