![數(shù)據(jù)結(jié)構(gòu)第一章緒論_第1頁](http://file4.renrendoc.com/view/bb718fcb78976705a92839a65c0efe9b/bb718fcb78976705a92839a65c0efe9b1.gif)
![數(shù)據(jù)結(jié)構(gòu)第一章緒論_第2頁](http://file4.renrendoc.com/view/bb718fcb78976705a92839a65c0efe9b/bb718fcb78976705a92839a65c0efe9b2.gif)
![數(shù)據(jù)結(jié)構(gòu)第一章緒論_第3頁](http://file4.renrendoc.com/view/bb718fcb78976705a92839a65c0efe9b/bb718fcb78976705a92839a65c0efe9b3.gif)
![數(shù)據(jù)結(jié)構(gòu)第一章緒論_第4頁](http://file4.renrendoc.com/view/bb718fcb78976705a92839a65c0efe9b/bb718fcb78976705a92839a65c0efe9b4.gif)
![數(shù)據(jù)結(jié)構(gòu)第一章緒論_第5頁](http://file4.renrendoc.com/view/bb718fcb78976705a92839a65c0efe9b/bb718fcb78976705a92839a65c0efe9b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)構(gòu)韓英杰ieyjhan@信息工程學(xué)院計算機科學(xué)與技術(shù)教學(xué)目標(biāo)(Goal)學(xué)會合理地組織數(shù)據(jù),恰當(dāng)?shù)乇硎緮?shù)據(jù),高效地處理數(shù)據(jù)學(xué)會分析、把握計算機加工的數(shù)據(jù)的特性,為應(yīng)用涉及的數(shù)據(jù)選擇適當(dāng)?shù)倪壿嫿Y(jié)構(gòu)、物理結(jié)構(gòu)和相應(yīng)的算法基本掌握算法的時間復(fù)雜度分析技術(shù)提高程序設(shè)計的質(zhì)量和水平,培養(yǎng)數(shù)據(jù)抽象能力為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?(whyshouldlearn?)介于數(shù)學(xué)、計算機軟件、硬件三者之間的核心課程一般程序設(shè)計(尤指非數(shù)值計算的程序設(shè)計)的基礎(chǔ)設(shè)計和實現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其它系統(tǒng)程序和大型應(yīng)用程序的重要基礎(chǔ)。用計算機解決實際應(yīng)用問題(1)需經(jīng)過以下三步驟:從具體問題中抽象出一個適當(dāng)?shù)臄?shù)學(xué)模型。設(shè)計一個解此數(shù)學(xué)模型的算法編程調(diào)試,得到最終答案NiklausWirth:程序=算法+數(shù)據(jù)結(jié)構(gòu)算法:處理問題的策略
數(shù)據(jù)結(jié)構(gòu):問題的數(shù)學(xué)模型程序:算法用某種程序設(shè)計語言的具體實現(xiàn)程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計方法+語言工具和環(huán)境用計算機解決實際應(yīng)用問題(2)數(shù)值計算問題預(yù)報人口增長情況:微分方程求解梁架結(jié)構(gòu)的應(yīng)力:線性方程組求解球體或橢球體的面積:曲面積分非數(shù)值計算問題圖書館書目檢索自動化系統(tǒng)人機對弈排課系統(tǒng)AnExample(1)用C語言編寫一個一元多項式加法、減法和乘法的計算器P(x)=1+3x10000+2x20000Q(X)=5x31-3x10000+10x20001P=P+QS=P+Q稀疏矩陣的壓縮存儲AnExample(2)數(shù)組(1)浪費空間,方便實現(xiàn)(2)空間利用合理,但操作不易實現(xiàn)鏈表空間利用合理,方便實現(xiàn)103100002200001031000022000000…………011000020000登錄號書名作者出版單位出版時間N.3.73.762數(shù)據(jù)結(jié)構(gòu)嚴(yán)蔚敏吳偉民清華大學(xué)出版社2003.12例1:圖書館書目檢索系統(tǒng)自動化數(shù)學(xué)模型一對一的線性結(jié)構(gòu)例2:人機對弈數(shù)學(xué)模型一對多的樹結(jié)構(gòu)“井”字棋對弈“樹”先手:例3:計算機科學(xué)專業(yè)課程設(shè)置課程編號課程名稱先修課編號C1C程序設(shè)計無C2離散數(shù)學(xué)C1C3數(shù)據(jù)結(jié)構(gòu)C1C4數(shù)據(jù)庫基礎(chǔ)C3C5軟件工程C1C6編譯原理C1,C3C7操作系統(tǒng)C3,C4數(shù)學(xué)模型多對多的圖形結(jié)構(gòu)計算機專業(yè)課程開設(shè)先后關(guān)系圖C1C2C5C4C3C7C6例4:SNS(社會化網(wǎng)絡(luò))社會化網(wǎng)絡(luò)(SNS):將現(xiàn)實生活中的社交圈子搬到網(wǎng)絡(luò)上,利用“朋友的朋友”(FriendofaFriend)關(guān)系資源模式,依據(jù)六度分隔理論,通過現(xiàn)實中的朋友再去認(rèn)識朋友的朋友形式,建立一個自己信任的社交圈。每個個體的社交圈都不斷放大,最后成為一個大型網(wǎng)絡(luò)。六度分隔理論的通俗解釋是:“在人脈網(wǎng)絡(luò)中,要結(jié)識任何一位陌生的朋友,中間最多只要通過六個朋友就可以達到目的。”計算機科學(xué)與技術(shù)專業(yè)課程設(shè)置主要學(xué)習(xí)計算機科學(xué)與技術(shù)等方面的基本理論和基本知識,接受從事研究與應(yīng)用計算機的基本訓(xùn)練,具有研究和開發(fā)計算機系統(tǒng)的基本能力,培養(yǎng)能在科研部門、教育系統(tǒng)、企業(yè)、事業(yè)和行政管理等單位從事計算機教學(xué)、科學(xué)研究和應(yīng)用的計算機科學(xué)技術(shù)學(xué)科的高級專門技術(shù)人才。主要課程:離散數(shù)學(xué)、高級語言程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫基礎(chǔ)、操作系統(tǒng)、編譯原理、軟件工程模擬電路、數(shù)字電路與邏輯設(shè)計計算機組成原理、計算機網(wǎng)絡(luò)、微機原理與接口技術(shù)軟件工程專業(yè)課程設(shè)置培養(yǎng)目標(biāo):培養(yǎng)具有良好的科學(xué)和文化修養(yǎng)、良好的職業(yè)道德和綜合素質(zhì),扎實的計算機軟件及軟件工程基礎(chǔ)理論與專業(yè)知識,良好的軟件設(shè)計與編程、項目規(guī)范管理、交流與組織協(xié)調(diào)能力,較強的實踐能力和創(chuàng)新精神,能適應(yīng)計算機軟件產(chǎn)業(yè)發(fā)展需要的復(fù)合型、實用型的高層次工程管理與應(yīng)用型人才。學(xué)生畢業(yè)后,能夠從事計算機系統(tǒng)軟件和應(yīng)用軟件的科學(xué)研究、技術(shù)開發(fā)、項目管理、測試維護及相關(guān)工作等。主要課程:離散數(shù)學(xué)、高級語言程序設(shè)計、算法與數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫基礎(chǔ)、操作系統(tǒng)、編譯技術(shù)、計算機網(wǎng)絡(luò)、軟件工程、軟件項目管理、軟件體系結(jié)構(gòu)、軟件需求工程、軟件文檔規(guī)范與標(biāo)準(zhǔn)、軟件測試技術(shù)、軟件成熟度模型、系統(tǒng)分析與設(shè)計、軟件方法與過程等。數(shù)據(jù)結(jié)構(gòu)的主要研究內(nèi)容(whattolearn?)數(shù)據(jù)結(jié)構(gòu)邏輯結(jié)構(gòu)物理結(jié)構(gòu)相關(guān)操作及實現(xiàn)線性結(jié)構(gòu)樹形結(jié)構(gòu)圖形結(jié)構(gòu)集合順序結(jié)構(gòu)鏈?zhǔn)浇Y(jié)構(gòu)索引結(jié)構(gòu)哈希結(jié)構(gòu)建立銷毀插入刪除查找數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計算的程序設(shè)計問題中計算機的操作對象以及它們之間的關(guān)系和操作等的學(xué)科。P3數(shù)據(jù)結(jié)構(gòu)課程內(nèi)容框架數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)應(yīng)用數(shù)據(jù)結(jié)構(gòu)棧隊列線性表線性結(jié)構(gòu)非線性結(jié)構(gòu)串查找內(nèi)部排序外部排序文件動態(tài)存儲管理數(shù)組廣義表樹二叉樹圖怎樣啞學(xué)數(shù)組據(jù)結(jié)館構(gòu)?(h沾ow掃t餐o貸le晚ar格n?寨)學(xué)“深活”保:聯(lián)示系實莫際,草富于宋聯(lián)想鞠,要仆求對嫁書中可的每蹤蝶個算來法能杠在腦鋸海中橡建立道相應(yīng)稱的模設(shè)型,布而不積是死么板的叨算法倒。學(xué)“賓死”蛾:牢資記基扇本概菌念和沙經(jīng)典軍算法褲。學(xué)“蒸活”貝:總探結(jié)算頭法之囑間的暗共性肯和特渾性。ww悶w.艙zz輪u.淚ed壤u.戶cn,音視溜頻資屋料下開載數(shù)據(jù)再結(jié)構(gòu)耳習(xí)題胖與解動析(C語言尸篇)銜李春景葆編肢著數(shù)據(jù)物結(jié)構(gòu)格(用移面向寇對象懲方法敲與C+宴+描述旨)殷你人昆袋編著學(xué)死學(xué)活學(xué)活教學(xué)餃要求成績爹:平時柱(考亡勤+教作業(yè)久):20證%期末借考試:80縱%上機屬:以組肆為單蠶位(<=組3人/組)每人刮上交5次實眼驗報胖告1.步2基本叫概念波和術(shù)宜語(1逗)數(shù)據(jù)(d桶at旋a):信斥息的芽載體豈,是松描述來客觀墊事物財?shù)臄?shù)捉、字去符及諸所有裂能輸侄入到脾計算過機中漆被計拔算機桌程序窯識別父和處組理的寺符號導(dǎo)的集遲合。數(shù)值煎性數(shù)賺據(jù)非數(shù)調(diào)值性稼數(shù)據(jù)數(shù)據(jù)尤元素(d騾at絞a鳳el殲em求en冊t):數(shù)址據(jù)的基本單位一個界數(shù)據(jù)盛元素補可由訴若干挑個數(shù)廟據(jù)項醉組成岡。數(shù)據(jù)皺項是摟數(shù)據(jù)雹不可毯分割凈的最小單位榴。數(shù)據(jù)鎮(zhèn)對象(d濱at籮a針ob仁je小ct接):數(shù)絕據(jù)的幸子集泄。具勸有相鍛同性傍質(zhì)的珍數(shù)據(jù)臥元素春集合迷。例如悼:整氧數(shù)對連象N傲=聾{捎0,1溉,脂2素,彩…順}1.事2基本暈概念濫和術(shù)嬌語(2拴)數(shù)據(jù)問結(jié)構(gòu)(邏文輯結(jié)羞構(gòu)):相互等間存籍在一琴種或顏多種特定舅關(guān)系的數(shù)滲據(jù)元超素集辟合。結(jié)構(gòu):數(shù)惜據(jù)元廟素相罷互之籠間的撥關(guān)系特定恰關(guān)系兄:特定關(guān)系數(shù)據(jù)結(jié)構(gòu)舉例沒有關(guān)系集合正整數(shù)一對一關(guān)系線性表書目檢索自動化系統(tǒng)一對多關(guān)系樹棋局對弈樹多對多關(guān)系圖(網(wǎng))課程開設(shè)先后關(guān)系圖1.佛2基本口概念價和術(shù)昆語(3揮)數(shù)據(jù)徑結(jié)構(gòu)鏈的形追式定辭義:DS帝=(蠢D,丘S)D:數(shù)據(jù)鞏元素說的有限集合罩。設(shè)D柴={a1,a2,…纖,ai,aj,…捎,an}S:定義方在D上的春關(guān)系監(jiān)的有揭限集賞合,S=僅{R條}。若aiRaj,則<ai,aj>∈尾S若aiRaj,且ajRai,則(ai,aj)∈江S例:減復(fù)數(shù)妻可定劉義為樂一種早數(shù)據(jù)共結(jié)構(gòu)文:CO象MP肆LE戀X=粥(C礙,R培)C:含有槳兩個決實數(shù)梨的集抱合{C1,C2};R:{P灑}是定茄義在C上的同一種哄關(guān)系{<挖C1,C2>}課上絡(luò)習(xí)題婦:T=亦(K,R),畫出宗它所灰對應(yīng)材的邏沉輯結(jié)司構(gòu)K=蒸{1議,2辰,3漲,4斗,5秒,6容};R={梢r}鎮(zhèn)r跡={城<1丹,2存>,破<1墻,3腔>,遇<2休,4店>,交<2思,5亦,>噴,<按3,并6>韻}aiajaiaj線性滋結(jié)構(gòu)樹形培結(jié)構(gòu)456231ABEDCF圖形只結(jié)構(gòu)125643集合闊結(jié)構(gòu)4種基仍本結(jié)謎構(gòu)關(guān)詳系圖四類跑基本攏邏輯疾結(jié)構(gòu)挪關(guān)系爆圖數(shù)據(jù)半的物表理結(jié)充構(gòu)(存儲嚴(yán)結(jié)構(gòu)):數(shù)據(jù)邏輯結(jié)構(gòu)拘在計猾算機名中的意表示浸:數(shù)據(jù)劃元素慌的表合示數(shù)據(jù)合元素霜之間探關(guān)系辯的表矩示順序罵映象萌:借助薄元素偽在存凱儲器繭的相賴對位蒼置表鑒示數(shù)臟據(jù)元傲素之素間的輕邏輯鄉(xiāng)豐關(guān)系盜。對估應(yīng)于彼順序炮存儲戲結(jié)構(gòu)非順佛序映圣象:鏈?zhǔn)絿姶鎯苯Y(jié)構(gòu)隙:利塑用指抗示元藍素存證儲地悠址的汪指針憑表示野數(shù)據(jù)顏元素烘間的寄邏輯曠關(guān)系岔。索引瞧存儲雕結(jié)構(gòu)哈希裹存儲菠結(jié)構(gòu)1.劃2基本護概念決和術(shù)揚語(4目)復(fù)數(shù)籃存儲印結(jié)構(gòu)近示意合圖3.芬0-2蝦.3-0尖.74.搜803駁0003俯0206返3206認(rèn)34……-2餐.304忙153.要004探15-0是.74.熄803儲0003另0206波3206漏34…………順序慚存儲賢結(jié)構(gòu)覽鏈?zhǔn)侥懘鎯γ芙Y(jié)構(gòu)數(shù)據(jù)憑邏輯反結(jié)構(gòu)可和物喪理結(jié)柿構(gòu)之瀉間的言關(guān)系任意躁一個獻算法價的設(shè)計取決處于選螞定的帥邏輯燈結(jié)構(gòu)算法測的實現(xiàn)依賴段于采蠻用的蓄物理諷結(jié)構(gòu)籠。程序算法數(shù)據(jù)結(jié)構(gòu)線性結(jié)構(gòu)非線性結(jié)構(gòu)存儲結(jié)構(gòu)
順序存儲結(jié)構(gòu)非順序存儲結(jié)構(gòu)定位(查找)加法、乘法比較、移動(邏輯)(物理)1.行2基本疤概念倚和術(shù)鴨語(5皇)數(shù)據(jù)天類型:一組寫性質(zhì)震相同野的值泡的集戀合以仰及定可義于換該值福集上瓜的一仰組操腸作的仰總稱夫。例:C語言吃中整逝型變境量值:虛定義典在某點區(qū)間等上的承整數(shù)操作利:加唱、減鎮(zhèn)、乘勿、除邁、取昂模按值叛的不極同特同性分叫:原子若類型:值刪不可攝再分C的五種摔基本溉數(shù)據(jù)錘類型:ch扮ar罰,i錘nt霉,f察lo斯at監(jiān),d鼻ou歐bl眨e,與vo擔(dān)id結(jié)構(gòu)小類型:值堅由若震干個什成分悅按某狀種結(jié)央構(gòu)組震成。1.那2基本況概念早和術(shù)京語(6竹)抽象跪數(shù)據(jù)透類型:一個錘數(shù)據(jù)嗓模型兵及定槐義在變該模蹲型上閣的一退組操即作。形式結(jié)定義油:DS醬=(D,掉S香,曉P)。D:數(shù)據(jù)先對象S:D上的韻關(guān)系藥集,P:對D的基閣本操克作集誰。按值捎的不揮同特呢性分裹:原子舞類型:很怨少,亮因固睬有數(shù)祖據(jù)類撓型可趨以滿洋足需炎要。結(jié)構(gòu)歷類型固定敵聚合種類型:值遷由確旗定數(shù)治目的圓成分捏按某挪種結(jié)容構(gòu)組修成,謠如復(fù)垃數(shù)。可變雨聚合鉆類型:組鵝成值肚的成章分?jǐn)?shù)施目不斧確定桂,如遮有序悶整數(shù)壟。抽象補數(shù)據(jù)滲類型威的定們義格拆式(僅適它用于鎮(zhèn)本書)AD趣T抽象暫數(shù)據(jù)刮類型解名{數(shù)據(jù)印對象廢:〈數(shù)據(jù)巡壽對象外的定降義〉數(shù)據(jù)桶關(guān)系汽:〈數(shù)據(jù)抽關(guān)系輸?shù)亩ㄐ趿x〉基本奏操作煌:〈基本淹操作與的定巾義〉}市AD倍T抽象夸數(shù)據(jù)舉類型婆名基本義操作掀的定紗義格秘式如修下:基本誘操作啦名(凱參數(shù)微表)初始晨條件項:〈初始旅條件除描述〉操作害結(jié)果料:〈操作赤結(jié)果麻描述〉初始隸條件觀描述了操著作執(zhí)近行前然數(shù)據(jù)倦結(jié)構(gòu)唱和參釋數(shù)應(yīng)隙滿足降的條霜件,賺若不鑰滿足畫,則胡操作傾失敗妹,并客返回螺相應(yīng)比出錯摸信息六。操作沒結(jié)果吩描述說明碑了操活作正敬常完譽成之化后,拜數(shù)據(jù)頭結(jié)構(gòu)便的變善化狀栽況和峽應(yīng)返柏回的谷結(jié)果偽。若尺初始瞎條件垃為空老,則觀省略堡之。抽象谷數(shù)據(jù)硬類型肥的定榴義格邪式舉賭例(1指)例:抽象盟數(shù)據(jù)迎類型腥三元圣組AD駕T沉T蟻ri頓pl野et網(wǎng){數(shù)據(jù)蜻對象效:D=龍{e拐1,獨e2侵,e企3|圾e1逃,e曬2,溉e3∈El摘em嚴(yán)Se方t}數(shù)據(jù)披關(guān)系梨:R1尼=授{<e1度,e闖2>|<e2耐,e侍3>}基本讓操作挨:In讀it饞Tr句ip過le兵t(黎&T隱,v漫1,啞v2鋤,v蘇3)初始定條件:操作掉結(jié)果:構(gòu)造貿(mào)三元神組T,用參正數(shù)v1層,v胖2和v3給e1改,e洲2和e3分別掌賦值估。De多st弄ro里yT握ri眾pl米et錢(&色T)初始楚條件:三元衫組T已經(jīng)吧存在悄。操作衰結(jié)果:銷毀莊三元肆組T。Ge饑t(揀T,理i,情&e)初始雙條件:三元便組T已經(jīng)夾存在,1狠<=格i<株=3。操作柔結(jié)果:用e返回明三元渡組T的第i個元其素。抽象炮數(shù)據(jù)屑類型矩的定呈義格海式舉愈例(2別)Pu練t(役&T房誠,i炊,e)初始彼條件:三元晌組T已經(jīng)粘存在,1巴<=喂i<糕=3。操作悅結(jié)果:用e值取莊代三壘元組T的第i個元香素。Is誘As頑ce饞nd宜in堂g(糕T)初始說條件:三元曾組T已經(jīng)飲存在瘡。操作榜結(jié)果:如果株三元瞧組T的三書個元貢素按耍升序損排列,則返嫌回TR踩UE忽;否則傳返回FA貴LS茶E。Is多De走sc醒en歷di待ng駝(T)初始委條件:三元雷組T已經(jīng)怨存在舟。操作妖結(jié)果:如果升三元史組T的三盼個元慨素按鑰降序慨排列,則返象回TR蘿UE哄;否則河返回FA間LS拴E。Ma癢x(墻T,塘&e)初始惡條件:三元港組T已經(jīng)糕存在,。操作興結(jié)果:用e返回已三元餓組T的最聾大值僅?!肌鼳D孟T嚇Tr亮ip考le蹦t1.因2基本說概念遵和術(shù)仔語(7晝)多形廟數(shù)據(jù)中類型:其嘩值的躺成分俘類型盲不確守定的被數(shù)據(jù)距類型謠.例如Tr川ip威le亡t中的e1灘,e鴿2,襖e3可以習(xí)是整撫數(shù)或透字符特或集滋合。養(yǎng)元素駛之間壩關(guān)系正相同嶺,基都本操植作也塊相同察。1.境3抽象席數(shù)據(jù)險類型御的表饑示與騰實現(xiàn)抽象晴數(shù)據(jù)袍類型凍可以延通過綁固有就數(shù)據(jù)睡類型欠表示綠和實熱現(xiàn)。本書鋪采用紡介于厲偽碼恰與C語言膽之間歷的類C語言古來表并示和蹤蝶實現(xiàn)徹抽象饒數(shù)據(jù)蛛類型稼,即虹用類C語言癥作為齒數(shù)據(jù)理結(jié)構(gòu)刺及其集算法螞的描晝述工觀具。類C語言敵:精喇選了C語言護的一灑個核呼心子蒸集,里同時嫂做了鐵若干愿擴充巧修改廊,增逐加了紅語言量的描述傲功能。引入勤了C+您+的引保用類恰型,即腹在參撫數(shù)名撿前加弄“&”C+鎖+的引生用數(shù)找據(jù)類晴型(1怖)引用瘋是C+酸+語言等對一背個變光量或溪常量扛標(biāo)識底符起趴的別趨名,燥如已紡定義泊一個女變量va降l,建刮立一色個對以它的鴉引用rv阻al,就征為變擊量va步l起了湖一個見別名趁,va訓(xùn)l和rv語al指向榆同一充變量耍,使扭用方矩式也賽完全鳴相同霧,說擁明引柱用的賄方式蘭如下倍:in員tva郵l;in鉗t&rv鄙al=va欺l;編譯相程序舞不為瓜“&”后的弊標(biāo)識雹符分扎配內(nèi)蹈存空即間,擇只是鹽簡單諒地將稠它所磨引用坐的那赤個標(biāo)霧識符恨所具匯有的批內(nèi)存租空間因賦給復(fù)它。能夠美引用毒的數(shù)捆據(jù)類夜型簡單密數(shù)據(jù)受類型叼的變嚴(yán)量或顫常量云:如in醒t&,物ch巴ar雄&貫,疤fl稈oa層t叨&,達d你ou通bl慶e箱&,bo仿ol&結(jié)構(gòu)磁類型挑的變繭量或寨常量指針奸變量蝕或常絹量C+點+的引演用數(shù)別據(jù)類跑型(2炎)不能球引用渣的數(shù)凍據(jù)類跡型vo鴨id:vo駱id本身啟沒有增數(shù)據(jù)唇類型麗,引古用無捎意義數(shù)組諸名:下數(shù)組懷名不虎是變勻量,慌引用背無意什義指向搜引用現(xiàn)類型渡的指之針:籮引用鼓本身航只是灣一個俱符號脂,沒撕有內(nèi)忌存空矮間,習(xí)不能減定義樸指向味引用賢類型煙的指丸針。例如坊:in考tar國r[蓋10撫];in犯t&ra御rr=ar拿r;//錯誤in肆t&ra呼rr=a沈rr考[0村];//正確in義ti;in究t&ri=i文;//正確in菌t&*樸pr蒸=&ri;//聲明蟻指向in篩t型引氏用的族指針異,錯蜂誤46sw估ap稼(i絞ntx,in損ty)杠{in幸tt;t=x;咳x=y;猛y=t清;}vo附id敲m啊ai雨n(趟){in億ta=鏈46復(fù),拔b=吸-1件00毯;pr駱in宣tf較(“挑a=%d,怎b=%d\帽n”降,a沒,b);sw糾ap禾(a痰,b);pr燥in辦tf王(“叢a=%d,膊b=%d\圍n”,a,鈴b);}-1糟00程序貞輸出愚為:a=溉46次,b捐=-糟10濫0abxytma額insw亂ap內(nèi)軋存-1師004646交換恭兩個濕變量棍的值(函數(shù)普參數(shù)伍傳遞福采用杜值傳拍遞方犯式)a=木46踢,b心=-智10湯0-1令0046錯誤原因鏈:C的函旱數(shù)參菊數(shù)傳講遞是灰值傳嚴(yán)遞方仔式,悉并且滾是由泥實參肌傳遞佳給形聲參。46vo薄idsw框ap拌(i棒nt*p刷1,in怨t*p目2)蟲{in柱tte嫩mp染;te忍mp冤=*傻p1蜓;*碎p1步=*垃p2頑;*躁p2備=t令em伯p;}vo撒id早m坑ai節(jié)n(辱){in眼ta=提46壟,b蜻=-普10賤0;in蛾t*p_消a,*p_仰b;p_卸a=&a;睛p_墻b=&好b;pr恭in擺tf辰(“批a=%d,捆b=%d\衰n”纏,a圣,b);sw冤ap攀(p塘_a韻,p庸_b);pr潛in輪tf依(“弄a=%d,要b=%d\屆n”燃,a揭,b);}-1捎00程序寺輸出讀為:a=以46例,b噸=-保10皺0abte倦mpma寸insw竭ap內(nèi)片存20衰0220跡0046交換刊兩個騙變量學(xué)的值(函數(shù)猾參數(shù)罷傳遞利采用想地址泰傳遞睡方式)a=盟-1壓00第,b少=4敞6-1土0046p_已ap_膜b20枝0020導(dǎo)0220脆0020焰02p1p2正確禾,在剛函數(shù)款體里竄通過鴉間接槳訪問顆交換侵指針李所指罩的變浪量的覺值。交換框兩個勞變量漿的值(使用盯引用侍類型應(yīng)的參崗數(shù))sw艷ap編(i圈nt&x,狐in休t&y){in異tt;t=閑x;冠x序=y搬;鋪y揉=t這;}vo活id紡m塘ai魔n(叼){in閣ta=酒46儉,b便=-泉10著0;pr全in顯tf風(fēng)(“亡a=%d,皮b=%d\指n”妖,a庸,b);sw釣ap違(a辰,b);pr撞in宏tf互("令a=%d,標(biāo)b=%d\成n"灘,a傾,b);}46-1黎00程序喘輸出芳為:a=搬46習(xí),b政=-身10辟0abtma博insw舌ap內(nèi)匠存a=葛-1克00葬,b撓=4宮6-1閱004646xy正確變量炸的引押用和銜變量阻都是漫同一些變量塑,交采換變均量的頁引用直就是恩交換躺變量確本身壟。返回AD凱T的表紋示和衫實現(xiàn)算法條的描羞述方潑法自然尚語言傳統(tǒng)浩流程販圖結(jié)構(gòu)?;鞅顺虉DNS圖偽代旋碼計算參機語鞠言自然廁語言順序宵查找da時ta捏[n]的某挖個元介素ke基y(假設(shè)da關(guān)ta和ke泛y已存溉在)St糞ep怕1:從匠序列業(yè)中的猛最后冰一個它元素愛開始掩查找St快ep槽2:若脹該元迷素值鋸不等想于ke搶y,查找趙前一報項.St震ep稍3:若該野元素斗值等朵于ke磨y,表示疲查找作成功歷,返縫回ke女y在序床列中陜的位捷置,贈去St主ep澆5.St綠ep燃4:如概果數(shù)武據(jù)全翠部查蝕找過償?shù)磽崮苷银B到ke同y,表示扶查找訊失敗痛,返苦回0擴。St胡ep桌5:結(jié)舞束結(jié)構(gòu)浩化流特程圖結(jié)構(gòu)呈化程槐序流互程圖仁舉例開始查找咳成功酸,返扔回i查找敗失敗詠返回晉0da見ta姨[i當(dāng)]=勤=k解eyi=川n元素新全查路過YYNN順序疼查找da踐ta磨[n]的某居個元蠢素ke希y(假設(shè)da雀ta和ke氣y已存僵在)結(jié)束i-攪-NS蔽圖NS圖也添叫盒熱圖,湖一種粗符合聾結(jié)構(gòu)域化程粥序設(shè)瘡計原床則的罰圖形魚描述細(xì)工具卻。五種腐基本擾控制毅結(jié)構(gòu)愁由五求種圖屢形構(gòu)蛇件表拜示:NS圖舉頌例順序錄查找da痰ta本[n]的某牽個元往素ke和y(假設(shè)da瞞ta和ke救y已存換在)Fi=ndata[i]==key
查找成功返回key所在位置
全查過查找失敗返回0TFT下一次循環(huán)Dowhile(data[i]!=key)偽碼以夾旗雜程覽序語搖法和棟自然唇語言弄的形蛛式來剩描述赤解決肅問題疾的方鑰法,順序己查找da郵ta糧[n]中某喊特定及值ke墻y(假設(shè)da染ta和ke子y已存閑在)be壓gi切ni←秧1wh逮il旋e習(xí)i<素=n鳳d途obe撥gi素nifda勺ta涂[i]=誦ke至y啞th磨enre咽tu非rn波ii格←i褲+1en馳dre誕tu吵rn黃0en觸d計算膜機語抵言用C語言講實現(xiàn)順序葬查找da腥ta煌[n]中某霸特定求值ke芹y(假設(shè)da互ta和ke嬌y已存帽在)in乖tSe誼ar氏ch挽(i商ntda若ta蒙[n笑],瞎in壁tke晃y){in債ti;da立ta定[0衰]=騰ke投y;fo飛r(贊i=n;級!E爪Q(薄da蜜ta棵[i見],除ke洪y)反;i--手);re淡tu夠rn蹦i雀;}#紹in民cl車ud那e<st拘di姥o.榜h>//包含河預(yù)編填譯頭泥文件#皆de溜fi腰ne巨n取5bo蔑olEQ別(in姐ti,in梢tj)//判斷在兩個轟整數(shù)洋是否弟相等{if(i即==拾j)re碼tu登rn1;el柜sere惡tu潑rn0;}vo逝idCo朽ns韻tr拋uc寫ti矛on種(i技ntda臭ta抹[n獨+1愧])//構(gòu)造da壯ta童[n]{in姐ti;pr頓in突tf厭(“槍in泡pu桿tth美eke州yv取al扁ue柜:\雪n”)鄉(xiāng)豐;fo年r(甲i=1倉;i堅<=n;亭i++予)sc乘an根f(獨"%鏡d"桂,&粒da萍ta職[i])鈴;}順序際查找封數(shù)據(jù)子序列停中某鍬特定爭值的挨程序歪代碼vo拔idma駱in衛(wèi)(){in寄tke號y;in容tda桿ta慢[n智+1搬];Co恰ns半tr尾uc水ti氏on滾(d檔at滿a);//創(chuàng)建惰待查獨找數(shù)街據(jù)序窮列pr借in銅tf羞(“灑in豈pu揪tke絮y:天\n羊”)夠;sc痛an陵f(黨“%豬d”成,&山ke查y);//讀入疊要查王找的到值in久tpo紀(jì)si熊ti司on謠=S涉ea狐rc東h摘(da饅ta手,k竊ey);//查找pr山in造tf講("你th弱eke來y淚is克l看oc炒at騙ed嘆i任n險%d賽",脫po喉si耽ti鳳on說);}順序錢查找釣數(shù)據(jù)裁序列邊中某蔑特定騙值的荷程序拒代碼類C趟語言逮的描紡述功昏能1、預(yù)定飛義常雄量和塔類型:2、數(shù)據(jù)每結(jié)構(gòu)薪的表鳳示和描數(shù)據(jù)煮元素薪類型宜的定蟲義3、基本編操作美的算駐法用任函數(shù)萬描述4、算法渠描述跟中可褲以使拐用的鉛賦值協(xié)語句請形式5、算法果描述者中可抽以使鞏用的情選擇燥結(jié)構(gòu)老語句杰形式6、算法例描述汽中可公以使求用的燃循環(huán)華結(jié)構(gòu)芒語句雷形式7、描述咐算法苦中可敘以使挪用的掛結(jié)束仔語句騙形式8、算法艘描述免中可閉以使導(dǎo)用的脫輸入輪輸出滲語句棋形式9、算法卸描述悠中可腸以使膏用的醒注釋贊格式10、算法惕描述恭中可滑以使盛用的冠基本疏函數(shù)11、算法枯描述徹中可魄以使硬用的悅邏輯某運算沉的約煌定轉(zhuǎn)向詠算法洗和算僑法分剪析1、預(yù)茂定義帥常量幟和類累型//函數(shù)澇結(jié)果迎狀態(tài)百的代磁碼:#d估ef銜in拳e貿(mào)TR高UE傷1#d崖ef筍in惹e筆FA挖LS秧E肺0#d殿ef蠅in封e撿OK演1#d額ef在in目e容ER摧RO寬R法0#d貴ef劃in音e疏IN挑FE傾AS狠IB宅LE搭-但1#d脈ef糧in英e匪OV流ER哭FL養(yǎng)OW狗–稅2僅限草本書俗,若編要上頁機使倍用,妨需自乞己定體義!2、數(shù)覺據(jù)結(jié)梅構(gòu)的反表示散和數(shù)平據(jù)元腥素的稼類型裝定義數(shù)據(jù)巨結(jié)構(gòu)懶的表擾示(豪存儲被結(jié)構(gòu)炮)用縱類型鑒定義ty彎pe訂de福f描述咱。數(shù)據(jù)鎮(zhèn)類型黑約定仗為El績em彎Ty管pe:由羽用戶盆在使碼用該候數(shù)據(jù)林類型魚時自騙行定抗義。確但它獸們不穿是C語言喘的關(guān)幫鍵字喚。上機恭時切拋勿直爛接使焰用。例子ty擔(dān)pe摸de剪fin斷tSt使at乒us版;ty款pe愚de他fin茄tEl索em涉Ty贈pe活;ty亭pe宴de陪fin測tAr含ra逐y[存10梁];3、基霞本操弱作的兇算法完用函學(xué)數(shù)描偽述基本避操作速的算配法都呢用以墊下形蕩式的銷函數(shù)重表示般:函數(shù)困類型殊函灘數(shù)名覽(函耽數(shù)參哄數(shù)表輛){//算法損說明語句裂序列}//函數(shù)舅名例子游:St難at籠usIn鍋it棍Tr獸ip吹le閉t(剩Tr嚼ip托l(wèi)e城t&T,尖El百em司Ty羨pev1橋,E碧le螞mT泰yp郊e輔v2榆,E仰le晃mT霞yp溫e賞v3軌){//構(gòu)造見三元校組T,依積次置恨T的罵3個殖元素根值為誓v1狗,v酒2,艷v3T=舞(E浪le竟mT餐yp撓e*積)m朗al霉lo極c(鍵3*si僻ze收of悟(E柱le青mT流yp智e))達;if胃(!定T)ex飾it輝(O推VE怨RF鞭LO尚W);T[嫩0]球=v第1;括T[碧1]斷=v躲2;顛T[許2]意=v抱3;re登tu暫rn案O慮K;}//In削it蕩Tr討ip搶le檔t4、算桃法描修述中著的賦虎值語偶句形弓式(1)在算栽法描謙述中毯可以逢使用叨的賦萬值語梳句形放式有啊:簡單梢賦值板變量昂名=表達竭式;串聯(lián)盜賦值烤變量碧名1=變量伐名2=霸.帖..逼=變量楊名n=表達愈式;成組墻賦值(變量究名1,游..澤.,變量賄名n)血=(表達鉗式1,貪..碰.,表達從式n)兔;結(jié)構(gòu)奪賦值俊結(jié)構(gòu)季名1回=結(jié)構(gòu)嬸名2;結(jié)構(gòu)孟名=(值1,值2,睛..楊.,值k);條件相賦值摧變量彩名=條件飼表達捎式?表達蓋式T:表愛達式F;交換勻賦值耕變量萍名1<限->變量詞名2;St稈at帥us痕e法xa支mp抖le蒜_1誰(赴){in但ta[丈10卡];a[庸0.亞.9股]=汁0;re汽tu馬rnOK引;}St漢at臭us品e瞧xa理mp帶le禮_2忘(i另ntx,繡in售ty)袍{if(x滾>y廳)x<程->擾y;re伴tu莊rnOK塊;}te扭mp漂=x李;x=偶y;y=引te釀mp螺;fo般r(鄰i=0驅(qū);i縮慧<=栽9;脹i+還+)a[尊i]=熔0;4、算懂法描未述中雖的賦忙值語比句形鑼式(2)ty虛pe御de舒fst崖ru譯ctst義ud灘en儉t{ch睡arid漲[5漠];ch近arna周me樸[1販1]路;in娘tag紡e;in毫ten但g;in集tds;}s右tu靠de頭nt怨;vo熱idex惱am典pl抖e_坑3(膀){st柜ud致en塞t戒s;s=恥(“跡20井11勉”,梳”S倒am倆”,布20事,1沸00短,1恰00港);}ge蜻ts會(s媽.i昂d);ge夏ts伏(s醫(yī).n膨am長e);s.隆ag銀e=2品0;s.煮en劑g=1雁00局;s.捆ds=1尚00稅;5、算斷法描弄述中添的選具擇結(jié)死構(gòu)語年句形搖式在算搬法描甲述中仔可以領(lǐng)使用司的選福擇結(jié)扭構(gòu)語廣句形谷式有況:條件判語句1從i降f(表達蛛式)語句券;條件擠語句2臉i貞f踐(表達皺式)語句挑;el障se語句村;開關(guān)殊語句1秘s脾wi神tc降h鎖(表達民式)保{ca鋪se值1:語局句序裹列1;br范ea蹦k;ca跳se值2:語郊句序悼列2;br護ea趨k;..聽.ca制se值n:語幟句序欺列n;br雷ea洲k;de戴fa反ul稱t:語行句序膨列n+當(dāng)1;}開關(guān)即語句2探s博wi白tc榆h擺{ca賣se條件1:語涼句序到列1;br急ea資k;ca眾se條件2:語大句序把列2;br艦ea慌k;..壘.ca福se條件n:語賞句序楚列n;br臭ea揮k;de他fa他ul慨t:語綢句序共列n+討1;}6.算法矛描述澇中的挽循環(huán)毀結(jié)構(gòu)亭語句箱形式fo誕r循環(huán)煉語句fo黨r(表紙達式1;循注環(huán)條等件表魚達式遷;表監(jiān)達式2)望語休句;wh榜il醒e循環(huán)嗽語句wh汪il呢e(循壞環(huán)條破件表蘿達式予)剪語句蔬;do搭-w棕hi停le循環(huán)青語句do夫{語句晨序列民;}擁wh犧il刷e(循求環(huán)條習(xí)件表劉達式唇);7.算法戚描述溝中的輸結(jié)束筑語句名形式函數(shù)保結(jié)束叼語句re慚tu蔬rn表達票式;re賽tu節(jié)rn非;ca伶se或循斷環(huán)結(jié)察束語降句br司ea劉k;異常悼結(jié)束反語句ex能it(異躍常代繳碼);8.算法蘇描述極中的甘輸入價輸出饅語句適形式輸入孔語句sc此an緞f([格式順串],變量富名1,箏..氧.,變量學(xué)名n);輸出薯語句pr栗in預(yù)tf雖([格式紅串],表達穩(wěn)式1,滾..舞.,表達詳式n)奧;方括院號([執(zhí)])中胞的內(nèi)攻容是標(biāo)可以咸省略貫的部翻分。9.算法帳描述廁中的頂注釋碼格式在算宿法描態(tài)述中屑使用屆的注姑釋格蹄式為櫻:單行峽注釋//文字結(jié)序列10于.算法面描述筍中的并基本軍函數(shù)求最閘大值ma蟻x(表達鞠式1,小..煙.,表達貼式n)經(jīng);//返回郵參數(shù)拆表中n個表赴達式固計算華結(jié)果偏的最畏大值守。求最的小值mi訴n(表達改式1,駕..釋.,表達廢式n)篇;//返回風(fēng)參數(shù)榮表中n個表毯達式嗓計算責(zé)結(jié)果蝦的最頃小值冠。求絕降對值ab熱s(表達帳式)求不章足整司數(shù)值fl姐oo帝r(表達城式)求進贏位整旱數(shù)值ce迫il薪(表達靈式)判定緒文件朱結(jié)束eo璃f(文件翠變量)或eo可f判定凝行結(jié)季束eo容ln(文件灶變量)或eo鄰ln11、算瀉法描梢述中家的邏閃輯運謊算的翅約定與運挑算&&:對徒于A&榜&B,當(dāng)A的值蓋為0時,奧不再森對B求值或運添算||:對捐于A|洋|B,當(dāng)A的值安為非0時,療不再午對B求值1.夏4算法燈和算疤法分方析算法授的定啟義:對特翼定問瞞題求征解步針驟的憐描述款,指罩令的有限序列,一條夫指令拐表示誦一個攜或多脫個操啞作。算法羅的特窮性:有窮舍性:算法干應(yīng)在斥執(zhí)行皆有窮育步后耕結(jié)束閣;每步兔應(yīng)在替有窮患時間始內(nèi)完曬成;確定鵲性:每條于指令題都有剖確切動含義造;算法潑只有呈唯一論一條扯執(zhí)行豆路徑籠,對誕相同五輸入趙只能那得出提相同句輸出可行戀性:挺算法甘中描銳述的獸操作泊都可炒通過諷已經(jīng)忌實現(xiàn)表的基本劉運算執(zhí)行夕有限水次實察現(xiàn);輸入牙:有0個或珠多個童輸入窯;輸出炕:有全一個違或多章個輸題出.算法與程序的區(qū)別?算法細(xì)設(shè)計難的要蜂求正確坦性:設(shè)棄計或交選擇崗的算捷法能納滿足常具體醬問題誕的需球求.程序顛不含鎮(zhèn)語法言錯誤尚;程序肯對于廚幾組殲輸入固數(shù)據(jù)掌能夠倚得出臣滿足逃要求樹的結(jié)鞋果;對精席心選貪擇帶近有刁洋難性鄰的幾岔組數(shù)租據(jù)能掘得出賣滿足劉要求賣的結(jié)吃果;程序物對于番一切頑合法造的輸竊入數(shù)電據(jù)都敗能產(chǎn)諒生滿營足要賓求的淋結(jié)果母??勺x萌性:健壯父性:當(dāng)輸欣入數(shù)當(dāng)據(jù)非罵法時段,算媽法能李適當(dāng)火地作勁出反職應(yīng)或著進行削處理含,保最證不渠會產(chǎn)勵生莫莖名其擊妙的瞇輸出項結(jié)果佛。處理牛出錯友的方焰法是孫返回陸一個習(xí)表示雁錯誤刑或錯備誤性蹦質(zhì)的眨值,章以便固在更鐵高的畢抽象財層次款上進童行處柔理,速不應(yīng)嚴(yán)中斷艇程序計的執(zhí)法行。高效姓率和捕低存怖儲量抓需求:效率:算論法執(zhí)擇行的暑時間存儲畫量需種求:算澆法執(zhí)思行過貿(mào)程中瘦所需編要的衛(wèi)最大恒存儲香空間錘.兩者泰都與原問題帥的規(guī)惱模有鑼關(guān)。1.拳4.武3算法屑效率彩的度評量事后統(tǒng)統(tǒng)計欄:運用年計算破機的混計時地功能蹤蝶統(tǒng)計寧算法副的運微行時板間缺陷械:要曬運行象算法著對應(yīng)啟的程它序;時間經(jīng)統(tǒng)計姑結(jié)果振依賴壩于計晨算機淚軟、菠硬件訓(xùn)環(huán)境菠;事前剩分析未估計和算件法執(zhí)昨行時配間相副關(guān)的孤因素仰有:算法馳采用神的策獵略問題表的規(guī)童模書寫勒程序虛的語悼言編譯抹器產(chǎn)款生的是機器伶代碼鍛的質(zhì)驅(qū)量計算穗機執(zhí)拾行指芽令的倘速度秋。do遺ub充lest容ar斥t,替s尼t(yī)o眨p;ti淚me昆(&st關(guān)ar發(fā)t);in筐tk休=se扒ar階ch眉_s講eq(S宿T,池ke夸y);ti屆me雞(&st擋op慰);do原ub箱leru妹nT校im敬e=南st袖op音-暫s演ta竄rt;pr盈in墾tf垂(“伯%f床”,廢ru撞nT謹(jǐn)im扣e);問題漁的規(guī)旺模算法酸的時拜間量緞度算法=控制則結(jié)構(gòu)+原操魔作(固有錄數(shù)據(jù)洗類型峰的操局作)從算兩法中義選一步種對姨所研羊究問妨題來約說是基本揀操作的原順操作牛,以炕該基悶本操喇作重耕復(fù)執(zhí)榨行次滅數(shù)作君為算礎(chǔ)法的勸時間旦量度議。算法合的漸稈近時私間復(fù)快雜度交:設(shè)算嘗法中膛基本次操作題重復(fù)牧執(zhí)行鐮次數(shù)丸是問墊題規(guī)電模n的某遇個函揚數(shù)f(毛n),算船法的蹦時間昌量度欠記作T(料n)=O(銹f(織n)),表憤示隨盞問題饞規(guī)模n的增館大,凳算法樓執(zhí)行腐時間怕的增逐長率創(chuàng)和f(寬n)的增遷長率奇相同但,稱收為算禁法的絞漸近薪時間盒復(fù)雜賣度(忙時間顫復(fù)雜協(xié)度)歐。算法猴時間縮慧復(fù)雜冰度的豈大O表示系法一搖般用草于算聰法在狠最壞死情況書下的梅時間對代價筍。算法的執(zhí)行時間=原操作i的執(zhí)行次數(shù)×原操作i的執(zhí)行時間原操烈作vs基本械操作原操絮作:籃固有訪數(shù)據(jù)努類型來的操膀作,甜比如聞?wù)麛?shù)恒的加有、減擊、乘錫、除流和取曠模運焦算?;疚椴僮骷喪鞘舱??也叫矩關(guān)鍵初操作浸,是西一種附原操困作,哨關(guān)鍵智操作健大都程在循炮環(huán)和垂遞歸奮中在多蟻層嵌味套的姥循環(huán)釋中,姥關(guān)鍵怒操作促位于仆最內(nèi)寧層循牲環(huán)中皂,例1程序段語句頻度時間復(fù)雜度{++x;s=0}@
for(i=1;i<=n;++i){++x;s+=x;}@for(i=1;i<=n;++i)for(j=1;j<=n;++j){++x;s+=x;}@i=1;while(i<=n)i=i*2;@1O(皆1)nO(里n)n2lo悟g2nO(聲lo殲g2n)O(強n2)語句重復(fù)執(zhí)行的次數(shù)在如醫(yī)下算尋法中柔:fo么r(典i=批1;扯i<繳=n掛;+噴+i號)fo塊r(母j=悲1;首j振<=套n;厚+扎+j糖){c[認(rèn)i]索[j附]齡=鍋0;fo挽r(悄k=冷1;牲k侄<=嫩n;侍+壁+k浪)c[悉i]聯(lián)[j匆]疑+=僚a掛[i捐][揉k]音*堅b涌[k欲][木j]裕;}例2問題驚規(guī)模:n基本環(huán)操作:c[繩i]骨[j茄]燭+=檔a周[i震][鹿k]尼*朗b熄[k膝][貓j]景;基本宿操作震重復(fù)惑執(zhí)行陣的次投數(shù):f(堪n)粗=奏n3算法確時間汁復(fù)雜短度:T(疤n)行=磚O孝(f鉤(n濱))跪=殺O負(fù)(n3)例3fo僑r(煮i=嘗2;電i<口=n翅;+椒+i舟)fo替r(鼻j=荒2;樹j<叫=i辮-1瓦;+五+j砌){忘+丙+x焦;a[引i]心[j士]=步x;}問題括規(guī)模:n原操雀作:{律++x;a[效i]急[j]=魯x;著}基本處操作炭重復(fù)好執(zhí)行允的次鄭數(shù):難以暴精確澆計算,量階刑是n2算法碌時間粒復(fù)雜賢度:T(泉n)干=婆O遣(n2)問題番規(guī)模:n基本憂操作:{a[寄j]<道->坐a[派j+邀1]枕;c簽ha貍ng乞e=緞TR辟UE只;}基本拴操作汁重復(fù)觀執(zhí)行娘的次粒數(shù):不定算法學(xué)時間離復(fù)雜拒度:T(嗎n)蒸=屈O(訪n2)例4vo龍idbu倍bb原le劈燕_s艘or渴t(in占ta[晃],in弱tn){象f保or萄(i晝=n茶-1關(guān),c行ha爺ng蓮e=榴TR販UE孤;i很>=訴1,性ch狗an銷ge慚;-強-i間){希ch悄an波ge執(zhí)=F逗AL劉SE河;//判斷桃是否匯有相解鄰元姑素交麗換fo曾r(酒j=虹0;桌j<耍i;之++疲j)if(a于[j懷]>勸a[握j+隨1]氣){經(jīng)a[悲j]判<-叫>a翠[j頭+1粉];ch登an鐮ge史=T傳RU晴E;倍}}}時間允復(fù)雜脂度的拼大O薪表示跪法加法昆規(guī)則糊:設(shè)兩鴨個并列程序善段的亞時間反復(fù)雜攝度分傳別為T1僚(n期)=O(聚f(盾n))和T2制(m隱)=O(澇g(杠m))時,麻兩個眾程序去段連幣在一慨起后期整個遮程序駐段的錄時間若復(fù)雜執(zhí)度為T(n,m)外=顏T景1芬(n)幸+標(biāo)T2播(m)=牛O(板m絕ax帳(f(n),g(m)樓)壩)乘法禾規(guī)則灶:設(shè)兩襯個嵌套的程層序段桑的時濁間復(fù)傭雜度矮分別廈為T1干(n顯)=O(蔽f(付n))和T2通(m廁)=O(呀g(追m))時,利整個摸程序荷段的績時間開復(fù)雜疫度為T輪(n,m)旨=撈T1縱(n)鐵*乓T2尼(m)=準(zhǔn)O臂(f(n)生*g(m)努)特例輔:若T1捧(n鮮)=信O(凳c),T2纏(n答)=狠O(蘆f(重n)替)則T(傅n)保=悟T1澇(n岔)*擦T鈔2(淘n)撥=O菌(c迷*f荒(n掛))廊=詠O(糧f(若n)稈)算法逝設(shè)計征、選紋取和拜時間紫復(fù)雜湊度分勝析的啟原則應(yīng)該侵盡可墾能選牧用多犯項式柳階O(撓nk)的算午法,估不希牢望用米指數(shù)貞階算法逼的時罵間復(fù)團雜度潑只考登慮問瓜題規(guī)既模n的增說長率紹,在標(biāo)難以瘡精確堡計算私基本拒操作遺執(zhí)行爸次數(shù)冊時,最只需字求得腰它關(guān)屢于n的增長洋率或階即可悲。算法絡(luò)中基需本操夠作重和復(fù)執(zhí)惠行次暮數(shù)隨鳳問題紫的輸齊入數(shù)欠據(jù)集踩不同垮而不沿同,或要考精慮最壞情況晴下的宰時間陽復(fù)雜禽度。例5百錢副買百設(shè)雞問嘉題(1鬼)雞翁呈一,囑值錢糕五,論雞母霜一,面值錢功三,寫雞雛洞三,非值錢鄭一,霧百錢鞏買百幅雞,凱問雞滿翁、路雞母鋒、雞搜雛各理幾何寇?解:撫設(shè)雞鑰翁、合雞母教、雞晴雛分蜘別為x,魂y沸,濁z只。猛則有沙:x盟+掉y硬+歇z欠=鞋10泉05x兼+惱3歪y泛+梢z/斧3我=捕10色0方法1:fo挎r(勺i=乳0;定i<谷=1嫂00容;i成++果)fo裁r(迫j=些0;擋j按<=柴10欲0;下j償++卵)fo鴉r(循k=傷0;眼k侄<=思10繡0;雪k+濫+){if肯(k鐮%3問=罩=0底&&低i+鳥j+添k=膝=1應(yīng)00&&瓣5銳*i楊+3麻*j歌+k肉/3偽==杰10所0)pr荒in概tf久(“乏%d機,%牧d,缺%d框\n”,撿i艇,j北,k走);}方法2:用機兩重可循環(huán):fo嗎r(稈i=厲0;世i<段10搞0;洪i+啊+)fo哈r(條j=登0;滑j<廉10渡0;眾j+你+){嘩k=題10廣0辮–i跨–闖j連;//小雞罵的數(shù)霸目可望以由遺母雞穩(wěn)數(shù)和搞公雞棄數(shù)得鉤到if牢(k鬼%3茅==烈0傅&&胖5跪*i拾+3項*j紫+k時/3館==匆10坊0)pr診in想tf秘(“丙%d腐,%訪d,毀%d狹\n失”,贏i,屈j,籮k);}方法3:用滾兩重際循環(huán)似:fo橡r(近i=為0;聲i<傾=2根0;欣i+禿+)//公雞孔數(shù)不民可能捉超過20只fo怒r(悠j=康0;境j<坐33煉;j谷++排)//母雞按數(shù)也啞不超校過33只{伴k調(diào)=1閃00散–白i號–j敞;if偵(k倉%3白==憑0王&&孕5萄*i均+3癢*j眾+k濁/3督==果10么0)pr例in遞tf端(“醋%d派,%鋤d,忽%d普\n獲”,森i,晌j,后k);}例5百錢禮買百旨雞問狗題(2捐)例5百錢懼買百串雞問更題(3盞)方法4:用喊一重聞循環(huán)由x+介y+構(gòu)z鼻=亮10炭0和5*哀x+營3*增y+填z/鎮(zhèn)3=慨10菠0合并駱為一亦個方占程:14差*x齒+8肥*y卡=怠2旅00頃,進一詠步簡川化為:牙7*鉗x+胸4*妄y=磁10參0x不超懇過14,并再可以某進一俱步判卷斷x必為4的倍明數(shù),贈有:fo該r(泄i=都0;倆i<散=1街4;雕i+丘=4正){刷j濕=蹤蝶(1筒00移–哥7*牢i)組/4艘;k=片10槐0麗–i丟–吸j;pr陵in敵tf南(“炕%d薯,%鍋d,粘%d諸\n”,道i涌,j畢,k初);}方法巧一的虹循環(huán)末次數(shù)改為:10蹈0*10顏0*10匆0次;O(彼n3)方法途二的丸循環(huán)諷次數(shù)村為:10闖0*10芳0次;O(騰n2)方法挺三的可循環(huán)辰次數(shù)叨為:21險*3秤3次;O(切n2)方法趴四的愈循環(huán)伸次數(shù)個為:4次。O(既n)時間杜復(fù)雜峽度算法封的空康間復(fù)景雜度由度量漸進電的空否間復(fù)杜雜度:算法星所需護存儲父空間明的量參度。剖記作陡:S(煮n)紡=O議(g魂(n蛛)),其中n為問盆題的悟規(guī)模,表示陰隨著膨問題荒規(guī)模n的增胸大,叫算法恨運行井所需挺存儲匹量的績增長戴率與g(漆n)的增響長率誘相同醉。算法索的存喝儲量糧包括:1.輸懶入數(shù)得據(jù)所汁占空飽間;2.程海序本志身所運占空體間;3.額賀外輔歉助空公間。本章臨重點理解諸數(shù)據(jù)貧結(jié)構(gòu)虹的重欲要地再位熟悉描數(shù)據(jù)估結(jié)構(gòu)叢的主掌要研花究內(nèi)加容至少幼掌握擋一種款算法膠的描徹述方燒法自然響語言傳統(tǒng)貸流程礎(chǔ)圖結(jié)構(gòu)啞化流圍程圖NS圖偽代宋碼計算填機語秧言掌握世估算暮算法想時間乘復(fù)雜格度的織方法應(yīng)掌決握的懼類型暈題(1蟻)一、元數(shù)據(jù)熊結(jié)構(gòu)濕的基留本概賀念1、在朝數(shù)據(jù)痕結(jié)構(gòu)疫中,泰從邏越輯上飲可以脫把數(shù)燙據(jù)結(jié)去構(gòu)分省成和。2、線輕性結(jié)法構(gòu)中寇元素赤之間媽存在關(guān)系乒,樹斗形結(jié)禿構(gòu)中要元素威之間搞存詢在關(guān)系蜘,圖君形結(jié)終構(gòu)中步元素效之間妄存在關(guān)系潑。3、數(shù)據(jù)爪元素擠是數(shù)避據(jù)的厲最小己單位(對/錯)二、現(xiàn)算法麻和時凡間復(fù)彈雜度秒分析1、將運下列示函數(shù)學(xué)按它未們在n-亭>∞時的瓣無窮畝大階蓮數(shù),椒從小撥到大傳排序n,男n-駁n3+7捎n5,n司lo鐘g2n,芳2n/趁2,n3,策lo浮g2n,嫂n1/近2+l伍og2n,凍(3冬/2卸)n,n賊!,緞n2+l掏og2n答:lo箏g2n,拴n1/牢2+l避og2n,體n哪,棚nl押og2n,世n2+l尾og2n,竊n3,紛n-但n3+7賭n5,淚2n/旁2,(槳3/陜2)n,言n!c<勒lo境g2n<n<nlo鴿g2n<n2<n3<商2n<伙3n<n!應(yīng)掌肉握的滲類型當(dāng)題(2押)2、vo民idpr筋im偵e(世in缸tn){in違ti=推2;wh屬il宜e(喘(n蜘%2恭)!冷=0分&&刃i*妙1.朋0<sq針rt棚(n))庭i+位+;if等(弱i*縫1.謹(jǐn)0>sq科rt減(n))pr味in票tf裁(“轟%dis策a遞p賣ri恭me刷n月um稈be反r!概”)喘;el瓜sepr佛in脆tf析(“壯%dis綠n壯ot倚a斗p哲ri車me墻n瘦um漂be時r!果”)令;}3、用腰事前笛估計請與事極后統(tǒng)搭計相近結(jié)合略的方初法估街算算或法運喝行時誘間。設(shè)兩膠個矩朽陣相溜乘算賢法的觀時間精復(fù)雜挨度為T(幕n)=觀O(微n3),兩個10迫*10的矩關(guān)陣相級乘,執(zhí)行探時間辭為12微ms,請蟲估計坐兩個31*31矩陣戒相私乘的柿?xí)r間柱。解:廟ti竟me蒼=1粒2*距(3屑1/牽10槍)3解:階時間丟復(fù)雜座度是O(料√n農(nóng))作業(yè)熟悉糞上機厭環(huán)境耽:TCDE獸V日C+荷+Vi暑su鈴al待C腰++文件/新建/工程遮(wi劍n3洽2代co鍋ns怠ol元e果ap辛pl槍ic漲at狠io墾n)文件/新建/F妹il堪es方(C寫++泳H眼ea疊de障r冶Fi離le恐/C刺++安So閣ur刻ce野F麗il向e)上機擴應(yīng)注意:TC環(huán)境冶下要喊求變色量聲抖明放戚在函害數(shù)體傻的最序前面書寫鵲格式申,縮忌進,組便于溉閱讀脂和查殖錯函數(shù)慎返回茫值問悠題習(xí)題1.摧8:估嗽算算急法時爬間復(fù)孩雜度數(shù)據(jù)撈結(jié)構(gòu)目實驗曉開發(fā)收環(huán)境謙介紹診和使借用DE環(huán)V講CP輸P(稠DE鄭V盜C+職+5亦.0傭)VC沈++丑6.檢0(噴Vi蜓su樓al評S沃tu山di器o澤C+折+6礎(chǔ).0逼)Tu只rb智o感C2俘.0萍/3臘.0GC壯C(剖Li排nu頑x下常鍵用的C編譯劫器,火略)De族v轟CP惱P開發(fā)天環(huán)境主簡介De臨v-默CP扔P是一汁個Wi旋nd袋ow股s下的C和C+擇+程序金的集痰成開抹發(fā)環(huán)謊境。鑼它使企用Mi育ng般W3嗚2/挑GC暑C編譯速器,星遵循C/攤C+咸+標(biāo)準(zhǔn)逝。開灰發(fā)環(huán)枕境包堵括多秧頁面校窗口圾、工角程編御輯器箭以及破調(diào)試宏器等零,在勁工程罷編輯旁器中犧集合非了編衣輯器哄、編晴譯器撇、連頭接程世序和沉執(zhí)行樣程序柜,提
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2學(xué)會溝通交流(說課稿)-2023-2024學(xué)年道德與法治五年級上冊統(tǒng)編版
- 2025暫估價材料公開招標(biāo)合同范本變頻水泵排污泵
- 6~9的認(rèn)識(說課稿)-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版
- 2025以買賣合同擔(dān)保
- 2024年秋九年級化學(xué)上冊 第四單元 自然界的水說課稿 (新版)新人教版
- 2023三年級英語上冊 Assessment 3說課稿1 湘少版
- 路基邊坡防滑平臺施工方案
- Unit 4 My tidy bag Lesson 1 I have a big bag (說課稿)-2024-2025學(xué)年粵人版(2024)英語三年級上冊
- 2023八年級地理上冊 第一章 中國的疆域與人口第一節(jié) 中國的疆域說課稿 (新版)湘教版
- 出租代工合同范例
- 2024北京海淀高三一模英語試卷(含參考答案)
- 三高疾病之中醫(yī)辨證施治
- 全科醫(yī)學(xué)的基本原則和人文精神(人衛(wèi)第五版全科醫(yī)學(xué)概論)
- 船員健康知識課件
- 成人住院患者靜脈血栓栓塞癥預(yù)防護理
- 《揚州東關(guān)街掠影》課件
- 《3-6歲兒童學(xué)習(xí)與發(fā)展指南》健康領(lǐng)域內(nèi)容目標(biāo)與指導(dǎo)
- GB/T 10739-2023紙、紙板和紙漿試樣處理和試驗的標(biāo)準(zhǔn)大氣條件
- 環(huán)保行業(yè)研究報告
- 孩子撫養(yǎng)費起訴狀范本:免修版模板范本
- 物流服務(wù)項目的投標(biāo)書
評論
0/150
提交評論