贪心算法论文终稿

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科毕业论文(设计)

题目贪心算法设计及其实际应用研究

系别信息管理系

专业计算机科学与技术

年级2006级

学号***************

姓名蒋远丽

指导教师汪维清

成绩_______________________

二〇一〇年五月十五日

目录

西南大学本科毕业论文(设计)任务书 ..................................... I 文献综述 (i)

西南大学本科毕业论文(设计)开题报告 ............................... - 1 - 正文 . (4)

摘要 (4)

第1章引言 (5)

1.1研究背景 (5)

1.2研究内容 (6)

1.3研究目标 (6)

1.4研究意义 (6)

1.5 本文组织 (6)

第2章贪心算法的基本知识概述 (8)

2.1 贪心算法定义 (8)

2.2 贪心算法的基本思路及实现过程 (8)

2.3贪心算法的核心 (8)

2.4贪心算法的基本要素 (9)

2.5 贪心算法的理论基础 (10)

2.6贪心算法存在的问题 (11)

第3章经典问题解决及其优缺点 (12)

3.1 哈夫曼编码 (12)

3.2单源最短路径问题(Dijkstra算法) (14)

3.3最小生成树问题(Prim算法、Kruskal算法) (16)

第4章多处最优服务次序问题 (19)

4.1 问题的提出 (19)

4.2 贪心选择策略 (19)

4.3 问题的贪心选择性质 (19)

4.4 问题的最优子结构性质 (19)

4.5 算法结果分析 (20)

第5章删数问题 (21)

5.1 问题的提出 (21)

5.2 贪心算法策略 (21)

5.3 问题的贪心选择性质 (21)

5.4 问题的最优子结构性质 (21)

5.5 编码 (22)

第6章汽车加油问题 (23)

6.1 问题的提出 (23)

6.2 编码分析 (23)

6.3 贪心算法策略 (23)

6.4 贪心算法正确性证明 (24)

6.5 贪心算法时间复杂度分析 (24)

第7章最优合并问题 (25)

7.1 问题的提出 (25)

7.2 原理分析 (25)

7.3 算法时间复杂度分析 (25)

第8章会场安排问题 (26)

8.1 问题的提出 (26)

8.2 编码分析 (26)

8.3 贪心算法 (26)

8.4 最优解证明 (27)

8.5 算法时间复杂度分析 (27)

第9章贪心算法的C++实现 (28)

9.1 C++语言概述 (28)

9.2 具体实现步骤 (29)

9.3程序编码与程序调试 (33)

第10章总结与展望 (35)

10.1总结 (35)

10.2展望 (35)

参考文献 (36)

附录 (37)

致谢 (45)

本科毕业论文(设计)指导教师评阅表 ..................................... a 本科毕业论文(设计)交叉评阅表 ......................................... b 本科毕业论文(设计)答辩记录 ........................................... c

西南大学本科毕业论文(设计)任务书

论文(设计)题目贪心算法设计及其实际应用研究

系别、专业信息管理系计算机科学与技术学生姓名蒋远丽学号 222006602054062 指导教师姓名汪维清开题日期2009年11月28日

注:1、任务书由指导老师填写。2、任务书必须在第七学期13周前下达给学生。

文献综述

贪心算法设计及其实际应用研究

蒋远丽

西南大学荣昌校区信息管理系,重庆荣昌 402460

摘要:在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。从贪心算法的定义可以看出,贪心法并不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用贪心算法可以得到最优解。贪心算法所作的选择可以依赖于以往所作过的选择,但决不依赖于将来的选择,也不依赖于子问题的解,因此贪心算法与其它算法相比具有一定的速度优势。如果一个问题可以同时用几种方法解决,贪心算法应该是最好的选择之一。本文讲述了贪心算法的含义、基本思路及实现过程,贪心算法的核心、基本性质、特点及其存在的问题。并通过贪心算法的特点举例列出了以往研究过的几个经典问题,对于实际应用中的问题,也希望通过贪心算法的特点来解决。

关键词:贪心算法;哈夫曼编码;最小生成树;多处最优服务次序问题;删数问题

0 引言

为了满足人们对大数据量信息处理的渴望,为解决各种实际问题,计算机算法学得到了飞速的发展,线性规划、动态规划、贪心策略等一系列运筹学模型纷纷运用到计算机算法学中,产生了解决各种现实问题的有效算法。虽然设计一个好的求解算法更像是一门艺术而不像是技术 ,但仍然存在一些行之有效的、能够用于解决许多问题的算法设计方法 ,你可以使用这些方法来设计算法 ,并观察这些算法是如何工作的。一般情况下,为了获得较好的性能,必须对算法进行细致的调整。但是在某些情况下,算法经过调整之后性能仍无法达到要求,这时就必须寻求另外的方法来求解该问题。

当一个问题具有最优子结构性质和贪心选择性质时,贪心算法通常会给出一个简单、直观和高效的解法。贪心算法通过一系列的选择来得到一个问题的解。它所作的

相关文档
最新文档