




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1DataStructuresandAlgorithmsAnalysis數(shù)據(jù)結(jié)構(gòu)與算法分析2
第一章緒論
1.1
引言
1.2數(shù)據(jù)結(jié)構(gòu)的有關(guān)基本概念;
1.3算法及算法分析(算法評價)
3數(shù)據(jù)結(jié)構(gòu)的發(fā)展概況和地位《數(shù)據(jù)結(jié)構(gòu)》作為一門獨立的課程在國外是從1968年才開始的?!稊?shù)據(jù)結(jié)構(gòu)》是計算機(jī)科學(xué)中一門綜合性的專業(yè)基礎(chǔ)課。4程序=算法+數(shù)據(jù)結(jié)構(gòu)程序是對所要解決問題的各個對象和處理規(guī)則的描述,或者說是數(shù)據(jù)結(jié)構(gòu)和算法的描述(NiklausWirth1984)5課程地位計算機(jī)科學(xué)與技術(shù)專業(yè)本科生的專業(yè)基礎(chǔ)課程之一計算機(jī)專業(yè)本科生必修的學(xué)位課程計算機(jī)專業(yè)研究生入學(xué)考試必考科目計算機(jī)軟件技術(shù)資格和水平考試內(nèi)容全國計算機(jī)等級考試(三級、四級)內(nèi)容6課程地位(續(xù))為操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、編譯原理、計算機(jī)網(wǎng)絡(luò)等后續(xù)課程提供了必要的知識基礎(chǔ)為提高程序設(shè)計能力、邏輯思維能力和分析問題、解決問題的能力提供了必要的技能訓(xùn)練7本課程研究的問題數(shù)據(jù):數(shù)據(jù)是信息的載體,是描述客觀事物的數(shù)、字符、以及所有能輸入到計算機(jī)中,被計算機(jī)程序識別和處理的符號的集合。數(shù)值性數(shù)據(jù)非數(shù)值性數(shù)據(jù)數(shù)值問題—對以數(shù)學(xué)方式表示的問題求數(shù)值解。例如,代數(shù)方程計算、矩陣計算、線性方程組求解、數(shù)值積分、微分方程求解等;非數(shù)值問題—求非數(shù)值解。例如,排序查找、模式匹配等。數(shù)據(jù)結(jié)構(gòu)的研究問題:非數(shù)值數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系,及如何表示,如何存儲,如何處理8
數(shù)值問題與非數(shù)值問題1)數(shù)值問題例1已知:游泳池的長len和寬wide,求面積area◆設(shè)計求解問題的方法◆編程main(){ intlen,wide,area;
scanf(“%d%d%\n”,&l,&w);
area=len*wide;
printf(“area=%d”,area);}◆
建模型:
問題涉及的對象:游泳池的長len寬wide,面積area;
對象之間的關(guān)系:area=lenwide9例3多叉路口交通燈管理問題CEDABABACADBABCBDDADBDCEAEBECED圖10學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的必要性數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)的組織 更有效的程序計算機(jī)功能越強(qiáng)大嘗試更復(fù)雜的問題(應(yīng)用)更復(fù)雜的問題需要更大的計算量工作越復(fù)雜就越偏離人們的日常經(jīng)驗11數(shù)據(jù)的組織對于任意組織的一組數(shù)據(jù)項能夠查找出指定的數(shù)據(jù)項,將這些數(shù)據(jù)項處理成任何期望得到的順序,或者更改任何特定數(shù)據(jù)項的值。同一個程序,選擇不同的數(shù)據(jù)結(jié)構(gòu)和算法可能會產(chǎn)生很大的差異,有的可能在幾秒鐘就運行完畢,也有可能需要幾天時間才能完成。12效率Efficiency一種解決方案如果能在所要求的資源限制(resourceconstraints)內(nèi)將問題解決好,則稱該算法是有效率的(efficient)空間Space時間Time一種算法的代價(cost)是指這種算法消耗的資源量13數(shù)據(jù)結(jié)構(gòu)的選擇選擇數(shù)據(jù)結(jié)構(gòu)的步驟:分析問題,以確定解決方案會遇到的資源限制確定必須支持的基本操作,并度量每種操作的資源限制選擇最適合這些需求的數(shù)據(jù)結(jié)構(gòu)14考慮的問題開始時是將所有數(shù)據(jù)都插入數(shù)據(jù)結(jié)構(gòu),還是與其它操作混合在一起插入?數(shù)據(jù)是否要刪除?所有數(shù)據(jù)是按一些定義明確的順序來處理,還是允許隨機(jī)訪問?15數(shù)據(jù)結(jié)構(gòu)的原則每個數(shù)據(jù)結(jié)構(gòu)都將代價與效益聯(lián)系在一起很少有一個數(shù)據(jù)結(jié)構(gòu)在所有情況下都比其它算法好一個數(shù)據(jù)結(jié)構(gòu)需要:一定的空間存儲它的每一個數(shù)據(jù)項,一定的時間來執(zhí)行單個基本操作,一定的程序設(shè)計工作。16數(shù)據(jù)結(jié)構(gòu)的原則(cont)每一個問題都有可利用空間和時間的約束只有對問題的特性進(jìn)行仔細(xì)分析之后,才能得到執(zhí)行這項任務(wù)最好的數(shù)據(jù)結(jié)構(gòu)。一個銀行業(yè)務(wù)的例子:新開帳戶:花費幾分鐘交易:幾秒鐘注銷帳戶:整夜17課程的目的加強(qiáng)一個概念:每一個數(shù)據(jù)結(jié)構(gòu)都有其相關(guān)的代價和效益學(xué)會常用的數(shù)據(jù)結(jié)構(gòu)這些數(shù)據(jù)結(jié)構(gòu)形成了一個程序員的基本數(shù)據(jù)結(jié)構(gòu)工具箱了解如何評價一個數(shù)據(jù)結(jié)構(gòu)或算法的代價(cost)這些技術(shù)也使得程序員能夠判斷自己或別人發(fā)明的新數(shù)據(jù)結(jié)構(gòu)的價值。18教學(xué)目的學(xué)會分析研究計算機(jī)加工的數(shù)據(jù)結(jié)構(gòu)的特性,以便為應(yīng)用涉及的數(shù)據(jù)選擇適當(dāng)?shù)倪壿嫿Y(jié)構(gòu)、存儲結(jié)構(gòu)及相應(yīng)的算法,并初步掌握算法的時間分析和空間分析技術(shù)本課程的學(xué)習(xí)過程也是復(fù)雜程序設(shè)計的訓(xùn)練過程,要求學(xué)生編寫的程序結(jié)構(gòu)清楚和正確易讀,符合軟件工程的規(guī)范。為今后的程序設(shè)計作一些鋪墊19
第一章緒論
1.1
引言
1.2數(shù)據(jù)結(jié)構(gòu)的有關(guān)基本概念
1.3算法及算法分析(算法評價)
20術(shù)語類型(type)是一組值的集合數(shù)據(jù)項(dataitemorelement)是一條信息或者一個記錄數(shù)據(jù)類型(datatype)是指一種類型和定義在該類型上的一組操作數(shù)據(jù)項又稱為數(shù)據(jù)類型的成員簡單數(shù)據(jù)項不包含子結(jié)構(gòu)復(fù)雜數(shù)據(jù)項可能包含多項信息21抽象數(shù)據(jù)類型抽象數(shù)據(jù)類型(ADT):根據(jù)一組值的集合定義的數(shù)據(jù)類型和該數(shù)據(jù)類型上的一組操作集每個ADT操作由它的輸入和輸出定義。封裝:隱藏實現(xiàn)細(xì)節(jié)22數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是ADT的實際實現(xiàn)與ADT聯(lián)系在一起的每個操作由一個或多個子程序來實現(xiàn)數(shù)據(jù)結(jié)構(gòu)通常涉及數(shù)據(jù)在內(nèi)存中的組織方式文件結(jié)構(gòu)是指在外存儲器(如磁盤驅(qū)動器)上數(shù)據(jù)的組織23抽象化ADT:復(fù)雜問題的抽象化:隱喻標(biāo)志的層次化Ex:晶體管門電路CPU.ADT在程序中通過特定的數(shù)據(jù)結(jié)構(gòu)實現(xiàn),然而在設(shè)計使用ADT的那部分程序時,我們只關(guān)心數(shù)據(jù)類型上的操作,而不關(guān)心數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)24邏輯vs.物理形式數(shù)據(jù)項有邏輯形式和物理形式。邏輯形式:用ADT來給出數(shù)據(jù)項的定義Ex:數(shù)學(xué)意義上的integers:+,-物理形式:數(shù)據(jù)結(jié)構(gòu)中對數(shù)據(jù)項的實現(xiàn)。Ex:16/32bitintegers,overflow.25數(shù)據(jù)類型ADT:類型操作數(shù)據(jù)項:
邏輯形式數(shù)據(jù)項:
物理形式數(shù)據(jù)結(jié)構(gòu):存儲空間子程序26問題問題:一個需要完成的工作。即一組輸入就有一組相應(yīng)的輸出。問題的定義將包含對任何可行方案所需資源的限制。問題數(shù)學(xué)的函數(shù)函數(shù)是輸入(domain
)和輸出(range)之間的一種映射關(guān)系。函數(shù)的輸入可以是一個值,或者是一個信息的集合。這些值組成的輸入稱為函數(shù)的參數(shù)。每一個特定的輸入,每次函數(shù)計算得到的輸出就必然相同。27算法與程序算法:解決問題的一種方法或者一個過程。如果將問題看做函數(shù),那么算法就是把輸入轉(zhuǎ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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年電動音樂車輪項目可行性研究報告
- 2025年玲瓏鍋項目可行性研究報告
- 2025年玫瑰豆沙項目可行性研究報告
- 2025年熔金鉗項目可行性研究報告
- 湖南省邵陽市城區(qū)市級名校2024-2025學(xué)年初三4月第二次模擬考試英語試題含答案
- 上海市華師大二附中2024-2025學(xué)年高三生物試題理第三次調(diào)研考試試題解析含解析
- 衢州市重點中學(xué)2024-2025學(xué)年高三5月模擬考試自選試題含解析
- 新疆科技學(xué)院《列車運行控制技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025春新版一年級下冊語文.課文重點知識歸納
- 長春工程學(xué)院《微生物與生化藥學(xué)專論》2023-2024學(xué)年第二學(xué)期期末試卷
- 東北三省四市教研聯(lián)合體2025年高考模擬考試(一)地理試題(含答案)
- 2024-2025學(xué)年人教版七年級數(shù)學(xué)(下)期中試卷(考試范圍:第7-9章)(含解析)
- 2025-2030年中國CAE軟件行業(yè)市場行情監(jiān)測及發(fā)展前景研判報告
- 術(shù)前討論制度課件
- 2025-2030中國工程造價咨詢行業(yè)市場深度調(diào)研及競爭格局與投資研究報告
- 購物卡采購合同
- 2025年光伏項目勞務(wù)分包合同模板
- 2024福建省能源石化集團(tuán)有限責(zé)任公司秋季社會招聘120人筆試參考題庫附帶答案詳解
- 2025年四川省對口招生(農(nóng)林牧漁類)《農(nóng)業(yè)經(jīng)營與管理》考試復(fù)習(xí)題庫(含答案)
- 2024年北京石景山區(qū)事業(yè)單位招聘筆試真題
- 腦心健康管理師的學(xué)習(xí)匯報
評論
0/150
提交評論