棧和佇列
樹和二叉樹
圖順序表(隨即訪問結構)
在乙個有127個元素的順序表中插入乙個新元素並保持原來順序不變,平均要移動的元素個數為63.5(平均要移動的個數:n/2;)
補充1:n個元素的順序表中,查詢:平均移動的元素個數為(n+1)/2
補充2:n個元素的順序表中,插入:平均移動的元素個數為n/2
補充3:n個元素的順序表中,刪除:平均移動的元素個數為(n-1)/2
鍊錶(順序訪問結構)
線性表若採用鏈式儲存結構,要求記憶體中可用儲存單元的位址連續或不連續都可以單鏈表的儲存密度**<1**(順序表的=1)
鍊錶適用於需不斷對錶進行插入,刪除建立乙個包括n個結點的有序單鏈表的時間複雜度是o(n的平方)(建立表o(n),排序也是如此)
棧:先進後出
佇列:先進先出
棧在遞迴呼叫,函式呼叫,表示式求值都有所應用
解決緩衝區問題,用到佇列(先進先出的線性表)
若乙個棧以向量v[1…n]儲存,初始棧頂指標top設定為n+1,則元素x進棧的正確操作是top--;v[top] = x;
(v[1…n]儲存和top設定為n+1,可以看出:元素從陣列向量的高階位址進棧)
判斷表示式中括號配對用到棧用鏈結方式儲存的佇列,在進行刪除運算時頭,尾指標可能都要修改(一般情況下只修改頭指標,但是,當刪除的是佇列中的最後乙個元素時,隊尾指標也丟失了,因此需要對隊尾指標重新賦值)
最大容量為n的迴圈佇列,隊滿(rear+1)%n == front;
;隊空rear == front;
乙個遞迴演算法必須包括終止條件和遞迴部分樹的度:樹內各結點度的最大值樹的深度:樹中結點的最大層次
二叉樹是有序樹二叉樹有5種基本形態(空二叉樹,僅有根結點的二叉樹,右子樹為空的二叉樹,左子樹為空的二叉樹,左右結點均非空的二叉樹)
在二叉樹的第i層上至多有2的(i-1)次方個結點
深度為k的二叉樹至多有2的k次方-1個結點
葉子數 = 度為2的結點數 + 1滿二叉樹(深度為k且含有(2的k次方-1)個結點),注意與完全二叉樹的區分,別記混
完全二叉樹,度為1的結點個數為0或1個
樹的遍歷
先序遍歷
根結點先序遍歷左子樹
先序遍歷右子樹
中序遍歷
中序遍歷左子樹
根結點中序遍歷右子樹
後序遍歷
後序遍歷左子樹
後序遍歷右子樹
根結點
二叉樹把一棵樹轉換為二叉樹後,這顆二叉樹的形態是唯一的(因為二叉樹是有序的)
一顆完全二叉樹上有1001個結點,其中葉子結點的個數501
n0 = n2 + 1
n0+n1+n2 = 1001
在完全二叉樹中,n1 = 0或1
利用二叉鍊錶儲存樹,則根結點的右指標為空(左孩子右兄弟,注意:問的是根結點)
在一棵度為4的數t中,若有20個度為4的結點,10個度為3的結點,1個度為2的結點,10個度為1的結點,則樹t的葉結點個數是82
n0+n1+n2+n3+n4-1 = n1+2乘以n2+3乘以n3+4*n4
一顆非空的二叉樹的先序遍歷序列和後序遍歷序列正好相反,則二叉樹
一定滿足:只有乙個葉子結點
或一定滿足:所有的結點均無左孩子或所有的結點均無右孩子
哈夫曼樹
哈夫曼樹中沒有度為1的結點
哈夫曼樹中兩個權值最小的結點一定是兄弟結點
哈夫曼樹中任一非葉結點的權值一定不小於下一層任一結點的權值
對於無向圖,具有n(n-1)/2 條邊,則稱為無向完全圖
對於有向圖,具有n(n-1) 條弧,則稱為有向完全圖
帶權的圖通常稱為網
在乙個無向圖中,所有頂點的度數之和等於圖的邊數的2倍n個頂點的連通圖用鄰接矩陣表示時,該矩陣至少有**2(n-1)**個非零元素
g是乙個非連通無向圖,共有28條邊,則該圖至少有9個頂點(若是連通圖剛好8個頂點,但是,這是非連通圖,要更大一些)
拓撲排序可以判斷乙個有向圖是否有環
無向圖的鄰接矩陣是對稱的
圖的遍歷
最小生成樹
拓撲排序
資料結構選擇題
1.問題 採用鄰接表儲存的圖的廣度優先遍歷演算法類似於二叉樹的 a.先序遍歷 b.中序遍歷 c.後序遍歷 d.按層遍歷 答案 d 2.問題 如果使用比較高效的演算法判斷單鏈表有沒有環的演算法中,至少需要幾個指標?答案 2個 分析 判斷鍊錶有沒有環,可以用快慢指標來實現,兩指標的移動速度不一樣。如果相...
複習 資料結構選擇題
1.將n條長度均為m的有序鍊錶進行合併,合併以後的鍊錶也保持有序,時間複雜度為 2.大小為max的迴圈佇列中,f為當前對頭元素位置,r為當前隊尾元素位置 最後乙個元素的位置 則任意時刻,佇列中的元素個數為 3.n!後面有多少個0,6!1 2 3 4 5 6 720.720後面有1個0,n 10000...
PTA 資料結構部分選擇題
realloc 指標名 資料型別 realloc 要改變記憶體大小的指標名,新的大小 malloc void malloc int size malloc 向系統申請分配指定size個位元組的記憶體空間。a.79 b.551 c.1063 d.不確定 設二叉樹中度為0的葉子結點個數為n0,度為1結點...