![數(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),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)結(jié)構(gòu)韓英杰ieyjhan@信息工程學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)目標(biāo)(Goal)學(xué)會(huì)合理地組織數(shù)據(jù),恰當(dāng)?shù)乇硎緮?shù)據(jù),高效地處理數(shù)據(jù)學(xué)會(huì)分析、把握計(jì)算機(jī)加工的數(shù)據(jù)的特性,為應(yīng)用涉及的數(shù)據(jù)選擇適當(dāng)?shù)倪壿嫿Y(jié)構(gòu)、物理結(jié)構(gòu)和相應(yīng)的算法基本掌握算法的時(shí)間復(fù)雜度分析技術(shù)提高程序設(shè)計(jì)的質(zhì)量和水平,培養(yǎng)數(shù)據(jù)抽象能力為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?(whyshouldlearn?)介于數(shù)學(xué)、計(jì)算機(jī)軟件、硬件三者之間的核心課程一般程序設(shè)計(jì)(尤指非數(shù)值計(jì)算的程序設(shè)計(jì))的基礎(chǔ)設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其它系統(tǒng)程序和大型應(yīng)用程序的重要基礎(chǔ)。用計(jì)算機(jī)解決實(shí)際應(yīng)用問題(1)需經(jīng)過以下三步驟:從具體問題中抽象出一個(gè)適當(dāng)?shù)臄?shù)學(xué)模型。設(shè)計(jì)一個(gè)解此數(shù)學(xué)模型的算法編程調(diào)試,得到最終答案NiklausWirth:程序=算法+數(shù)據(jù)結(jié)構(gòu)算法:處理問題的策略
數(shù)據(jù)結(jié)構(gòu):問題的數(shù)學(xué)模型程序:算法用某種程序設(shè)計(jì)語言的具體實(shí)現(xiàn)程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法+語言工具和環(huán)境用計(jì)算機(jī)解決實(shí)際應(yīng)用問題(2)數(shù)值計(jì)算問題預(yù)報(bào)人口增長(zhǎng)情況:微分方程求解梁架結(jié)構(gòu)的應(yīng)力:線性方程組求解球體或橢球體的面積:曲面積分非數(shù)值計(jì)算問題圖書館書目檢索自動(dòng)化系統(tǒng)人機(jī)對(duì)弈排課系統(tǒng)AnExample(1)用C語言編寫一個(gè)一元多項(xiàng)式加法、減法和乘法的計(jì)算器P(x)=1+3x10000+2x20000Q(X)=5x31-3x10000+10x20001P=P+QS=P+Q稀疏矩陣的壓縮存儲(chǔ)AnExample(2)數(shù)組(1)浪費(fèi)空間,方便實(shí)現(xiàn)(2)空間利用合理,但操作不易實(shí)現(xiàn)鏈表空間利用合理,方便實(shí)現(xiàn)103100002200001031000022000000…………011000020000登錄號(hào)書名作者出版單位出版時(shí)間N.3.73.762數(shù)據(jù)結(jié)構(gòu)嚴(yán)蔚敏吳偉民清華大學(xué)出版社2003.12例1:圖書館書目檢索系統(tǒng)自動(dòng)化數(shù)學(xué)模型一對(duì)一的線性結(jié)構(gòu)例2:人機(jī)對(duì)弈數(shù)學(xué)模型一對(duì)多的樹結(jié)構(gòu)“井”字棋對(duì)弈“樹”先手:例3:計(jì)算機(jī)科學(xué)專業(yè)課程設(shè)置課程編號(hào)課程名稱先修課編號(hào)C1C程序設(shè)計(jì)無C2離散數(shù)學(xué)C1C3數(shù)據(jù)結(jié)構(gòu)C1C4數(shù)據(jù)庫基礎(chǔ)C3C5軟件工程C1C6編譯原理C1,C3C7操作系統(tǒng)C3,C4數(shù)學(xué)模型多對(duì)多的圖形結(jié)構(gòu)計(jì)算機(jī)專業(yè)課程開設(shè)先后關(guān)系圖C1C2C5C4C3C7C6例4:SNS(社會(huì)化網(wǎng)絡(luò))社會(huì)化網(wǎng)絡(luò)(SNS):將現(xiàn)實(shí)生活中的社交圈子搬到網(wǎng)絡(luò)上,利用“朋友的朋友”(FriendofaFriend)關(guān)系資源模式,依據(jù)六度分隔理論,通過現(xiàn)實(shí)中的朋友再去認(rèn)識(shí)朋友的朋友形式,建立一個(gè)自己信任的社交圈。每個(gè)個(gè)體的社交圈都不斷放大,最后成為一個(gè)大型網(wǎng)絡(luò)。六度分隔理論的通俗解釋是:“在人脈網(wǎng)絡(luò)中,要結(jié)識(shí)任何一位陌生的朋友,中間最多只要通過六個(gè)朋友就可以達(dá)到目的?!庇?jì)算機(jī)科學(xué)與技術(shù)專業(yè)課程設(shè)置主要學(xué)習(xí)計(jì)算機(jī)科學(xué)與技術(shù)等方面的基本理論和基本知識(shí),接受從事研究與應(yīng)用計(jì)算機(jī)的基本訓(xùn)練,具有研究和開發(fā)計(jì)算機(jī)系統(tǒng)的基本能力,培養(yǎng)能在科研部門、教育系統(tǒng)、企業(yè)、事業(yè)和行政管理等單位從事計(jì)算機(jī)教學(xué)、科學(xué)研究和應(yīng)用的計(jì)算機(jī)科學(xué)技術(shù)學(xué)科的高級(jí)專門技術(shù)人才。主要課程:離散數(shù)學(xué)、高級(jí)語言程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫基礎(chǔ)、操作系統(tǒng)、編譯原理、軟件工程模擬電路、數(shù)字電路與邏輯設(shè)計(jì)計(jì)算機(jī)組成原理、計(jì)算機(jī)網(wǎng)絡(luò)、微機(jī)原理與接口技術(shù)軟件工程專業(yè)課程設(shè)置培養(yǎng)目標(biāo):培養(yǎng)具有良好的科學(xué)和文化修養(yǎng)、良好的職業(yè)道德和綜合素質(zhì),扎實(shí)的計(jì)算機(jī)軟件及軟件工程基礎(chǔ)理論與專業(yè)知識(shí),良好的軟件設(shè)計(jì)與編程、項(xiàng)目規(guī)范管理、交流與組織協(xié)調(diào)能力,較強(qiáng)的實(shí)踐能力和創(chuàng)新精神,能適應(yīng)計(jì)算機(jī)軟件產(chǎn)業(yè)發(fā)展需要的復(fù)合型、實(shí)用型的高層次工程管理與應(yīng)用型人才。學(xué)生畢業(yè)后,能夠從事計(jì)算機(jī)系統(tǒng)軟件和應(yīng)用軟件的科學(xué)研究、技術(shù)開發(fā)、項(xiàng)目管理、測(cè)試維護(hù)及相關(guān)工作等。主要課程:離散數(shù)學(xué)、高級(jí)語言程序設(shè)計(jì)、算法與數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫基礎(chǔ)、操作系統(tǒng)、編譯技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)、軟件工程、軟件項(xiàng)目管理、軟件體系結(jié)構(gòu)、軟件需求工程、軟件文檔規(guī)范與標(biāo)準(zhǔn)、軟件測(cè)試技術(shù)、軟件成熟度模型、系統(tǒng)分析與設(shè)計(jì)、軟件方法與過程等。數(shù)據(jù)結(jié)構(gòu)的主要研究?jī)?nèi)容(whattolearn?)數(shù)據(jù)結(jié)構(gòu)邏輯結(jié)構(gòu)物理結(jié)構(gòu)相關(guān)操作及實(shí)現(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ù)值計(jì)算的程序設(shè)計(jì)問題中計(jì)算機(jī)的操作對(duì)象以及它們之間的關(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)棧隊(duì)列線性表線性結(jié)構(gòu)非線性結(jié)構(gòu)串查找內(nèi)部排序外部排序文件動(dòng)態(tài)存儲(chǔ)管理數(shù)組廣義表樹二叉樹圖怎樣啞學(xué)數(shù)組據(jù)結(jié)館構(gòu)?(h沾ow掃t餐o貸le晚ar格n?寨)學(xué)“深活”保:聯(lián)示系實(shí)莫際,草富于宋聯(lián)想鞠,要仆求對(duì)嫁書中可的每蹤蝶個(gè)算來法能杠在腦鋸海中橡建立道相應(yīng)稱的模設(shè)型,布而不積是死么板的叨算法倒。學(xué)“賓死”蛾:牢資記基扇本概菌念和沙經(jīng)典軍算法褲。學(xué)“蒸活”貝:總探結(jié)算頭法之囑間的暗共性肯和特渾性。ww悶w.艙zz輪u.淚ed壤u.戶cn,音視溜頻資屋料下開載數(shù)據(jù)再結(jié)構(gòu)耳習(xí)題胖與解動(dòng)析(C語言尸篇)銜李春景葆編肢著數(shù)據(jù)物結(jié)構(gòu)格(用移面向寇對(duì)象懲方法敲與C+宴+描述旨)殷你人昆袋編著學(xué)死學(xué)活學(xué)活教學(xué)餃要求成績(jī)爹:平時(shí)柱(考亡勤+教作業(yè)久):20證%期末借考試:80縱%上機(jī)屬:以組肆為單蠶位(<=組3人/組)每人刮上交5次實(shí)眼驗(yàn)報(bào)胖告1.步2基本叫概念波和術(shù)宜語(1逗)數(shù)據(jù)(d桶at旋a):信斥息的芽載體豈,是松描述來客觀墊事物財(cái)?shù)臄?shù)捉、字去符及諸所有裂能輸侄入到脾計(jì)算過機(jī)中漆被計(jì)拔算機(jī)桌程序窯識(shí)別父和處組理的寺符號(hào)導(dǎo)的集遲合。數(shù)值煎性數(shù)賺據(jù)非數(shù)調(diào)值性稼數(shù)據(jù)數(shù)據(jù)尤元素(d騾at絞a鳳el殲em求en冊(cè)t):數(shù)址據(jù)的基本單位一個(gè)界數(shù)據(jù)盛元素補(bǔ)可由訴若干挑個(gè)數(shù)廟據(jù)項(xiàng)醉組成岡。數(shù)據(jù)皺項(xiàng)是摟數(shù)據(jù)雹不可毯分割凈的最小單位榴。數(shù)據(jù)鎮(zhèn)對(duì)象(d濱at籮a針ob仁je小ct接):數(shù)絕據(jù)的幸子集泄。具勸有相鍛同性傍質(zhì)的珍數(shù)據(jù)臥元素春集合迷。例如悼:整氧數(shù)對(duì)連象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ù)一對(duì)一關(guān)系線性表書目檢索自動(dòng)化系統(tǒng)一對(duì)多關(guān)系樹棋局對(duì)弈樹多對(duì)多關(guān)系圖(網(wǎng))課程開設(shè)先后關(guān)系圖1.佛2基本口概念價(jià)和術(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:含有槳兩個(gè)決實(shí)數(shù)梨的集抱合{C1,C2};R:{P灑}是定茄義在C上的同一種哄關(guān)系{<挖C1,C2>}課上絡(luò)習(xí)題婦:T=亦(K,R),畫出宗它所灰對(duì)應(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)(存儲(chǔ)嚴(yán)結(jié)構(gòu)):數(shù)據(jù)邏輯結(jié)構(gòu)拘在計(jì)猾算機(jī)名中的意表示浸:數(shù)據(jù)劃元素慌的表合示數(shù)據(jù)合元素霜之間探關(guān)系辯的表矩示順序罵映象萌:借助薄元素偽在存凱儲(chǔ)器繭的相賴對(duì)位蒼置表鑒示數(shù)臟據(jù)元傲素之素間的輕邏輯鄉(xiāng)豐關(guān)系盜。對(duì)估應(yīng)于彼順序炮存儲(chǔ)戲結(jié)構(gòu)非順佛序映圣象:鏈?zhǔn)絿姶鎯?chǔ)急結(jié)構(gòu)隙:利塑用指抗示元藍(lán)素存證儲(chǔ)地悠址的汪指針憑表示野數(shù)據(jù)顏元素烘間的寄邏輯曠關(guān)系岔。索引瞧存儲(chǔ)雕結(jié)構(gòu)哈希裹存儲(chǔ)菠結(jié)構(gòu)1.劃2基本護(hù)概念決和術(shù)揚(yáng)語(4目)復(fù)數(shù)籃存儲(chǔ)印結(jié)構(gòu)近示意合圖3.芬0-2蝦.3-0尖.74.搜803駁0003俯0206返3206認(rèn)34……-2餐.304忙153.要004探15-0是.74.熄803儲(chǔ)0003另0206波3206漏34…………順序慚存儲(chǔ)賢結(jié)構(gòu)覽鏈?zhǔn)侥懘鎯?chǔ)密結(jié)構(gòu)數(shù)據(jù)憑邏輯反結(jié)構(gòu)可和物喪理結(jié)柿構(gòu)之瀉間的言關(guān)系任意躁一個(gè)獻(xiàn)算法價(jià)的設(shè)計(jì)取決處于選螞定的帥邏輯燈結(jié)構(gòu)算法測(cè)的實(shí)現(xiàn)依賴段于采蠻用的蓄物理諷結(jié)構(gòu)籠。程序算法數(shù)據(jù)結(jié)構(gòu)線性結(jié)構(gòu)非線性結(jié)構(gòu)存儲(chǔ)結(jié)構(gòu)
順序存儲(chǔ)結(jié)構(gòu)非順序存儲(chǔ)結(jié)構(gòu)定位(查找)加法、乘法比較、移動(dòng)(邏輯)(物理)1.行2基本疤概念倚和術(shù)鴨語(5皇)數(shù)據(jù)天類型:一組寫性質(zhì)震相同野的值泡的集戀合以仰及定可義于換該值福集上瓜的一仰組操腸作的仰總稱夫。例:C語言吃中整逝型變境量值:虛定義典在某點(diǎn)區(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ān)由若震干個(gè)什成分悅按某狀種結(jié)央構(gòu)組震成。1.那2基本況概念早和術(shù)京語(6竹)抽象跪數(shù)據(jù)透類型:一個(gè)錘數(shù)據(jù)嗓模型兵及定槐義在變?cè)撃6仔蜕祥w的一退組操即作。形式結(jié)定義油:DS醬=(D,掉S香,曉P)。D:數(shù)據(jù)先對(duì)象S:D上的韻關(guān)系藥集,P:對(duì)D的基閣本操克作集誰。按值捎的不揮同特呢性分裹:原子舞類型:很怨少,亮因固睬有數(shù)祖據(jù)類撓型可趨以滿洋足需炎要。結(jié)構(gòu)歷類型固定敵聚合種類型:值遷由確旗定數(shù)治目的圓成分捏按某挪種結(jié)容構(gòu)組修成,謠如復(fù)垃數(shù)??勺冇昃酆香@類型:組鵝成值肚的成章分?jǐn)?shù)施目不斧確定桂,如遮有序悶整數(shù)壟。抽象補(bǔ)數(shù)據(jù)滲類型威的定們義格拆式(僅適它用于鎮(zhèn)本書)AD趣T抽象暫數(shù)據(jù)刮類型解名{數(shù)據(jù)印對(duì)象廢:〈數(shù)據(jù)巡壽對(duì)象外的定降義〉數(shù)據(jù)桶關(guān)系汽:〈數(shù)據(jù)抽關(guān)系輸?shù)亩ㄐ趿x〉基本奏操作煌:〈基本淹操作與的定巾義〉}市AD倍T抽象夸數(shù)據(jù)舉類型婆名基本義操作掀的定紗義格秘式如修下:基本誘操作啦名(凱參數(shù)微表)初始晨條件項(xiàng):〈初始旅條件除描述〉操作害結(jié)果料:〈操作赤結(jié)果麻描述〉初始隸條件觀描述了操著作執(zhí)近行前然數(shù)據(jù)倦結(jié)構(gòu)唱和參釋數(shù)應(yīng)隙滿足降的條霜件,賺若不鑰滿足畫,則胡操作傾失敗妹,并客返回螺相應(yīng)比出錯(cuò)摸信息六。操作沒結(jié)果吩描述說明碑了操活作正敬常完譽(yù)成之化后,拜數(shù)據(jù)頭結(jié)構(gòu)便的變善化狀栽況和峽應(yīng)返柏回的谷結(jié)果偽。若尺初始瞎條件垃為空老,則觀省略堡之。抽象谷數(shù)據(jù)硬類型肥的定榴義格邪式舉賭例(1指)例:抽象盟數(shù)據(jù)迎類型腥三元圣組AD駕T沉T蟻ri頓pl野et網(wǎng){數(shù)據(jù)蜻對(duì)象效:D=龍{e拐1,獨(dú)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個(gè)元其素。抽象炮數(shù)據(jù)屑類型矩的定呈義格海式舉愈例(2別)Pu練t(役&T房誠,i炊,e)初始彼條件:三元晌組T已經(jīng)粘存在,1巴<=喂i<糕=3。操作悅結(jié)果:用e值取莊代三壘元組T的第i個(gè)元香素。Is誘As頑ce饞nd宜in堂g(糕T)初始說條件:三元曾組T已經(jīng)飲存在瘡。操作榜結(jié)果:如果株三元瞧組T的三書個(gè)元貢素按耍升序損排列,則返嫌回TR踩UE忽;否則傳返回FA貴LS茶E。Is多De走sc醒en歷di待ng駝(T)初始委條件:三元雷組T已經(jīng)怨存在舟。操作妖結(jié)果:如果升三元史組T的三盼個(gè)元慨素按鑰降序慨排列,則返象回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í)現(xiàn)抽象晴數(shù)據(jù)袍類型凍可以延通過綁固有就數(shù)據(jù)睡類型欠表示綠和實(shí)熱現(xiàn)。本書鋪采用紡介于厲偽碼恰與C語言膽之間歷的類C語言古來表并示和蹤蝶實(shí)現(xiàn)徹抽象饒數(shù)據(jù)蛛類型稼,即虹用類C語言癥作為齒數(shù)據(jù)理結(jié)構(gòu)刺及其集算法螞的描晝述工觀具。類C語言敵:精喇選了C語言護(hù)的一灑個(gè)核呼心子蒸集,里同時(shí)嫂做了鐵若干愿擴(kuò)充巧修改廊,增逐加了紅語言量的描述傲功能。引入勤了C+您+的引保用類恰型,即腹在參撫數(shù)名撿前加弄“&”C+鎖+的引生用數(shù)找據(jù)類晴型(1怖)引用瘋是C+酸+語言等對(duì)一背個(gè)變光量或溪常量扛標(biāo)識(shí)底符起趴的別趨名,燥如已紡定義泊一個(gè)女變量va降l,建刮立一色個(gè)對(duì)以它的鴉引用rv阻al,就征為變擊量va步l起了湖一個(gè)見別名趁,va訓(xùn)l和rv語al指向榆同一充變量耍,使扭用方矩式也賽完全鳴相同霧,說擁明引柱用的賄方式蘭如下倍:in員tva郵l;in鉗t&rv鄙al=va欺l;編譯相程序舞不為瓜“&”后的弊標(biāo)識(shí)雹符分扎配內(nèi)蹈存空即間,擇只是鹽簡(jiǎn)單諒地將稠它所磨引用坐的那赤個(gè)標(biāo)霧識(shí)符恨所具匯有的批內(nèi)存租空間因賦給復(fù)它。能夠美引用毒的數(shù)捆據(jù)類夜型簡(jiǎn)單密數(shù)據(jù)受類型叼的變嚴(yán)量或顫常量云:如in醒t&,物ch巴ar雄&貫,疤fl稈oa層t叨&,達(dá)d你ou通bl慶e箱&,bo仿ol&結(jié)構(gòu)磁類型挑的變繭量或寨常量指針奸變量蝕或常絹量C+點(diǎn)+的引演用數(shù)別據(jù)類跑型(2炎)不能球引用渣的數(shù)凍據(jù)類跡型vo鴨id:vo駱id本身啟沒有增數(shù)據(jù)唇類型麗,引古用無捎意義數(shù)組諸名:下數(shù)組懷名不虎是變勻量,慌引用背無意什義指向搜引用現(xiàn)類型渡的指之針:籮引用鼓本身航只是灣一個(gè)俱符號(hào)脂,沒撕有內(nèi)忌存空矮間,習(xí)不能減定義樸指向味引用賢類型煙的指丸針。例如坊:in考tar國(guó)r[蓋10撫];in犯t&ra御rr=ar拿r;//錯(cuò)誤in肆t&ra呼rr=a沈rr考[0村];//正確in義ti;in究t&ri=i文;//正確in菌t&*樸pr蒸=&ri;//聲明蟻指向in篩t型引氏用的族指針異,錯(cuò)蜂誤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交換恭兩個(gè)濕變量棍的值(函數(shù)普參數(shù)伍傳遞福采用杜值傳拍遞方犯式)a=木46踢,b心=-智10湯0-1令0046錯(cuò)誤原因鏈:C的函旱數(shù)參菊數(shù)傳講遞是灰值傳嚴(yán)遞方仔式,悉并且滾是由泥實(shí)參肌傳遞佳給形聲參。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交換刊兩個(gè)騙變量學(xué)的值(函數(shù)猾參數(shù)罷傳遞利采用想地址泰傳遞睡方式)a=盟-1壓00第,b少=4敞6-1土0046p_已a(bǔ)p_膜b20枝0020導(dǎo)0220脆0020焰02p1p2正確禾,在剛函數(shù)款體里竄通過鴉間接槳訪問顆交換侵指針李所指罩的變浪量的覺值。交換框兩個(gè)勞變量漿的值(使用盯引用侍類型應(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的表紋示和衫實(shí)現(xiàn)算法條的描羞述方潑法自然尚語言傳統(tǒng)浩流程販圖結(jié)構(gòu)海化流彼程圖NS圖偽代旋碼計(jì)算參機(jī)語鞠言自然廁語言順序宵查找da時(shí)ta捏[n]的某挖個(gè)元介素ke基y(假設(shè)da關(guān)ta和ke泛y已存溉在)St糞ep怕1:從匠序列業(yè)中的猛最后冰一個(gè)它元素愛開始掩查找St快ep槽2:若脹該元迷素值鋸不等想于ke搶y,查找趙前一報(bào)項(xiàng).St震ep稍3:若該野元素斗值等朵于ke磨y,表示疲查找作成功歷,返縫回ke女y在序床列中陜的位捷置,贈(zèng)去St主ep澆5.St綠ep燃4:如概果數(shù)武據(jù)全翠部查蝕找過償?shù)磽崮苷银B到ke同y,表示扶查找訊失敗痛,返苦回0擴(kuò)。St胡ep桌5:結(jié)舞束結(jié)構(gòu)浩化流特程圖結(jié)構(gòu)呈化程槐序流互程圖仁舉例開始查找咳成功酸,返扔回i查找敗失敗詠返回晉0da見ta姨[i當(dāng)]=勤=k解eyi=川n元素新全查路過YYNN順序疼查找da踐ta磨[n]的某居個(gè)元蠢素ke希y(假設(shè)da雀ta和ke氣y已存僵在)結(jié)束i-攪-NS蔽圖NS圖也添叫盒熱圖,湖一種粗符合聾結(jié)構(gòu)域化程粥序設(shè)瘡計(jì)原床則的罰圖形魚描述細(xì)工具卻。五種腐基本擾控制毅結(jié)構(gòu)愁由五求種圖屢形構(gòu)蛇件表拜示:NS圖舉頌例順序錄查找da痰ta本[n]的某牽個(gè)元往素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計(jì)算膜機(jī)語抵言用C語言講實(shí)現(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;級(jí)!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)//判斷在兩個(gè)轟整數(shù)洋是否弟相等{if(i即==拾j)re碼tu登rn1;el柜sere惡tu潑rn0;}vo逝idCo朽ns韻tr拋uc寫ti矛on種(i技ntda臭ta抹[n獨(dú)+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堅(jiān)<=n;亭i++予)sc乘an根f(獨(dú)"%鏡d"桂,&粒da萍ta職[i])鈴;}順序際查找封數(shù)據(jù)子序列停中某鍬特定爭(zhēng)值的挨程序歪代碼vo拔idma駱in衛(wèi)(){in寄tke號(hào)y;in容tda桿ta慢[n智+1搬];Co恰ns半tr尾uc水ti氏on滾(d檔at滿a);//創(chuàng)建惰待查獨(dú)找數(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險(xiǎn)%d賽",脫po喉si耽ti鳳on說);}順序錢查找釣數(shù)據(jù)裁序列邊中某蔑特定騙值的荷程序拒代碼類C趟語言逮的描紡述功昏能1、預(yù)定飛義常雄量和塔類型:2、數(shù)據(jù)每結(jié)構(gòu)薪的表鳳示和描數(shù)據(jù)煮元素薪類型宜的定蟲義3、基本編操作美的算駐法用任函數(shù)萬描述4、算法渠描述跟中可褲以使拐用的鉛賦值協(xié)語句請(qǐng)形式5、算法果描述者中可抽以使鞏用的情選擇燥結(jié)構(gòu)老語句杰形式6、算法例描述汽中可公以使求用的燃循環(huán)華結(jié)構(gòu)芒語句雷形式7、描述咐算法苦中可敘以使挪用的掛結(jié)束仔語句騙形式8、算法艘描述免中可閉以使導(dǎo)用的脫輸入輪輸出滲語句棋形式9、算法卸描述悠中可腸以使膏用的醒注釋贊格式10、算法惕描述恭中可滑以使盛用的冠基本疏函數(shù)11、算法枯描述徹中可魄以使硬用的悅邏輯某運(yùn)算沉的約煌定轉(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僅限草本書俗,若編要上頁機(jī)使倍用,妨需自乞己定體義!2、數(shù)覺據(jù)結(jié)梅構(gòu)的反表示散和數(shù)平據(jù)元腥素的稼類型裝定義數(shù)據(jù)巨結(jié)構(gòu)懶的表擾示(豪存儲(chǔ)被結(jié)構(gòu)炮)用縱類型鑒定義ty彎pe訂de福f描述咱。數(shù)據(jù)鎮(zhèn)類型黑約定仗為El績(jī)em彎Ty管pe:由羽用戶盆在使碼用該候數(shù)據(jù)林類型魚時(shí)自騙行定抗義。確但它獸們不穿是C語言喘的關(guān)幫鍵字喚。上機(jī)恭時(shí)切拋勿直爛接使焰用。例子ty擔(dān)pe摸de剪fin斷tSt使at乒us版;ty款pe愚de他fin茄tEl索em涉Ty贈(zèng)pe活;ty亭pe宴de陪fin測(cè)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個(gè)殖元素根值為誓v1狗,v酒2,艷v3T=舞(E浪le竟mT餐yp撓e*積)m朗al霉lo極c(鍵3*si僻ze收of悟(E柱le青mT流yp智e))達(dá);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)在算栽法描謙述中毯可以逢使用叨的賦萬值語梳句形放式有啊:簡(jiǎn)單梢賦值板變量昂名=表達(dá)竭式;串聯(lián)盜賦值烤變量碧名1=變量伐名2=霸.帖..逼=變量楊名n=表達(dá)愈式;成組墻賦值(變量究名1,游..澤.,變量賄名n)血=(表達(dá)鉗式1,貪..碰.,表達(dá)從式n)兔;結(jié)構(gòu)奪賦值俊結(jié)構(gòu)季名1回=結(jié)構(gòu)嬸名2;結(jié)構(gòu)孟名=(值1,值2,睛..楊.,值k);條件相賦值摧變量彩名=條件飼表達(dá)捎式?表達(dá)蓋式T:表愛達(dá)式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會(huì)(s媽.i昂d);ge夏ts伏(s醫(yī).n膨am長(zhǎng)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(表達(dá)蛛式)語句券;條件擠語句2臉i貞f踐(表達(dá)皺式)語句挑;el障se語句村;開關(guān)殊語句1秘s脾wi神tc降h鎖(表達(dá)民式)保{ca鋪se值1:語局句序裹列1;br范ea蹦k;ca跳se值2:語郊句序悼列2;br護(hù)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(表紙達(dá)式1;循注環(huán)條等件表魚達(dá)式遷;表監(jiān)達(dá)式2)望語休句;wh榜il醒e循環(huán)嗽語句wh汪il呢e(循壞環(huán)條破件表蘿達(dá)式予)剪語句蔬;do搭-w棕hi停le循環(huán)青語句do夫{語句晨序列民;}擁wh犧il刷e(循求環(huán)條習(xí)件表劉達(dá)式唇);7.算法戚描述溝中的輸結(jié)束筑語句名形式函數(shù)保結(jié)束叼語句re慚tu蔬rn表達(dá)票式;re賽tu節(jié)rn非;ca伶se或循斷環(huán)結(jié)察束語降句br司ea劉k;異常悼結(jié)束反語句ex能it(異躍常代繳碼);8.算法蘇描述極中的甘輸入價(jià)輸出饅語句適形式輸入孔語句sc此an緞f([格式順串],變量富名1,箏..氧.,變量學(xué)名n);輸出薯語句pr栗in預(yù)tf雖([格式紅串],表達(dá)穩(wěn)式1,滾..舞.,表達(dá)詳式n)奧;方括院號(hào)([執(zhí)])中胞的內(nèi)攻容是標(biāo)可以咸省略貫的部翻分。9.算法帳描述廁中的頂注釋碼格式在算宿法描態(tài)述中屑使用屆的注姑釋格蹄式為櫻:?jiǎn)涡袓{注釋//文字結(jié)序列10于.算法面描述筍中的并基本軍函數(shù)求最閘大值ma蟻x(表達(dá)鞠式1,小..煙.,表達(dá)貼式n)經(jīng);//返回郵參數(shù)拆表中n個(gè)表赴達(dá)式固計(jì)算華結(jié)果偏的最畏大值守。求最的小值mi訴n(表達(dá)改式1,駕..釋.,表達(dá)廢式n)篇;//返回風(fēng)參數(shù)榮表中n個(gè)表毯達(dá)式嗓計(jì)算責(zé)結(jié)果蝦的最頃小值冠。求絕降對(duì)值ab熱s(表達(dá)帳式)求不章足整司數(shù)值fl姐oo帝r(表達(dá)城式)求進(jìn)贏位整旱數(shù)值ce迫il薪(表達(dá)靈式)判定緒文件朱結(jié)束eo璃f(文件翠變量)或eo可f判定凝行結(jié)季束eo容ln(文件灶變量)或eo鄰ln11、算瀉法描梢述中家的邏閃輯運(yùn)謊算的翅約定與運(yùn)挑算&&:對(duì)徒于A&榜&B,當(dāng)A的值蓋為0時(shí),奧不再森對(duì)B求值或運(yùn)添算||:對(duì)捐于A|洋|B,當(dāng)A的值安為非0時(shí),療不再午對(duì)B求值1.夏4算法燈和算疤法分方析算法授的定啟義:對(duì)特翼定問瞞題求征解步針驟的憐描述款,指罩令的有限序列,一條夫指令拐表示誦一個(gè)攜或多脫個(gè)操啞作。算法羅的特窮性:有窮舍性:算法干應(yīng)在斥執(zhí)行皆有窮育步后耕結(jié)束閣;每步兔應(yīng)在替有窮患時(shí)間始內(nèi)完曬成;確定鵲性:每條于指令題都有剖確切動(dòng)含義造;算法潑只有呈唯一論一條扯執(zhí)行豆路徑籠,對(duì)誕相同五輸入趙只能那得出提相同句輸出可行戀性:挺算法甘中描銳述的獸操作泊都可炒通過諷已經(jīng)忌實(shí)現(xiàn)表的基本劉運(yùn)算執(zhí)行夕有限水次實(shí)察現(xiàn);輸入牙:有0個(gè)或珠多個(gè)童輸入窯;輸出炕:有全一個(gè)違或多章個(gè)輸題出.算法與程序的區(qū)別?算法細(xì)設(shè)計(jì)難的要蜂求正確坦性:設(shè)棄計(jì)或交選擇崗的算捷法能納滿足常具體醬問題誕的需球求.程序顛不含鎮(zhèn)語法言錯(cuò)誤尚;程序肯對(duì)于廚幾組殲輸入固數(shù)據(jù)掌能夠倚得出臣滿足逃要求樹的結(jié)鞋果;對(duì)精席心選貪擇帶近有刁洋難性鄰的幾岔組數(shù)租據(jù)能掘得出賣滿足劉要求賣的結(jié)吃果;程序物對(duì)于番一切頑合法造的輸竊入數(shù)電據(jù)都敗能產(chǎn)諒生滿營(yíng)足要賓求的淋結(jié)果母??勺x萌性:健壯父性:當(dāng)輸欣入數(shù)當(dāng)據(jù)非罵法時(shí)段,算媽法能李適當(dāng)火地作勁出反職應(yīng)或著進(jìn)行削處理含,保最證不渠會(huì)產(chǎn)勵(lì)生莫莖名其擊妙的瞇輸出項(xiàng)結(jié)果佛。處理牛出錯(cuò)友的方焰法是孫返回陸一個(gè)習(xí)表示雁錯(cuò)誤刑或錯(cuò)備誤性蹦質(zhì)的眨值,章以便固在更鐵高的畢抽象財(cái)層次款上進(jìn)童行處柔理,速不應(yīng)嚴(yán)中斷艇程序計(jì)的執(zhí)法行。高效姓率和捕低存怖儲(chǔ)量抓需求:效率:算論法執(zhí)擇行的暑時(shí)間存儲(chǔ)畫量需種求:算澆法執(zhí)思行過貿(mào)程中瘦所需編要的衛(wèi)最大恒存儲(chǔ)香空間錘.兩者泰都與原問題帥的規(guī)惱模有鑼關(guān)。1.拳4.武3算法屑效率彩的度評(píng)量事后統(tǒng)統(tǒng)計(jì)欄:運(yùn)用年計(jì)算破機(jī)的混計(jì)時(shí)地功能蹤蝶統(tǒng)計(jì)寧算法副的運(yùn)微行時(shí)板間缺陷械:要曬運(yùn)行象算法著對(duì)應(yīng)啟的程它序;時(shí)間經(jīng)統(tǒng)計(jì)姑結(jié)果振依賴壩于計(jì)晨算機(jī)淚軟、菠硬件訓(xùn)環(huán)境菠;事前剩分析未估計(jì)和算件法執(zhí)昨行時(shí)配間相副關(guān)的孤因素仰有:算法馳采用神的策獵略問題表的規(guī)童模書寫勒程序虛的語悼言編譯抹器產(chǎn)款生的是機(jī)器伶代碼鍛的質(zhì)驅(qū)量計(jì)算穗機(jī)執(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ī)旺模算法酸的時(shí)拜間量緞度算法=控制則結(jié)構(gòu)+原操魔作(固有錄數(shù)據(jù)洗類型峰的操局作)從算兩法中義選一步種對(duì)姨所研羊究問妨題來約說是基本揀操作的原順操作牛,以炕該基悶本操喇作重耕復(fù)執(zhí)榨行次滅數(shù)作君為算礎(chǔ)法的勸時(shí)間旦量度議。算法合的漸稈近時(shí)私間復(fù)快雜度交:設(shè)算嘗法中膛基本次操作題重復(fù)牧執(zhí)行鐮次數(shù)丸是問墊題規(guī)電模n的某遇個(gè)函揚(yáng)數(shù)f(毛n),算船法的蹦時(shí)間昌量度欠記作T(料n)=O(銹f(織n)),表憤示隨盞問題饞規(guī)模n的增館大,凳算法樓執(zhí)行腐時(shí)間怕的增逐長(zhǎng)率創(chuàng)和f(寬n)的增遷長(zhǎng)率奇相同但,稱收為算禁法的絞漸近薪時(shí)間盒復(fù)雜賣度(忙時(shí)間顫復(fù)雜協(xié)度)歐。算法猴時(shí)間縮慧復(fù)雜冰度的豈大O表示系法一搖般用草于算聰法在狠最壞死情況書下的梅時(shí)間對(duì)代價(jià)筍。算法的執(zhí)行時(shí)間=原操作i的執(zhí)行次數(shù)×原操作i的執(zhí)行時(shí)間原操烈作vs基本械操作原操絮作:籃固有訪數(shù)據(jù)努類型來的操膀作,甜比如聞?wù)麛?shù)恒的加有、減擊、乘錫、除流和取曠模運(yùn)焦算?;疚椴僮骷喪鞘舱矗恳步芯仃P(guān)鍵初操作浸,是西一種附原操困作,哨關(guān)鍵智操作健大都程在循炮環(huán)和垂遞歸奮中在多蟻層嵌味套的姥循環(huán)釋中,姥關(guān)鍵怒操作促位于仆最內(nèi)寧層循牲環(huán)中皂,例1程序段語句頻度時(shí)間復(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(強(qiáng)n2)語句重復(fù)執(zhí)行的次數(shù)在如醫(yī)下算尋法中柔:fo么r(典i=批1;扯i<繳=n掛;+噴+i號(hào))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]音*堅(jiān)b涌[k欲][木j]裕;}例2問題驚規(guī)模:n基本環(huán)操作:c[繩i]骨[j茄]燭+=檔a周[i震][鹿k]尼*朗b熄[k膝][貓j]景;基本宿操作震重復(fù)惑執(zhí)行陣的次投數(shù):f(堪n)粗=奏n3算法確時(shí)間汁復(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ù):難以暴精確澆計(jì)算,量階刑是n2算法碌時(shí)間粒復(fù)雜賢度:T(泉n)干=婆O遣(n2)問題番規(guī)模:n基本憂操作:{a[寄j]<道->坐a[派j+邀1]枕;c簽ha貍ng乞e=緞TR辟UE只;}基本拴操作汁重復(fù)觀執(zhí)行娘的次粒數(shù):不定算法學(xué)時(shí)間離復(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慚;-強(qiáng)-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;倍}}}時(shí)間允復(fù)雜脂度的拼大O薪表示跪法加法昆規(guī)則糊:設(shè)兩鴨個(gè)并列程序善段的亞時(shí)間反復(fù)雜攝度分傳別為T1僚(n期)=O(聚f(盾n))和T2制(m隱)=O(澇g(杠m))時(shí),麻兩個(gè)眾程序去段連幣在一慨起后期整個(gè)遮程序駐段的錄時(shí)間若復(fù)雜執(zhí)度為T(n,m)外=顏T景1芬(n)幸+標(biāo)T2播(m)=牛O(板m絕ax帳(f(n),g(m)樓)壩)乘法禾規(guī)則灶:設(shè)兩襯個(gè)嵌套的程層序段桑的時(shí)濁間復(fù)傭雜度矮分別廈為T1干(n顯)=O(蔽f(付n))和T2通(m廁)=O(呀g(追m))時(shí),利整個(gè)摸程序荷段的績(jī)時(shí)間開復(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è)計(jì)征、選紋取和拜時(shí)間紫復(fù)雜湊度分勝析的啟原則應(yīng)該侵盡可墾能選牧用多犯項(xiàng)式柳階O(撓nk)的算午法,估不希牢望用米指數(shù)貞階算法逼的時(shí)罵間復(fù)團(tuán)雜度潑只考登慮問瓜題規(guī)既模n的增說長(zhǎng)率紹,在標(biāo)難以瘡精確堡計(jì)算私基本拒操作遺執(zhí)行爸次數(shù)冊(cè)時(shí),最只需字求得腰它關(guān)屢于n的增長(zhǎng)洋率或階即可悲。算法絡(luò)中基需本操夠作重和復(fù)執(zhí)惠行次暮數(shù)隨鳳問題紫的輸齊入數(shù)欠據(jù)集踩不同垮而不沿同,或要考精慮最壞情況晴下的宰時(shí)間陽復(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機(jī),%牧d,缺%d框\n”,撿i艇,j北,k走);}方法2:用機(jī)兩重可循環(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項(xiàng)*j紫+k時(shí)/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號(hào)–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+營(yíng)3*增y+填z/鎮(zhèn)3=慨10菠0合并駱為一亦個(gè)方占程:14差*x齒+8肥*y卡=怠2旅00頃,進(jìn)一詠步簡(jiǎn)川化為:牙7*鉗x+胸4*妄y=磁10參0x不超懇過14,并再可以某進(jìn)一俱步判卷斷x必為4的倍明數(shù),贈(zèng)有: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險(xiǎn)*3秤3次;O(切n2)方法趴四的愈循環(huán)伸次數(shù)個(gè)為:4次。O(既n)時(shí)間杜復(fù)雜峽度算法封的空康間復(fù)景雜度由度量漸進(jìn)電的空否間復(fù)杜雜度:算法星所需護(hù)存儲(chǔ)父空間明的量參度。剖記作陡:S(煮n)紡=O議(g魂(n蛛)),其中n為問盆題的悟規(guī)模,表示陰隨著膨問題荒規(guī)模n的增胸大,叫算法恨運(yùn)行井所需挺存儲(chǔ)匹量的績(jī)?cè)鲩L(zhǎng)戴率與g(漆n)的增響長(zhǎng)率誘相同醉。算法索的存喝儲(chǔ)量糧包括:1.輸懶入數(shù)得據(jù)所汁占空飽間;2.程海序本志身所運(yùn)占空體間;3.額賀外輔歉助空公間。本章臨重點(diǎn)理解諸數(shù)據(jù)貧結(jié)構(gòu)虹的重欲要地再位熟悉描數(shù)據(jù)估結(jié)構(gòu)叢的主掌要研花究?jī)?nèi)加容至少幼掌握擋一種款算法膠的描徹述方燒法自然響語言傳統(tǒng)貸流程礎(chǔ)圖結(jié)構(gòu)啞化流圍程圖NS圖偽代宋碼計(jì)算填機(jī)語秧言掌握世估算暮算法想時(shí)間乘復(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)中要元素威之間搞存詢?cè)陉P(guān)系蜘,圖君形結(jié)終構(gòu)中步元素效之間妄存在關(guān)系潑。3、數(shù)據(jù)爪元素?cái)D是數(shù)避據(jù)的厲最小己?jiǎn)挝?對(duì)/錯(cuò))二、現(xiàn)算法麻和時(shí)凡間復(fù)彈雜度秒分析1、將運(yùn)下列示函數(shù)學(xué)按它未們?cè)趎-亭>∞時(shí)的瓣無窮畝大階蓮數(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時(shí)r!果”)令;}3、用腰事前笛估計(jì)請(qǐng)與事極后統(tǒng)搭計(jì)相近結(jié)合略的方初法估街算算或法運(yùn)喝行時(shí)誘間。設(shè)兩膠個(gè)矩朽陣相溜乘算賢法的觀時(shí)間精復(fù)雜挨度為T(幕n)=觀O(微n3),兩個(gè)10迫*10的矩關(guān)陣相級(jí)乘,執(zhí)行探時(shí)間辭為12微ms,請(qǐng)蟲估計(jì)坐兩個(gè)31*31矩陣戒相私乘的柿?xí)r間柱。解:廟ti竟me蒼=1粒2*距(3屑1/牽10槍)3解:階時(shí)間丟復(fù)雜座度是O(料√n農(nóng))作業(yè)熟悉糞上機(jī)厭環(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)上機(jī)擴(kuò)應(yīng)注意:TC環(huán)境冶下要喊求變色量聲抖明放戚在函害數(shù)體傻的最序前面書寫鵲格式申,縮忌進(jìn),組便于溉閱讀脂和查殖錯(cuò)函數(shù)慎返回茫值問悠題習(xí)題1.摧8:估嗽算算急法時(shí)爬間復(fù)孩雜度數(shù)據(jù)撈結(jié)構(gòu)目實(shí)驗(yàn)曉開發(fā)收環(huán)境謙介紹診和使借用DE環(huán)V講CP輸P(稠DE鄭V盜C+職+5亦.0傭)VC沈++丑6.檢0(噴Vi蜓su樓al評(píng)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)境主簡(jiǎn)介De臨v-默CP扔P是一汁個(gè)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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 時(shí)尚產(chǎn)業(yè)辦公空間裝修協(xié)議
- 游泳池裝修終止合同
- 化妝品店內(nèi)部裝修合同細(xì)則
- 海上夜游航線乘客協(xié)議
- 智能園區(qū)砂石運(yùn)輸服務(wù)合同
- 潤(rùn)滑油國(guó)內(nèi)運(yùn)輸協(xié)議
- 2025年度安防設(shè)備展覽會(huì)專業(yè)展臺(tái)搭建合同
- 醫(yī)療器械配送服務(wù)合同
- 物業(yè)小區(qū)翻新服務(wù)方案
- 外架工勞務(wù)合同范例
- (康德一診)重慶市2025屆高三高三第一次聯(lián)合診斷檢測(cè) 英語試卷(含答案詳解)
- 2025年福建泉州文旅集團(tuán)招聘24人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 建筑行業(yè)砂石物資運(yùn)輸方案
- 腫瘤全程管理
- 融資報(bào)告范文模板
- 桃李面包盈利能力探析案例11000字
- GB/Z 30966.71-2024風(fēng)能發(fā)電系統(tǒng)風(fēng)力發(fā)電場(chǎng)監(jiān)控系統(tǒng)通信第71部分:配置描述語言
- 污泥處置合作合同模板
- 腦梗死的護(hù)理查房
- 2025高考數(shù)學(xué)專項(xiàng)復(fù)習(xí):概率與統(tǒng)計(jì)的綜合應(yīng)用(十八大題型)含答案
- 2024-2030年中國(guó)紫蘇市場(chǎng)深度局勢(shì)分析及未來5發(fā)展趨勢(shì)報(bào)告
評(píng)論
0/150
提交評(píng)論