普通樹的深度優先遍歷和廣度優先遍歷

2021-06-14 03:00:50 字數 452 閱讀 9290

1.概念

普通樹的遍歷分為深度優先遍歷和廣度優先遍歷,深度優先遍歷是從跟結點開始,先訪問結點的孩子結點,再訪問結點的兄弟結點,分為先序遍歷和後序遍歷,廣度優先遍歷是先訪問結點的兄弟結點,再訪問結點的孩子結點,需要借助於佇列。

2.實現**

public class tree

}///

/// 廣度優先搜尋遍歷

///

///

public void bfs(node node)}}

}}}public class node

///

/// 第乙個孩子,最左孩子結點

///

public node firstchild

///

/// 相鄰的下乙個兄弟結點

///

public node nextsibling

}

樹的遍歷 深度優先遍歷和廣度優先遍歷

廣度優先遍歷,類似於樹的按層次遍歷。設圖g是連通的,且圖g的初態是所有頂點均未被訪問過。從圖g的任一頂點vi出發按廣度優先搜尋遍歷圖的步驟是 訪問vi後,依次訪問與vi鄰接的所有頂點w1,w2,w3.wn,再按w1,w2,w3.wn的順序訪問其中每個頂點的所有未被訪問的鄰接點,再按此順序,依次訪問它...

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

圖的廣度優先搜尋是樹的按層次遍歷的推廣,它的基本思想是 首先訪問初始點vi,並將其標記為已訪問過,接著訪問vi的所有未被訪問過的鄰接點 vi1,vi2,vi t,並均標記已訪問過,然後再按照vi1,vi2,vi t的次序,訪問每乙個頂點的所有未被訪問過的鄰接點,並均標記為已訪問過,依次類推,直到圖中...

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

深度優先遍歷 廣度優先遍歷是圖的一種遍歷方式,它的思想就是遍歷這個點相鄰的所有的點,再對這些點進行廣度優先遍歷.如下圖所示 首先我們從a點開始遍歷,然後遍歷所有和a相鄰的點f和點g 然後對f和點g進行遍歷進行遍歷,得到點e,h,k和b 然後再繼續,知道所有的點都遍歷完成 首先,我們先定義圖graph...