筆記 資料結構 演算法7

2022-05-02 04:33:07 字數 1266 閱讀 4719

鄰接矩陣適用於稠密圖(邊數接近於頂點數的平方),鄰接表適用於稀疏圖(邊數遠小於頂點數的平方)。 √

鄰接矩陣取決於點,因此用於稠密圖,鄰接表用於稀疏圖,稠密圖用鄰接表表示的話會占用很多空間,而鄰接矩陣的空間是固定的都是n²,所以用矩陣表示稠密圖。

用鄰接矩陣法儲存乙個圖時,在不考慮壓縮儲存的情況下,所占用的儲存空間大小只與圖中結點個數有關,而與圖的邊數無關,這樣的說法正確嗎? 正確

鄰接矩陣取決於點數,只要點數確定,那麼矩陣大小確定,裡面的值不會影響儲存空間大小。

對於雙向迴圈鍊錶,在p指標所指的結點之後插入s指標所指結點的操作應為()

雙向鍊錶的插入順序:先搞定插入節點的前驅和後繼,在搞定後結點的前驅,最後搞定前結點的後繼。

以下哪個不是分配在棧上的?函式內動態申請的物件

棧:由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等,記憶體的分配是連續的,類似於平時我們所說的棧,如果還不清楚,那麼就把它想成陣列,它的記憶體分配是連續分配的,即,所分配的記憶體是在一塊連續的記憶體區域內.當我們宣告變數時,那麼編譯器會自動接著當前棧區的結尾來分配記憶體.

簡單型別變數儲存在棧中,而物件的內容儲存在堆中,只是指向物件的記憶體位址儲存在棧中。

用選擇排序方法對線性表(17,9,20,21,1,7,4,11,5)進行公升序排序時,第3趟排序的結果是( )

選擇排序法公升序,每一次選出未比較的序列中最小值,與前面的元素互換位置;記得是互換!!

第一次:1 9 20 21 17 4 11 5

第二次:1 4 20 21 17 9 11 5

第三次:1 4 5 21 17 9 11 20

若以作為葉子節點的權值構造哈弗曼樹,則其帶權路徑長度是() 又是哈夫曼!!

計算就不寫了!!

對n(n大於等於2)個權值均不相同的字元構成哈夫曼樹,關於該樹的敘述中,正確的是()

樹中一定沒有度為1的結點。

!!這個是正確的,當時腦子一熱覺得錯???

總結:迴圈佇列的相關條件和公式:順時針儲存

1.隊空條件:rearfront

2.隊滿條件:(rear+1) %queuesizefront,其中queuesize為迴圈佇列的最大長度

3.計算佇列長度:(rear-front+queuesize)%queuesize

4.入隊:(rear+1)%queuesize

5.出隊:(front+1)%queuesize

演算法筆記 資料結構 堆

堆是一棵完全二叉樹,樹中每個結點的值都不小於 或者不大於 其左右孩子結點的值 對於給定初始序列,如何建堆?給定陣列 85,55,82,57,68,92,99,98,66,56 建堆過程如下 利用陣列來儲存完全二叉樹,這樣結點就按層序儲存與陣列中,其中第乙個結點將儲存於陣列的1號位,並且陣列i號位表示...

演算法筆記 資料結構 棧

在之前,學過了stl的stack容器,所以以上函式可以通過庫呼叫 但是stl中沒有實現清空函式,所以如果需要實現棧的清空,可以用乙個while迴圈反覆pop出元素直到棧空 while st.empty codeup 1918 簡單計算器題目描述 讀入乙個只包含 的非負整數計算表示式,計算該表示式的值...

筆記 資料結構

解釋經典例題 計算給定多項式在給定點x處的值。f x a0 a1 x a n 1 x n 1 a n x n 方法一 double num int n,double array,double x 改進方法 double num int n,double array,double x clock 捕捉...