C 深度優先遍歷結構演算法

2021-05-26 21:52:15 字數 1741 閱讀 6458

今天有個朋友問到深度遍歷圖這樣的問題,開始都不知道如何下手,就問了問baidu 和 google,看到有人用c++寫的這樣的例子,順便就學習了一下,發現自己都忘得差不多了(包括:資料結構),只能聯想到剛開始學vs2003的時候,學習的第乙個hello worl的例子,要建立乙個控制台應用程式。(文/zhangfeng)

接著就開啟vs2005,新建——>專案——>控制台應用程式

**如下:

1 using system;

2 using system.collections.generic;

3 using system.text;

4 using system.collections;

5 7

34    }

35 36    class vertex

37   

43 44 

45        public char _label;

46        public bool wasvisited;

47    }

48 49    class graph

50   

67        //初始新增點數

68        public void addvertex(char label)

69       

72 73        public void addedge(int start, int end)

74       

78 79        public void addedge(char startv, char endv)

80       

87            if (start == -1) console.writeline("頂點不存在", startv);

88            if (end == -1) console.writeline("頂點不存在", endv);

89            //權值預設為1 

90            adjmat[start, end] = 1;

91            adjmat[end, start] = 1;

92        }

93 94        //顯示字元

95        public void displayvertex(int v)

96       

101            else

102           

105            flag++;

106        }

107        //深度優先遍歷

108        public void dfs()

109       

128            }

129            //初始化所有的頂點狀態為未被訪問

130            for (int j = 0; j < countvertexs; j++)

131                vertexlist[j].wasvisited = false;

132        }

133 

134        public int getadjunvisitedvertex(int v)

135       

141    }

142 }

143 

複製**

結果如圖:

C 深度優先遍歷結構演算法

n久都沒做過關於c 的winform程式了,一直都是在研究asp.net的程式。今天有個朋友問到深度遍歷圖這樣的問題,開始都不知道如何下手,就問了問baidu 和 google,看到有人用c 寫的這樣的例子,順便就學習了一下,發現自己都忘得差不多了 包括 資料結構 只能聯想到剛開始學vs2003的時...

DOM深度優先遍歷演算法

通過深度優先遍歷演算法,可以依次獲取每個後代節點的物件。順序 有子元素先獲取子元素,再獲取兄弟元素 主要有2步驟 1.建立節點迭代器物件 parent是要遍歷的節點 var iterator document.createnodeiterator parent,nodefilter.show ele...

深度優先遍歷 廣度優先遍歷

用棧進行儲存元素。訪問頂點 頂點入棧,以便記住它 標記頂點,以便不會再訪問它 2 訪問規則 a.如果可能,訪問乙個鄰接的未訪問頂點,標記它,併入棧。b.當不能執行a時 沒有鄰接的未訪問頂點 如果棧不為空,就從棧中彈出乙個頂點。c.如果不能執行規則a和b,就完成了整個搜尋過程。3 實現 基於以上規則,...