广度优先遍历 C#
来源:互联网 发布:看电视直播的软件 编辑:程序博客网 时间:2024/05/16 17:52
using System.Collections;using System.Collections.Generic;namespace ConsoleApp1{ class SimpleGraph { public SimpleGraph() { // 初始化边表 edges = new Dictionary<char, char[]>(); } public Dictionary<char, char[]> edges; public char[] neighbors(char id) { return edges[id]; } } class Program { static void Main(string[] args) { // 初始化图 SimpleGraph example_graph = new SimpleGraph(); char[] A = { 'B' }; char[] B = { 'A', 'C', 'D' }; char[] C = { 'A' }; char[] D = { 'E', 'A' }; char[] E = { 'B' }; example_graph.edges.Add('A', A); example_graph.edges.Add('B', B); example_graph.edges.Add('C', C); example_graph.edges.Add('D', D); example_graph.edges.Add('E', E); breadthFirstSearch(example_graph, 'A'); // 防止退出 Console.ReadKey(); } private static void breadthFirstSearch(SimpleGraph graph, char start ) { // 初始化队列 Queue queue = new Queue(); queue.Enqueue(start); Dictionary<char, bool> visited = new Dictionary<char, bool>(); visited[start] = true; while (queue.Count != 0) { char current = (char)queue.Dequeue(); Console.WriteLine("Visiting: " + current ); foreach (char next in graph.neighbors(current)) { if (!visited.ContainsKey(next)) { queue.Enqueue(next); visited[next] = true; } } } } }}
阅读全文
0 0
- 广度优先遍历 C#
- 广度优先遍历BFS
- 广度优先遍历
- 图--广度优先遍历
- 图广度优先遍历
- 广度优先遍历
- 广度优先遍历-示例
- 广度优先遍历代码
- 广度优先遍历
- 广度优先遍历
- 广度优先遍历
- Leetcode - 广度优先遍历
- 广度优先遍历
- BFS广度优先遍历
- 广度优先遍历
- 图遍历-广度优先
- java广度优先遍历
- 广度优先遍历
- 32位和64位及其内存长度
- 对文件夹读取、改名等处理的MATLAB代码
- 再议应用工程师与嵌入式工程师的区别
- 对于想创业,想开发APP的程序员来说,这是一篇价值百万的文章!
- RAC初识
- 广度优先遍历 C#
- Nosql学习之路(一)
- JVM GC调优一则--增大Eden Space提高性能
- 设计一个鼠标点击速度比赛游戏。 *(1)显示一个按钮和文本框。 *(2)文本框显示鼠标点击次数
- 《穿越计算机的迷雾》第二版说明
- Overriding equals() of Object (Java)
- Oracle 存储过程内创建存储过程、函数
- 实现顺序表多种操作(removeall、冒泡排序等)
- 网址