資料結構複習

2023-01-14 13:39:05 字數 1343 閱讀 4613

作業一1.證明以下命題: o(xna+ynb) = o(na)(a,b,x,y是正常數,且a > b)。

2. 分析下列程式段的時間複雜度:

intodd(int n)

return x+y;

}void recursive(int n)

作業2:迴圈佇列

專案概況

1. 題目:請實現乙個迴圈佇列,按輸入的資料,產生輸出。

2. 輸入格式:第1行輸入佇列的長度n (也即該迴圈佇列最多可容納n-1個元素,有1個空間保留不用);第二行輸入對迴圈佇列操作的步驟數m;從第三行起,共m行,每行表示對迴圈佇列的一次操作,有以下兩種形式:

形式1: in num

形式2: out

其中形式1表示往佇列中新增乙個元素num,num是乙個整數;形式2表示從佇列中取出乙個元素。

3. 輸出格式:

輸出m行,其中第i行 (1<=i<=m)輸出對迴圈佇列的第i次操作後的結果,有以下幾種形式:

形式1: empty

形式2: full

形式3: num1,num2,num3...

其中形式1表示從佇列取元素的操作失敗,隊列為空;形式2表示對佇列新增元素的操作失敗,隊列為滿;形式3表示,操作成功,列出佇列中所有的元素,元素的排列順序按照他們在佇列中的先後次序。

4. 輸入示例:48

in 1

in 2

in 3

in 4

outout

outout

5.輸出示例:

11 2

1 2 3

full

2 33

empty

(注意第7次操作的結果的輸出採用的形式3的輸出,因為佇列中沒有元素,所以輸出乙個空行)

6.提交源**、測試的資料以及使用說明。

作業三題目:請根據輸入構建乙個圖的結構,然後計算這個圖的廣度優先生成樹(遍歷的過程是從第0號頂點出發開始的),將該樹列印輸出。

注意:圖的結構可以選擇鄰接矩陣或鄰接表。

輸入格式:第一行輸入圖的節點數目m;第二行輸入圖的邊數n;第三行到n+2行,每一行表示圖中的一條邊,格式是:「這條邊的第乙個頂點的編號,空格,第二個頂點的編號」。

輸出格式:輸出廣度優先生成樹。總共有m行,每一行對應樹上乙個節點,格式是:

「該節點在圖中編號,空格,該節點的雙親節點在圖中的編號(如果該節點是樹根,則其雙親節點的編號為-1)」。

輸入範例:44

0 10 2

1 32 3

輸出範例:

0 -1

1 02 0

3 1說明:請提交源**和說明。源**不要直接貼上在網頁上提交,請將你編寫的整個專案打包成rar壓縮檔案提交,以便批改。

資料結構複習

0.緒論 一 填空題 1 資料的邏輯結構是資料元素之間的邏輯關係,通常有下列4類 2 資料的儲存結構是資料在計算機儲存器裡的表示,主要有4種基本儲存方法 二 選擇題 1 乙個演算法必須在執行有窮步之後結束,這是演算法的 a 正確性 b 有窮性 c 確定性 d 可行性 2 演算法的每一步必須有確切的定...

資料結構複習

1.以niklus wirth的觀點,程式等於什麼?2.演算法的重要特性。3.好演算法的標準。4.線性結構的特點。5.線性結構與非線性結構的區別。6.列出所學過的線性結構與非線性結構。7.頭指標 頭結點 首元結點的區別。8.帶頭結點和不帶頭結點的線性鍊錶的區別。9.單鏈表 雙鏈表 迴圈鍊錶的區別及各...

資料結構複習

2 掌握圖的兩種儲存結構,鄰接矩陣及鄰接表 重點掌握圖的鄰接矩陣表示方法。掌握給定乙個圖,採用鄰接矩陣或鄰接表表示法,對圖中邊 頂點的度 任意兩點是否有邊相連的確定方法 3 最小生成樹,重點掌握採用普里姆演算法及克魯斯卡爾演算法如何求最小生成樹 4 重點掌握圖的深度優先遍歷及廣度優先遍歷 重點掌握圖...