您的位置:首页 > 编程语言 > C#

一些图论相关算法的学习研究和C#版演示程序

2009-12-14 03:59 399 查看
前段时间学习图论相关的算法,就做了一个C#版的演示程序,这个程序涉及到了如下算法:

深度优先搜索遍历(Depth First Search),

广度优先搜索遍历(Breath Frist Search),

最小生成树(Minimum Spanning Tree),

针对所有端点的Dijsktra最短路径搜索(Dijsktra Path),

针对特定端点的Dijsktra最短路径搜索(Dijsktra Path Single),

还有一些未完成的算法,如欧拉图,一笔画之类的,我会找时间将其也实现上去。

大家可以下载源代码并编译执行(基于.net 2.0)。

这里是程序界面截图:

通过设定Vertex Count(顶点个数)和Edge Ratio(值越大端点之间用边连接的机率越大)可以生成各种不同复杂度的无向图。界面右边有所生成的图的邻接矩阵显示。

图的端点是可以拖动的。大家可以通过拖动这些端点来调整出不同的图来试验算法。



照例上传一些算法演示范例动画:

从端点A开始的深度优先遍历



从端点A开始的广度优先遍历



从端点A开始的最小生成树



从端点A开始通向所有端点的最短路径(Dijsktra算法)



从端点A开始端点F的最短路径(Dijsktra算法)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐