




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
v1.0可編輯可修改v1.0可編輯可修改PAGEPAGEII-PAGEII-v1.0可編輯可修改PAGE數(shù)據(jù)結(jié)(Java版)(第2版)習(xí)題解答葉核亞編著目錄TOC\h\z\t"標(biāo)題1,1,例題,4"第0章Java程序設(shè)計(jì)基礎(chǔ) 1【習(xí)0.1】實(shí)驗(yàn)哥德巴赫猜想。 1【習(xí)0.2】實(shí)驗(yàn)楊輝三角形。 1【習(xí)0.3】實(shí)驗(yàn)金額的中文大寫形式。 1【習(xí)0.4】實(shí)驗(yàn)下標(biāo)和相等的數(shù)字方陣。 1第6章樹(shù)和二叉樹(shù) 3【習(xí)6.1】畫(huà)出3個(gè)結(jié)點(diǎn)的各種形態(tài)的樹(shù)和二叉樹(shù)。 3【習(xí)6.2】找出分別滿足下面條件的所有二叉樹(shù)。 3【習(xí)6.3】輸出葉子結(jié)點(diǎn)。 3【習(xí)6.4】實(shí)驗(yàn)單鏈表的全部替換操作。 4【習(xí)6.5】實(shí)驗(yàn)單鏈表的全部刪除操作。 4【習(xí)6.6】折半查找的遞歸算法。 5【習(xí)6.7】二叉排序樹(shù)查找的遞歸算法。 6【習(xí)6.8】二叉排序樹(shù)插入結(jié)點(diǎn)的非遞歸算法。 7【習(xí)6.9】判斷一棵二叉樹(shù)是否為二叉排序樹(shù)。 8第7章排序 10【習(xí)7.1】判斷一個(gè)數(shù)據(jù)序列是否為最小堆序列。 10【習(xí)7.2】歸并兩條排序的單鏈表。 10【習(xí)7.3】說(shuō)明二叉排序樹(shù)與堆的差別。 12TOC\h\z\t"圖題,4"圖0.1下標(biāo)和相等的數(shù)字方陣算法描述 1圖6.13個(gè)結(jié)點(diǎn)樹(shù)和二叉樹(shù)的形態(tài) 3圖6.2單支二叉樹(shù) 3圖7.2歸并兩條排序的單鏈表 11TOC\h\z\t"表題,4"表0.1intn=4; ength;j++)8.2.18.2.1 2-PAGE12-Java程序設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)哥德巴赫猜想。實(shí)驗(yàn)楊輝三角形。實(shí)驗(yàn)金額的中文大寫形式。實(shí)驗(yàn)下標(biāo)和相等的數(shù)字方陣。輸出下列方陣(當(dāng)n=4時(shí))。1 2 6 7或 1 3 4 103 5 8 13 2 5 9 114 9 12 14 6 8 12 1510 11 15 16 7 13 14 16采用二維數(shù)組實(shí)現(xiàn)。二維數(shù)組中,每一條斜線上各元素下標(biāo)和相等,如圖所示。下標(biāo)和相等的數(shù)字方陣算法描述程序如下。publicclassUpmat{publicstaticvoidmain(Stringargs[]){intn=4; ength;j++) 8.2.18.2.1ength,;for(inti=0;i<i++)for(intj=0;j<[i].length;j++)[j][i]=[i][j];returntrans;}樹(shù)和二叉樹(shù)畫(huà)出3個(gè)結(jié)點(diǎn)的各種形態(tài)的樹(shù)和二叉樹(shù)。3個(gè)結(jié)點(diǎn)的樹(shù)有2種形態(tài),3個(gè)結(jié)點(diǎn)的二叉樹(shù)有5種形態(tài),如圖所示。3個(gè)結(jié)點(diǎn)樹(shù)和二叉樹(shù)的形態(tài)找出分別滿足下面條件的所有二叉樹(shù)。先根遍歷序列和中根遍歷序列相同:右單支二叉樹(shù),如圖(a)所示。中根遍歷序列和后根遍歷序列相同:左單支二叉樹(shù),如圖(b)所示。先根遍歷序列和后根遍歷序列相同:空樹(shù),只有一個(gè)根結(jié)點(diǎn)的二叉樹(shù)。單支二叉樹(shù)輸出葉子結(jié)點(diǎn)。在BinaryTree類中增加以下方法。publicvoidleaf() quals(i))))returnfalse;returntrue;}returnfalse;}實(shí)驗(yàn)單鏈表的全部替換操作。在SinglyLinkedList單鏈表類中,增加替換操作方法如下。publicbooleanreplace(Objectobj,Eelement) //詳見(jiàn)實(shí)驗(yàn)publicbooleanreplaceAll(Objectobj,Eelement)//將所有元素值為obj的結(jié)點(diǎn)值替換為element{ //若替換成功返回true,否則返回falsebooleandone=false;if(obj!=null&&element!=null){Node<E>p=;while(p!=null){if){=element;done=true;}p=;}}returndone;}實(shí)驗(yàn)單鏈表的全部刪除操作。在SinglyLinkedList單鏈表類中,增加刪除操作方法如下。publicbooleanremoveAll(Objectobj) //將所有元素值為obj的結(jié)點(diǎn)刪除{if==null||obj==null)returnfalse;booleandone=false;while!=null&&{= //頭刪除done=true;}Node<E>front=,p=;while(p!=null)if){=; //刪除p結(jié)點(diǎn)p=;done=true;}else{front=p;p=;}returndone;}折半查找的遞歸算法。publicstaticintbinarySearch(int[]table,intvalue) //折半查找算法,數(shù)組元素已按升序排列{ //若查找成功返回元素下標(biāo),否則返回-1if(table!=null)returnbinarySearch(table,value,0,;return-1;}privatestaticintbinarySearch(int[]table,intvalue,intlow,inthigh) //折半查找,遞歸算法{ //low、high指定查找范圍的下界和上界if(low<=high) //邊界有效{intmid=(low+high)/2; //中間位置,當(dāng)前比較元素位置"");if(table[mid]==value)returnmid; //查找成功elseif(table[mid]>value) //給定值小returnbinarySearch(table,value,low,mid-1); //查找范圍縮小到前半段elsereturnbinarySearch(table,value,mid+1,high); //查找范圍縮小到后半段}return-1;}二叉排序樹(shù)查找的遞歸算法。將二叉排序樹(shù)類BinarySortTree中的search(value)方法替換為以下方法。publicBinaryNode<E>searchNode(Evalue) //查找值為value的結(jié)點(diǎn){ //若查找成功返回結(jié)點(diǎn),否則返回nullif(value==null||!(valueinstanceofComparable))returnnull;returnsearchNode(value,root);}privateBinaryNode<E>searchNode(Evalue,BinaryNode<E>p)//查找值為value的結(jié)點(diǎn),遞歸算法{if(p!=null){Comparablecmpobj=(Comparable)value;if==0) //若兩個(gè)對(duì)象相等,查找成功returnp;"");if<0)returnsearchNode(value,; //在左子樹(shù)中查找elsereturnsearchNode(value,; //在右子樹(shù)中查找}returnnull;}二叉排序樹(shù)插入結(jié)點(diǎn)的非遞歸算法。將二叉排序樹(shù)類BinarySortTree中的insert(value)方法替換為以下方法。publicbooleaninsertNode(Evalue) //插入結(jié)點(diǎn),非遞歸算法{if(value==null||!(valueinstanceofComparable))returnfalse;if(root==null)root=newBinaryNode<E>(value); //建立根結(jié)點(diǎn)else{BinaryNode<E>p=,parent=null;Comparablecmpobj=(Comparable)value;while(p!=null){parent=p;if==0)returnfalse; //不插入重復(fù)關(guān)鍵字if<0)p=;elsep=;}p=newBinaryNode<E>(value); //建立葉子結(jié)點(diǎn)pif<0)=p; //p作為parent的左孩子else=p; //p作為parent的右孩子}returntrue;}判斷一棵二叉樹(shù)是否為二叉排序樹(shù)。將二叉樹(shù)類BinaryTree中增加以下方法。publicbooleanisSorted() //判斷一棵二叉樹(shù)是否為二叉排序樹(shù){returnisSorted;}publicbooleanisSorted(BinaryNode<E>p){booleanyes=true;if(p!=null){if(!instanceofComparable))returnfalse;Comparablecmpobj=(Comparable);if(==null||!=null&&&&==null||!=null&&{yes=isSorted;if(yes)yes=isSorted;}elseyes=false;}returnyes;}排序判斷一個(gè)數(shù)據(jù)序列是否為最小堆序列。publicstaticbooleanisMinHeap(int[]table) //判斷一個(gè)數(shù)據(jù)序列是否為最小堆{if(table==null)returnfalse;inti=2-1; //最深一棵子樹(shù)的根結(jié)點(diǎn)while(i>=0){intj=2*i+1; //左孩子if(j<if(table[i]>table[j])returnfalse;elseif(j+1<&&table[i]>table[j+1]) //右孩子returnfalse;i--;}returntrue;}歸并兩條排序的單鏈表。使用一趟歸并排序算法,將兩條排序的單鏈表合并成一條排序的單鏈表。算法描述如圖所示。歸并兩條排序的單鏈表在帶頭結(jié)點(diǎn)的單鏈表類SortedHSLinkedList中,增加merge()方法如下:publicvoidmerge(SortedHSLinkedList<E
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年羊羊大戰(zhàn)幼兒園大班標(biāo)準(zhǔn)教案
- 高中數(shù)學(xué) 第一章 相似三角形的判定及有關(guān)性 1.1 平行線等分線段定理教學(xué)實(shí)錄設(shè)計(jì) 新人教A版選修4-1
- 2025年朔州貨運(yùn)上崗證考試題
- 2025年上海貨運(yùn)從業(yè)資格證試題庫(kù)和答案解析
- 第3課+古代西亞、非洲文化高二下學(xué)期歷史統(tǒng)編版(2019)選擇性必修3
- “成于大氣 信達(dá)天下”-成信校史課程知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春成都信息工程大學(xué)
- 導(dǎo)言課 教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史上冊(cè)
- Unit5 Section A(1a-2c)教學(xué)設(shè)計(jì) 2024-2025學(xué)年人教版英語(yǔ)八年級(jí)上冊(cè)
- 廣東省陽(yáng)江市高新區(qū)2024-2025學(xué)年高一上學(xué)期1月期末物理試題(解析版)
- 廣東省江門市2023-2024學(xué)年高一上學(xué)期1月期末物理試題(一)(解析版)
- 2025年呼和浩特職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)及參考答案
- 2025山西國(guó)際能源集團(tuán)有限公司所屬企業(yè)社會(huì)招聘258人筆試參考題庫(kù)附帶答案詳解
- 中國(guó)卒中學(xué)會(huì)急性缺血性卒中再灌注治療指南+2024解讀
- 中國(guó)心力衰竭診斷和治療指南2024解讀(完整版)
- 方太電烤箱KQD50F-01使用說(shuō)明書(shū)
- 銅陵職業(yè)技術(shù)學(xué)院“十三五”發(fā)展規(guī)劃編制工作方案
- EDTA絡(luò)合滴定法測(cè)定銀合金中的銀
- 某屠宰場(chǎng)廢水處理工藝設(shè)計(jì)_畢業(yè)設(shè)計(jì)(論文)
- 江蘇省無(wú)錫市2020年中考語(yǔ)文真題試題(含解析)
- 癌癥患者生命質(zhì)量量表FACT-G v4
- 李清照詞修辭現(xiàn)象探析畢業(yè)論文
評(píng)論
0/150
提交評(píng)論