算法
jiehaoxiang
加油
展开
-
Fibonacci数列-递推、递归
Fibonacci数列 无穷数列1,1,2,3,5,8,13,21,34,55,……,称为Fibonacci数列。它可以递归地定义为:第n个Fibonacci数可递归地计算如下:int fibonacci(int n) { if (n <= 1) return 1; return fibonacci(n-1)+fibonacci(n...原创 2018-09-29 19:10:52 · 882 阅读 · 1 评论 -
菲波那契数的余数
描述:菲波那契数大家可能都已经很熟悉了:f(1)= 0; f(2)= 1; f(n)= f(n-1)+ f(n-2)n> 2.因此,当需要其除以某个数的余数时,不妨加一些处理就可以得到。输入:输入数据为一些整数对P,K,P(1 <P <5000),表示菲波那契数的序号,K(1 <= K <15)表示2的幂次方。遇到两个空格隔开的0时表示结束处理。输...原创 2018-09-29 20:31:53 · 317 阅读 · 2 评论 -
找零问题(Java实现)——贪心算法
贪心算法也称为贪婪算法。下述找零问题应用的方法就是贪心算法。现在思考,有没有更好的找零办法,使找出的硬币个数更少呢?也就是说,对于找零问题的这个实例,这个解是不是最优的呢?实际上,可以证明,就这些面额的硬币来说,对于所有正整数的找零金额,贪心算法都会输出一个最优解。贪心算法在解决问题的策略上目光短浅,只根据当前已有的信息就做出认为是最好的选择,而且一旦做出了选择,不管将来有什么结果,这个选...原创 2018-10-19 16:47:27 · 8304 阅读 · 2 评论 -
最长公共子序列(Java实现)——动态规划
【问题描述】给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。给定2个序列X={A,B,C,B,D}和Y={B,D,C,A,B},找出X和Y的最长公共子序列{B,C,B}。【分析】最长公共子序列问题具有最优子结构性质设X = { x1 , ... , xm }Y = { y1 , ... , yn }及它们的最长子序列Z = { ...原创 2018-10-24 22:03:42 · 823 阅读 · 0 评论 -
背包问题(Java实现)——贪心算法
背包问题——贪心算法【问题描述】给定n种物品和一个背包。物品 i 的重量是Wi,其价值为Vi,背包的容量为c。应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 【问题分析】·一般的背包问题!最优思想:考虑到价值增长和容量消耗二者的综合效果的方法,即每次选择价值与重量比 vi/wi 最大的物品先装进背包,这就是最终的贪心策略。手动输入背包容量c和物品个数n,随机产生物品...原创 2018-11-03 09:57:02 · 8312 阅读 · 7 评论 -
删数最小值问题(Java实现)——贪心算法
删数最小值问题——贪心算法【问题描述】给定一个 n 位正整数 a , 去掉其中 k<=n 个数字后按原左右次序将组成一个新的正整数。对给定的 a , k 寻找一种方案,使得剩下的数字组成的新数最小。程序源代码:package SF;import java.util.*;public class 删数最小值问题 { public static void main(St...原创 2018-11-03 14:44:00 · 1683 阅读 · 0 评论 -
多处最优服务次序问题(Java实现)——贪心算法
多处最优服务次序问题——贪心算法【问题描述】 设有 n 个顾客同时等待一项服务。顾客 i 需要的服务时间为 ti(1≤i≤n)。共有 s 处可以提供此服务。应如何安排 n 个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是 n 个顾客的等待时间(含服务时间)总和除以n。编程任务:对于给定的 n 个顾客需要的服务时间和 s 的值,编程计算最优服务次序。packa...原创 2018-11-04 22:50:52 · 2108 阅读 · 2 评论