AdMWGraph class graph modlfication methods void InsertVertex const T& vertex; void InsertEdge(const T& vertext, const T& vertex,int weightE void DeleteVertex(const T& vertex); void Delete Edge(const T& vertext const T& vertex Data structure
Data Structure LXJ AdjMWGraph class … //graph modification methods void InsertVertex(const T& vertex); void InsertEdge(const T& vertex1, const T& vertex2,int weight); void DeleteVertex(const T& vertex); void DeleteEdge(const T& vertex1, const T& vertex2); …
AdMWGraph class ∥ utility methods void ReadGraph(char *filename SeqList<i>& DFSOE SeqList<T>& DFS(const int V, int*visited; Seq List<T>& DepthFirstSearch( const T& begin vertex Seq List<T>& Breadth FirstSearch( const T& begin Vertex); int MinimumPath(const T& vErtex, const T& everex; Data structure
Data Structure LXJ AdjMWGraph class … // utility methods void ReadGraph(char *filename); SeqList<T>& DFS( ); SeqList<T>& DFS(const int v, int *visited); SeqList<T>& DepthFirstSearch( const T& beginVertex); SeqList<T>& BreadthFirstSearch( const T& beginVertex); int MinimumPath(const T& sVertex, const T& eVertex); };
823图的遍历 图的遍历 1.深度优先搜索DFS( Depth First Search) 2.广度优先搜索BFS( BrodFirstsearch) a)DFs序列:W、V、V4、W5、V3 b)BFs序列:W、v、V3、V4、W5 Data structure
Data Structure LXJ 8.2.3 图的遍历 图的遍历 1. 深度优先搜索DFS(Depth First Search) 2. 广度优先搜索BFS(BrodFirstSearch) V5 V1 V2 V3 V4 a)DFS序列:V1、V2、V4、V5、V3 b)BFS序列:V1、V2、V3、V4、V5
DFS 1V2 3V4V5 V101 00 V2|10 0 0001 1000 V:01 0 遍历次序:V1V2V4V5V3 Data structure
Data Structure LXJ DFS V5 V1 V2 V3 V4 V1 V2 V3 V4 V5 V1 0 1 1 0 0 V2 1 0 0 1 1 V3 1 0 0 0 1 V4 0 1 0 0 0 V5 0 1 1 0 0 V1 V2 V4 V5 V3 遍历次序:V1 V2 V4 V5 V3
823图的遍历 00 00 V310001 000 V501100 Int AdiMW Graph:: GetFirstNeighbor( const int v) for(int col Ojcol <s Vertices, Listsize(;col++) if(dgelv[col]> 0&&Edgelv[col]<MaxWeight) return cole return-1 Data structure
Data Structure LXJ 8.2.3 图的遍历 Int AdjMWGraph::GetFirstNeighbor(const int v) { … for(int col = 0;col <= Vertices.ListSize();col++) if(Edge[v][col] > 0&&Edge[v][col]<MaxWeight) return col; return –1; } V5 V1 V2 V3 V4 V1 V2 V3 V4 V5 V1 0 1 1 0 0 V2 1 0 0 1 1 V3 1 0 0 0 1 V4 0 1 0 0 0 V5 0 1 1 0 0