普里姆算法例題和答案 采用鄰接表存儲(chǔ)的圖的深度優(yōu)先遍歷算法類似于二叉樹的先序遍歷,為什么是先序呢?
采用鄰接表存儲(chǔ)的圖的深度優(yōu)先遍歷算法類似于二叉樹的先序遍歷,為什么是先序呢?這是因?yàn)閳D的深度優(yōu)先遍歷算法首先訪問節(jié)點(diǎn),然后訪問其相鄰點(diǎn)。它類似于二叉樹的順序遍歷,首先訪問子樹的根節(jié)點(diǎn),然后訪問子樹的子
采用鄰接表存儲(chǔ)的圖的深度優(yōu)先遍歷算法類似于二叉樹的先序遍歷,為什么是先序呢?
這是因?yàn)閳D的深度優(yōu)先遍歷算法首先訪問節(jié)點(diǎn),然后訪問其相鄰點(diǎn)。它類似于二叉樹的順序遍歷,首先訪問子樹的根節(jié)點(diǎn),然后訪問子樹的子節(jié)點(diǎn)(鄰接點(diǎn))。圖的廣度優(yōu)先遍歷算法類似于二叉樹的層次遍歷。
二叉樹的層次遍歷和圖的廣度優(yōu)先搜索的相同點(diǎn)和不同點(diǎn)?
相似性:兩者都從節(jié)點(diǎn)B開始,并訪問其相鄰節(jié)點(diǎn)一次。對(duì)于樹,它是它的左、右子節(jié)點(diǎn),而圖是一個(gè)連接的節(jié)點(diǎn)。
區(qū)別:對(duì)于圖,一個(gè)頂點(diǎn)有多個(gè)相鄰節(jié)點(diǎn),而只有兩個(gè)二叉樹。另外,當(dāng)在寬度上遍歷圖時(shí),需要添加一個(gè)visited[mavx]數(shù)組來記錄訪問的節(jié)點(diǎn),以避免重復(fù)訪問同一個(gè)節(jié)點(diǎn)。例如:(A1,A2)(A1,A3)(A2,A3)訪問A1之后,寬度遍歷將訪問A2和A3,訪問A2之后,它將再次訪問A3。這是重復(fù)的。另外,圖是不連通的,而二叉樹是不連通的。