




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第 1 章 緒 論(2005-07-14 -第 1 章 緒 論課后習題講解1. 填空( 是數(shù)據(jù)的基本單位,在計算機程序中通常作為一個整體進行考慮和處理。【解答】數(shù)據(jù)元素( 是數(shù)據(jù)的最小單位,( 是討論數(shù)據(jù)結構時涉及的最小數(shù)據(jù)單位?!窘獯稹繑?shù)據(jù)項,數(shù)據(jù)元素【分析】數(shù)據(jù)結構指的是數(shù)據(jù)元素以及數(shù)據(jù)元素之間的關系。 從邏輯關系上講,數(shù)據(jù)結構主要分為( 、( 、( 和( 。【解答】集合,線性結構,樹結構,圖結構 數(shù)據(jù)的存儲結構主要有( 和( 兩種基本方法,不論哪種存儲結構,都要存儲兩方面的內(nèi)容:( 和( ?!窘獯稹宽樞虼鎯Y構,鏈接存儲結構,數(shù)據(jù)元素,數(shù)據(jù)元素之間的關系 算法具有五個特性,分別是( 、(
2、 、( 、( 、( 。【解答】有零個或多個輸入,有一個或多個輸出,有窮性,確定性,可行性 算法的描述方法通常有( 、( 、( 和( 四種,其中,( 被稱為算法語言。【解答】自然語言,程序設計語言,流程圖,偽代碼,偽代碼 在一般情況下,一個算法的時間復雜度是( 的函數(shù)?!窘獯稹繂栴}規(guī)模 設待處理問題的規(guī)模為n,若一個算法的時間復雜度為一個常數(shù),則表示成數(shù)量級的形式為( ,若為n*log25n,則表示成數(shù)量級的形式為( ?!窘獯稹?1,(nlog2n【分析】用大O記號表示算法的時間復雜度,需要將低次冪去掉,將最高次冪的系數(shù)去掉。2. 選擇題 順序存儲結構中數(shù)據(jù)元素之間的邏輯關系是由( 表示的,鏈接
3、存儲結構中的數(shù)據(jù)元素之間的邏輯關系是由( 表示的。A 線性結構B 非線性結構C 存儲位置D 指針【解答】C,D【分析】順序存儲結構就是用一維數(shù)組存儲數(shù)據(jù)結構中的數(shù)據(jù)元素,其邏輯關系由存儲位置(即元素在數(shù)組中的下標表示;鏈接存儲結構中一個數(shù)據(jù)元素對應鏈表中的一個結點,元素之間的邏輯關系由結點中的指針表示。 假設有如下遺產(chǎn)繼承規(guī)則:丈夫和妻子可以相互繼承遺產(chǎn);子女可以繼承父親或母親的遺產(chǎn);子女間不能相互繼承。則表示該遺產(chǎn)繼承關系的最合適的數(shù)據(jù)結構應該是( 。A 樹B 圖C 線性表D 集合【解答】B【分析】將丈夫、妻子和子女分別作為數(shù)據(jù)元素,根據(jù)題意畫出邏輯結構圖。 算法指的是( 。A 對特定問題求
4、解步驟的一種描述,是指令的有限序列。B 計算機程序C 解決問題的計算方法D 數(shù)據(jù)處理【解答】A【分析】計算機程序是對算法的具體實現(xiàn);簡單地說,算法是解決問題的方法;數(shù)據(jù)處理是通過算法完成的。所以,只有A是算法的準確定義。 下面( 不是算法所必須具備的特性。A 有窮性B 確切性C 高效性D 可行性【解答】C【分析】高效性是好算法應具備的特性。 算法分析的目的是( ,算法分析的兩個主要方面是( 。A 找出數(shù)據(jù)結構的合理性B 研究算法中輸入和輸出的關系C 分析算法的效率以求改進D 分析算法的易讀性和文檔性E 空間性能和時間性能F 正確性和簡明性G 可讀性和文檔性 H 數(shù)據(jù)復雜性和程序復雜性【解答】C
5、,E3. 判斷題 算法的時間復雜度都要通過算法中的基本語句的執(zhí)行次數(shù)來確定?!窘獯稹垮e。時間復雜度要通過算法中基本語句執(zhí)行次數(shù)的數(shù)量級來確定。 每種數(shù)據(jù)結構都具備三個基本操作:插入、刪除和查找?!窘獯稹垮e。如數(shù)組就沒有插入和刪除操作。此題注意是每種數(shù)據(jù)結構。 所謂數(shù)據(jù)的邏輯結構指的是數(shù)據(jù)之間的邏輯關系?!窘獯稹垮e。是數(shù)據(jù)之間的邏輯關系的整體。 邏輯結構與數(shù)據(jù)元素本身的內(nèi)容和形式無關?!窘獯稹繉ΑR虼诉壿嫿Y構是數(shù)據(jù)組織的主要方面。 基于某種邏輯結構之上的基本操作,其實現(xiàn)是唯一的?!窘獯稹垮e?;静僮鞯膶崿F(xiàn)是基于某種存儲結構設計的,因而不是唯一的。4. 分析以下各程序段,并用大O記號表示其執(zhí)行時間
6、?!窘獯稹?基本語句是k=k+10*i,共執(zhí)行了n-2次,所以T(n=O(n。 基本語句是k=k+10*i,共執(zhí)行了n次,所以T(n=O(n。 分析條件語句,每循環(huán)一次,i+j 整體加1,共循環(huán)n次,所以T(n=O(n。 設循環(huán)體共執(zhí)行T(n次,每循環(huán)一次,循環(huán)變量y加1,最終T(n=y,即:(T(n+12n,所以T(n=O(n1/2。 x+是基本語句,所以5.設有數(shù)據(jù)結構(D,R,其中D=1, 2, 3, 4, 5,6,R=(1,2,(2,3,(2,4,(3,4,(3,5,(3,6,(4,5,(4,6。試畫出其邏輯結構圖并指出屬于何種結構?!窘獯稹科溥壿嫿Y構圖如圖1-3所示,它是一種圖結構。
7、6. 為整數(shù)定義一個抽象數(shù)據(jù)類型,包含整數(shù)的常見運算,每個運算對應一個基本操作,每個基本操作的接口需定義前置條件、輸入、功能、輸出和后置條件?!窘獯稹空麛?shù)的抽象數(shù)據(jù)類型定義如下:ADT integerData整數(shù)a:可以是正整數(shù)(1, 2, 3, 、負整數(shù)(-1, -2, -3, 和零OperationConstructor前置條件:整數(shù)a不存在輸入:一個整數(shù)b功能:構造一個與輸入值相同的整數(shù)輸出:無后置條件:整數(shù)a具有輸入的值Set前置條件:存在一個整數(shù)a輸入:一個整數(shù)b功能:修改整數(shù)a的值,使之與輸入的整數(shù)值相同輸出:無后置條件:整數(shù)a的值發(fā)生改變Add前置條件:存在一個整數(shù)a輸入:一個整
8、數(shù)b功能:將整數(shù)a與輸入的整數(shù)b相加輸出:相加后的結果后置條件:整數(shù)a的值發(fā)生改變Sub前置條件:存在一個整數(shù)a輸入:一個整數(shù)b功能:將整數(shù)a與輸入的整數(shù)b相減輸出:相減的結果后置條件:整數(shù)a的值發(fā)生改變Multi前置條件:存在一個整數(shù)a輸入:一個整數(shù)b功能:將整數(shù)a與輸入的整數(shù)b相乘輸出:相乘的結果后置條件:整數(shù)a的值發(fā)生改變Div前置條件:存在一個整數(shù)a輸入:一個整數(shù)b功能:將整數(shù)a與輸入的整數(shù)b相除輸出:若整數(shù)b為零,則拋出除零異常,否則輸出相除的結果后置條件:整數(shù)a的值發(fā)生改變Mod前置條件:存在一個整數(shù)a輸入:一個整數(shù)b功能:求當前整數(shù)與輸入整數(shù)的模,即正的余數(shù)輸出:若整數(shù)b為零,則
9、拋出除零異常,否則輸出取模的結果后置條件:整數(shù)a的值發(fā)生改變Equal前置條件:存在一個整數(shù)a輸入:一個整數(shù)b功能:判斷整數(shù)a與輸入的整數(shù)b是否相等輸出:若相等返回1,否則返回0后置條件:整數(shù)a的值不發(fā)生改變endADT7. 求多項式A(x的算法可根據(jù)下列兩個公式之一來設計: A(x=anxn+an-1xn-1+a1x+a0 A(x=(anx+an-1x+a1x+a0根據(jù)算法的時間復雜度分析比較這兩種算法的優(yōu)劣?!窘獯稹康诙N算法的時間性能要好些。第一種算法需執(zhí)行大量的乘法運算,而第二種算法進行了優(yōu)化,減少了不必要的乘法運算。8. 算法設計(要求:算法用偽代碼和C+描述,并分析最壞情況下的時間
10、復雜度 對一個整型數(shù)組An設計一個排序算法。【解答】下面是簡單選擇排序算法的偽代碼描述。下面是簡單選擇排序算法的C+描述。The Home of jetmambo - 第 1 章 緒 論 分析算法,有兩層嵌套的for循環(huán),所以, 。 找出整型數(shù)組An中元素的最大值和次最大值。 【解答】算法的偽代碼描述如下: 算法的C+描述如下: 分析算法,只有一層循環(huán),共執(zhí)行n-2次,所以,T(n=O(n。 學習自測及答案 1順序存儲結構的特點是( ),鏈接存儲結構的特點是( )。 【解答】用元素在存儲器中的相對位置來表示數(shù)據(jù)元素之間的邏輯關系,用指示元素存儲地址的指針表示數(shù)據(jù)元 素之間的邏輯關系。 2. 算
11、法在發(fā)生非法操作時可以作出處理的特性稱為( )。 【解答】健壯性 3. 常見的算法時間復雜度用大記號表示為:常數(shù)階( 、對數(shù)階( 、線性階 ( 、平方階( 和指數(shù)階( 。 【解答】(1,(log2n,(n,(n2,(2n 4將下列函數(shù)按它們在n 時的無窮大階數(shù),從小到大排列。 n, n-n3+7n5, nlogn, 2n/2, n3, log2n, n1/2+log2n, (3/2n, n!, n2+log2n 【解答】log2n, n1/2+log2n, n, nlog2n, n2+log2n, n3, n-n3+7n5, 2n/2, (3/2n, n! page: 6 The Home o
12、f jetmambo - 第 1 章 緒 論 5試描述數(shù)據(jù)結構和抽象數(shù)據(jù)類型的概念與程序設計語言中數(shù)據(jù)類型概念的區(qū)別。 【解答】數(shù)據(jù)結構是指相互之間存在一定關系的數(shù)據(jù)元素的集合。而抽象數(shù)據(jù)類型是指一個數(shù)據(jù)結構以及定義在 該結構上的一組操作。程序設計語言中的數(shù)據(jù)類型是一個值的集合和定義在這個值集上一組操作的總稱。抽象數(shù) 據(jù)類型可以看成是對數(shù)據(jù)類型的一種抽象。 6. 對下列用二元組表示的數(shù)據(jù)結構,試分別畫出對應的邏輯結構圖,并指出屬于何種結構。 A=(D,R, 其中D=a1, a2, a3, a4,R= B=(D,R, 其中D=a, b, c, d, e, f,R=, C=( D,R,其中D=a,b,c,d,e,f,R=, D=(D,R, 其中D=1, 2, 3, 4, 5, 6, R=(1, 2,(1, 4,(2, 3,(2, 4,(3, 4,(3, 5,(3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 糧食生產(chǎn)與儲備的智能化綜合調(diào)度系統(tǒng)
- 物聯(lián)網(wǎng)在糧食儲備管理中的應用探索
- 推動非遺保護傳承未來展望及發(fā)展趨勢
- 探索醫(yī)體融合的背景意義及必要性
- 2025授權培訓合同模板范文
- 中秋節(jié)與農(nóng)耕文化
- 2025合同模板簽證代辦服務合同樣本
- 共創(chuàng)綠色明天
- 高中生活全方位探索
- 內(nèi)科腹腔穿刺術護理
- 醫(yī)院中央空調(diào)系統(tǒng)運行管理制度
- 2022年內(nèi)蒙古自治區(qū)高等職業(yè)院校對口招收中等職業(yè)學校畢業(yè)生單獨考試英語試卷
- 第15課 兩次鴉片戰(zhàn)爭 說課稿 -2024-2025學年高一統(tǒng)編版2019必修中外歷史綱要上冊
- DB36-T 1987-2024 公路工程建設項目首件工程制實施管理指南
- DB32/T 4880-2024民用建筑碳排放計算標準
- 地上停車位出租協(xié)議
- 勞動與社會保障專業(yè)大學生職業(yè)生涯發(fā)展
- 外研版(三起)小學英語三年級下冊Unit 1 Animal friends Get ready start up 課件
- 讀后續(xù)寫+原諒之花綻放在童真的田野上+講義 高一下學期7月期末英語試題
- 導數(shù)中的同構問題【八大題型】解析版-2025年新高考數(shù)學一輪復習
- 2024年中國海鮮水餃市場調(diào)查研究報告
評論
0/150
提交評論