n久都沒做過關於c#的winform程式了,一直都是在研究asp.net的程式。
今天有個朋友問到深度遍歷圖這樣的問題,開始都不知道如何下手,就問了問baidu 和 google,看到有人用c++寫的這樣的例子,順便就學習了一下,發現自己都忘得差不多了(包括:資料結構),只能聯想到剛開始學vs2003的時候,學習的第乙個hello worl的例子,要建立乙個控制台應用程式。
接著就開啟vs2005,新建——>專案——>控制台應用程式
**如下:
1using
system;
2using
system.collections.generic;
3using
system.text;
4using
system.collections;56
namespace734
}3536class
vertex
3743
4445
public
char
_label;
46public
bool
wasvisited;47}
4849
class
graph
5067
//初始新增點數
68public
void
addvertex(
char
label)
6972
73public
void
addedge(
intstart,
intend)
7478
79public
void
addedge(
char
startv,
char
endv)
8087
if(start ==-
1) console.writeline(
"頂點不存在
", startv);
88if
(end ==-
1) console.writeline(
"頂點不存在
", endv);
89//
權值預設為1
90adjmat[start, end] =1
;91adjmat[end, start] =1
;92}93
94//
顯示字元
95public
void
displayvertex(
intv)
96101
else
102105
flag++;
106}
107//
深度優先遍歷
108public
void
dfs()
109128
}129
//初始化所有的頂點狀態為未被訪問
130for
(intj =
0; j
<
countvertexs; j++)
131vertexlist[j].wasvisited
=false
;132
}133
134public
intgetadjunvisitedvertex(
intv)
135141
}142
}143
結果如圖:
如果大家有其它好的演算法,希望能拿出來分享~
C 深度優先遍歷結構演算法
今天有個朋友問到深度遍歷圖這樣的問題,開始都不知道如何下手,就問了問baidu 和 google,看到有人用c 寫的這樣的例子,順便就學習了一下,發現自己都忘得差不多了 包括 資料結構 只能聯想到剛開始學vs2003的時候,學習的第乙個hello worl的例子,要建立乙個控制台應用程式。文 zha...
DOM深度優先遍歷演算法
通過深度優先遍歷演算法,可以依次獲取每個後代節點的物件。順序 有子元素先獲取子元素,再獲取兄弟元素 主要有2步驟 1.建立節點迭代器物件 parent是要遍歷的節點 var iterator document.createnodeiterator parent,nodefilter.show ele...
深度優先遍歷 廣度優先遍歷
用棧進行儲存元素。訪問頂點 頂點入棧,以便記住它 標記頂點,以便不會再訪問它 2 訪問規則 a.如果可能,訪問乙個鄰接的未訪問頂點,標記它,併入棧。b.當不能執行a時 沒有鄰接的未訪問頂點 如果棧不為空,就從棧中彈出乙個頂點。c.如果不能執行規則a和b,就完成了整個搜尋過程。3 實現 基於以上規則,...