脚踏实地-算法与数据结构-图
树和图都有点难,以后慢慢填充
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace 源代码 7 { 8 /// <summary> 9 /// 图可以有几种方法表示 10 /// 1 邻接矩阵 11 /// 2 临界表 12 /// 13 /// 临街矩阵用一个一位数组存放所有的节点的信息 14 /// 然后用一个二维数据存放,任意两个节点直接的边和权值的信息 15 /// 不为零表示有边相连,值的大小表示两个节点之间的权值 16 /// </summary> 17 class Graph 18 { 19 20 /// <summary> 21 /// 顶点信息,只有一个数值即可 22 /// </summary> 23 class shuzu 24 { 25 public int data; 26 public shuzu(int value) 27 { 28 data = value; 29 } 30 } 31 class Tshuzu 32 { 33 public shuzu[] a;//第一个数组 34 public int[][] m;//存放临接边的那个二维数组 35 } 36 37 /// <summary> 38 /// 临界表的表示方法 39 /// 类似前面的多重链表,用一个数组装入所有节点 40 /// 节点信息包括 41 /// 1 在即的数据 42 /// 2 指向一个表示自己连接其他节点的链域 43 /// 44 /// 链域的表示方法是,第一个元素表示该节点在数组中的索引位置 45 /// 第二个元素表示 指向下一个链域,直到表示完所有与数组元素 46 /// 相连的节点信息了。就可以结束了。 47 /// </summary> 48 class Linjieyu 49 { 50 51 public int valule; 52 public lianjieyunext next; 53 public Linjieyu() 54 { 55 56 } 57 public class lianjieyunext 58 { 59 public int pisition;//表示 该节点在数组链表中的位置 60 public lianjieyunext next;//指向下一个 连接点 61 } 62 } 63 /// <summary> 64 /// 对图的遍历有两种方法 65 /// 1 深度优先算法 66 /// 先遍历 与自己相连的所有节点中的一个,然后在遍历与这个相连的所有节点 67 /// 中的一个,直到全部都遍历了 68 /// 用堆栈的方式 69 /// 70 /// 2 广度优先算法 71 /// 先一个个遍历完所有与该节点相邻的节点,在遍历与那些节点相连的节点 72 /// 慢点理解 总能看懂的 73 /// 用队列的方式实现 74 /// </summary> 75 class bianl 76 { 77 78 } 79 /// <summary> 80 /// 求任意两个节点中的最短路径的算法 看的挺难得啊 81 /// 82 /// 能不能先遍历所有的路径,然后一个个的一算 不就行了么? 83 /// </summary> 84 class dijkstra 85 { 86 87 } 88 } 89 }

浙公网安备 33010602011771号