




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
遍草栗喟工大劈
得!於EASTCHINAUNIVERSITYOFSCIENCEANDTECHNOLOGY
《算法與數(shù)據(jù)結(jié)構(gòu)》
實(shí)驗(yàn)指導(dǎo)書
2
第一部分算法與數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)概述
實(shí)驗(yàn)?zāi)康?/p>
《算法與數(shù)據(jù)結(jié)構(gòu)》是計(jì)算機(jī)專業(yè)的主干課程和必修課程之一,其目的
是讓大家學(xué)習(xí)、分析和研究數(shù)據(jù)對象特征,掌握數(shù)據(jù)組織方法和計(jì)算機(jī)的表
示方法,以便選擇合適的數(shù)據(jù)邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)相應(yīng)的運(yùn)算操作,
把現(xiàn)實(shí)世界中的問題轉(zhuǎn)化為計(jì)算機(jī)內(nèi)部的表示與處理的方法,要求掌握算法
的時(shí)間、空間復(fù)雜度分析基本技術(shù),培養(yǎng)良好的程序設(shè)計(jì)風(fēng)格,掌握進(jìn)行復(fù)
雜程序設(shè)計(jì)的技能。在計(jì)算機(jī)科學(xué)領(lǐng)域,尤其是在系統(tǒng)軟件和應(yīng)用軟件的設(shè)
計(jì)和應(yīng)用中要用到各種數(shù)據(jù)結(jié)構(gòu),因此,掌握數(shù)據(jù)結(jié)構(gòu)對提高軟件設(shè)計(jì)和程
序編制水平有很大的幫助。
二.實(shí)驗(yàn)要求
2.1實(shí)驗(yàn)步驟
設(shè)計(jì)步驟的規(guī)范不但可以培養(yǎng)學(xué)生科學(xué)的工作方法和作風(fēng),而且還能有
效地減少錯(cuò)誤,提高工作效率。因此必須嚴(yán)格執(zhí)行良好的實(shí)驗(yàn)步驟規(guī)范(包
括上機(jī)操作規(guī)范)。本課程實(shí)驗(yàn)的基本步驟是:
2.1.1問題分析
充分地分析和理解問題本身,明確問題要求做什么。對問題的描述應(yīng)避
開算法和所涉及的數(shù)據(jù)類型,而是對所需完成的任務(wù)作出明確的回答。例如;
輸入、輸出數(shù)據(jù)的類型、值的范圍以及形式等。同時(shí)為調(diào)試程序準(zhǔn)備好測試
數(shù)據(jù),包含合法的輸入數(shù)據(jù)和非法形式輸入的數(shù)據(jù)。
2.1.2設(shè)計(jì)和編碼
3
設(shè)計(jì)即是對問題描述中涉及的操作對象定義相應(yīng)的數(shù)據(jù)類型,定義主程
序模塊和各抽象數(shù)據(jù)類型;定義相應(yīng)的存儲(chǔ)結(jié)構(gòu)并寫出各過程和函數(shù)的偽碼
算法。在這個(gè)過程中,要綜合考慮系統(tǒng)功能,使得系統(tǒng)結(jié)構(gòu)清晰、合理、簡
單和易于調(diào)試。
編碼即把詳細(xì)設(shè)計(jì)的結(jié)果進(jìn)一步求精為程序設(shè)計(jì)語言程序,寫出源程
序。對程序中的疑問應(yīng)作出記號(hào),以便上機(jī)時(shí)注意解決。每個(gè)明確的功能模
塊程序一般不超過60行,程序的每一行不得超過60個(gè)字符,否則要進(jìn)一步
劃分。
2.1.3上機(jī)前程序靜態(tài)檢查
上機(jī)前程序靜態(tài)檢查可有效提高調(diào)試效率,減少上機(jī)調(diào)試程序時(shí)的無謂
錯(cuò)誤。
靜態(tài)檢查主要有兩種途徑:用一組測試數(shù)據(jù)手工執(zhí)行程序;通過閱讀或
給別人講解自己的程序而深入全面地理解程序邏輯。把程序中的明顯錯(cuò)誤事
先排除。
2.1.4上機(jī)調(diào)試程序
上機(jī)實(shí)驗(yàn)時(shí)要帶上《C語言》教材、《數(shù)據(jù)結(jié)構(gòu)》教材、《數(shù)據(jù)結(jié)構(gòu)上機(jī)
實(shí)驗(yàn)指導(dǎo)書》,調(diào)試最好分模塊進(jìn)行,自底向下,即先調(diào)試低層過程或函數(shù)。
調(diào)試過程中應(yīng)多動(dòng)手確定疑點(diǎn),通過修改程序來證明。
調(diào)試正確后,認(rèn)真整理源程序及其注釋,寫出或打印出帶有完整注釋的
且格式良好的源程序清單和結(jié)果。
2.1.5完成上機(jī)實(shí)驗(yàn)報(bào)告
2.2實(shí)驗(yàn)報(bào)告格式
4
得;睜EASTCHINAUNIVERSITYOFSCIENCEANDTECHNOLOGY
《算法與數(shù)據(jù)結(jié)構(gòu)》
實(shí)驗(yàn)報(bào)告本
班級(jí):___________________
學(xué)號(hào):___________________
姓名:___________________
指導(dǎo)教師:___________________
5
2.3實(shí)驗(yàn)過程
需求分析
以無歧義的陳述說明程序設(shè)計(jì)的任務(wù),強(qiáng)調(diào)程序要做什么。明確規(guī)定:
(1).輸入的形式和輸入值的范圍;
(2)輸出的形式
(3)程序所能達(dá)到的功能
(4)測試數(shù)據(jù):包括正確的輸入及其輸出結(jié)果,含有錯(cuò)誤的輸入及其
輸出結(jié)果。
1.系統(tǒng)設(shè)計(jì)
1.說明本程序中用到的所有抽象數(shù)據(jù)類型的定義;
2.主程序的流程以及各程序模塊之間的層次調(diào)用關(guān)系,畫出函數(shù)的調(diào)用關(guān)
系圖。
3.列出各個(gè)功能模塊的主要功能及輸入輸出參數(shù)。
3.調(diào)試分析
內(nèi)容包括:
(1).調(diào)試過程中遇到的問題是如何解決的及對設(shè)計(jì)與實(shí)現(xiàn)的回顧討論與分
析。
(2)算法的時(shí)間復(fù)雜度分析(包括基本操作和其他算法)和改進(jìn)設(shè)想;
(3)經(jīng)驗(yàn)與體會(huì)等。
4.測試結(jié)果
列出你的測試結(jié)果,包括輸入與輸出,這里的測試數(shù)據(jù)應(yīng)完整和嚴(yán)格,可用
需求分析中的測試數(shù)據(jù)。
5、用戶手冊
說明如何使用你編寫的程序,詳細(xì)列出每一步操作步驟。
6、附錄
6
即帶注釋的源程序清單和結(jié)果。除原有注釋外再加一些必要的注釋和斷
言(關(guān)鍵語句或函數(shù)功能的注釋)。對填空和改錯(cuò)題還要寫出正確答案,如
果題目規(guī)定了測試數(shù)據(jù),則結(jié)果要包含這些測試數(shù)據(jù)和運(yùn)行輸出,當(dāng)然還可
以含其它測試數(shù)據(jù)及其運(yùn)行輸出。
2.4考核及評分辦法
上機(jī)實(shí)驗(yàn)成績根據(jù)上機(jī)考勤、調(diào)試情況、實(shí)驗(yàn)報(bào)告評分,分為五級(jí)制:
優(yōu)、良、中、及格、不及格。
7
第二部分上機(jī)實(shí)驗(yàn)內(nèi)容
序
實(shí)驗(yàn)實(shí)驗(yàn)每組課程
號(hào)
實(shí)驗(yàn)名稱主要內(nèi)容目標(biāo)
類型時(shí)數(shù)人數(shù)
C/C++語言的循環(huán)、條件
數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)基礎(chǔ)實(shí)
1控制語句,數(shù)組、鏈表A211
驗(yàn)
等數(shù)據(jù)存儲(chǔ)
熟練掌握順序和鏈?zhǔn)骄€性
2線性表實(shí)驗(yàn)B21
表的基本操作1,2
熟練掌握堆棧和隊(duì)列的
基本操作,棧在表達(dá)式
3棧和隊(duì)列實(shí)驗(yàn)B211,2
求解中的應(yīng)用,雙端隊(duì)
列的應(yīng)用
熟練掌握二叉樹的存儲(chǔ)
結(jié)構(gòu),二叉樹的先序、
4樹的應(yīng)用實(shí)驗(yàn)B411,2
中序遍歷,二叉搜索樹、
哈夫曼編碼
熟練掌握圖的存儲(chǔ)結(jié)構(gòu)、連
通性、廣度優(yōu)先和深度優(yōu)先
5圖的應(yīng)用實(shí)驗(yàn)搜索、Dijkstra單原點(diǎn)最短B411,2
路徑、拓?fù)渑判?、Floyd算
法
熟練掌握選擇、插入、
6排序算法B211,2
交換、歸并算法的應(yīng)用
8
實(shí)驗(yàn)一數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)基礎(chǔ)
一、實(shí)驗(yàn)?zāi)康?/p>
1.了解數(shù)據(jù)結(jié)構(gòu)的語法基礎(chǔ)。
二、實(shí)驗(yàn)內(nèi)容
1.數(shù)組元素循環(huán)左移問題2-2;
2.整數(shù)分解問題2-3;
3.數(shù)列求和問題2-6.
9
實(shí)驗(yàn)二線性表
一、實(shí)驗(yàn)?zāi)康?/p>
1.了解線性表的特性,以便靈活應(yīng)用。
2.熟練掌握線性表的各種操作和應(yīng)用
二、實(shí)驗(yàn)內(nèi)容
10
實(shí)驗(yàn)三棧和隊(duì)列
一、實(shí)驗(yàn)?zāi)康?/p>
1.掌握棧和隊(duì)列的概念及存儲(chǔ)方法。
2.掌握順序棧、鏈?zhǔn)綏!⒀h(huán)隊(duì)列的算法。
3.熟練掌握編寫實(shí)現(xiàn)棧和隊(duì)列的各種運(yùn)算的算法。
二、實(shí)驗(yàn)內(nèi)容
11
實(shí)驗(yàn)四樹和二叉樹
一、實(shí)驗(yàn)?zāi)康?/p>
1.掌握二叉樹,二叉樹排序數(shù)的概念及存儲(chǔ)方法。
2.掌握二叉樹的遍歷算法。
3.熟練掌握編寫實(shí)現(xiàn)樹的各種運(yùn)算的算法。
二、實(shí)驗(yàn)內(nèi)容
12
實(shí)驗(yàn)五圖
一、實(shí)驗(yàn)?zāi)康?/p>
1.熟悉圖的各種存儲(chǔ)方法。
2.掌握遍歷圖的遞歸和非遞歸的算法。
3.理解圖的有關(guān)算法。
二、實(shí)驗(yàn)內(nèi)容
1、任務(wù)調(diào)度的合理性
假定一個(gè)工程項(xiàng)目由一組子任務(wù)構(gòu)成,子任務(wù)之間有的可以并行執(zhí)行,
有的必須在完成了其它一些子任務(wù)后才能執(zhí)行?!叭蝿?wù)調(diào)度”包括一組子任
務(wù)、以及每個(gè)子任務(wù)可以執(zhí)行所依賴的子任務(wù)集。例如完成一個(gè)專業(yè)的所
有課程學(xué)習(xí)和畢業(yè)設(shè)計(jì)可以看成一個(gè)本科生要完成的一項(xiàng)工程,各門課程可
以看成是子任務(wù)。有些課程可以同時(shí)開設(shè),比如英語和C程序設(shè)計(jì),它們
沒有必須先修哪門的約束;有些課程則不可以同時(shí)開設(shè),因?yàn)樗鼈冇邢群蟮?/p>
依賴關(guān)系,比如C程序設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)兩門課,必須先學(xué)習(xí)前者。
但是需要注意的是,對一組子任務(wù),并不是任意的任務(wù)調(diào)度都是一個(gè)可
行的方案。比如方案中存在“子任務(wù)A依賴于子任務(wù)B,子任務(wù)B依賴于子
任務(wù)C,子任務(wù)C又依賴于子任務(wù)A",那么這三個(gè)任務(wù)哪個(gè)都不能先執(zhí)行,
這就是一個(gè)不可行的方案。你現(xiàn)在的工作是寫程序判定任何一個(gè)給定的任務(wù)
調(diào)度是否可行。
輸入說明:輸入第一行給出子任務(wù)數(shù)N(S100),子任務(wù)按1~N編號(hào)。隨后
N行,每行給出一個(gè)子任務(wù)的依賴集合:首先給出依賴集合中的子任務(wù)數(shù)K,
隨后給出K個(gè)子任務(wù)編號(hào),整數(shù)之間都用空格分隔。
輸出說明:如果方案可行,則輸出1,否則輸出0。
測試樣例:輸入
11
11
223
輸出:1
13
2、社交網(wǎng)絡(luò)圖中結(jié)點(diǎn)的“重要性”計(jì)算
在社交網(wǎng)絡(luò)中,個(gè)人或單位(結(jié)點(diǎn))之間通過某些關(guān)系(邊)聯(lián)系起來。
他們受到這些關(guān)系的影響,這種影響可以理解為網(wǎng)絡(luò)中相互連接的結(jié)點(diǎn)之間
戛延的一種相互作用,可以增強(qiáng)也可以減弱。而結(jié)點(diǎn)根據(jù)其所處的位置不同,
其在網(wǎng)絡(luò)中體現(xiàn)的重要性也不盡相同。
“緊密度中心性”是用來衡量一個(gè)結(jié)點(diǎn)到達(dá)其它結(jié)點(diǎn)的“快慢”的指標(biāo),即
一個(gè)有較高中心性的結(jié)點(diǎn)比有較低中心性的結(jié)點(diǎn)能夠更快地(平均意義下)
到達(dá)網(wǎng)絡(luò)中的其它結(jié)點(diǎn),因而在該網(wǎng)絡(luò)的傳播過程中有更重要的價(jià)值。在有
N個(gè)結(jié)點(diǎn)的網(wǎng)絡(luò)中,結(jié)點(diǎn)vi的“緊密度中心性”Cc(vi)數(shù)學(xué)上定義為vi到其余
所有結(jié)點(diǎn)vj。為)的最短距離d(vi,vj)的平均值的倒數(shù):
N
N-l
Cc(v,)=T—rErf(v.>vP
~~N
IV—1
"J
對于非連通圖,所有結(jié)點(diǎn)的緊密度中心性都是0。
給定一個(gè)無權(quán)的無向圖以及其中的一組結(jié)點(diǎn),計(jì)算這組結(jié)點(diǎn)中每個(gè)結(jié)點(diǎn)
的緊密度中心性。
輸入格式:輸入第一行給出兩個(gè)正整數(shù)N和M,其中N(<104)是圖
中結(jié)點(diǎn)個(gè)數(shù),順便假設(shè)結(jié)點(diǎn)從1到N編號(hào);M(<105)是邊的條數(shù)。隨后
的M行中,每行給出一條邊的信息,即該邊連接的兩個(gè)結(jié)點(diǎn)編號(hào),中間用
空格分隔。最后一行給出需要計(jì)算緊密度中心性的這組結(jié)點(diǎn)的個(gè)數(shù)K(ROO)
以及K個(gè)結(jié)點(diǎn)編號(hào),用空格分隔。
輸出格式:按照Cc(i)=x.xx的格式輸出K個(gè)給定結(jié)點(diǎn)的緊密度中心性,
每個(gè)輸出占一行,結(jié)果保留到小數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 領(lǐng)導(dǎo)干部警示教育
- 一年級(jí)下美術(shù)教學(xué)設(shè)計(jì)-有趣的半圓形-人教新課標(biāo)(2014秋)
- 人教部編版八年級(jí)下冊第13課 香港和澳門的回歸 教學(xué)設(shè)計(jì)
- 學(xué)科核心素養(yǎng)培訓(xùn)
- 車站服務(wù)人員培訓(xùn)
- 2025年度大學(xué)生百科知識(shí)競賽題庫及答案(一)
- 鼻咽惡性腫瘤患者護(hù)理
- 四年級(jí)信息技術(shù)上冊 第三單元 小小編輯 第12課 圖文并茂美文章教學(xué)設(shè)計(jì) 浙江攝影版
- 語言玫瑰花環(huán)課件
- 2024年秋新人教版八年級(jí)上冊道德與法治教學(xué)課件 1.1 奏響中學(xué)序曲
- 2024年事業(yè)單位招聘考試時(shí)事政治試題庫新版
- 華為跨部門協(xié)同機(jī)制建設(shè)
- 河南省許昌市長葛市2023-2024學(xué)年八年級(jí)下學(xué)期期中數(shù)學(xué)試題
- MOOC 中國傳統(tǒng)藝術(shù)-篆刻、書法、水墨畫體驗(yàn)與欣賞-哈爾濱工業(yè)大學(xué) 中國大學(xué)慕課答案
- 初中英語跨學(xué)科主題學(xué)習(xí)的探索與實(shí)踐
- 猜猜我有多愛你-繪本故事
- 譯林英語六年級(jí)下冊期中試卷(含答案)
- 金融領(lǐng)域AI大模型和AGENT實(shí)踐
- 鋼板加固梁施工方案
- GDAL源碼剖析與開發(fā)指南
- 《化工腐蝕與防護(hù)》課程標(biāo)準(zhǔn)(煤化工技術(shù))
評論
0/150
提交評論