數據結構期末複習小總結

目錄

關於鏈表的例題:

鄰接表例題

AOV和AOE圖的講解

二分查找例題:

前綴,中綴,後綴表達式

例題:後綴算式 9 2 3 + - 10 2 / - 的值是多少,

有向圖和無向圖的例題:

哈希表求平均長度

二叉平衡樹的構造

哈夫曼編碼

八大內部排序的過程及總結

最小生成樹(Kruskal,Prime)及最短路(Floyd,Dijkstra)總結


前言:前幾天我還做了兩套卷子,但是我們老師出的卷子只有大題,還是分享一下把,做了這兩套卷子我覺得要去複習的一些知識點。以及還有一些例題的一些疑惑與講解。

關於鏈表的例題:

若用鏈表存儲一棵二叉樹時,每個節點除數據域外,還有指向左孩子和右孩子的兩個指針,在這種存儲結構中,n歌節點的二叉樹共有2N個指針域,其中有N-1個指針域存放了地址,有N+1個指針是空指針。

通過此圖可以看出,有三個節點,那相應的指針域有3*2=6個,有兩個指針域中有數據(3-1=2),有四個指針域爲空(3+1=4)。這裏的3都代表三個節點。通過此圖可以很清楚的看出。
 

鄰接表例題

 
  1. 對於一個具有n個頂點和e條邊的有向圖和無向圖,在其對應的鄰接表中,所含邊結點分別有___e___個和____2e___個。
無向圖就是不分方向的圖 連接表的橫列有N項,縱列也是N項 形成的N*N項每項都被稱爲邊結點 每項都有縱橫兩個座標,例如點(N,N-1),表示的就是從第N點向第N-1點有無路徑。 由於有E條邊,自然有E條路徑,但是由於無向,=雙向,所以要乘以二
 

AOV和AOE圖的講解

 
AOV網有向無環圖。在有向圖中以頂點表示活動,有向邊表示活動之間的先後關係,無向圖不能表示事件優先關係
 
 
AOV網,頂點表示活動,弧表示活動間的優先關係的有向圖。
  即如果a->b,那麼a是b的先決條件。
AOE網,邊表示活動,是一個帶權的有向無環圖,
  其中頂點表示事件,弧表示活動,權表示活動持續時間。
按我理解,你要求拓撲序列就是AOV,求關鍵路徑就是AOE
從開始點到結束點的最長路徑就叫做關鍵路徑

AOV網和AOE網

AOV網(頂點表示活動的網):以有向圖中的頂點來表示活動,以有向邊來表示活動之間的先後次序關係。
 
AOV網的拓撲序列:AOV網的拓撲序列就是將AOV網中的所有頂點排成一個線性序列;拓撲序列實際上就是要由某個集合上的一個偏序關係得到集合上的一個全序關係(不同的算法可以得到不同的拓撲序列)。
 
AOE網(邊表示活動的網):即頂點表示事件,有向邊表示活動,有向邊上的權值表示活動持續的時間。
 
AOV網和AOE網對比:
 
1、AOV網的有向邊不考慮權值,而AOE網的有向邊考慮權值。
 
2、AOV網入度爲0的點可以有多個,而AOE網入度爲0的點只能有一個(源點),AOV網出度爲0的點可以有多個,而AOE網出度爲0的點只能有一個(匯點)。                                                                                                                            
3、AOV網和AOE網都不允許有環路。
 
 
AOE網具有以下性質:
 
1、只有在進入某一頂點的各條有向邊代表的活動結束後,該頂點所代表的事件才能發生。                                                           
 
2、只有在某個頂點代表的事件發生後,從頂點觸發的各條有向邊所代表的活動才能開始。                                                           
 
3、在一個AOE網中,有一個入度爲0的事件,稱爲源點,它表示整個工程的開始。同時有一個出度爲0的事件,稱爲匯點,它表示整個工程的結束。
 

AOV 網與拓撲排序

AOE圖
 
 
 

二分查找例題:

其實做這題的時候,我纔開始選的是 C,但是答案是D,然後搜了搜,原來,是按照源代碼來的

若有18個元素的有序表存放在一維數組A[19]C中,第一個元素放A[1]中,現進行二分查找,則查找A3]的比較序列的下標依次爲(      )

 

  A. 123                                                              B. 9523
  C. 953                                                      D. 9423
 

 

前綴,中綴,後綴表達式

前綴表達式的計算機求值:

從右至左掃描表達式,遇到數字時,將數字壓入堆棧,遇到運算符時,彈出棧頂的兩個數,用運算符對它們做相應的計算(棧頂元素 op 次頂元素),並將結果入棧;重複上述過程直到表達式最左端,最後運算得出的值即爲表達式的結果。

例如前綴表達式“- × + 3 4 5 6”:

(1) 從右至左掃描,將6、5、4、3壓入堆棧;

(2) 遇到+運算符,因此彈出3和4(3爲棧頂元素,4爲次頂元素,注意與後綴表達式做比較),計算出3+4的值,得7,再將7入棧;

(3) 接下來是×運算符,因此彈出7和5,計算出7×5=35,將35入棧;

(4) 最後是-運算符,計算出35-6的值,即29,由此得出最終結果。

 

後綴表達式的計算機求值:

與前綴表達式類似,只是順序是從左至右:

從左至右掃描表達式,遇到數字時,將數字壓入堆棧,遇到運算符時,彈出棧頂的兩個數,用運算符對它們做相應的計算(次頂元素 op 棧頂元素),並將結果入棧;重複上述過程直到表達式最右端,最後運算得出的值即爲表達式的結果。

例如後綴表達式“3 4 + 5 × 6 -”:

(1) 從左至右掃描,將3和4壓入堆棧;

(2) 遇到+運算符,因此彈出4和3(4爲棧頂元素,3爲次頂元素,注意與前綴表達式做比較),計算出3+4的值,得7,再將7入棧;

(3) 將5入棧;

(4) 接下來是×運算符,因此彈出5和7,計算出7×5=35,將35入棧;

(5) 將6入棧;

(6) 最後是-運算符,計算出35-6的值,即29,由此得出最終結果。

例題:後綴算式 9 2 3 + - 10 2 / - 的值是多少,

後綴表達式是遇到符號時,取棧頂元素進行計算,並將結果再次壓入棧頂。

9 2 3 + - 10 2 / - 計算過程如下:

9 2 3 入棧

遇到 + 號,取出 2 3 相加,並將結果入棧,結果爲

9 5

又遇到 - 號,同理,此時的棧爲:

4

再入 10 2, 棧爲:

4 10 2

遇到 / 號,棧變更爲:

4 5

再遇到 - 號,棧變更爲:

-1

後綴表達式結束,所以最終結果爲 -1

該後綴表達式還原成中綴表達式爲:9 - (2 + 3) - 10 / 2

 

有向圖和無向圖的例題:

  1. 在一個具有n個頂點的無向完全圖中,包含有________條邊,在一個具有n個頂點的有向完全圖中,包含有________條邊。
                                       n(n-1)/2      n(n-1)
這題我是根據鄰接矩陣去想的,可以想到有用的點是減去 對角線的那一行就是n。所以總共是n*n-n也就是n(n-1);那麼有向的就是n(n-1),無向的就是它的一般,就是n(n-1)/2;

哈希表求平均長度

哈希表求平均長度

二叉平衡樹的構造

二叉平衡樹的構造

哈夫曼編碼

哈夫曼編碼

八大內部排序的過程及總結

八大內部排序的過程及總結

最小生成樹(Kruskal,Prime)及最短路(Floyd,Dijkstra)總結

最小生成樹,最短路總結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章