山大資料結構實驗報告

2021-08-29 04:39:28 字數 2011 閱讀 1026

山東大學軟體學院

《資料結構、演算法與應用》實驗指導書

一、實驗要求

採用良好的程式設計風格;關鍵操作要有注釋。

程式能夠執行,顯示執行結果。

二、 開發工具

microsoft visual c++

eclipse ide for c++

三、 實驗題目

實驗一 遞迴練習

一、實驗目的

熟悉開發工具的使用。

掌握遞迴的實現思想。

二、實驗內容

1、輸出n個整數的全排列。

2、輸出n個整數的所有子集。

實驗二 排序演算法

一、實驗目的

掌握各種排序方法的實現思想。

實驗內容

1、建立排序類。

2、提供操作:選擇排序、氣泡排序、插入排序、基數排序、快速排序、歸併排序。

3、*能夠顯示各種排序演算法的中間過程。

實驗三 線性表操作

實驗目的

掌握線性表的基本操作:插入、刪除、查詢。

掌握鍊錶遍歷器的使用方法。

二、實驗內容

建立線性表類。線性表的儲存結構使用鍊錶。

提供操作:自表首插入元素、刪除指定元素、搜尋表中是否有指定元素、輸出鍊錶。

接收鍵盤錄入的一系列整數(例10,25,8,33,60)作為節點的元素值,建立鍊錶。輸出鍊錶內容。

輸入乙個整數(例33),在鍊錶中進行搜尋,輸出其在鍊錶中的位置。如果不存在輸出0。

使用鍊錶遍歷器實現鍊錶的反序輸出。

建立兩個有序鍊錶,使用鍊錶遍歷器實現鍊錶的合併。

實驗四 矩陣和雜湊表

一、實驗目的

掌握矩陣結構。

掌握雜湊表及其應用。

二、實驗內容

1、建立稀疏矩陣類,採用行主順序把稀疏矩陣對映到一維陣列中,實現稀疏矩陣的轉置和兩個稀疏矩陣的加法操作。

2、使用雜湊表設計實現乙個字典,假設關鍵字為整數且d為961,在字典中插入隨機產生的500個不同的整數,實現字典的建立和搜尋操作。分別使用線性開型定址和鍊錶雜湊解決溢位。

實驗五 堆疊和佇列的應用

一、實驗目的

掌握堆疊和佇列的使用。

二、實驗內容

1、計算數學表示式的值。 

輸入數學表示式,輸出表示式的計算結果。數學表示式由單個數字和運算子「+」、「-」、「*」、「/」、「(、「)構成,例如 2 + 3 * ( 4 + 5 ) – 6 / 4。假定表示式輸入格式合法。

2、以乙個 m*n的長方陣表示迷宮,0和1分別表示迷宮中的通路和障礙。設計乙個程式,對任意設定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結論。

迷宮根據乙個迷宮資料檔案建立。迷宮資料檔案由乙個包含0、1的矩陣組成。迷宮的通路可以使用通路上各點的座標序列進行展示(使用圖形展示最佳)。

實驗六 二叉樹操作

一、實驗目的

1、掌握二叉樹的基本概念,鍊錶描述方法;遍歷方法。

二、實驗內容

建立二叉樹類。二叉樹的儲存結構使用鍊錶。提供操作:前序遍歷、中序遍歷、後序遍歷、層次遍歷、計算二叉樹結點數目、計算二叉樹高度。對建立好的二叉樹,執行上述各操作。

接收鍵盤錄入的二叉樹前序序列和中序序列(各元素各不相同),輸出該二叉樹的後序序列。

3、二叉搜尋樹的構造以及二叉搜尋樹輸出。

實驗七 堆及其應用

一、實驗目的

1、掌握堆的基本概念,插入、刪除方法。掌握堆排序。

二、實驗內容

1、建立最大堆類。最大堆的儲存結構使用鍊錶。提供操作:堆的插入、堆的刪除。堆的初始化。

2、接收鍵盤錄入的一系列整數,輸出其對應的最大堆、

3、堆排序。

*4、huffman樹的構造。huffman編碼。

實驗八 圖的操作

一、實驗目的

1、掌握圖的基本概念,描述方法;遍歷方法。

二、實驗內容

1、建立圖類。二叉樹的儲存結構使用鄰接矩陣或鍊錶。提供操作:遍歷、bfs、dfs

2、對建立好的圖,執行上述各操作。

3、輸出生成樹。

*4、輸出最小生成樹。

資料結構實驗報告 資料結構實驗報告

使用c語言中的陣列,實現線性表中的順序結構儲存的查詢 刪除操作。1 初始線性表通過陣列 迴圈 scanf語句實現輸入任意個整數。2 刪除操作的實現,任意輸入乙個要刪除的整數,找到這個元素,將此元素之後的所有元素逐個前移一位,實現刪除操作。3 要求以上2步操作可以重複執行。4 例如 刪除操作執行結果大...

資料結構實驗報告

1 掌握佇列儲存結構的表示和實現方法。2 掌握佇列的入隊和出隊等基本操作的演算法實現。3 了解佇列在解決實際問題中的簡單應用。1 建立順序迴圈佇列,並在順序迴圈佇列上實現入隊 出隊基本操作 驗證性內容 2 建立迴圈鏈佇列,並在迴圈鏈佇列上實現入隊 出隊基本操作 設計性內容 3 實現鍵盤輸入迴圈緩衝區...

資料結構實驗報告

1 理解二叉樹的型別定義與性質。2 掌握二叉樹的二叉鍊錶儲存結構的表示和實現方法。3 掌握二叉樹遍歷操作的演算法實現。4 熟悉二叉樹遍歷操作的應用。1 建立二叉樹的二叉鍊錶儲存結構。2 實現二叉樹的先序 中序和後序三種遍歷操作 驗證性內容 3 應用二叉樹的遍歷操作來實現判斷兩棵二叉樹是否相等的操作 ...