① 數據結構深度優先遍歷:
圖的深度優先遍歷類似於樹的前序遍歷。首先訪問出發點a,並將其標記為已訪問過;然後依次從a出發搜索a的每個鄰接點b,c,e。若b未曾訪問過,則以b為新的出發點繼續進行深度優先遍歷,直至圖中所有和源點a有路徑相通的頂點(亦稱為從源點可達的頂點)均已被訪問為止。若此時圖中仍有未訪問的頂點,則另選一個尚未訪問的頂點作為新的源點重復上述過程,直至圖中所有頂點均已被訪問為止。
所以從a出發,找a的下一個點,a下一個點有b、c、e,首先到b,再以b為源點,再看b有沒有下一個點,發現b的下一個點是e,再以e為源點,e的下一個點是d,再以d為源點,下一個點是f,再以f的下一個點是c。
這樣全部的點都得到了,該序列就是該圖的深序優先遍歷。即abedfc,選A。
這里剛好一次就全部遍歷了,要是沒有下一個點的話,還要回到上一個點,繼續查找其它點。以此類推。
希望我的回答對您有幫助~如果有不清楚的可以繼續問我。
② 數據結構 深度優先遍歷
我幫你復習一下圖的知識:
深度優先遍歷:
深度優先就是從樹的某個節點開始搜索,查看它所有的領結點,如果這個鄰接點的無其他鄰接點,則忽略該節,再次訪問下個節,以此類推,一直到訪問到的鄰接點再沒有其它的鄰接點為止,這個節點就是開始,然後依此回退。訪問中要將訪問過的節點作標記。
廣度優先遍歷:
廣度優先就是從樹的某個節點開始搜索,將他的所有的節點先用隊列機制保存,找完節點後,處理隊列中的節點,處理時,如果某個節點又有鄰接點就進隊列,以此訪問完整個樹,這個訪問相當與二叉樹的層次遍歷訪問。
我的語言表達能力有限,不知能否看懂。
所以這題,依次往下跑,到H時跑不動了,所以H是頭,然後到I,依次類推,跟二叉樹訪問用後續法差不多。
D項很容易得到。
其實這題用排除法,直接選D。
③ 數據結構中"遍歷"是什麼意思
所謂遍歷,是指沿著某條搜索路線,依次對樹中每個結點均做一次且僅做一次訪問。訪問結點所做的操作依賴於具體的應用問題。 遍歷是二叉樹上最重要的運算之一,是二叉樹上進行其它運算之基礎。
(3)如何選擇數據結構的遍歷擴展閱讀:
樹的遍歷是樹的一種重要的運算。所謂遍歷是指對樹中所有結點的信息的訪問,即依次對樹中每個結點訪問一次且僅訪問一次。
在數據結構中三種最重要的遍歷方式分別稱為前序遍歷、中序遍歷和後序遍歷。
以下是三種遍歷的方法:
1、中序:若二叉樹非空,則依次執行如下操作:
⑴遍歷左子樹;
⑵訪問根結點;
⑶遍歷右子樹。
2、先序遍歷:若二叉樹非空,則依次執行如下操作:
⑴ 訪問根結點;
⑵ 遍歷左子樹;
⑶ 遍歷右子樹。
3、後序遍歷:若二叉樹非空,則依次執行如下操作:
⑴遍歷左子樹;
⑵遍歷右子樹;
⑶訪問根結點。
以這3種方式遍歷一棵樹時,若按訪問結點的先後次序將結點排列起來,就可分別得到樹中所有結點的前序列表、中序列表和後序列表。相應的結點次序分別稱為結點的前序、中序和後序。