資料結構複習

2021-08-23 15:17:07 字數 1145 閱讀 7638

1、二叉遍歷

先序遍歷:先遍歷根結點,遍歷左子樹,遍歷右子樹

中序遍歷:先遍歷左子樹,遍歷根結點,遍歷右子樹

後序遍歷:先遍歷左子樹,遍歷右子樹,遍歷根結點

例項:遍歷a+b*(c-d)-e/f  如: 

-

+                        /

a           *           e          f

b       -

c    d

先序遍歷:-+a*b-cd/ef

中序遍歷:a+b*c-d-e/f

後序遍歷:abcd-*+ef/-

2、圖的遍歷

深度優先搜尋:

下面圖中的數字顯示了深度優先搜尋頂點被訪問的順序。

為了實現深度優先搜尋,首先選擇乙個起始頂點並需要遵守三個規則:

(1) 如果可能,訪問乙個鄰接的未訪問頂點,標記它,並把它放入棧中。

(2) 當不能執行規則1時,如果棧不空,就從棧中彈出乙個頂點。

(3) 如果不能執行規則1和規則2,就完成了整個搜尋過程。

廣度優先搜尋:

在深度優先搜尋中,演算法表現得好像要盡快地遠離起始點似的。相反,在廣度優先搜尋中,演算法好像要盡可能地靠近起始點。它首先訪問起始頂點的所有鄰接點,然後再訪問較遠的區域。它是用佇列來實現的。

下面圖中的數字顯示了廣度優先搜尋頂點被訪問的順序。

實現廣度優先搜尋,也要遵守三個規則:

(1) 訪問下乙個未來訪問的鄰接點,這個頂點必須是當前頂點的鄰接點,標記它,並把它插入到佇列中。

(2) 如果因為已經沒有未訪問頂點而不能執行規則1時,那麼從佇列頭取乙個頂點,並使其成為當前頂點。

(3) 如果因為隊列為空而不能執行規則2,則搜尋結束。

具體請參考:

3、內部排序

插入排序:

快速排序:

歸併排序:

選擇排序:

基數排序:(按照每個位數的大小進行分別排序)

資料結構複習

個人理解 1 我認為關鍵是如何合理地將資料放到樹形結構裡 放的方式就是中序排序,即遍歷一遍順序與之相同 2 二叉搜尋樹類似於二分,可以與折半搜尋相比較,雖然思想相似,但是他們的時間效能有時不相同 例如 如果防止不當,42放到了左半枝,這樣就會導致如果輸入31開始比對就會產生位置確認不準確的問題 把一...

複習 資料結構

因為要準備複試,想把專業課順一下,在此簡單記錄。主要按照本科課件複習。資料結構的概念 邏輯結構 邏輯結構可以分為線性結構和非線性結構 儲存結構 儲存結構包括順序 鏈結 索引和雜湊四種方法。鏈結儲存 通過在結點的儲存結構中附加指標欄位來儲存結點間的邏輯關係。資料結點由資料字段 存放結點本身資料 和指標...

資料結構複習

1 希爾排序最壞複雜度o n2 不穩定 2 堆排序最壞複雜度o nlogn 不穩定 3 快速排序額外空間複雜度o logn 不穩定 4 對n個記錄進行簡單插入排序時,比較次數和移動次數為o n2 和o n 5 構建最小生成樹的方法 prim 普利姆演算法和克魯斯卡爾 kruskal 演算法 6 pr...