资源简介
C#实现4种经典迷宫生成算法和迷宫寻路算法,4种经典的迷宫生成算法是:(1)使用并查集算法生成,(2)使用深度优先算法生成,(3)使用随机算法生成,(4)使用递归切割算法,而迷宫寻路使用A*算法。

代码片段和文件信息
using System;
using System.Collections;
using System.Collections.Generic;
namespace AlgorithmLib.Algorithm.Graph
{
public class Graph
{
private Dictionary pool;
private Dictionary> data;
public Graph()
{
pool = new Dictionary();
data = new Dictionary>();
}
public void AddUndirectedEdge(char u char v)
{
AddDirectedEdge(u v);
AddDirectedEdge(v u);
}
public void AddDirectedEdge(char u char v)
{
GraphNode _u = NodeFromPool(u);
GraphNode _v = NodeFromPool(v);
if (data.ContainsKey(_u))
{
if (!data[_u].Contains(_v))
{
data[_u].Add(_v);
}
}
else
{
List list = new List();
list.Add(_v);
data.Add(_u list);
}
}
private GraphNode NodeFromPool(char c)
{
if (!pool.ContainsKey(c))
{
GraphNode node = new GraphNode(c);
pool.Add(c node);
}
return pool[c];
}
public IEnumerable V
{
get
{
foreach (KeyValuePair> kvp in data)
{
yield return kvp.Key;
}
}
}
public GraphNode GetNode(char c)
{
return pool[c];
}
public List GetAdj(GraphNode node)
{
return data[node];
}
}
public class GraphNode
{
public GraphNode(char n)
{
node = n;
color = Colors.WHITE;
d = int.MaxValue;
f = int.MaxValue;
pi = null;
}
public char node;
public Colors color;
public int d;
public int f;
public GraphNode pi;
public override int GetHashCode()
{
return node.GetHashCode();
}
public override bool Equals(object obj)
{
if (obj is char)
{
return node.Equals(obj);
}
return node == (obj as GraphNode).node;
}
}
public enum Colors
{
WHITE
GRAY
BLACK
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 368 2018-11-27 15:20 Debuger\App.xaml
文件 303 2018-11-27 15:20 Debuger\App.xaml.cs
文件 28672 2018-12-05 16:46 Debuger\bin\Debug\AlgorithmLib.dll
文件 105984 2018-12-05 16:46 Debuger\bin\Debug\AlgorithmLib.pdb
文件 11264 2018-12-05 16:46 Debuger\bin\Debug\Debuger.exe
文件 24064 2018-12-05 16:46 Debuger\bin\Debug\Debuger.pdb
文件 22688 2018-12-05 15:52 Debuger\bin\Debug\Debuger.vshost.exe
文件 490 2012-06-06 02:06 Debuger\bin\Debug\Debuger.vshost.exe.manifest
文件 4570 2018-11-27 15:21 Debuger\Debuger.csproj
文件 958 2018-12-05 14:47 Debuger\MainWindow.xaml
文件 3031 2018-12-05 16:46 Debuger\MainWindow.xaml.cs
文件 2317 2018-12-05 16:46 Debuger\obj\Debug\App.g.cs
文件 2317 2018-12-05 16:46 Debuger\obj\Debug\App.g.i.cs
文件 1250 2018-12-05 15:52 Debuger\obj\Debug\Debuger.csproj.FileListAbsolute.txt
文件 954 2018-12-05 15:50 Debuger\obj\Debug\Debuger.csproj.GenerateResource.Cache
文件 6274 2018-12-05 16:46 Debuger\obj\Debug\Debuger.csprojResolveAssemblyReference.cache
文件 11264 2018-12-05 16:46 Debuger\obj\Debug\Debuger.exe
文件 1630 2018-12-05 16:46 Debuger\obj\Debug\Debuger.g.resources
文件 24064 2018-12-05 16:46 Debuger\obj\Debug\Debuger.pdb
文件 180 2018-12-05 16:46 Debuger\obj\Debug\Debuger.Properties.Resources.resources
文件 263 2018-12-05 16:46 Debuger\obj\Debug\Debuger_MarkupCompile.cache
文件 262 2018-12-05 15:50 Debuger\obj\Debug\Debuger_MarkupCompile.i.cache
文件 80 2018-12-05 16:46 Debuger\obj\Debug\Debuger_MarkupCompile.lref
文件 7073 2018-12-05 15:50 Debuger\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 1402 2018-12-05 16:46 Debuger\obj\Debug\MainWindow.baml
文件 4585 2018-12-05 16:46 Debuger\obj\Debug\MainWindow.g.cs
文件 4585 2018-12-05 16:46 Debuger\obj\Debug\MainWindow.g.i.cs
文件 2267 2018-11-27 15:20 Debuger\Properties\AssemblyInfo.cs
文件 2827 2018-11-27 15:20 Debuger\Properties\Resources.Designer.cs
文件 5612 2018-11-27 15:20 Debuger\Properties\Resources.resx
............此处省略64个文件信息
- 上一篇:C#连接数据库已封装好
- 下一篇:AopSdk.dll
相关资源
- C#实现的遗传算法类库
- 组合 算法 C# 背包问题
- c#语言实现K短路算法
- C# 视觉处理代码、神经网络和遗传算
- RSA算法实现加、解密
- 四叉树算法(KrigingCal)
- delta机器人运动学算法正向逆向求解
- C#多元线性回归算法
- C#实现封装SPC过程能力工具类ProcessC
- 国密SM4算法 C#
- TIN生成算法实现.zip
- 网络安全LSB算法 采用C# 实现文字的隐
- C#数字图像处理算法典型
- C#数值计算算法编程
- 《C#数值计算算法编程》电子书+随书
- 数据结构与算法C#
- c#四叉树算法实现
- A*逆向路径搜索算法C#代码以及地图文
- 武汉大学 C#数据结构与算法
- C#+ArcEngine面周边点抽稀源码
- 操作系统课设理发师问题,时间片轮
- 图像加密算法与实践
- C#数字图像处理算法典型赵春江随书源
- 数据结构与算法:C#语言描述(中文)
- C#数据结构与算法
- 校园导游图 C# floyd算法
- 数据结构与算法:C#语言描述(中文)
- 基于离散点的构TIN算法C#
- 平面度及平整度算法
- C#面向对象基于winform的扫雷游戏和简
评论
共有 条评论