声明:本报告比较简单,仅供参考哦!!
报告内容(主要包括四个方面的内容):
1、算法设计简介;
2、可以自行选择几种感兴趣的算法进行简介和分析;也可以针对以下给出的算法设计题,任选一题,完成编码任务,给出运行结果;
3、学习算法的心得体会;
4、参考文献
最小正整数问题
问题描述:键盘输入一个高精度的正整数 n(n<10位 ) , 去掉任意 s 个数字后剩下的数字按原左右次序组成一个新的正整数,寻求一种方案,使得新的正整数最小。
问题分析
1) 贪心法求解:删 k 个数符的全局最优解,包含了删除 1个数符的子问题的最优解。
2) 以字符串形式输入 s ,使用尽可能逼近目标的贪心法来逐一删去其中的 k 个数符, 每一步总是选择一个能使剩下的数最小的数符删去。
摘要:算法是解决特定问题的描述,在计算机领域当中,算法显得尤为重要。本文就算法的定义、特征以及发展历程进行描述,并列举了常见的算法思想。然后利用贪心算法来解决实际问题,最后谈谈自己学习贪心算法心得体会。
关键词:算法定义;算法特征;算法发展历程;贪心算法;心得体会
目录
1 算法设计简介
1.1 算法的定义
算法是解决特定问题求解决步骤的描述,再计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
算法的时间复杂度是指执行算法所需要的计算工作量。一般来说,计算机算法是问题规模n 的函数f(n),算法的时间复杂度也因此记做T(n)=Ο(f(n))。而算法的空间复杂度是指算法需要消耗的内存空间。其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。同时间复杂度相比,空间复杂度的分析要简单得多。
另外,算法的正确性、可读性以及健壮性也是判定算法优劣的重要标准。
1.2 算法的特征
算法的特征可分为输入、输出、有穷性、确定性以及可行性。
- 输入:算法具有零个或多个输入
- 输出:算法至少有一个或多个输出
- 有穷性:指算法再执行有限的步骤之后,自动结束而不会出现无心循环,并且每一个步骤再可接受的时间内完成
- 确定性:算法的每一个步骤都具有确定的意义,不会出现二义性
- 可行性:算法的每一步都必须是可行的,也就是说,每一步都能通过执行有限次数完成<