數(shù)據(jù)結(jié)構(gòu)課件第章新_第1頁
數(shù)據(jù)結(jié)構(gòu)課件第章新_第2頁
數(shù)據(jù)結(jié)構(gòu)課件第章新_第3頁
數(shù)據(jù)結(jié)構(gòu)課件第章新_第4頁
數(shù)據(jù)結(jié)構(gòu)課件第章新_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)的概念及其研究的問題,是本章中重要的概念,它們貫穿整本書。除了數(shù)據(jù)結(jié)構(gòu)研究的三個(gè)方面,我們對(duì)每種數(shù)據(jù)結(jié)構(gòu)都會(huì)給出應(yīng)用的實(shí)例。要學(xué)會(huì)描述數(shù)據(jù)結(jié)構(gòu)和算法,分析算法的時(shí)、空復(fù)雜度。第1章基礎(chǔ)知識(shí)

數(shù)據(jù)結(jié)構(gòu)DATASTRUCTURE1內(nèi)容提要1.給出數(shù)據(jù)結(jié)構(gòu)的概念2.介紹數(shù)據(jù)抽象和抽象數(shù)據(jù)類型3.說明數(shù)據(jù)結(jié)構(gòu)和算法描述的方法4.介紹算法和算法分析的基本方法√√21.1算法和數(shù)據(jù)結(jié)構(gòu)瑞士的Wirth博士圖靈獎(jiǎng)獲得者提出:程序=算法+數(shù)據(jù)結(jié)構(gòu)31.1算法和數(shù)據(jù)結(jié)構(gòu)課堂提要第1章基礎(chǔ)知識(shí)1.1算法和數(shù)據(jù)結(jié)構(gòu)1.2什么是數(shù)據(jù)結(jié)構(gòu)1.3數(shù)據(jù)抽象和抽象數(shù)據(jù)類型1.4描述數(shù)據(jù)結(jié)構(gòu)和算法1.5算法分析的基本方法

數(shù)據(jù)結(jié)構(gòu)和算法是計(jì)算機(jī)學(xué)科的基礎(chǔ)之一,更是軟件技術(shù)的基礎(chǔ)。

算法設(shè)計(jì)通常建立在所處理的數(shù)據(jù)之上的,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來更高效率的算法。程序=算法+數(shù)據(jù)結(jié)構(gòu)4精心設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)真的可以帶來更高效率的算法嗎?5圖一6,圖二7

數(shù)據(jù)在計(jì)算機(jī)中的表示和存儲(chǔ)不能是無組織的,是有規(guī)律,有結(jié)構(gòu)的。

81.數(shù)據(jù):計(jì)算機(jī)加工處理的對(duì)象

2.數(shù)據(jù)元素:是組成數(shù)據(jù)的基本單位,在計(jì)算機(jī)程序中通常作為一個(gè)整體來處理。數(shù)據(jù)元素由若干數(shù)據(jù)項(xiàng)組成。3.數(shù)據(jù)項(xiàng)是不可再分割的。1.2什么是數(shù)據(jù)結(jié)構(gòu)

1.2.1基本概念9表1.1學(xué)生情況表學(xué)號(hào)姓名性別其他信息B02040101王小紅女…B02040102林悅女…B02040103陳菁女…B02040104張可可男……………數(shù)據(jù)項(xiàng)10數(shù)據(jù)結(jié)構(gòu)的由來

數(shù)據(jù)結(jié)構(gòu)主要是為研究和解決如何使用計(jì)算機(jī)組織和處理這些非數(shù)值問題而產(chǎn)生的理論、技術(shù)和方法。它已成為計(jì)算機(jī)學(xué)科研究的基本課題之一。

11什么是數(shù)據(jù)結(jié)構(gòu)定義1----數(shù)據(jù)元素之間的相互關(guān)系稱為結(jié)構(gòu),帶有結(jié)構(gòu)的數(shù)據(jù)元素的集合稱為數(shù)據(jù)結(jié)構(gòu)。定義2----按某種邏輯關(guān)系組織起來的一批數(shù)據(jù)(或稱帶結(jié)構(gòu)的數(shù)據(jù)元素的集合)應(yīng)用計(jì)算機(jī)語言并按一定的存儲(chǔ)表示方式把它們存儲(chǔ)在計(jì)算機(jī)的存儲(chǔ)器中,并在其上定義了一個(gè)運(yùn)算的集合。12

數(shù)據(jù)結(jié)構(gòu)包括三個(gè)方面邏輯結(jié)構(gòu):數(shù)據(jù)元素間的邏輯關(guān)系;存儲(chǔ)結(jié)構(gòu):數(shù)據(jù)在計(jì)算機(jī)內(nèi)的表示形式;運(yùn)算:在數(shù)據(jù)上執(zhí)行的操作。13數(shù)據(jù)結(jié)構(gòu)舉例表1.1學(xué)生情況表學(xué)號(hào)姓名性別其他信息B02040101王小紅女…B02040102林悅女…B02040103陳菁女…B02040104張可可男……………邏輯結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu),運(yùn)算141.2.2數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)可以用一個(gè)二元組表示。即DS=(D,R)其中,D是數(shù)據(jù)元素的有限集合,R是D中數(shù)據(jù)元素序偶的集合。例如DS={D,R},D={a,b,c,d},R={<a,b>,<b,c>,<c,d>},

其中,序偶<a,b>表示a和b之間的關(guān)系,我們稱為a是b的直接前驅(qū),b是a的直接后繼。小圓圈代表數(shù)據(jù)元素,兩個(gè)不同元素的序偶稱為邊。abcd154種基蛾本的型邏輯踢結(jié)構(gòu)(a)集合結(jié)構(gòu)(b)線性結(jié)構(gòu)(c)樹形結(jié)構(gòu)(d)圖結(jié)構(gòu)圖1-2四種基本的結(jié)構(gòu)關(guān)系對(duì)數(shù)白據(jù)元乏素間邏輯撫關(guān)系的描薯述稱鋤為數(shù)貴據(jù)的邏輯聰結(jié)構(gòu)。根據(jù)消數(shù)據(jù)鍛結(jié)構(gòu)仙中數(shù)窄據(jù)元炭素之閣間關(guān)蛾系的糾不同款特征揭,可漿以劃唐分為恐以下得四種史基本見邏輯探結(jié)構(gòu)剖:16線性巧結(jié)構(gòu)額:數(shù)據(jù)行元素竄之間遞存在蜓一對(duì)跡一的桃關(guān)系份。一個(gè)逝前驅(qū)念,一妙個(gè)后攜繼。樹形嗎結(jié)構(gòu)志:數(shù)據(jù)案元素煎之間侮存在份一對(duì)堡多的挎關(guān)系邁。圖結(jié)玩構(gòu):數(shù)據(jù)放元素頸之間份存在由多對(duì)聰多的瓦關(guān)系黎。每叫個(gè)結(jié)辛點(diǎn)的妙前驅(qū)火和后后繼的絞數(shù)目奴都不君同。集合怒結(jié)構(gòu)向:結(jié)構(gòu)弓中的陜數(shù)據(jù)等元素直之間恰除了勻“同教屬于粱一個(gè)團(tuán)集合養(yǎng)”的寒關(guān)系專外,貸沒有揉其它覺關(guān)系勢(shì)。四種飽邏輯瞞結(jié)構(gòu)張也可齊以分攻成兩孔類:昏線性完結(jié)構(gòu)簽和非飽線性灰結(jié)構(gòu)辣。(a)集合結(jié)構(gòu)(b)線性結(jié)構(gòu)(c)樹形結(jié)構(gòu)(d)圖結(jié)構(gòu)圖1-2四種基本的結(jié)構(gòu)關(guān)系17幾種育存儲(chǔ)緊結(jié)構(gòu)順序騾結(jié)構(gòu)鏈接警結(jié)構(gòu)索引明結(jié)構(gòu)散列茄結(jié)構(gòu)地址惹信息扔稱為居鏈?!谋硎拘真溛?。1.幕2.鍋3數(shù)據(jù)伙的存唐儲(chǔ)表祖示存儲(chǔ)炎結(jié)構(gòu):數(shù)據(jù)百結(jié)構(gòu)判的實(shí)凝現(xiàn)形辦式,折是數(shù)貼據(jù)結(jié)耽構(gòu)在段計(jì)算領(lǐng)機(jī)內(nèi)仆的表岔示,敲即數(shù)據(jù)傘元素稠及其予關(guān)系在計(jì)侵算機(jī)織存儲(chǔ)虜器中幟的存走儲(chǔ)方圈式。其中省,順泉序和怠鏈接傳是兩違種最糾基本庫的存言儲(chǔ)表捐示方燃法。18順序上存儲(chǔ)順序記(或越稱連戴續(xù))址表示轎方法逮需要威一塊粱連續(xù)妄的存詢儲(chǔ)空設(shè)間,革并把邏輯孝上相偉關(guān)的數(shù)好據(jù)元帶素一襖次存萄儲(chǔ)在泰該連續(xù)的存濤儲(chǔ)區(qū)捉中。例如喂,神由4個(gè)元婦素組并成的申線性巴數(shù)據(jù)襲結(jié)構(gòu)緩(a0,額a1,蝦a2,額a3),席存儲(chǔ)東在某齊個(gè)連耐續(xù)的竿存儲(chǔ)居區(qū)內(nèi)搬,設(shè)作存儲(chǔ)黑區(qū)的醒起始百地址關(guān)是10順2,假負(fù)定每掘個(gè)元灰素占2個(gè)存定儲(chǔ)單齡元。Lo弊c(亡ak)退=苦10衡2煙+傾2儲(chǔ)×k19鏈?zhǔn)津v存儲(chǔ)例如徑,線雷性結(jié)無構(gòu)(a0,攀a1,燃a2,詳a3)的鋒鏈接匯存儲(chǔ)呢表示旦。結(jié)點(diǎn)辟存儲(chǔ)熟塊分河成兩解部分算,元機(jī)素本鏈身和葵該元讀素后短繼元婦素所永在結(jié)廚點(diǎn)的腦存儲(chǔ)阻地址跪。Da扁ta頂Li兄nk鏈接帖存儲(chǔ)棉表示持下,適為在尿機(jī)內(nèi)累存儲(chǔ)及一個(gè)弟元素圣,除涼了需販要存緒放該垃元素趁本身射的信砌息外報(bào),還證需要甲存放狠于該化元素?cái)∠嚓P(guān)窄的其歇它元準(zhǔn)素的諷地址擔(dān)信息糞。這遵兩部赤分信采息組順成一捏個(gè)數(shù)貞據(jù)元結(jié)素的箱結(jié)點(diǎn)蛾。20邏輯結(jié)構(gòu)存儲(chǔ)結(jié)構(gòu)概念數(shù)據(jù)元素之間邏輯關(guān)系的描述數(shù)據(jù)及其關(guān)系在計(jì)算機(jī)內(nèi)的組織方式面向面向應(yīng)用問題面向計(jì)算機(jī)關(guān)系存儲(chǔ)結(jié)構(gòu)是邏輯結(jié)構(gòu)在計(jì)算機(jī)內(nèi)的映像小結(jié)211.喚2.埋4數(shù)據(jù)慶結(jié)構(gòu)輪的運(yùn)道算數(shù)據(jù)匹結(jié)構(gòu)添最常胖見的袖運(yùn)算創(chuàng)建假運(yùn)算:創(chuàng)建秤一個(gè)醒數(shù)據(jù)庫結(jié)構(gòu)督;清除牙運(yùn)算:刪除典數(shù)據(jù)獨(dú)結(jié)構(gòu)兼中的球全部元素潔;插入煎運(yùn)算:在數(shù)午據(jù)結(jié)及構(gòu)的任指定孕位置敲上插入岸一個(gè)新葵元素陡;刪除槽運(yùn)算:將數(shù)跑據(jù)結(jié)坡構(gòu)中嚼的某趕個(gè)元蹦素刪調(diào)除;……22靜態(tài)錢數(shù)據(jù)嗓結(jié)構(gòu)和動(dòng)態(tài)柏?cái)?shù)據(jù)測(cè)結(jié)構(gòu)如果拖一個(gè)鳴數(shù)據(jù)拋結(jié)構(gòu)恢一旦李創(chuàng)建肅,其鏡結(jié)構(gòu)經(jīng)不發(fā)墳生改竿變,授則稱綠為靜態(tài)澤數(shù)據(jù)扣結(jié)構(gòu),否報(bào)則成奴為動(dòng)態(tài)絲式數(shù)據(jù)濫結(jié)構(gòu)。23小結(jié)數(shù)據(jù)跪結(jié)構(gòu)照是一旦門研撒究程貓序設(shè)蜓計(jì)問販題中瘡計(jì)算宮機(jī)的艇操作丈對(duì)象示(數(shù)據(jù))以瘦及它市們之叔間的關(guān)系和運(yùn)算的學(xué)悼科。241.想3數(shù)據(jù)藥抽象部和抽月象數(shù)蛋據(jù)類簽型抽象維,封存裝和澡信息皂隱蔽沈是控排制軟零件開顛發(fā)復(fù)旺雜度換,提陷高軟以件可僑靠性害的重虜要手送段.本書砌采用尊抽象鄉(xiāng)豐數(shù)據(jù)坑類型藥的觀定點(diǎn)討瓜論數(shù)兵據(jù)結(jié)籃構(gòu)。課堂貨提要第1章垃基礎(chǔ)揉知識(shí)1.第1算法亂和數(shù)燥據(jù)結(jié)索構(gòu)1.橫2什么宇是數(shù)堤據(jù)結(jié)清構(gòu)1.茫3數(shù)據(jù)磁抽象蛇和抽板象數(shù)據(jù)象類型1.維4描述都數(shù)據(jù)嫂結(jié)構(gòu)日和算法1.抓5算法觀分析食的基半本方法251.陸C語言秧的數(shù)逗據(jù)類誼型(1貧)基本綿類型洋:字符雖、整異型……(2膽)構(gòu)造盤類型跨:數(shù)組鋤、結(jié)嘗構(gòu)和息聯(lián)合(3酒)指針董類型秧:指針例如絞,in丙t砍a;變量a的取撐值范永圍是緞:-3兇27倍6832廁76紗7對(duì)變美量a執(zhí)行員的操恢作有稈:算術(shù)這運(yùn)算+、-、*丑、/、%關(guān)系漠運(yùn)算<、>、<=、>=、==、!=2.數(shù)據(jù)箱類型一個(gè)伍數(shù)據(jù)雅類型余定義企了一物個(gè)值虧的集掩合以獸及作畝用于兄該值況集的奪操作萍的集道合。即一圓組值過和一爛組操教作。1.血3.錄3數(shù)據(jù)日類型都和抽舒象數(shù)爭(zhēng)據(jù)類滴型26抽象鉆數(shù)據(jù)永類型(Abs窩tr跳ac傾t心Da擺ta璃T溉yp呈e,些A娛DT)是班一個(gè)譯數(shù)據(jù)紹類型恥,其紡主要匙特征酒是該嫂類型樂的對(duì)淡象及債其操贏作的規(guī)范,與該薯類型塔對(duì)象腐的表向示和早操作銹的實(shí)現(xiàn)分離恒,實(shí)行張封裝麻和信倡息隱呼蔽,即使用諒和實(shí)痛現(xiàn)分欲離。使用有和實(shí)榨現(xiàn)分檢離:使用穗者通術(shù)過規(guī)范使用壁該類埋型的顫數(shù)據(jù)越,而乳不必占考慮鴨其實(shí)吃現(xiàn)細(xì)殖節(jié);閱改變折實(shí)現(xiàn)穗將不異影響碼使用幅。例如趟,C+劉+中的疼整型in虧t就是廉抽象流數(shù)據(jù)獅類型狀。它耕的實(shí)現(xiàn)鳳是隱扯蔽的市,使揀用者叛只能對(duì)通過像整型夕上定蔑義的司一組易運(yùn)算找對(duì)整撕型變療量滿執(zhí)行外操作久。3.抽象和數(shù)據(jù)貌類型27規(guī)范弓指明播“做罵什么饒”,實(shí)現(xiàn)胞解決冶“怎歉樣做材”。規(guī)范摔是實(shí)隔現(xiàn)的某準(zhǔn)則圖和依貫據(jù)28一個(gè)勁數(shù)據(jù)口結(jié)構(gòu)鋸包含未兩個(gè)娛層次都:(1鹽)數(shù)據(jù)冬結(jié)構(gòu)泉的規(guī)申范(宜抽象善層)婦:邏輯助結(jié)構(gòu)鏡和運(yùn)算狂的定仆義組成蔬了數(shù)疼據(jù)結(jié)瓜構(gòu)的盛規(guī)范(2姜)數(shù)據(jù)彩結(jié)構(gòu)芳的實(shí)兄現(xiàn)(叫實(shí)現(xiàn)搬層)篩:存儲(chǔ)率結(jié)構(gòu)融和運(yùn)葵算算法殼實(shí)現(xiàn)構(gòu)成鼠了數(shù)抵據(jù)結(jié)框構(gòu)的惜實(shí)現(xiàn)1.窩3.握4數(shù)據(jù)伶結(jié)構(gòu)擇和抽勿象數(shù)停據(jù)類悟型一種參數(shù)據(jù)糞結(jié)構(gòu)迫被視的為一形個(gè)抽蒜象數(shù)慨據(jù)類阻型。291.倡4描述潑數(shù)據(jù)渡結(jié)構(gòu)妖和算摧法30本書陽是怎后樣描占述每盼種數(shù)儉據(jù)結(jié)歡構(gòu)?1.勁4描述羽數(shù)據(jù)歇結(jié)構(gòu)器和算晌法首先裳描述些數(shù)據(jù)翠結(jié)構(gòu)熄的規(guī)范(邏輯樓結(jié)構(gòu)他和運(yùn)被算的困定義花)然后易介紹觀數(shù)據(jù)志結(jié)構(gòu)棟的實(shí)現(xiàn)(存儲(chǔ)脈結(jié)構(gòu)儀和運(yùn)樣算的抓具體埋程序憶實(shí)現(xiàn)),31(1)用婚格式靈化的自然親語言來描腸述數(shù)諷據(jù)結(jié)決構(gòu)的智規(guī)范診。(2)用叛一個(gè)C+材+的抽象齒模板潤類描述釘數(shù)據(jù)毯結(jié)構(gòu)然的規(guī)傾范。1.沙4.液1數(shù)據(jù)霉結(jié)構(gòu)旱的規(guī)政范1.證4描述骨數(shù)據(jù)斧結(jié)構(gòu)膽和算封法對(duì)數(shù)遇據(jù)結(jié)銹構(gòu)的飛規(guī)范餐的描頓述:32數(shù)據(jù)春結(jié)構(gòu)匹描述必舉例--蓋-堆棧1.蹲4.礙1數(shù)據(jù)雞結(jié)構(gòu)理的規(guī)纖范33AD票T捆1.觸1棧抽赤象數(shù)落據(jù)類塊型AD搜T宴St筑ac闖k{Da稈ta榮:(描述騾邏輯童結(jié)構(gòu))0個(gè)或跌多個(gè)示元素宴的線旁性序御列(a0,a1,,an-碗1),遵循LI管FO原則慕。Ope筍ra疫ti搬on脖s:(描述揭運(yùn)算本的定腐義)Cr襪ea井te表():創(chuàng)建紫一個(gè)請(qǐng)空棧質(zhì)。De慚st密ro絕y(賣):撤消烤一個(gè)尤棧。Pu類sh牌(x胸):元汪素x插入匆棧頂紛。Po眾p(蝦):刪除存棧頂姑元素羊。To其p(歡x):在x中返精回棧炎頂元道素。}(1)用AD調(diào)T描述革數(shù)據(jù)閱結(jié)構(gòu)——堆棧未的例死子對(duì)堆續(xù)棧的并規(guī)范橫的描丑述:34程序1.廳1棧的C+辰+模板大抽象巖類te貍mp招l(wèi)a蕉te慚<c廢la勁ss產(chǎn)T貿(mào)>cl短as陡s惡St紗ac盼k{往pu甲bl港ic誘:vi蛋rt什ua墨l足vo涼idPu鏡sh下(Tx)似=0遇;vi頭rt競(jìng)ua蒼l棚vo周id先P液op沸()敵=0慘;vi汁rt虛ua恨l概TTo君p(屆T&x)義co怒ns視t=0勻;…};除了價(jià)構(gòu)造剪函數(shù)聚,其優(yōu)余成奔員函唯數(shù)都中是純銷虛函跨數(shù)。質(zhì)順序鬼?xiàng)n怱e犯qS溫ta上ck是類St畝ac繳k在順黃序存玩儲(chǔ)表規(guī)示下恰的一知種實(shí)甩現(xiàn),繡它是壟從抽騙象類St撇ac邁k派生點(diǎn)出來乘的,寒它可首以實(shí)月例化梁。(2)用C+臣+模板吐抽象暗類描領(lǐng)述數(shù)盡據(jù)結(jié)前構(gòu)35te攀mp合la敘te海<c系la悅ss溉T習(xí)>bo玩olSe橋qS稍ta橡ck<T鄰>:田:Pu丹sh亭(T&x怒){if情(I召sF去ul趕l()精){co碑ut<<齊"O啊ve揪rf芬lo刷w"豎<<en奧dl;re凡tu深rn州f炮al粉se雷;}s[悉++巨to富p]=貨x;re皺tu用rn攏t窮ru炊e;}1.才4.2淡實(shí)現(xiàn)壇數(shù)據(jù)浸結(jié)構(gòu)堆棧跌的實(shí)殊現(xiàn):361.運(yùn)5算法表分析津的基券本方批法內(nèi)容駐提要算法回及其六性能封分析算法壁的空避間復(fù)因雜度算法匪的時(shí)倍間復(fù)縫雜度漸近豆時(shí)間喇復(fù)雜難度課堂雙提要第1章靈基礎(chǔ)鄰知識(shí)1.疲1算法妨和數(shù)浸據(jù)結(jié)軍構(gòu)1.食2什么糾是數(shù)完據(jù)結(jié)該構(gòu)1.岸3數(shù)據(jù)橫抽象紀(jì)和抽黑象數(shù)據(jù)忠類型1.材4描述寨數(shù)據(jù)爹結(jié)構(gòu)圣和算法1.評(píng)5算法絡(luò)分析葬的基諸本方法371.什么還是算刑法一個(gè)擁算法(a顏lg疾or黑it磨hm何)是對(duì)在特定翁問題厭的求奪解步攝驟的冊(cè)一種君描述欺,它溪是指堆令的仰有限售序列補(bǔ);此幅外,皆算法帝具有帝下列位五個(gè)松特征話:(1躍)輸入算法拘有零怖個(gè)或默多個(gè)帆輸入高。(2誓)輸出算法豬至少凱產(chǎn)生睬一個(gè)賀輸出(3稀)確定簡(jiǎn)性算法冤的每?jī)?yōu)一條五指令緒都有列確切毫的定通義,離沒有呆二義海性。(4洪)能行州性算法案的每迅一條淺指令便都足漁夠基躁本,質(zhì)它們只可以刮通過攜已經(jīng)附實(shí)現(xiàn)韻的基文本運(yùn)腥算執(zhí)期行有弟限次世來實(shí)飽現(xiàn)。(5鼠)有窮果性算法簡(jiǎn)必須削總能斬在執(zhí)窮行有蛙限步銅之后術(shù)終止枝。1.堂5.別1算法檔及其錘性能喪分析382.算法瓶描述餅方法算法扮可以柏自然磨語言候、流分程圖陪或程開序設(shè)嬸計(jì)語虛言描扒述。當(dāng)一棵個(gè)算厲法用糠程序育設(shè)計(jì)淺語言駕描述引時(shí),慮便成岸為程兵序。本書斷中,辟主要涉使用C+轎+語言愧描述佩。3.算法斤的性銅能標(biāo)藝準(zhǔn)正確攏性:算供法的沈執(zhí)行倉結(jié)果側(cè)應(yīng)當(dāng)貓滿足模預(yù)先隔規(guī)定嗎的功惹能和民性能要求槽。(2喉)簡(jiǎn)明饞性:一標(biāo)個(gè)算市法應(yīng)午當(dāng)思它路清判晰、答層次暢分明暢、易汁讀易猴懂。(3徹)健壯聾性:當(dāng)更輸入亮不合陸法數(shù)諸據(jù)時(shí)恰,應(yīng)繡能做憲適當(dāng)唇處理汽,不掘至于引起獻(xiàn)嚴(yán)重鑰后果鄙。(4縱)效舟率:有懼效使拍用存喜儲(chǔ)空得間和匆有高承的時(shí)戲間效蛛率。(5帝)最優(yōu)級(jí)性:解濱決同鉗一個(gè)脈問題序可能栗有多毒種算濟(jì)法,茂應(yīng)進(jìn)叔行比驚較,選擇醒最佳喘算法間。391.雅5.才2算法盜的時(shí)的間復(fù)增雜度程序劃步一個(gè)諸程序奏步是競(jìng)指在個(gè)語法標(biāo)上或務(wù)語義俯上有艱意義紗的程儉序段冤,該判程序和段的甲執(zhí)行畏時(shí)間與問目題實(shí)茶例的姨特征鼻無關(guān)。算法陳的時(shí)歡間復(fù)若雜度是程勒序運(yùn)乒行從象開始呢到結(jié)縫束所迎需的霧時(shí)間印。40程序1.珍3求一兄個(gè)數(shù)副組元志素的箏累加廁之和fl填oa趣t狠su旁m(狼fl價(jià)oa方t姥li膏st甜[]圍,c朱on那st餅i泉nt丘n列){fl償oa群t懼te熄mp透su悔m=咸0.寧0;fo恩r(豬in亭ti=轎0;貼i<n;司i++蜂)te辜mp聽su哨m+=li是st纖[i];re費(fèi)tu賓rnte末mp眉su糕m;}程序瓜步數(shù)嶄為2n科+3。411.窮5.剪3漸近昆時(shí)間坑復(fù)雜殿度大O記號(hào)如果劍存在餃兩個(gè)澆正常嫌數(shù)c和n0,使得緒對(duì)所再有的n,nn0,有f(箭n)c際g(向n)則有f(鞏n)非=O輩(g絹(n攝))。漸近貴時(shí)間撐復(fù)雜拾度使用補(bǔ)大O記號(hào)館表示莫的算物法的烏時(shí)間茫復(fù)雜絨性,留稱為羽算法塞的漸砌近時(shí)腐間復(fù)帆雜度,簡(jiǎn)稱附時(shí)間繭復(fù)雜扔度。42漸近榜時(shí)間回復(fù)雜孤度使用壺大O記號(hào)盟表示字的算鄉(xiāng)豐法的庸時(shí)間匹復(fù)雜法性,啄稱為隔算法士的漸氏近時(shí)咬間復(fù)搏雜度,簡(jiǎn)稱百時(shí)間逝復(fù)雜啟度。大O記號(hào)賭用以書表達(dá)臉一個(gè)易算法海運(yùn)行豎時(shí)間戚的上渡界,續(xù)可用程序耐步在數(shù)桂量級(jí)雁上估計(jì)辦算法施的執(zhí)鹿行時(shí)弓間。例如慮,設(shè)T(紹n)省=筒3.季6n3+2鄙.5詳n2+2編.88顆.9拐n3則根妥據(jù)大O記號(hào)用的定椅義容您易證糕明T(箱n)裝=聯(lián)O(邪n3)43例如翠,程遍序1.店2為求一核個(gè)數(shù)璃組元添素的臂累加禮之和烤的算法嶄。fl挑oa遷t席su守m(猶fl闊oa典t饅li繼st糠[]虎,c斗on印st怪i藥nt滿n持){協(xié)fl呢oa梁t屠te疼mp音su豪m(xù)=參0.唇0;惜//唉1fo員r鏈(in嚇ti=罩0;焰i抱<n圍;社i+撿+尺)楊/份/膨n+會(huì)1te戒mp釋su航m+=該l襯is崗t[舟i]崖;//頃nre供tu掉rnte盯mp柿su守m;廟//甘1}(1)總的程序化步數(shù)為2n呼+3,則漸近研時(shí)間思復(fù)雜府性為O(旗n)。44fl膊oa瘡t虹su權(quán)m(牽fl做oa虛t判l(wèi)i課st匆[]尖,c繁on臘st火i娘nt使n事){綿fl用oa際t摩te房誠mp膠su江m=鉗0.留0;盾//飾1fo堂r音(in爭(zhēng)ti=簽0;耳i冊(cè)<n幕;移i+頌+枕)恥/貿(mào)/警n+孔1te值mp攏su女m+=鏟l腫is猛t[閃i]柄;//翅nre蟲tu稱rnte輕mp女su刮m;蘭//視1}(2)語句te沈mp伏su棒m+=li開st乖[i]可認(rèn)懇為是餐關(guān)鍵思操作豆,它描的執(zhí)烘行次首數(shù)為n次,張則漸近蓄時(shí)間擋復(fù)雜住性為O(迅n)。很多魂情況豆下,鄉(xiāng)豐可以拘通過朱考察贏一個(gè)遠(yuǎn)算法咬中的關(guān)鍵映操作(關(guān)冤鍵操閥作被繼認(rèn)為承是一斥個(gè)執(zhí)行姜次數(shù)經(jīng)最多的程艦序步萍)的耍執(zhí)行往次數(shù)廳來計(jì)淋算算究法的顆漸近卸時(shí)間穗復(fù)雜筐性。45常見革的漸躲近時(shí)笛間復(fù)悶雜性竊從小政到大肉排列懸有:O(紀(jì)1)拌<閣O(僚lo使g2n)幕<O(介n)<枕O臺(tái)(n頌lo散g2n)舉<圖O(緣瑞n2)<富O拉(n3)例如糾:若某閘算法壞程序陵的總甲程序紋步為4,則其平漸近術(shù)時(shí)間混復(fù)雜綱性為劃多少構(gòu)?O(位4)是錯(cuò)喪誤寫槐法。應(yīng)為O(末1)46vo混id坑M鏟ul蓬t(鹿in沒t壓a[貫n]猛[n奸],壯b栽[n植][邪n]農(nóng),毯c[范n]紗[n淡],刪i嫌nt根n個(gè)){延//壞nn矩陣a與b相乘辟得到c。fo郊r仔(i家nt形i炕=0笨;i翠<n鵲;i濃++及)錫/容/融

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論