版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
《數(shù)據(jù)結(jié)構(gòu)與算法應(yīng)用》上機試驗題目
題目1(線性表)
[問題描述]
采用帶頭結(jié)點的單鏈表實現(xiàn)兩個集合的并、交、差運算。(難易程度:低)
[試驗?zāi)康模?/p>
1、把握線性表的鏈表存儲結(jié)構(gòu)。
2、把握在單鏈表上基本操作的實現(xiàn)。
3、在把握單鏈表的基本操作上進行綜合題的實現(xiàn)。
[試驗內(nèi)容及要求]
1、要求用帶頭結(jié)點的單鏈表存儲兩個集合中的元素和最終的結(jié)果。
2、集合的元素限定為十進制數(shù),程序應(yīng)對消失重復(fù)的數(shù)據(jù)進行過濾,即使得鏈
表中沒有重復(fù)數(shù)據(jù)。
3、顯示兩個集合的內(nèi)容及其并集、交集和差集的內(nèi)容。
4、要求不轉(zhuǎn)變原來的集合,并集、交集和差集分別此外存放。
[測試數(shù)據(jù)]
1、setl={3,8,5,8,11},set2={22,6,8,3,15,11,20)
setlUset2=
setlAset2=
setl-set2=
2、其中一個集合為空集
3、兩個集合都是空集
4、創(chuàng)建集合時有重復(fù)數(shù)據(jù)的狀況
題目2(棧、串)
[問題描述]
采用棧實現(xiàn)算術(shù)表達式的求值??梢院啙嵰恍?,假設(shè)表達式中含有一位整數(shù),
以及+、-、*、/、(、)。但不受此限制。(難易程度:中)
[試驗?zāi)康模?/p>
1、把握棧的應(yīng)用。
2、把握算符優(yōu)先表達式求值的算法。
3、把握字符串處理和數(shù)值的轉(zhuǎn)換。
[試驗內(nèi)容及要求]
1、表達式以字符串形式輸入,并以'#‘開頭和結(jié)束('#'也作為算法來處理)。
如輸入:#6+3*(9-7)-8/2#
2、能夠有效判別表達式的輸入格式是否有誤(如缺失操作數(shù)、非法算符、括
號不匹配等錯誤),若輸入格式錯誤,輸出錯誤提示。
[測試數(shù)據(jù)]
1、#6+3*(9-7)-8/2#
2、#(8-2)/(3-1)*(9-6)#
3、#5+a*(8-4)/2#
4、#5+(7-3)*6#
題目3(二叉排序樹)
[問題描述]
采用二叉查找樹(又稱為二叉排序樹、二叉搜尋樹)實現(xiàn)對輸入的英文單詞進
行搜尋,同時可給出單詞消失的次數(shù)。(難易程度:高)
[試驗?zāi)康模?/p>
1、把握二叉鏈表的存儲結(jié)構(gòu)。
2、把握搜尋和過濾的方法。
3、把握二叉排序樹的插入和刪除操作。
[試驗內(nèi)容及要求]
1、構(gòu)造二叉查找樹
(1)從文本文件中讀入文本內(nèi)容,能夠分別出單詞,過濾掉阿拉伯?dāng)?shù)字和標(biāo)點
符號,并將英文字母的大寫形式全部轉(zhuǎn)換成小寫形式。
(2)依據(jù)英文字母表的挨次構(gòu)造英文單詞的二叉查找樹、當(dāng)兩個英文單詞的首
字母相同時,按其次個字母進行排序,依次類推。
(3)當(dāng)待插入的單詞已在二叉查找樹中,則將該單詞的消失次數(shù)增1。
2、遍歷二叉查找樹
(1)搜尋:輸入一個待檢索單詞,在二叉查找樹中進行查找,假如能找到該
單詞,則輸出該單詞及其消失次數(shù);
(2)實現(xiàn)二叉查找樹的中序遍歷,并將遍歷結(jié)果輸出到屏幕上,包括單詞和
單詞消失的位置。
3、刪除結(jié)點:給定一個停用詞列表(停用詞是指對搜尋沒有作用的詞,如:
of,and,a,an,the等等),將二叉查找樹中的屬于停用詞表中的單詞依次刪除。
4、可以顯示菜單,在菜單中可以進行如下四項操作(但并不局限這些操作):
(1)讀入文本內(nèi)容,包含若干英文單詞、標(biāo)點符號以及阿拉伯?dāng)?shù)字,用于構(gòu)
建二叉查找樹。
(2)輸入停用詞,每個停用詞占一行。對于每個停用詞,都需要刪除二叉查
找樹中的相應(yīng)結(jié)點,即:每輸入一個停用詞,執(zhí)行一次刪除結(jié)點的操作。
(3)中序遍歷二叉查找樹,遍歷結(jié)果中的每個單詞占一行,先輸出該單詞,
然后輸出一個空格,再輸出該單詞消失的次數(shù)。
(4)輸入查詢詞。對每個查詢詞,都需要在二叉查找樹中的搜尋相應(yīng)結(jié)點,
假如找到,則輸出該單詞及其消失次數(shù);假如未找到,則輸出相應(yīng)的信息。
每個查詢詞的查詢結(jié)果占一行,先輸出該單詞,然后輸出一個空格,再輸出
該單詞消失的次數(shù)。
[測試數(shù)據(jù)]
1、輸入的文本含有大小寫字母、阿拉伯?dāng)?shù)字、標(biāo)點符號及其它字符。
2、單詞的數(shù)量應(yīng)足夠多,并有肯定量的相同單詞。、
題目4(隊列)
[問題描述]
實現(xiàn)一個簡潔銀行叫號模擬系統(tǒng)。銀行有三個窗口可以同時辦理業(yè)務(wù),當(dāng)有用
戶到達銀行時,首先選擇自己要辦理的業(yè)務(wù),可以選擇一種或多種。系統(tǒng)計算辦理
此業(yè)務(wù)所需的時間并顯示給用戶,然后系統(tǒng)查看有無空閑的窗口,假如有,通知用
戶到一個空閑窗口辦理,假如沒有空閑窗口,則需支配用戶到某個窗口等候,系統(tǒng)
先計算每個隊列中用戶辦理業(yè)務(wù)的總時間,將用戶支配到時間最短的隊列等候。模
擬輸出多個用戶辦理業(yè)務(wù)的過程。(難易程度:高)
[試驗?zāi)康模?/p>
1、深化理解隊列的特性。
2、把握使用隊列實現(xiàn)某些問題。
[試驗內(nèi)容及要求]
1、建立3個隊列存放在三個窗口等待的用戶。
2、建立業(yè)務(wù)表,描述銀行能夠辦理的各項業(yè)務(wù),以及辦理業(yè)務(wù)所需時間。
3、建立用戶表,描述用戶辦理的業(yè)務(wù),用戶的狀態(tài)等
4、可以隨機產(chǎn)生用戶進入銀行的時間,讓用戶輸入所需辦理的業(yè)務(wù)。
5、由于輸入的數(shù)據(jù)量較大,可以采納文本文件存放需要輸入的數(shù)據(jù)。
[測試數(shù)據(jù)]
以下數(shù)據(jù)供參考:
用戶1在時間1到達銀行,在1號窗口辦理業(yè)務(wù),需要1分鐘
用戶1在時間2結(jié)束,離開
用戶2在時間3達到。在1號窗口開頭辦理,辦理業(yè)務(wù)需要4分鐘
用戶3在時間3到達,在2號窗口開頭辦理,辦理業(yè)務(wù)需要5分鐘
用戶4在時間5到達,在3號窗口開頭辦理,辦理需要8分鐘
用戶5在時間6到達,在1號窗口等待,辦理業(yè)務(wù)需要4分鐘
用戶2在時間8辦理完業(yè)務(wù),離開
用戶5在時間8在1號窗口,辦理業(yè)務(wù)需要4分鐘
用戶6在時間8到達,在1號窗口等待,辦理業(yè)務(wù)需要6分鐘
用戶7在時間8到達,在2號窗口等待,辦理業(yè)務(wù)需要10分鐘
題目5(二叉樹)
[問題描述]
樹和二叉樹是最常用的非線性結(jié)構(gòu)(樹型結(jié)構(gòu)),其中以二叉樹最為常見。遍歷
二叉樹是二叉樹各種操作的基礎(chǔ),它分為先序、中序和后序。(難易程度:中)
[試驗?zāi)康模?/p>
1、嫻熟把握二叉樹的結(jié)構(gòu)特性。
2、把握二叉樹的各種存儲結(jié)構(gòu)的特點及使用范圍。
3、通過二叉樹的基本操作的實現(xiàn),從而思索一般樹的基本操作的實現(xiàn)。
4、嫻熟把握各種遍歷二叉樹的遞歸和非遞歸算法。
[試驗內(nèi)容及要求]
1、創(chuàng)建二叉樹時可以依據(jù)前序遍歷序列進行創(chuàng)建,或者以其他方式創(chuàng)建二叉
樹。創(chuàng)建好之后將結(jié)點的值寫入文本文件。
2、創(chuàng)建好二叉鏈表之后實現(xiàn)以下功能:
(1)結(jié)點的值從文本文件讀出,在屏幕上以樹的形式或?qū)哟蔚男问斤@示。
(2)輸入一個結(jié)點值,輸出其雙親及其全部子女,以及兄弟結(jié)點值。
3、對二叉樹進行遞歸和非遞歸遍歷(先序、中序、后序)…
[測試數(shù)據(jù)]
1、用二叉鏈表表示一個大家族的家譜,即采納孩子兄弟表示法存儲數(shù)。根為
祖先結(jié)點,每個結(jié)點的左子樹是其第一個孩子,右子樹是其下一個兄弟。
2、輸入的結(jié)點值最好能夠體現(xiàn)結(jié)點之間的雙親、孩子、兄弟之間的關(guān)系,以
便于測試。
題目6(哈夫曼樹的編/譯碼器)
[問題描述】
采用哈夫曼編碼進行通訊可以大大提高信道采用率,縮短信息傳輸時間,降低
傳輸成本。但是,這要求在發(fā)送端通過一個編碼系統(tǒng)將待傳數(shù)據(jù)進行預(yù)先編碼;在
接受端將傳來的數(shù)據(jù)進行解碼(復(fù)原)。對于可以雙向傳輸?shù)男诺?,每端都要有?/p>
個完整的編/譯碼系統(tǒng)。試為這樣的信息收發(fā)站寫一個哈夫曼的編譯碼系統(tǒng)。(難易
程度:高)
[試驗?zāi)康模?/p>
1、通過哈夫曼樹的定義,把握構(gòu)造哈夫曼樹的意義。
2、把握構(gòu)造哈夫曼樹的算法思想。
3、通過具體構(gòu)造哈夫曼樹,進一步理解構(gòu)造哈夫曼樹編碼的意義。
[試驗內(nèi)容及要求]
1、從終端讀入字符集大小為n(即字符的個數(shù)),逐一輸入n個字符和相應(yīng)的
n個權(quán)值(即字符消失的頻度),建立哈夫曼樹,將它存于文件hfmtree中。并將
建立好的哈夫曼樹以樹或凹入法形式輸出;對每個字符進行編碼并且輸出。
2、采用已建好的哈夫曼編碼文件hfmtree,對已編碼的正文進行譯碼,輸出
譯碼后的正文。
3、采納文本文件存放文本,先統(tǒng)計文本中的每個字符消失的頻率,然后再建
立哈夫曼樹,并進行編碼和譯碼。
[測試數(shù)據(jù)】
1、用下表給出的字符集和頻度的實際統(tǒng)計數(shù)據(jù)建立哈夫曼樹。
字符ABCDEFGHIJKLMN
頻度641322321032115475715322057
字符0PQRSTUVWXYZ空格
頻度63151485180238181161168
并實現(xiàn)以下報文的譯碼和輸出:THISPROGRAMISMYFAVORITE
2、采納文本文件存放文本,測試試驗內(nèi)容及要求的第3項。
題目7(圖)
[問題描述]
給定一個無向圖或有向圖,采用深度優(yōu)先遍歷和廣度優(yōu)先遍歷對給定圖進行遍
歷。(難易程度:低)
[試驗?zāi)康模?/p>
1、熟識圖的兩種常用的存儲結(jié)構(gòu)。
2、把握對圖的兩種遍歷方法,即深度優(yōu)先遍歷和廣度優(yōu)先遍歷。
3、進一步把握采用遞歸或隊列結(jié)構(gòu)進行算法設(shè)計方法。
[試驗內(nèi)容及要求]
1、構(gòu)造一個具有n個頂點的無向圖或有向圖。
2、輸出以深度優(yōu)先遍歷和廣度優(yōu)先遍歷圖的頂點序列。
3、考慮如何把遞歸實現(xiàn)的深度優(yōu)先遍歷算法改為非遞歸算法。
[測試數(shù)據(jù)]
以下圖作為測試數(shù)據(jù):
題目8(采用Prim算法求無向網(wǎng)的最小生成樹)
[問題描述]
假如要在n個城市之間建設(shè)通信網(wǎng)絡(luò),只需架設(shè)n-1條線路即可。如何以最低
的經(jīng)濟代價建設(shè)這個通信網(wǎng),是求一個無向網(wǎng)的最小生成樹問題。(難易程度:低)
[試驗?zāi)康模?/p>
1、把握圖的各種存儲結(jié)構(gòu)和基本操作。
2、對于實際問題的求解能夠選用合適的存儲結(jié)構(gòu)。
3、通過Prim算法理解如何求無向網(wǎng)的最小生成樹。
[試驗內(nèi)容及要求]
1、構(gòu)造具有n個頂點的無向網(wǎng),并采用Prim算法求網(wǎng)的最小生成樹。
2、以文本形式輸出所求得的最小生成樹中各條邊以及它們的權(quán)值。
[測試數(shù)據(jù)]以下圖作為測試數(shù)據(jù):
題目9(圖,最短路徑)
[問題描述]
某旅行團要從南寧坐飛機周游東南亞7國,假如八地之間都有直飛航班,已知
南寧坐標(biāo)(378,78),河內(nèi)(327,119),曼谷(232,266),金邊(314,311),吉隆坡
(255,477),新加坡(296,513),文萊(510,438),馬尼拉(628,246),編程查找最
短周游路徑,并顯示出來。(例如:南寧-河內(nèi)-曼谷……)(難易程度:高)
[試驗?zāi)康模?/p>
1、把握圖的各種存儲結(jié)構(gòu)和基本操作。
2、對于實際問題的求解會選用合適的存儲結(jié)構(gòu)。
3、通過Dijkstra算法求有向網(wǎng)的最短路徑。
[試驗內(nèi)容及要求]
1、構(gòu)造具有8個頂點的有向網(wǎng),并采用Dijkstra或Floyd算法求最短路徑。
2、以文本形式輸出所求得的最短路徑中各條邊以及它們的權(quán)值。
[測試數(shù)據(jù)]
依據(jù)題目的問題描述給出完全有向網(wǎng),并作為測試數(shù)據(jù)。
題目10(串、模式匹配)
[問題描述]
統(tǒng)計英文文章中單詞個數(shù)、空格個數(shù)和標(biāo)點符號的個數(shù),同時還能夠查找指定
的單詞,并替換為新的單詞。(難易程度:中)
[試驗?zāi)康模?/p>
1、把握串的各種存儲結(jié)構(gòu)。
2、依據(jù)實際問題選用合適的存儲結(jié)構(gòu)。
3、把握串的運算和模式匹配算法。
[試驗內(nèi)容及要求]
1、通過模式匹配算法及串的運算完成單詞的查找和替換。
2、以文本文件的形式存放英文文章,現(xiàn)將文章讀入到串中,讀入時需使用
EOF函數(shù)推斷文件結(jié)束標(biāo)記。
[測試數(shù)據(jù)]
英文文章的長度不能過短,必需能夠說明問題。
題目11(散列表)
[問題描述]
實現(xiàn)Hash表的建立、刪除、插入以及查找操作,對同學(xué)信息(如學(xué)號、姓名、
性別)進行管理。(難易程度:高)
[試驗?zāi)康模?/p>
1、把握散列函數(shù)及解決沖突的方法。
2、對于實際問題能夠選用合適的散列函數(shù)。
3、能夠選擇適當(dāng)?shù)慕鉀Q沖突的方法。
[試驗內(nèi)容及要求]
1、以學(xué)號的全部位或者部分位作為散列函數(shù)的自變量,學(xué)號的位數(shù)應(yīng)符合
實際,并且學(xué)號不肯定連續(xù)。
2、設(shè)計散列函數(shù),要求計算出的散列地址應(yīng)分布勻稱,并且散列函數(shù)易于
實現(xiàn)。
3、可以采納閉散列表(開放地址法)或者開散列表(拉鏈法)解決沖突。
4、從文本文件讀取同學(xué)信息建立散列表。
[測試數(shù)據(jù)]
文本文件中的同學(xué)人數(shù)必需足夠多,能夠說明問題。
題目12(排序)
[問題描述]
排序是對一組紀(jì)錄依據(jù)紀(jì)錄的關(guān)鍵字有序進行重新排列,通過幾種典型的排序
算法,并對各種算法的特點、使用范圍和效率進一步地了解。(難易程度:低)
[試驗?zāi)康模?/p>
1、深刻理解排序的定義和各類排序的算法思想,并能夠依據(jù)實際狀況敏捷應(yīng)
用。
2、把握各類排序的時間簡單度的分析方法,能從“關(guān)鍵字間的比較次數(shù)”分
析算法的平均狀況、最好狀況和最壞狀況。
3、把握不同排序方法的空間簡單度的計算。
4、理解排序方法“穩(wěn)定”和“不穩(wěn)定”的含義。
5、對結(jié)果做出簡潔的分析,諸如穩(wěn)定性、最好狀況、最壞狀況、平均狀況等。
[試驗內(nèi)容及要求]
1、實現(xiàn)直接插入排序、希爾排序、快速排序、歸并排序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園消防演練方案
- 解除終止勞動合同書
- 護理6分鐘講課比賽
- 幼兒園安全教育防走失
- OFFICE培訓(xùn)計劃可編輯范本
- 芙蓉公司產(chǎn)品培訓(xùn)
- 非煤礦山復(fù)工復(fù)產(chǎn)安全培訓(xùn)
- 2017年礦業(yè)生產(chǎn)安全事故應(yīng)急預(yù)案及管理辦法培訓(xùn)教案
- 預(yù)防老年癡呆的關(guān)鍵
- 產(chǎn)業(yè)園區(qū)物業(yè)員工招聘合同
- 教育部新版本科專業(yè)目錄(2012年)
- 七年級英語上培優(yōu)扶差記錄表
- 全國防返貧監(jiān)測信息系統(tǒng)業(yè)務(wù)管理子系統(tǒng)操作手冊
- 2022年數(shù)學(xué)廣角內(nèi)容解讀及教學(xué)思考
- 二級減速器箱體蓋工藝卡片
- 互聯(lián)網(wǎng)高速專線電路開通測試報告[寶典]
- 虎牌電飯煲中文使用說明書
- 餐飲合同范本
- 人教版初中地理七年級上冊《地球自轉(zhuǎn)》說課稿
- 高職院校課程標(biāo)準(zhǔn)模板
- 注塑品質(zhì)檢驗標(biāo)準(zhǔn)
評論
0/150
提交評論