【开题报告】最小生成树算法及其应用

合集下载

最小生成树 实验报告

最小生成树 实验报告

最小生成树实验报告最小生成树实验报告一、引言最小生成树是图论中的一个重要概念,它在实际问题中有着广泛的应用。

本次实验旨在通过编程实现最小生成树算法,并通过实验数据对算法进行分析和评估。

二、算法介绍最小生成树算法的目标是在给定的带权无向图中找到一棵生成树,使得树上所有边的权重之和最小。

本次实验我们选择了两种经典的最小生成树算法:Prim 算法和Kruskal算法。

1. Prim算法Prim算法是一种贪心算法,它从一个顶点开始,逐步扩展生成树的规模,直到包含所有顶点为止。

算法的具体步骤如下:(1)选择一个起始顶点,将其加入生成树中。

(2)从与生成树相邻的顶点中选择一个权重最小的边,将其加入生成树中。

(3)重复上述步骤,直到生成树包含所有顶点。

2. Kruskal算法Kruskal算法是一种基于并查集的贪心算法,它首先将图中的边按权重从小到大进行排序,然后逐个加入生成树中,直到生成树包含所有顶点为止。

算法的具体步骤如下:(1)将图中的边按权重从小到大进行排序。

(2)逐个加入边,如果该边的两个顶点不在同一个连通分量中,则将其加入生成树中。

(3)重复上述步骤,直到生成树包含所有顶点。

三、实验过程本次实验我们使用C++语言实现了Prim算法和Kruskal算法,并通过随机生成的图数据进行了测试。

1. Prim算法的实现我们首先使用邻接矩阵表示图的结构,然后利用优先队列来选择权重最小的边。

具体实现过程如下:(1)创建一个优先队列,用于存储生成树的候选边。

(2)选择一个起始顶点,将其加入生成树中。

(3)将与生成树相邻的顶点及其边加入优先队列。

(4)从优先队列中选择权重最小的边,将其加入生成树中,并更新优先队列。

(5)重复上述步骤,直到生成树包含所有顶点。

2. Kruskal算法的实现我们使用并查集来维护顶点之间的连通关系,通过排序后的边序列来逐个加入生成树中。

具体实现过程如下:(1)将图中的边按权重从小到大进行排序。

最小生成树 实验报告

最小生成树 实验报告

最小生成树(Minimum Spanning Tree)实验报告1. 实验目的本实验旨在通过实践掌握最小生成树算法的基本原理和实现方法。

最小生成树是图论中的一个重要概念,用于解决具有权重的连通图的最优路径问题。

通过本实验,我们将学习如何使用最小生成树算法找到一棵连接图的所有节点且总权重最小的树。

2. 实验原理最小生成树是一个连通图的一种生成树,它的所有边的权重之和最小。

最小生成树的求解算法有多种,其中两种常用的算法是 Prim 算法和 Kruskal 算法。

2.1 Prim 算法Prim 算法是一种贪心算法,从一个节点开始,逐步扩展最小生成树的边。

具体步骤如下: 1. 选择一个起始节点作为最小生成树的根节点。

2. 在当前最小生成树的所有节点中选择一个与该树相连接的权重最小的边,将其加入最小生成树。

3. 将该节点标记为已访问。

4. 重复步骤 2 和步骤 3,直到所有节点都被访问。

2.2 Kruskal 算法Kruskal 算法也是一种贪心算法,通过不断选择权重最小的边来构建最小生成树。

具体步骤如下: 1. 对所有边按照权重进行排序。

2. 依次选择权重最小的边,如果该边的两个端点不在同一个连通分量中,则将该边加入最小生成树,并将这两个端点合并到同一个连通分量中。

3. 重复步骤 2,直到所有节点都在同一个连通分量中,即最小生成树构建完成。

3. 实验步骤本实验将使用 Prim 算法和 Kruskal 算法分别求解给定图的最小生成树。

3.1 数据准备首先,我们需要准备一个具有权重的连通图作为实验数据。

假设该图有 n 个节点和 m 条边,我们可以使用邻接矩阵或邻接表来表示这个图。

3.2 Prim 算法求解最小生成树1.首先,选择一个起始节点作为最小生成树的根节点,并将该节点标记为已访问。

2.初始化一个空的最小生成树,用于存储最终的结果。

3.重复以下步骤,直到所有节点都被访问:1.在当前最小生成树的所有节点中选择一个与该树相连接的权重最小的边,将其加入最小生成树。

最小生成树算法实验报告

最小生成树算法实验报告

最小生成树算法实验报告【实验报告】最小生成树算法实验一、实验目的本次实验旨在研究最小生成树算法,通过对比不同的算法,并对实验结果进行分析,探索最小生成树算法的优劣势和适应场景。

二、实验过程1.算法介绍本次实验中我们将使用两种最小生成树算法:普里姆算法和克鲁斯卡尔算法。

- 普里姆算法(Prim算法):从一个顶点开始,不断在剩下的顶点中选择到当前已有的最小生成树的距离最小的边,将该边的另一个顶点加入树中,直到所有的顶点都加入树中。

- 克鲁斯卡尔算法(Kruskal算法):首先将所有边按照权值从小到大进行排序,然后以最小权值的边开始,依次选择权值最小且不会形成环路的边,直到找到n-1条边为止,其中n为顶点数。

2.实验步骤首先,我们使用Python语言实现了普里姆算法和克鲁斯卡尔算法。

然后,我们构造了一些测试用例,包括不同规模的图和不同权值分布的图。

最后,我们对实验结果进行对比分析。

三、实验结果1.测试用例设计我们设计了三个测试用例,分别为小规模图、中规模图和大规模图,具体如下:-小规模图:顶点数为5的图,权值随机分布。

-中规模图:顶点数为50的图,权值随机分布。

-大规模图:顶点数为100的图,权值随机分布。

2.实验结果分析我们的实验结果如下表所示:算法,小规模图,中规模图,大规模图:-------:,:------:,:------:,:------:普里姆算法,13,455,703从实验结果可以看出,对于小规模图和中规模图,普里姆算法的运行时间明显低于克鲁斯卡尔算法。

但是对于大规模图,克鲁斯卡尔算法的运行时间与普里姆算法的运行时间差距不大,甚至略小于普里姆算法。

这是因为克鲁斯卡尔算法中排序边的时间复杂度为O(ElogE),而普里姆算法中筛选最小距离的边的时间复杂度为O(V^2)。

综上所述,普里姆算法适用于较小规模的图,而克鲁斯卡尔算法适用于较大规模的图。

四、实验总结本次实验研究了最小生成树算法,通过对比实验结果,我们发现不同算法在不同规模的图上的表现有所差异。

最小生成树算法及其应用

最小生成树算法及其应用


中地 区 用 图 的 顶 点 表 示 , 区 间 的 路 径 用 边 表 示 , 地 相 应 的 代 价 用 赋 于 边 的 权 值 表 示 。 n个 顶 点 的 连 通 图
可 以 构 建 很 多 不 同 的 生 成 树 , 一 棵 生 成 树 即 可 以 任
作为一个 交通 图 。

最 小 生成 树 算法及 其应 用
王 化 宇
( 伦 贝尔 学 院 计 算 机 科学 与技 术 学 院 , 呼 内蒙 古 呼伦 贝尔 010) 2 0 8
摘 要 : 小 生 成 树 是 数 据 结 构 中 图 的 一 种 重 要 应 用 , 于 具 有 n个 顶 点 的 带 权 连 通 图 可 以 建 立 许 最 对
挑 选 出 耗 费 最 少 的 n 1条 路 径 , 是 所 需 解 决 的 问 一 就 题 的关 键 点 。
n个 地 区 及 地 区 间 的 路 径 用 连 通 图 来 表 示 , 其
条 边 ( ,) 入 成 为 第 五 条 边 , 23加 6个 顶 点 , 入 5条 加
边 后 结 束 , 成 最 小 生 成 树 如 图 4所 示 。 构
多 不 同 的 生 成 树 , 就 是 在 所 有 生 成 树 中 总 的 代 价 最 小 的 生 成 树 。 u k l算 法 和 Prm 算 法 是 求 最 小 生 也 Kr s a i 成 树 的 常 用 算 法 。 主 要 研 究 了 Kr s a 算 法 的 实 现 过 程 及 其 应 用 。 u kl
21 0 1年 3月
内 蒙 古 科 技 与 经 济
I n rM o g l ce c c n lg n e n oi S in eTe h oo y& Ec n my a oo

最小生成树算法的优化与应用

最小生成树算法的优化与应用

最小生成树算法的优化与应用最小生成树算法是图论中一种常用的算法,用于在具有权值的连通图中,选择一棵权值之和最小的生成树。

在实际应用中,最小生成树算法有着广泛的应用场景,例如网络规划、电力传输、城市道路规划等领域。

为了提高算法的效率和适应不同的应用需求,研究者们不断对最小生成树算法进行优化和改进。

本文将对最小生成树算法的优化与应用进行探讨。

一、最小生成树算法概述最小生成树算法用于寻找连通图中的一棵生成树,使得生成树的所有边的权值之和最小。

常用的最小生成树算法有Prim算法和Kruskal算法。

Prim算法是一种贪心算法,从一个任意节点出发,逐步扩展生成树,每次选择与生成树连接的权值最小的边,直到所有的节点都被加入生成树中。

Prim算法的时间复杂度为O(V^2),其中V为节点的数量。

Kruskal算法是一种基于边的贪心算法,首先对边进行排序,然后按照权值从小到大的顺序逐个加入生成树的边,同时判断是否构成环。

直到生成树的边数等于节点数减一,生成树构建完成。

Kruskal算法的时间复杂度为O(ElogE),其中E为边的数量。

二、最小生成树算法的优化为了提高最小生成树算法的效率,在实际应用中,研究者们对其进行了多种优化。

1. 堆优化Prim算法中,每次需要找到与生成树连接的权值最小的边,可以使用堆(最小堆或最大堆)来存储边的权值和对应的节点信息。

这样可以使得查找最小权值的边的时间复杂度降低为O(logV),从而提高算法的效率。

2. Kruskal算法的优化在Kruskal算法中,每次都要判断当前边是否与已选中的边构成环。

通过使用并查集(Disjoint Set)数据结构,可以快速判断两个节点是否属于同一连通分量,从而优化Kruskal算法中环的判断过程。

并查集可以将节点分为若干个不相交的集合,并支持快速查找集合的代表元素以及合并两个集合的操作。

这样可以将判断环的时间复杂度降低为O(α(V)),其中α为Ackermann函数的反函数,其增长极其缓慢,几乎可以视为常数。

解释最小生成树

解释最小生成树

解释最小生成树最小生成树(Minimum Spanning Tree,简称MST)是一种图论中的算法,用于在一个加权连通图中找到一棵包含所有顶点且边权值之和最小的生成树。

生成树是指一个连通图的生成树是指保留图中所有的节点,但只保留足以保持这些节点连通的边的集合。

在实际应用中,我们常常需要找到一个最优的生成树来解决问题。

最小生成树算法可以用于寻找最短路径、最小费用最大匹配等问题。

本文将详细介绍最小生成树的算法及其应用。

一、算法原理最小生成树的算法基于贪心策略。

在生成树中,边的权值表示为边的邻接顶点之间的权值。

边的权值之和反映了边的权值大小。

因此,我们需要寻找的边的权值之和最小的生成树就是一棵最优的生成树。

算法的基本思想是首先将图中的节点按照权值从小到大排序。

然后,从权值最小的节点开始,不断地寻找一个未访问过的节点。

当找到一个未访问过的节点时,将其加入到生成树中,并将其与原图中所有已访问过的节点建立边联系。

这样,生成树中就有了一个未访问过的节点。

接下来,我们继续寻找下一个未访问过的节点。

如果找到了一个节点,我们继续寻找与该节点相邻的节点。

如果找到了一个已访问过的节点,我们继续寻找下一个未访问过的节点。

重复以上步骤,直到所有节点都被正确地加入到生成树中。

二、应用场景最小生成树算法在实际应用中具有广泛的应用,以下列举了几个典型的应用场景:1.最短路径问题:最小生成树算法可以用于寻找一个图中所有节点之间的最短路径。

通过构建最小生成树,我们可以得到图中所有节点之间的最短距离。

在实际应用中,我们可以使用最小生成树算法来找到一个城市的最佳路线,或者找到一个公司的最短路径。

2.最小费用最大匹配问题:最小生成树算法可以用于寻找一个图中所有节点之间的最小费用最大匹配。

在最小费用最大匹配问题中,我们需要找到一个图中所有节点之间的最小费用,使得这些费用之和最大化。

最小生成树算法可以帮助我们找到一个最优的解,从而实现最小费用最大匹配。

实验5最小生成树算法的设计与实现(报告)

实验5最小生成树算法的设计与实现(报告)

实验5 最小生成树算法的设计与实现一、实验目的1、根据算法设计需要, 掌握连通图的灵活表示方法;2、掌握最小生成树算法,如Prim、Kruskal算法;3、基本掌握贪心算法的一般设计方法;4、进一步掌握集合的表示与操作算法的应用。

二、实验内容1、认真阅读算法设计教材和数据结构教材内容, 熟习连通图的不同表示方法和最小生成树算法;2、设计Kruskal算法实验程序。

有n个城市可以用(n-1)条路将它们连通,求最小总路程的和。

设计测试问题,修改并调试程序, 输出最小生成树的各条边, 直至正确为止。

三、Kruskal算法的原理方法边权排序:1 3 14 6 23 6 41 4 52 3 53 4 52 5 61 2 63 5 65 6 61. 初始化时:属于最小生成树的顶点U={}不属于最小生成树的顶点V={1,2,3,4,5,6}2. 根据边权排序,选出还没有连接并且权最小的边(1 3 1),属于最小生成树的顶点U={1,3},不属于最小生成树的顶点V={2,4,5,6}3. 根据边权排序,选出还没有连接并且权最小的边(4 6 2),属于最小生成树的顶点U={{1,3},{4,6}}(还没有合在一起,有两颗子树),不属于最小生成树的顶点V={2,5}4. 根据边权排序,选出还没有连接并且权最小的边(3 6 4),属于最小生成树的顶点U={1,3,4,6}(合在一起),不属于最小生成树的顶点V={2,5}5. 根据边权排序,选出还没有连接并且权最小的边(3 6 4),属于最小生成树的顶点U={1,2,3,4,6},,不属于最小生成树的顶点V={5}6. 根据边权排序,选出还没有连接并且权最小的边(3 6 4),属于最小生成树的顶点U={1,2,3,4,5,6}此时,最小生成树已完成四、实验程序的功能模块功能模块:bool cmp(Edge a,Edge b); //定义比较方法x);//在并查集森林中找到x的祖先int g etfa(intint s ame(int x,int y); //判断祖先是否是同一个,即是否联通 void merge(int x,int y); //合并子树,即联通两子树sort(e+1,e+m+1,cmp); //对边按边权进行升序排序详细代码:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#define M AXN_E 100000#define M AXN_V 100000using namespace std;struct Edge{int f m,to,dist;//边的起始顶点,边的到达顶点,边权}e[MAXN_E];int f a[MAXN_V],n,m; //顶点数组,顶点总数,边总数 //定义比较,只是边权比较bool cmp(Edge a,Edge b){return a.dist < b.dist;}//查找x的祖先是在并查集森林中找到x的祖先x){//getfaint g etfa(intreturn fa[x];if(fa[x]==x)else r eturn fa[x] = getfa(fa[x]);}//判断祖先是否是同一个,即是否联通int s ame(int x,int y){return getfa(x)==getfa(y);}//合并两棵树void merge(int x,int y){int f ax=getfa(x),fay=getfa(y);fa[fax]=fay;}int m ain(){int i;cout<<"请输入顶点数目和边数目:"<<endl;cin>>n>>m;//n为点数,m为边数//输出顶点信息cout<<"各个顶点值依次为:"<<endl;for(i=0;i<n;i++){fa[i]=i;if(i!=0)cout<<fa[i]<<" ";}cout<<endl;cout<<"请输入边的信息(例子:1 4 5 从顶点1到顶点4的边权为5)"<<endl;for(i=1;i<=m;i++)用边集数组存放边,方便排序和调用 cin>>e[i].fm>>e[i].to>>e[i].dist;//sort(e+1,e+m+1,cmp); //对边按边权进行升序排序表示目前的点共存在于多少个集合中,初始情况是每 int r st=n,ans=0;//rst个点都在不同的集合中for(i=1;i<=m && rst>1;i++){int x=e[i].fm,y=e[i].to;函数是查询两个点是否在同一集合中 if(same(x,y))continue;//sameelse{函数用来将两个点合并到同一集合中 merge(x,y);//mergerst--;//每次将两个不同集合中的点合并,都将使rst值减1这条边是最小生成树中的边,将答案加上边权 ans+=e[i].dist;//}}cout<<ans;return 0;}五、测试数据和相应的最小生成树Input:6 101 2 61 3 11 4 52 3 52 5 63 4 53 5 63 6 44 6 25 6 6Putout:18生成树为:七、思考题1、微软面试题一个大院子里住了50户人家,每家都养了一条狗,有一天他们接到通知说院子里有狗生病了,并要求所有主人在发现自己家狗生病的当天就要把狗枪杀掉。

最小生成树算法及应用

最小生成树算法及应用

最小生成树算法及应用
二、求图的最小生成树算法小结 Prim算法和Kruskal算法 三、应用举例
例2、最优布线问题(wire.???) 学校有n台计算机,为了方便数据传输,现要将它们用数据线连接起来。两台计算机被连接是指它们时 间有数据线连接。由于计算机所处的位置不同,因此不同的两台计算机的连接费用往往是不同的。
算法分析
2、套用最小生成树的经典算法求解
以机器蛇为顶点,以不受屏蔽的通信线路为边构建图,就可以直 接套用最小生成树的经典算法求解。由于几乎每两条机器蛇间都 会有一条边,因此应选用Prim算法。



const maxn=200 ; oo=2000000000;{ 机器蛇数的上限和无穷大} type TPoint=record {坐标} x,y:longint; end; var s,w1,w2:array[1..maxn] of TPoint; { 机器蛇的坐标和屏蔽线的坐标 } n,m,i,j,k:integer; ba:array[1..maxn] of boolean; { 机器蛇的访问标志} d:array[1..maxn] of longint; {d[i]以机器蛇i为头的最短边长} min:longint; ans:double;
题目中要求信息可以在任意两条机器蛇间传递、通讯网 络的总长度要尽可能的短,显然这是一个求图的最小生 成树问题。这道题在构造图的过程中还涉及到一点计算 几何的知识。 1、判断线段相交 两条线段AB、CD,相交的充要条件是:A、B在直线CD 的异侧且C、D在直线AB的异侧。也就是说从AC到AD的 方向与从BC到BD的方向不同,从CA到CB的方向也与从 DA到DB的方向不同。
机器蛇
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

开题报告
信息与计算科学
最小生成树算法及其应用
一、综述本课题国内外研究动态, 说明选题的依据和意义
最小生成树(minimum spanning tree,MST)是计算机学科中一重要内容, 其算法也是重要的计算方法, 是现代科学中比较热门的研究方向.
一个有个结点的连通图的生成树是原图的极小连通子图,
且包含原图中的所有个n n 结点, 并且有保持图联通的最少的边.
许多应用问题都是一个求五项连通图的最小生成树问题. 例如: 要在个城市之间铺设n 光缆, 主要目标是要使这个城市的任意两个之间都可以通信, 但铺设光缆的费用很高, n 且各个城市之间铺设光缆的费用不同; 另一个目标是要使铺设光缆的总费用最低. 这就需要找到带权的最小生成树.
MST 性质: 最小生成树性质: 设是一个连通网络, 是顶点集的一个真(,)G V E =U V 子集. 若是中一条“一个端点在中(例如: ), 另一个端点不在中”的边(,)n u v G U u U ∈U (例如:), 且具有最小权值, 则一定存在的一棵最小生成树包括此边v V U ∈-(,)u v G .
(,)u v 求MST 的一般算法可描述为: 针对图, 从空树开始, 往集合中逐条选择并G T T 加入条安全边, 最终生成一棵含条边的MST.
1n -(,)u v 1n -当一条边加入时, 必须保证仍是MST 的子集, 我们将这样的边称(,)u v T {}(,)T u v 为的安全边. 其中主要有两种算法: Prim 算法和Kruskal 算法.
T Prim 算法: 该算法由Prim 提出, 但事实上Jarnik 于1930年更早提出. 用于求无向图的最小生成树.
设图 .
(),G V E =步骤1: 取一个顶点, 则, .
1v {}1V v ={}E =
步骤2: 选取与邻接的的最近邻元, 并且边不与中元素形成回路. j v V ∈V i v (),i j v v E 则添加到中, 添加到中.
i v V (),i j v v E 步骤3: 重复步骤2直到包含图所有顶点, 则此时包含图的最小生成树的边. V G E G Prim 算法实现:
(1)集合: 设置一个数组, 初始值为, 代表对应顶点不在集合()0,1,,1set i n =- 0中(注意: 顶点号与下标号差1).
(2)图用邻接矩阵或邻接表表示, 路径不通用无穷大表示, 在计算机中可用一个大整数(如 )代替.
130=Kruskal 算法: 每次选择条边, 所使用的贪婪准则是: 从剩下的边中选择一条不会1n -产生环路的具有最小权的边加入已选择的边的集合中. 注意到所选取的边若产生环路, 则不可能形成一棵生成树. Kruskal 算法分步, 其中是网络中边的数目. 按耗费递增的顺序来e e 考虑这条边, 每次只考虑一条边. 当考虑某条边时, 如果将其加入到已选边的集合中会出e 现环路, 则将其抛弃, 否则, 把它选入. 假设是一个含有个顶点的连通[]9{}()
,WN V E =n 网, 则根据Kruskal 算法构造最小生成树的过程为: 先构造一个只含个顶点, 而边集为空n 的子图, 若将该子图中的各个顶点看成是各棵树上的根结点, 则它是一个含有棵树的一个n 森林. 然后, 从网的边集中选取一条权值最小的边, 若该边的两个顶点分别属于不同的E 树, 则将其加入子图, 也就是说, 将这两个顶点分别所在的两棵树合成一棵树; 反之, 若该条边的两个顶点已经在同一棵树上, 则不可取, 而应该取下一条权值最小的边再尝试. 依次类推, 直至森林中只有一棵树, 也即子图中含有条边为止.
1n -因此, 最小生成树是一种很有现实意义的算法, 熟练的运用最小生成树的几种重要算法可以解决各类现实问题.
算法的诸多优势也自然越发受到数学、计算机等不同领域内学者的重视.
最小生成树不仅在计算科学中有很大应用, 而且在信息, 遗传问题, 生物地理甚至在配电网架优化规划等方面都有着及其积极的作用.
陶午沙, 沈振康, 李吉成提出一种融合多元模糊空间关系信息的支撑树搜索算法,即S2Prim(spatial Prim)算法, 用以识别低分辨率环境下(红外、多光谱遥感、SAR 、恒星导航等图像中)具有规则空间分布关系的目标斑点集合.
徐磊, 张兢引入了节点的度的定义, 据此提出了广义最小生成树的概念. 采用遗传算法
来求解最小生成树, 井针对普通遗传算法求解该问题的不足, 提出了自调整的变异算子和限制父代个体数目的混合选择策略, 通过一个有线电视网络的建摸与仿真, 表明了广义最小生成树模型的适用性. 分别采用普通遗传算法和改进后的遗传算法进行求解, 井将结果进行比较, 证明了改进后的遗传算法的有效性.
因此, 最小生成树是一种很有现实意义的算法, 熟练的运用最小生成树的几种重要算法可以解决各类现实问题. 算法的诸多优势也自然越发受到数学、计算机等不同领域内学者的重视.
二、研究的基本内容, 拟解决的主要问题
研究的基本内容: 最小生成树算法
解决的主要问题:
1. 阐述计算机学科中的最小生成树算法.
C
2. 用语言实现几种具有代表性的算法, 并分析所得到的结果, 以达到对比各种算法
的目的.
3. 简略的介绍最小生成树在各领域的发展及应用.
三、研究步骤、方法及措施
研究步骤:
1. 查阅相关资料, 做好笔记;
2. 仔细阅读研究文献资料;
3. 撰写开题报告;
4. 翻译英文资料;
5. 在老师指导下, 修改英文翻译, 撰写文献综述;
6. 开题报告通过后, 撰写毕业论文;
7. 上交论文初稿;
8. 反复修改论文;
9. 论文定稿.
措施: 通过到图书馆、上网等方式查阅收集资料, 在学校图书馆数据库里查找所需的文章与电子书, 并参考与研究相关的资料. 在老师指导下, 通过全面与具体相结合的方法对问题进行阐述.
四、参考文献
[1] 马叔良. 离散数学[M]. 北京: 电子工业出版社, 2009. 319~320.
[2] 王元元, 张桂芸.计算机科学中的离散结构[M]. 北京: 机械工业出版社, 2004, 15(4): 23~25.
[3] Seth Pettie, Vijaya Ramachandran, An Optimal Minimum Spanning Tree Algorithm [J], Journal of the ACM, 2002, 49(1): 16~34.
[4] Anany Levitin, Introduction to The Design and Analysis of Algorithms, 北京: 清华大学出版社, 2004 .
[5] 罗竣友, 赵军辉. 一种新的最小生成树算法[J]. 澳门科技大学, 2009, 35(3): 1793~1797.
[6] 陶午沙, 沈振康, 李吉成. 一种基于模糊信息融合的Prim算法及应用[J]. 国防科技大学, 2005, 3, (26): 80~81.
[7] 徐磊, 章兢. 广义最小生成树的遗传算法求解及应用[J]. 系统工程与电子技术, 2004,26(3):390~392.。

相关文档
最新文档