

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、算法與程序有何區(qū)別和聯(lián)系?(6 分)算法是對特定問題求解步驟的一種描述,可以用自然語言、流程圖、偽代碼、程序代碼來表示。程序是算法的具體實現(xiàn),可以用不同的語言實現(xiàn)。2 樹的結(jié)構(gòu)。(6 分)方法主要有哪些?任你畫一個樹舉例說明具體2.(1)雙親表示法以一組連續(xù)空間結(jié)點的位置。樹的結(jié)點,在每個結(jié)點中設(shè)一個指示器指示雙親(2)孩子表示法每個結(jié)點的孩子以單鏈表的形式,n 個結(jié)點有 n 個孩子鏈表,n 個頭指針又組成一個線性表,并以順序結(jié)構(gòu)。結(jié)構(gòu),鏈表中的結(jié)點的兩個指針分別指向(3)孩子兄弟表示法以二叉鏈表作為樹的該結(jié)點的第一個孩子結(jié)點和下一個兄弟結(jié)點。設(shè)有序表的長度為 10,用二分查找方法進(jìn)行查找,試
2、計算查找成功情況下的平均查找長度(6 分)ASL = 1/10 *(1+2*2+4*3+3*4) = 2.9圖的遍歷方法主要有哪些?任你畫一個圖舉例具體說明。(6 分)深度優(yōu)先搜索,寬度優(yōu)先搜索。例如:深度優(yōu)先搜索遍歷:ABXFYDEC寬度優(yōu)先搜索遍歷:ABCDXEYF5 畫出廣義表 D=( ),x,(a,(b,c)的結(jié)構(gòu),并寫出廣義表類型定義。;#define ATOM 0#define LIST 1 typedef enum/后繼結(jié)點結(jié)構(gòu) struct GLNodeElemTag tag; unionatom;ATOM,ElemTag;LIST/表頭表尾結(jié)構(gòu) struct GLNodeEl
3、emTag tag; unionatom; structstruct GLNode *hp; struct GLNode *tp;ptr;/原子結(jié)點的值域struct GLNode *hp;struct GLNode *tp;/區(qū)分原子結(jié)點表結(jié)點/表結(jié)點的頭指針/下一個元素結(jié)點采用后繼結(jié)點的結(jié)構(gòu)6. 分別畫出一個 B 樹和 B+樹的例子,并它們之間的區(qū)別。(6 分)第 1 頁 共 5頁B 樹與 B+樹的區(qū)別:1) B 樹:每個結(jié)點的關(guān)鍵字個數(shù)等于指針個數(shù)減 1。 B+樹:每個結(jié)點的關(guān)鍵字個數(shù)等于指針個數(shù)。2) B+樹中所有葉子結(jié)點包含了全部關(guān)鍵字信息,以及指向關(guān)鍵字的指針,葉子節(jié)點依關(guān)鍵字大小
4、自小到大。非終端結(jié)點作索引,結(jié)點中含有其子樹根結(jié)點的最大(最?。╆P(guān)鍵字。7. 你知道有哪些排序算法?試比較各種排序算法的性能。(8 分)8設(shè)一組關(guān)鍵字為(7,15,20,31,48,53,64,76,82,99),Hash 函數(shù)H(key)= key% 11,Hash 表表長 m=11,用線性探測法解決,試構(gòu)造Hash 表,并分別計算查找成功和查找失敗情況下的平均查找長度。(8 分)7%11=7找 1 次成功15%11=4找 1 次成功查76%11=10 10+1+1+1-11=2查找 4 次成功82%11=55+1=6成功查找 2 次查99%11=00+1+1+1=3查找 4 次成功20%1
5、1=9找 1 次成功查查找成功時的平均查找長度: (1+1+1+2+2+3+4+4+2+4)/10=2.4查找失敗的平均查找長度:(1+2+3+4+5+6+7+8+9+10+11)/11=631%11=9功9+1=10查找 2 次成48%11=4功4+1 =5查找 2 次成53%11=99+1+1-11=0查找 3 次成功64%11=99+1+1+1-11=1查找 4 次成功二、簡述利用 Dijkstra 算法求解從某頂點到其余各頂點最短路徑的步驟。Dijkstra 算法:(1)求解順序:按最短路徑遞增的順序求解。(2)到某個定點的最短路徑找到后,它對其余頂點當(dāng)前最短路徑的影響。第 2 頁 共
6、 5頁選擇排序O(n2)O(1)不穩(wěn)定堆排序O(nlogn)O(1)不穩(wěn)定歸并排序O(nlogn)O(n)穩(wěn)定基數(shù)排序O(d(n+rd)O(rd)不穩(wěn)定排序算法時間復(fù)雜度空間復(fù)雜度穩(wěn)定性直接排序O(n2)O(1)穩(wěn)定冒泡排序O(n2)O(1)穩(wěn)定快速排序O(nlogn)O(logn)不穩(wěn)定算法步驟:1)設(shè) arcs帶權(quán)有向圖的邊的權(quán)值,v 為出發(fā)頂點,S 為已找到的從 v 出發(fā)的最短路徑的終點集合,開始為空。從 v 出發(fā)到圖中其余頂點 vi 最短路徑長度初始值為 Di=arcsoi o, i 為 v, vi 的位置選擇 vj,使得 Dj=MinDi| viV-S vj 是從v 出發(fā)的最短路徑的
7、終點。S=Sj修改從 v 出發(fā)到集合 V-S 任一頂點 vk 可達(dá)的最短路徑長度。如果 Dj+arcsjkDk,則 Dk= Dj+arcsjk。重復(fù) 2,3 n-1 次,由此求出從 v 到其它頂點的最短路徑。三、試編寫歸并排序算法。(12 分)TR1s = SRs;elsem = (s+t)/2; /SRs.t平分為SRs.m和 SRm+1.tMSort(SR,TR2,s,m);/遞歸地將SRs.m歸并為有序的TR2s.mMSort(SR,TR2,m+1,t); /遞歸地將SRm+1.t歸并為有序的TR2m+1.t Merge(TR2,TR1,s,m,t); /將TR2s.m和TR2m+1.t
8、歸并到TR1s.t#include /將有序的SRi.m和SRm+1.n歸并為有序的TRi.nvoid Merge( n)j,k; j = m+1; k = i;SR,TR,i,m,while(i=m & j=n) if(SRi=SRj)TRk+ = SRi+;elseTRk+ = SRj+;while(i=m) TRk+ = SRi+;while(j=n) TRk+ = SRj+;/主函數(shù),調(diào)用歸并排序MSort void main()s10 = 2,6,7,4,5,10,9,1,3,8;MSort(s,s,0,9); i;for(i=0;i10;i+)/將SRs.t歸并排序為TR1s.tp
9、rf(%d , si);void MSort(SR,m; TR210;if(s = t)TR1,s,t)第 3 頁共 5頁四、試編寫一個算法將線性表 L 中的數(shù)據(jù)建立一棵二叉排序樹。(12 分)for(i=1; il.length; i+)p = root;while(p != NULL) /新結(jié)點定位 if(l.elemidata)q = p;p = p-lchild;else if(l.elemip-data)q = p;p = p-rchild;else/該值已在排序樹中出現(xiàn),不再 break;if(p = NULL)r = (BiTNode*) malloc(sizeof(BiTNod
10、e); r-data = l.elemi;r-lchild = NULL;r-rchild = NULL;/生成新結(jié)點 if(l.elemidata)q-lchild = r; elseq-rchild = r; /新結(jié)點作q 的葉子結(jié)點/線性表結(jié)點typedef struct SqList* elem; length; listsize; SqList;/二叉樹結(jié)點typedef struct BiTNodedata;struct BiTNode *lchild, *rchild; BiTNode;/建立二叉排序樹void CreateBST(SqList l, BiTNode* &root)i;BiTNode *p, *q, *r; if(l.lenght=0)root = NULL; return;root =(BiTNode*) malloc(sizeof(BiTNode); root-data = l.elem0;root-lchild=root-rchild=NULL; /二叉排序樹的根節(jié)點五、設(shè)單鏈表 L 中的結(jié)點按 data 域數(shù)值遞減排列,試設(shè)計一個算法將 L 中的結(jié)點按 data 域數(shù)值遞增加排列,要求算法的時間復(fù)雜性為 O(n)。(12 分)void TraverseList(LN
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工船舶避風(fēng)協(xié)議書
- 月子中心入住協(xié)議書
- 活力林木買賣協(xié)議書
- 施工破壞補(bǔ)償協(xié)議書
- 攤位招租代理協(xié)議書
- 民辦院校股東協(xié)議書
- 材料供應(yīng)擔(dān)保協(xié)議書
- 注冊代表資格協(xié)議書
- 涂料轉(zhuǎn)包個人協(xié)議書
- 法律薪酬保密協(xié)議書
- 防臺防汛培訓(xùn)課件教學(xué)
- 新疆維吾爾自治區(qū)體廢物動態(tài)信息管理平臺操作手冊
- 物流園區(qū)發(fā)展模式-全面剖析
- 中國鐵路青藏集團(tuán)有限公司招聘普通高校真題2024
- XX公司事故隱患內(nèi)部報告獎勵制度1
- 附件6工貿(mào)高風(fēng)險企業(yè)高危領(lǐng)域較大以上安全風(fēng)險管控清單
- 國際貿(mào)易公司后勤管理崗位職責(zé)
- 中國礦業(yè)大學(xué)專職輔導(dǎo)員招聘真題2024
- 骨科手術(shù)切口感染的預(yù)防與控制
- 2025年角膜接觸鏡考試題及答案
- 透析營養(yǎng)不良相關(guān)知識
評論
0/150
提交評論