1、实践题目 删数问题 2、问题描述 给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新 的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最 小的删数方案。 3、算法描述 答:从第一个数开始往后比较,当出现降序的时候就把比后面大的那个数字 ...
分类:
编程语言 时间:
2018-12-02 18:30:59
阅读次数:
199
1.实践题目 程序存储题目 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多 ...
分类:
编程语言 时间:
2018-12-02 13:34:52
阅读次数:
222
第四章实践报告 实践报告任选一题进行分析。内容包括: 时间复杂度:sort()进行排序,时间复杂度为O(NlgN),循环累加比较,时间复杂度为O(N),总的时间复杂度为O(NlgN)。 空间复杂度:O(1) 收获,对于贪心算法又加深了一点点理解, ...
分类:
其他好文 时间:
2018-12-01 22:08:23
阅读次数:
152
问题描述:给定n种物品,1个背包,背包容量为c,每个物品i的价值为vi,重量为wi,如何选择装入物品能使背包的总价值最大? 注意:与0-1背包问题不同,在选择物品i装入背包时,可以选择物品i的一部分,而不一定要全部装入背包,1<=i<=n 形式化描述:给定c >0, wi >0, vi >0 , 1 ...
分类:
编程语言 时间:
2018-12-01 18:43:47
阅读次数:
148
参考代码可见:https://github.com/dashnowords/blogs/tree/master/Structure/GreedyAlogrithm一.贪心算法贪心算法属于比较简单的算法,它总是会选择当下最优解,而不去考虑单次递归时是否会对未来造成影响,也就是说不考虑得到的解是否是全局最优。在很多实际问题中,寻找全局最优解的代价是非常大的,这时候就可以通过求次优解来解决问题,这种思想
分类:
编程语言 时间:
2018-11-30 14:13:50
阅读次数:
126
基本要素: 贪心选择:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 最优子结构:当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。 过程: 过程: 建立数学模型来描述问题; 把求解的问题分成若干个子问题; ...
分类:
编程语言 时间:
2018-11-28 00:30:44
阅读次数:
291
原创 给定一个n位正整数a, 去掉其中k个数字后按原左右次序将组成一个新的正整数。对给定的a, k寻找一种方案,使得剩下的数字组成的新数最小。 提示:应用贪心算法设计求解 操作对象为n位正整数,有可能超过整数的范围,存储在数组a中,数组中每一个数组元素对应整数的一位数字。 在整数的位数固定的前提下, ...
分类:
其他好文 时间:
2018-11-07 21:06:18
阅读次数:
285
背包问题 贪心算法 一 问题描述 二 问题分析 **三 代码实现 package knapsnap; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.u ...
分类:
其他好文 时间:
2018-11-07 14:06:28
阅读次数:
156
最优装载 贪心算法 一问题描述 二问题分析 三代码实现 package loading; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.Ar ...
分类:
其他好文 时间:
2018-11-06 23:37:10
阅读次数:
245
活动安排问题 贪心算法 一问题分析 二代码实现 java package greedySelctor; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java. ...
分类:
其他好文 时间:
2018-11-06 21:27:19
阅读次数:
184