|
此套毕业设计百度网盘下载地址(金币充值):
游客,本付费内容需要支付 200金币 才能浏览 支付
技术:Java等
摘要:
贪婪算法是一种非常高效,使用广泛的算法,它通过分析待求解的问题,制定对应的贪婪策略,指导人们对问题解的搜索。当要求解的问题满足一定条件的时候,使用贪婪算法就能够迅速找到问题的最优解,同时时间复杂度也要优于求解同样问题的其他算法。但是,对于某些问题,贪婪算法虽然能够快速求解,但是不能保证的到问题的最优解。即便如此,贪婪算法还是在很多问题上有令人满意的表现,它求解过程中的高效性让他在算法设计过程中占据了重要地位,贪婪算法适合求解问题的最优解或者近似最优解。本文以0-1背包问题,完全背包问题以及最小顶点覆盖为例,探讨如何利用贪婪算法快速寻找问题最优解,完成相关算法设计以及代码设计。
关键词 贪婪算法 背包问题 最小顶点覆盖
目录:
摘要 i
Abstract ii
1 绪论 1
2 贪婪算法 2
2.1 贪婪算法基本概念 2
2.2 贪婪算法设计思想 2
2.3 贪婪算法基本要素 3
2.3.1 最优量度标准 3
2.3.2 最优子结构性质 3
2.4 贪婪算法的特性 3
2.5 贪婪算法的算法求解过程以及描述 4
3 几种背包问题的算法分析与比较 15
3.1 问题描述 15
3.2 几种常见的解决背包问题的算法 15
3.3 这几种常见算法之间时间复杂度的比较 17
3.4 相关代码实现 18
3.4.1 0-1背包问题 18
3.4.2 完全背包问题 22
3.4.3 最小顶点覆盖问题 23
4 用贪心算法求解删数问题 27
4.1 什么是删数问题 27
4.2 删数问题的贪婪算法解法 27
5 贪婪算法和动态规划算法的比较 28
5.1 动态规划的定义 28
5.2 动态规划适于解决的问题 28
5.3 动态规划问题的特征 29
5.4 设计动态规划法的步骤 30
5.5 动态规划算法 [0/ 1 背包问题] 30
5.6 对于贪婪算法和动态规划算法的解决背包问题时的总结 30
6 堆与贪婪算法 31
6.1 堆、堆排序 31
6.2 关于堆排序时间复杂度的讨论 33
6.3 堆排序运用贪婪算法解决多机调度问题的优化 33
7 01背包问题的贪心局部搜索算法研究 35
7.1 相关算法的描述 35
7.2 关于固定候选算法的研究讨论 36
7.3 关于变化候选算法的研究讨论 37
7.4 实验结果及分析 38
8 贪婪算法在大学生上自习时节电的运用 40
8.1 问题的提出背景 40
8.2 问题的基本条件 40
8.3 建立模型 40
8.4 贪婪算法设计 41
结语 42
致谢 43
参考文献 44
外文翻译 45
论文字数:24976
包含资料:
截图:
|
|