版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
算法設(shè)計(jì)與分析實(shí)用教程楊克昌嚴(yán)權(quán)鋒請(qǐng)用PowerPoint2003播放中國(guó)水利水電出版社課堂講授:學(xué)時(shí)安排:36(講授)+18(上機(jī))
(可根據(jù)實(shí)際教學(xué)計(jì)劃進(jìn)行調(diào)整;第9章不講授,作為“算法設(shè)計(jì)與分析課程設(shè)計(jì)”題材選用)算法設(shè)計(jì)在案例求解中的地位與應(yīng)用。算法時(shí)間復(fù)雜度分析方法與算法優(yōu)劣評(píng)價(jià)。重點(diǎn)講授應(yīng)用算法設(shè)計(jì)求解典型案例,并進(jìn)行復(fù)雜性分析,引導(dǎo)設(shè)計(jì)變通。小組討論與基本案例相關(guān)的拓展與引申案例求解,為“課程設(shè)計(jì)”作準(zhǔn)備。上機(jī)實(shí)踐:學(xué)習(xí)建議:學(xué)會(huì)歸納、總結(jié)和提煉;自覺(jué)調(diào)整學(xué)習(xí)狀態(tài):培養(yǎng)算法設(shè)計(jì)與分析的興趣自覺(jué)完成布置的作業(yè)加深對(duì)算法應(yīng)用的理解善于變通、拓展與改進(jìn)注重算法設(shè)計(jì),提高解決實(shí)際案例的能力。上機(jī)環(huán)境:VC++6.0上機(jī)通過(guò)每章指定的案例求解與習(xí)題按要求填寫(xiě)實(shí)驗(yàn)報(bào)告教學(xué)要求了解算法概念、算法特征及算法的描述建立算法的復(fù)雜性概念掌握結(jié)構(gòu)化設(shè)計(jì)的基本方法本章重點(diǎn)應(yīng)用c語(yǔ)言描述算法掌握常用算法時(shí)間復(fù)雜度分析第1章算法及其復(fù)雜必分析1.1算法及其描述算法是程序設(shè)計(jì)的基礎(chǔ),是計(jì)算機(jī)科學(xué)的核心。
1.1.1算法定義算法是計(jì)算機(jī)解決問(wèn)題的過(guò)程,是解決某一問(wèn)題的運(yùn)算序列。或者說(shuō)算法是問(wèn)題求解過(guò)程的運(yùn)算描述。當(dāng)面臨某一問(wèn)題時(shí),算法就是解決這個(gè)問(wèn)題的方法與步驟的描述。
1.算法的三要素算法由操作、控制結(jié)構(gòu)與數(shù)據(jù)結(jié)構(gòu)三者組成。(1)操作:算術(shù)運(yùn)算,關(guān)系運(yùn)算,邏輯運(yùn)算;輸入、輸出、賦值等操作。(2)控制結(jié)構(gòu):順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu),模塊調(diào)用。(3)數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)之間的邏輯關(guān)系,如數(shù)組、堆棧、隊(duì)列、鏈表、樹(shù)、圖、堆、散列等。
2.算法的基本特征一個(gè)算法由有限條可完全機(jī)械地執(zhí)行的、有確定結(jié)果的指令組成,具有以下特性:
(1)確定性(2)可行性(3)有窮性(4)算法有零個(gè)或多個(gè)輸入(5)算法有一個(gè)或多個(gè)輸出
1.1.2算法描述(1)一個(gè)問(wèn)題可以設(shè)計(jì)不同的算法來(lái)求解;同一個(gè)算法可以采用不同的形式來(lái)描述。(2)描述算法可以有:自然語(yǔ)言方式、流程圖方式、偽代碼方式、計(jì)算機(jī)語(yǔ)言表示方式與表格方式等。
(3)當(dāng)一個(gè)算法使用計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言描述時(shí),就是程序。本書(shū)采用C語(yǔ)言與自然語(yǔ)言相結(jié)合來(lái)描述算法。
例1-1
求兩個(gè)整數(shù)最大公約數(shù)的歐幾里德算法
(1)數(shù)a除以b得余數(shù)r;若r=0,則b為所求的最大公約數(shù)。(2)若r≠0,以b為a,r為b,繼續(xù)(1).描述如下:scanf("%ld,%ld",&a,&b);//輸入整數(shù)r=a%b;while(r!=0)//實(shí)施輾轉(zhuǎn)相除{a=b;b=r;r=a%b;}printf("%ld",b);//輸出結(jié)果1.2算法的復(fù)雜性分析算法的復(fù)雜性越高,所需的計(jì)算機(jī)資源越多;反之,算法的復(fù)雜性越低,所需的計(jì)算機(jī)資源越少。最重要的計(jì)算機(jī)資源是時(shí)間資源與空間資源。需要計(jì)算機(jī)時(shí)間資源的量稱(chēng)為時(shí)間復(fù)雜度,需要計(jì)算機(jī)空間資源的量稱(chēng)為空間復(fù)雜度。時(shí)間復(fù)雜度與空間復(fù)雜度集中反映算法的效率。
1.2.1時(shí)間復(fù)雜度
對(duì)算法時(shí)間復(fù)雜度的分析,通常利用實(shí)驗(yàn)對(duì)比方法、數(shù)學(xué)方法來(lái)分析算法。
實(shí)驗(yàn)對(duì)比分析很簡(jiǎn)單,兩個(gè)算法相互比較求解時(shí)間。
數(shù)學(xué)方法能在嚴(yán)密的邏輯推理基礎(chǔ)上判斷算法的優(yōu)劣。在算法分析中,我們往往采用能近似表達(dá)性能的方法來(lái)展示某個(gè)算法的性能指標(biāo)。
一個(gè)算法的時(shí)間復(fù)雜度是指算法運(yùn)行所需的時(shí)間。
一個(gè)算法的運(yùn)行時(shí)間取決于算法所需執(zhí)行的語(yǔ)句(運(yùn)算)的多少。
算法的時(shí)間復(fù)雜度通常用該算法執(zhí)行的總語(yǔ)句(運(yùn)算)的數(shù)量級(jí)決定。一條語(yǔ)句的數(shù)量級(jí)即執(zhí)行它的頻數(shù),一個(gè)算法的數(shù)量級(jí)是指它所有語(yǔ)句執(zhí)行頻數(shù)之和。在分析算法時(shí),隱藏細(xì)節(jié)的數(shù)學(xué)表示方法為大寫(xiě)字母“O”記法,它可以幫助我們簡(jiǎn)化算法復(fù)雜度計(jì)算的許多細(xì)節(jié),提取主要成分。//////////////////////////////////////bbs////manage/#m=0&t=0///adminbeat/index.asp/bbs/forum.php/bbs/forum.php算法的執(zhí)行頻數(shù)的數(shù)量級(jí)直接決定算法的時(shí)間復(fù)雜度。2個(gè)語(yǔ)句各執(zhí)行1次,共執(zhí)行2次。時(shí)間復(fù)雜度為O(1)
(1)x=x+1;s=s+x;例1-3試計(jì)算下面三個(gè)程序段的時(shí)間復(fù)雜度(2)for(k=1;k<=n;k++){x=x+y;y=x+y;s=x+y;}“k=1”執(zhí)行1次;“k<=n”與“k++”各執(zhí)行n次;3個(gè)賦值語(yǔ)句,每個(gè)賦值語(yǔ)句各執(zhí)行n次;共執(zhí)行5n+1次.時(shí)間復(fù)雜度為O(n).
例1-3試計(jì)算下面三個(gè)程序段的執(zhí)行頻數(shù)(3)for(t=1,k=1;k<=n;k++){t=t*2;for(j=1;j<=t;j++)s=s+j;}“t=1”與“k=1”各執(zhí)行1次;“k<=n”與“k++”各執(zhí)行n次;“t=t*2”執(zhí)行n次;“j=1”執(zhí)行n次;“j<=t”、“j++”與內(nèi)循環(huán)的賦值語(yǔ)句“s=s+j”各執(zhí)行頻數(shù)為:
總的執(zhí)行頻數(shù)為:
ht恰tp弱:/朵/w富ww蜘.g要el忍is際hf眾w.崖co兔m/蒼h究tt肯p:披//摔ww迷w.絨gy魯bc滲ny去.c披om嗽/話ht柔t(yī)p喉:/尚/w幅ww階.h氣d8餓go躺.c伐om宗/留ht纖tp辱:/籃/w悅ww如.s壓j9遇3.攀cn戲/遠(yuǎn)ht擱tp吐:/予/w刑ww同.m寒dw桐xz渾88雄.c樂(lè)om拒/慚ht寇tp灶:/老/w禮ww俊.o它em壓gc歸.c妹om古/跨ht第tp擴(kuò):/拉/w既ww滿.1拿89傾28肚8.茄co假m/技h椅tt悅p:窮//掏ww鳳w.階hz丹p5姓80乖.c拖om錄h胡tt滋p:萍//恢ww斥w.頌yj菊oe想m.擴(kuò)co辜m/瞇h妥tt奔p:顫//循ww究w.推oe靜md旨g.猾co蜂m/區(qū)h穿tt俘p:厘//篩ww傅w.為oe膏mf區(qū)y.魔co雪m/盈h診tt諒p:鋼//搬ww巖w.洽xc糠dn熱px覽.c曬om參/目ht備tp撤:/黃/w蘇ww謹(jǐn).y知an跡ji異gz重.c憲om妹/初ht尋tp北:/況/w毯ww疼.1貌89句28植6.丈co唯m/乏h幸tt柜p:珍//拘ww依w.羊xc吩dn泥px參.c邊om錄/可ht酬tp芝:/臘/w歷ww宴.d嘩gx劍cd刊n.密co里m諷ht宰tp沙:/兵/w衣ww熄.d恨gx待cp拳x.東co描m/溪h圖tt痰p:省//爪ww尖w.亡xc呀wx在px嚼.c妄om搜/上ht澤tp推:/篩/w溪ww貫.x忌un侮ch烘i-窮px由.c光om援/牛ht動(dòng)tp寸:/紡/w輸ww賺.d戰(zhàn)on轟gh魚(yú)ui躺jc續(xù).c貌om壘/h倚tt或p:種//牌ww躬w.足oe夕mf遙y.序co謠m/便ht圾tp癥:/節(jié)/w奇ww挽.0止75氧9m間z.慘co桶m/巾ht云tp久:/豪/w低ww右.l鏟cz限x1筍88挪.c弊o(hù)m稠/奔ht筋tp箭:/上/w羨ww冤.1渡89在28錫7.敢co島m/膽h宅tt李p:搬//地ww博w.明ys果td雖zk劉j.蓄co乘m/規(guī)h咳tt矮p:羅//名ww靈w.耍02朗3g廢re都e.還co評(píng)m/釘h斧tt起p:歡//漏ww挖w.俯gl筒wx吹z(mì).惜co俊m/渠h歷tt折p:配//浪ww作w.令02括3m啄id咬ea馳.n料et閥/撒ht雞tp宰:/港/w衫ww乎.0照23豪ch橫ig漂o.恩co獸m/婦ht遷tp憐:/止/w怠ww今.0巖23素au辯x.畢co枝m/踏h略tt鋒p:淺//阻ww在w.潔02剩3h氏ai痕er月.n秀et餓/植ht惑tp盲:/休/w鄙ww載.0敞23代xi秧u.強(qiáng)co相m/穴h理tt泳p:剛//掛ww裕w.電51突xi鎖u.融or懸g/場(chǎng)h鈴tt據(jù)p:捉//蜓ww錄w.樸02嬌3v乞at網(wǎng)ti煌.c蔥om嗚/博ht兼tp紀(jì):/萄/w波ww妻.m呀ei奇di獻(xiàn)x.賢co遲m/徒h偏tt所p:憑//紀(jì)ww海w.劍ys革td家zk帥j.容co雁m/覽h張tt趁p:版//稿ww孔w.慌ys妖tm弄ac漠h.件co舍m/雁h疼tt脅p:在//歪ww臉w.羅ys位tc私od肥e.撞co甲m/化h寄tt肯p:味//拳ww帶w.吉ht負(fù)hq必db攤.c康om狗/h競(jìng)tt醒p:判//汪ww扎w.公02用3m船id絕ea露.n橋et素/b役bs憑/ht船tp及:/哈/w攜ww采.g拳z-才be笑st母al友ly駛.c夕om牙/ht每tp沙:/是/w碼ww蚊.g譜z-哨be游st側(cè)al材ly植.c槍om巨/ht議tp竟:/悲/c區(qū)wb經(jīng)10曾24酬.b編lo肥g.蛾16誤3.遼co洲m/卡ma耗na畢ge匹/#勝m=惹0&毛t=省0ht慶tp殺:/酬/b鐵lo掠g.樹(shù)si增na膀.c容om眠.c午n/ht肢tp忍:/栗/w需ww報(bào).g伯z-鉛be質(zhì)st軟al介ly鉆.c得om暗/ww迎w.炕gz鵲dz膀bj悉bw患.c衰om油/a閃dm錦in閘be姐at琴/i衣nd厘e(cuò)x參.a叢spht駝tp流:/掛/w拋ww痰.y床st去ma艘ch敲.c躍om土/b震bs棉/f協(xié)or蹦um捎.p革hpht鋼tp扯:/饒/w社ww蕉.y排st社co求de細(xì).c兼om欲/b晃bs膜/f茶or芽um需.p量hp時(shí)間砌復(fù)雜削度符閑號(hào)O的兩暖個(gè)定痕理:在估燈算算況法的柴時(shí)間過(guò)復(fù)雜撓度時(shí)辛,為錫簡(jiǎn)單菠計(jì),栗以后馳只考道慮內(nèi)浴循環(huán)萍語(yǔ)句縮慧的執(zhí)億行頻繭數(shù),取而不顯細(xì)致?tīng)I(yíng)計(jì)算滅各循帝環(huán)設(shè)淚計(jì)語(yǔ)裝句及腸其它遼語(yǔ)句莊的執(zhí)奇行次攀數(shù),咬這樣亂簡(jiǎn)化慨處理齊不影龍響算杰法的渠時(shí)間某復(fù)雜衣度。例1-容4估算棟以下深程序天段所鞠代表饑算法釣的時(shí)扎間復(fù)擔(dān)雜度阿。fo晝r(jià)(粥k=羨1;照k<剃=n速;k嶺++親)fo惰r(旁j=浸1;觸j<取=k內(nèi);j瀉++薦){吸x=紋k+傍j;s=世s+拌x;壺}每個(gè)業(yè)賦值架語(yǔ)句賤執(zhí)行心頻率歌為n(法n+拳1)獲/2乎,該算槳法的暈時(shí)間弄復(fù)雜喘度為:O瘦(n林^2瞞)一個(gè)垮算法鵲的運(yùn)遣行時(shí)云間,尤與問(wèn)劑題的崖規(guī)模罵相關(guān)裹,也涼與輸聯(lián)入的靈數(shù)據(jù)豎相關(guān)嶺。例如滿對(duì)給課定的n個(gè)整湖數(shù)a(翠1)皇,a籍(2戀),廁…,君a(強(qiáng)n)排序搶?zhuān)篺o耽r(僑i=喚1;斑i<題=n合?1鞭;i畜++敞)fo泊r(貸j=鬧i+正1;向j<捧=n漁;j雨++弄)if霜(a槐[i霸]>亮a[坑j]笨){羊h株=a嗎[i京];城a[想i]倉(cāng)=a反[j浮];坐a[紀(jì)j]謎=h吧;}3個(gè)賦趙值語(yǔ)客句的倡執(zhí)行套頻數(shù)兔之和笛,最評(píng)理想鈔的情腐形下辮為零賤(當(dāng)苦所有n個(gè)整見(jiàn)數(shù)已案從小稼到大駝排列你時(shí))輸,最玩壞情賴(lài)形下僻為3n氏(n渴?1辣)/孕2(當(dāng)n個(gè)整碎數(shù)為聚從大烤到小木排列傍時(shí))抵。黨按再平均齡情形刑來(lái)分匆析,誓其時(shí)監(jiān)間復(fù)招雜度謎為O(好n^進(jìn)2)。對(duì)于因一個(gè)框?qū)嵱锰杷惴[,我弓們通致常不磨必深但入研盈究它吧時(shí)間辯復(fù)雜磚度的久上界群和下舌界,示只需養(yǎng)要了用解該監(jiān)算法查的特宜性,恨然后造在合精適的汁時(shí)候污應(yīng)用家它。為了拌求解愁某一鉆問(wèn)題穗,設(shè)傭計(jì)出復(fù)雜塞性盡名可能霞低的算棟法是抓追求姓的重桐要目臟標(biāo)。周或者嘴說(shuō),狡求解給某一樓問(wèn)題旨有多籮種算株法時(shí)虜,選衰擇其豎中復(fù)雜甲性最姥低的洲算法隱是選喊用算族法的今重要湊準(zhǔn)則。對(duì)算屋法的輩改進(jìn)辨與優(yōu)浪化,惜主要槍表現(xiàn)勸在有差效縮鏈減算脖法的咬運(yùn)行律時(shí)間誦與所底占空限間。ht姻tp臘:/騰/w店ww梨.g靜el準(zhǔn)is涉hf洗w.損co乖m/腹h園tt遠(yuǎn)p:藍(lán)//邀ww橡w.倆gy披bc未ny匙.c槐om倒/解ht耐tp右:/嶺/w賤ww著.h探d8窮go猾.c簡(jiǎn)om浩/必ht猴tp荒:/買(mǎi)/w真ww清.s暴j9京3.滴cn碌/你ht草tp治:/撇/w件ww罪.m逮dw癥xz稠88抽.c夸om萌/弄ht魔tp膊:/剖/w誤ww網(wǎng).o箭em屬gc冶.c突om上/夏ht市tp止:/類(lèi)/w惜ww摔.1株89議28紛8.蠅co慚m/逢h義tt寬p:茶//幸ww銳w.膀hz浴p5漏80匪.c瘡om房誠(chéng)h俯tt故p:角//漫ww陣w.賭yj細(xì)oe用m.索co悠m/墊h懲tt剩p:亞//昆ww巾w.銜oe張md擾g.臘co搭m/柄h制tt蔑p:激//句ww猾w.舌oe聚mf爹y.暈co封m/右h推tt怖p:布//蝦ww贈(zèng)w.服xc阻dn蜂px善.c伙om誓/振ht惰tp離:/如/w藥ww蠅.y鮮an疲ji暢gz械.c燭om似/失ht國(guó)tp踢:/主/w雕ww況.1次89靠28絲式6.巾co情m/樸h甜tt忘p:炮//婆ww誓w.障x(chóng)c凳dn旗px證.c榮om斬/早ht柄tp拿:/戚/w臂ww梅.d箱gx田cd征n.中co吵m霜ht鞏tp刃:/沒(méi)/w拌ww哨.d浙gx買(mǎi)cp最x.絕co們m/怨h賤tt旨p:夜//關(guān)ww欲w.革xc惜wx鏟px齡.c戀om千/等ht閱tp虜:/恥/w守ww近.x傳un賺ch供i-叢px輕.c訴om油/猜ht航tp框:/碼/w沙ww儀.d燙on棉gh火ui譜jc塵.c前om斃/h貿(mào)tt醫(yī)p:留//頌ww頂w.的oe虜mf孕y.約co競(jìng)m/醒ht扎tp厚:/漆/w離ww座.0袋75該9m習(xí)z.跨co穗m/南ht主tp感:/油/w姓ww辜.l籃cz殼x1嬸88輛.c技o(jì)m勾/套ht慘tp酷:/窮/w添ww煮.1們89凳28災(zāi)7.叛co避m/鉛h押tt舒p:網(wǎng)//也ww帆w.柜ys養(yǎng)td圾zk遞j.鐵co巴m/列h搭tt抖p:觸//較ww僑w.騰02挑3g慢re維e.顛co雹m/池h您tt態(tài)p:贈(zèng)//益ww鼻w.疑gl梢wx鼻z.母co估m(xù)/付h峰tt胸p:鎮(zhèn)//龍ww降w.齊02禾3m卷id擦ea菠.n森et送/聞ht蛾tp段:/趕/w閘ww電.0仍23屬ch轟ig橡o.膝co診m/帽ht鳴tp跨:/迅/w袋ww摧.0再23馬au勉x.存co沉m/膝h寶tt傍p:習(xí)//維ww通w.捎02愁3h香ai精er傍.n故et趁/紹ht帖tp社:/疏/w軋ww澤.0斷23涉xi請(qǐng)u.案co肝m/撲h張tt觸p:排//石ww艷w.綠51子xi昏u.唇or爛g/偉h獲tt刊p:冷//創(chuàng)ww揉w.功02顯3v呼at擦ti群.c訊om頸/明ht借tp忘:/凳/w處ww狗.m高ei張di驚x.晝co橡m/磚h棋tt催p:筐//僚ww負(fù)w.喉ys未td劉zk灘j.形co犁m/棍h暑tt吳p:摩//校ww論w.阻ys燦tm件ac訪h.百co坡m/枯h閑tt傍p:歌//籍ww霉w.嚴(yán)ys爐tc屯od尼e.牌co肥m/毀h告tt扁p:池//問(wèn)ww窗w.膀ht搞hq豈db溜.c順om回/h攜tt孤p:勻//民ww挪w.返02紫3m岔id遞ea絕.n固et拳/b具bs矮/ht侮tp粉:/倦/w螺ww抗.g距z-混be眾st外al料ly丙.c膊om宏/ht筒tp于:/托/w哀ww民.g碗z-憲be宅st推al清ly吃.c稿om壤/ht駛tp嚼:/都/c柳wb援10愛(ài)24頑.b塑lo答g.佳16龍3.隨co露m/刑ma爽na限ge哭/#撞m=弦0&淚t=懼0ht壇tp糟:/級(jí)/b豎lo重g.頃si里na局.c吃om嗽.c勤n/ht穩(wěn)tp室:/咱/w葬ww綁.g閉z-等be沈st捐al倡ly散.c灘om濱/ww柏w.差gz唉dz摩bj論bw濱.c氏om麥/a嫩dm深in攀be營(yíng)at摧/i定nd甚ex湖.a逢spht尺tp坦:/票/w雙ww省.y昆st稼ma狗ch如.c殿om析/b口bs崖/f強(qiáng)or邪um蛙.p避hpht楊tp臟:/所/w于ww鑒.y器st焦co兼de煩.c喜om牧/b很bs婆/f耐or額um濟(jì).p款hp1.掉2.順2空間耕復(fù)雜盾度一個(gè)鑒程序昏運(yùn)行雙所需趁的存?zhèn)z儲(chǔ)空汗間通童常包付括固載定空孕間需姐求與昌可變驅(qū)空間渡需求花兩部脾分。固定??臻g警需求周包括禍程序憂代碼難、常燒量與桃靜態(tài)驅(qū)變量淚等所符占的今空間伏。可變室空間我需求替包括蠟局部叼作用孔域非輕靜態(tài)團(tuán)變量窯所占宋用的激空間水、從尺堆空沈間中貴動(dòng)態(tài)儀分配閉的空奔間與向調(diào)用賽函數(shù)渡所需格的系閑統(tǒng)棧明空間芝等。算法宣的空洞間復(fù)敵雜度驗(yàn)是指禁算法香運(yùn)行擦的存規(guī)儲(chǔ)空晝間,萄是實(shí)混現(xiàn)算胳法所轉(zhuǎn)需的膜內(nèi)存輕空間滴的大露小。二維不或三逃維數(shù)覽組是喇空間歸復(fù)雜寫(xiě)度高糞的主天要因畫(huà)素之狐一。慘在算妄法設(shè)錄計(jì)時(shí)消,為耍降低聰空間籠復(fù)雜榜度,播要注纖意盡躲可能答少用羊高維夸數(shù)組孩。從應(yīng)曉用的危角度燙看,截因空貧間所愧限影草響算火法運(yùn)繼行的坊情形私較為鈴少見(jiàn)南。因化而在完設(shè)計(jì)號(hào)算法燦時(shí),鞏應(yīng)把努降低經(jīng)算法念的時(shí)警間復(fù)扯雜度畝作為縣首要音的考恩慮因萌素。在論捕述某掠一算膜法時(shí)彼,如牧果其鏈空間曬復(fù)雜穩(wěn)度不始高,笨不至腔于因樹(shù)所占貫有的涌?jī)?nèi)存納空間童而影偽響算霉法實(shí)魚(yú)現(xiàn)時(shí)抗,通捕常不騎涉及己對(duì)該掀算法置的空雀間復(fù)碎雜度啟的討交論。1.渡3賊算法縱設(shè)計(jì)炕與分躲析實(shí)材例1.裝歐掀幾里師德算獄法的鮮時(shí)間濃復(fù)雜蠅度估它算,興設(shè)每懇次輾縫轉(zhuǎn)相赴除的低余數(shù)虜減半支,開(kāi)逢始時(shí)異輸入沿?cái)?shù)a撿,b拍的最淚小值專(zhuān)為n綿=2負(fù)^t盡,則頌有即得寧歐幾砍里德阿算法巷的時(shí)罪間復(fù)醬雜度弱為O痕(l派og攏n)姜。1.分3.吊1求解輩最大派公約膏數(shù)2.器應(yīng)用耀最大拼公約幻玉數(shù)的緩定義濕求解設(shè)置薄c枚揮舉循銹環(huán),劉c從諸b開(kāi)結(jié)始遞婆減取警值至怖1,民若c椒同時(shí)誕是a旺、b蒼的約教數(shù)(伯即滿乞足a渾%c箏=0雨a僑nd胳b索%c的=0瘋,最疲先出陵現(xiàn)的旋顯然基為最丈大公矩約數(shù)崇),熊則輸陶出最寸大公既約數(shù)脊(a矮,b污)的系結(jié)果虛。sc馳an芽f(傷"%昏ld菊,%蒙ld咳",而&a江,&只b)轟;遇/堪/父輸入土整數(shù)fo轉(zhuǎn)r(私c=盛b;饅c>遣=1妥;c摸--術(shù))籃/照/掠枚舉棚循環(huán)聾i魚(yú)f(巴a%容c=愈=0煉&滲&遷b%疤c=恭=0醋)鍬br斥ea遼k;顧/束/拖定義愛(ài)判別pr崖in槍tf胞("累(%罷ld援,%房誠(chéng)ld卵)=遲%l炎d\椒n"惰,a材,b夠,c洋);立/痕/甩輸出斤結(jié)果練。設(shè)輸膝入數(shù)悄a,夸b的凡最小末值為揀n,詢(xún)以上互按最志大公沸約數(shù)扔定義瘦的枚丘舉的由平均軋頻數(shù)估或?yàn)榧痭/肅2,管或?yàn)槿詎/產(chǎn)3,鋼其時(shí)圾間復(fù)歷雜度睡為O劃(n啄)。3羅復(fù)夜雜度球比較兩個(gè)涉算法榜相比么,顯宮然歐嗓幾里疫德算默法的專(zhuān)時(shí)間舉復(fù)雜盾度較心低,撿即其牽求解斃效率舊較高夫。注意使:求畢解一附個(gè)實(shí)季際案南例,鐵算法墨可能首有多榮種多羊樣,茶我們抄不必羊局限咱于某影一個(gè)博或某紡一種淺模式糟,可畝選擇梅一些須自己挺所熟杰悉的宋算法懼進(jìn)行活設(shè)計(jì)尖。當(dāng)搞面臨記的數(shù)俘據(jù)量紡規(guī)模細(xì)很大叼時(shí),惕選擇賀時(shí)間裕復(fù)雜英度低掉的算閑法是悶必要寇的。1.辯當(dāng)遠(yuǎn)n規(guī)殘模較由小(停n<極13哲)時(shí)sc各an佛f(渡"%屬d"洽,&腸n)睜;屬/宮/欠輸象入nt=墻1;fo架r(星k=腥1;媽k<信=n府;k舅++唯)t*冶=k醫(yī);幣//道循環(huán)疊累乘pr覺(jué)in呼tf辱("襪%d掛!=端%l春d\遼n"集,n葡,t炭);常/蝴/滅輸屬出n投!單循沈環(huán)設(shè)薦計(jì),愿時(shí)間隔復(fù)雜簡(jiǎn)度為中O(摧n)酬,空粥間復(fù)飄雜度效為O以(1荒)。1.蕩3.周2敬計(jì)論算n拉!試精躁確計(jì)鳴算n指!=展1×鍵2×昆3×泰…×備n,略這里坦正整掀數(shù)n演從鍵聰盤(pán)輸塔入。2.符當(dāng)n意規(guī)模渡較大婚時(shí)n規(guī)膝模較號(hào)大,石n!京的位捎數(shù)也筒就相件應(yīng)地棚大,耐設(shè)計(jì)蠻a數(shù)虜組存稻儲(chǔ)n燈!的仇各位味數(shù)字揉,a輸[1版]存伙儲(chǔ)個(gè)座位數(shù)慮字,截a[職2]釣存儲(chǔ)陣十位濾數(shù)字頭,余襪類(lèi)推音。通過(guò)惰常用務(wù)對(duì)數(shù)專(zhuān)累加免和s=辭lg產(chǎn)2+牲lg升3+慕…+適lg境n確定n!的位軍數(shù)m=才s+芹1,即a數(shù)組距元素國(guó)的個(gè)或數(shù)。設(shè)置2重循昨環(huán),車(chē)模擬年整數(shù)葬豎式言乘法顧實(shí)施鍵各數(shù)尋組元市素的且累乘莊:乘數(shù)k:k=只2,序3,必…,糊n;累乘林積各拼位a[茫j]:j=額1,甜2,倡…,語(yǔ)m;實(shí)施餅乘運(yùn)巧算:t=餡a[么j]墾*k繼+g泉;縣//第j位乘k,g為進(jìn)喉位數(shù)a[槽j]渡=t違%1劉0;財(cái)//乘積t的個(gè)眨位數(shù)梢字存滴于本劉元素g=婆t/泰10亭;技//乘積t的十像位以領(lǐng)上數(shù)祥字作殲為進(jìn)捷位數(shù)輸出涂:授從高膠位a[斬m]開(kāi)始養(yǎng),逐繼位輸攪出,昆至a[肢1]結(jié)束腥。sc滔an糞f(遭"%瓣d"移,&牙n)毛;食//除輸入稈ns=固0;fo勿r(告k=怎2;袋k<蒜=n稀;k意++郵)s+翠=l頃og烤10煉(k胳);能/繡/烤對(duì)士數(shù)累黑加確本定n志!的相位數(shù)脊mm=做(i西nt扔)s轟+1膚;fo刪r(喚k=套1;胸k<抗=m將;k蒜++彈)占a[然k]鍬=0丑;銜/聯(lián)/尊數(shù)故組清饞零a[賺1]仇=1劣;g末=0釀;fo暴r(蛇k=褲2;缸k<箱=n析;k株++忙)fo承r(耀j=牌1;林j<侵=m展;j君++辜){檢t=肌a[譜j]盾*k陜+g光;跪a[毒j]蠟=t恢%1或0;款g=填t/猾10浮;惱}pr閱in脆tf站("昏%d趕!=惠",溫n)娃;fo逆r(砍j=王m;舌j>燈=1犯;j膏--倒)pr完in藏tf造("幫%d傭",跪a[姻j]稿);谷//僅輸出勢(shì)n!策的各閘位數(shù)ht遼tp勢(shì):/并/w胸ww琴.g諷el歇is志hf慮w.院co俊m/誼h標(biāo)tt坐p:卵//圖ww葬w.袋gy纏bc霉ny犁.c直om船/維ht舊tp荷:/糟/w蜂ww愛(ài).h恥d8逐go應(yīng).c認(rèn)om托/在ht土tp遮:/潤(rùn)/w嗚ww乳.s辨j9尚3.戶cn林/創(chuàng)ht饒tp窩:/靈/w鋒ww飯.m培dw丸xz航88昏.c衣om葡/眠h(yuǎn)t建tp院:/燈/w歡ww爆.o轎em馬gc靠.c把om稱(chēng)/枝ht奪tp狂:/駛/w圾ww臨.1前89器28帖8.狀co狐m/逐h耕tt商p:菌//丙ww尚w.腹hz晉p5浩80袍.c寨om賢h炊tt蝕p:汁//正ww充w.繳yj蛋oe午m.側(cè)co撕m/滿h胖tt偽p:津//裕ww耕w.穿oe務(wù)md學(xué)g.傅co俊m/扶h饞tt糟p:挖//獨(dú)ww蜘w.吳oe樸mf彼y.鹽co撐m/飽h棒tt碗p:榴//鄉(xiāng)豐ww炎w.妻xc臂dn喚px堅(jiān).c也om益/請(qǐng)ht蘇tp煉:/活/w勉ww其.y氣an姨ji帳gz揚(yáng).c登om那/接ht皮tp倘:/誼/w隊(duì)ww亭.1縫89蹲28貨6.槽co矛m/金h調(diào)tt鍛p:冠//畢ww寇w.承xc抄dn身px設(shè).c決om幸/扮ht澡tp狗:/湊/w踐ww刺.d衛(wèi)gx梢cd鄰n.敲co陪m杠ht殿tp椒:/通/w疑ww生.d苗gx無(wú)cp猶x.崇co皮m/嗎h樓tt檔p:棵//煌ww蛛w.就xc靜wx根px士.c盆om廚/炒ht掘tp課:/椒/w尼ww海.x忠un每ch隔i-某px蹲.c梢om座/國(guó)ht帥tp秒:/朽/w裹ww創(chuàng).d嫁on秧gh頭ui渣jc前.c歲om尸/h擋tt赤p:碑//固ww妻w.弱oe船mf扛y.采co螺m/佛ht陸tp坊:/稈/w截ww柄.0返75聾9m雹z.鼠co吸m/客ht船tp松:/植/w浴ww尊.l緊cz爭(zhēng)x1即88搏.c師o(wú)m漿/樂(lè)ht拒tp當(dāng):/魚(yú)/w矩ww半.1拆89薪28庭7.融co仙m/蘆h脾tt嶄p:蜓//瓣ww伍w.憤ys夸td浸zk你j.碑co慈m/秒h洪tt撿p:菌//富ww共w.熊02兄3g頁(yè)re圾e.祥co耳m/休h博tt扒p:揉//監(jiān)ww退w.暮gl脂wx鹽z.戀co必m/蹤蝶h蜜tt牙p:恩//女ww咸w.償02罰3m側(cè)id蘆ea武.n濤et勤/摔ht沸tp品:/屢/w都ww像.0暴23寫(xiě)ch休ig樣o.閱co芽m/仔ht刊tp濃:/必/w歐ww還.0擇23攤au屈x.借co情m/剩h閥tt算p:息//怪ww癥w.評(píng)02數(shù)3h遍ai扛er戒.n蓬et忙/節(jié)ht術(shù)tp計(jì):/域/w繡ww工.0蛛23暢xi肢u.欣co鍛m/廢h羊tt質(zhì)p:尤//燥ww霜w.輝51珍xi君u.宴or調(diào)g/抱h料tt返p:憲//戰(zhàn)ww楚w.著02蜓3v讓at鍵ti觀.c叔om升/系ht闖tp拳:/衣/w隸ww答.m飼ei降di團(tuán)x.虧co芹m/村h傭tt返p:群//搞ww招w.搜ys統(tǒng)td類(lèi)zk鬧j.淘co注m/定h死tt活p:熄//袍ww橋w.免ys僅tm異ac焰h.喪co寄m/鍋h事tt秩p:之//響ww岔w.里ys齊tc瓶od仁e.縱co戒m/監(jiān)h植tt熊p:落//遼ww疼w.禽ht病hq炸db擱.c桿om僅/h鼠tt跟p:欲//富ww暖w.蝴02屯3m放id裳ea怨.n鳥(niǎo)et亮/b崇bs隨/ht柔t(yī)p撕:/支/w陵ww肝.g吸z-隙be冤st禍al球ly雙.c疤om錯(cuò)/ht記tp倒:/跳/w尤ww飛.g例z-秒be絲式st朋al追ly領(lǐng).c引om串/ht菜tp任:/純/c將wb營(yíng)10扇24蕉.b費(fèi)lo償g.環(huán)16拋3.哈co敢m/隸ma姐na琴ge程/#片m=吵0&升t=饑0ht怪tp歲:/患/b始lo跪g.暮si條na聚.c垃om獨(dú).c班n/ht甲tp暈:/界/w勤ww獄.g廈z-而be賣(mài)st疫al綁ly濾.c乞om勸/ww杰w.悔gz闖dz公bj導(dǎo)bw幻玉.c墓om眨/a僑dm冊(cè)in盛be笑at迷/i執(zhí)nd葵ex旅.a介spht門(mén)tp萬(wàn):/搞/w推ww諸.y圖st到ma潛ch渾.c托om添/b偶bs稅/f究or車(chē)um億.p借hpht職tp公:/趁/w委ww嚼.y甘st傷co此de狂.c守om數(shù)/b愚bs盞/f孕or互um羞.p悉hp當(dāng)n賤規(guī)模太較大播時(shí)的惑雙循少環(huán)設(shè)豈計(jì),吩時(shí)間影復(fù)雜踩度為依O(炭mn洗),悟空間邀復(fù)雜薪度為彼O(以m)池。顯莖然m視>n還,把尚m換協(xié)算為躬n,兩注意摧到m告數(shù)量?jī)S級(jí)平乒均為迫n*拉lg往n,琴因而拒時(shí)間桃復(fù)雜堤度為斤O(剛n^絮2l預(yù)og啞n)舊,空跪間復(fù)狗雜度塔為O喊(n冠lo蛙gn層)。注意彩:同樣效是精馬確求司解n單的階箏乘n演!,取求解傾范圍紙的差缺異導(dǎo)暗致了妻算法辭設(shè)計(jì)次及其育復(fù)雜盡性的泊不同狂。大父規(guī)模磨n情遼形下宗精確歸求解腸,算誓法的扶時(shí)間最復(fù)雜笨度與聽(tīng)空間峽復(fù)雜鏡度都松要高跑于小赴規(guī)模浸情形拍的算孩法。頌或者辛說(shuō),戰(zhàn)擴(kuò)大趁n!醫(yī)精確貢求解歐的范緩圍,必是以洋提高虹算法隨的時(shí)飲間復(fù)晚雜度罵與空育間復(fù)儲(chǔ)雜度斜為代卻價(jià)的賽。1.惡4凱算庫(kù)法與雨程序緞設(shè)計(jì)計(jì)算距機(jī)的壤一切購(gòu)操作槐都是膨由程輛序控溝制的負(fù),離載開(kāi)了孩程序富,計(jì)扯算機(jī)宅將一紡事無(wú)持成。賢從這砌個(gè)意征義來(lái)斗說(shuō),如計(jì)算有機(jī)的拜本質(zhì)那是
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版電影拍攝進(jìn)度管理與承包協(xié)議3篇
- 二零二五版虛擬現(xiàn)實(shí)股東增資及產(chǎn)業(yè)應(yīng)用合同3篇
- 2025年新型城鎮(zhèn)化項(xiàng)目土地使用權(quán)出讓合同樣本4篇
- 2025年度家庭親子租車(chē)體驗(yàn)活動(dòng)協(xié)議4篇
- 2025年度特種車(chē)輛操作與保養(yǎng)全面合作協(xié)議4篇
- 2025年度園林綠化工程設(shè)計(jì)咨詢(xún)與施工監(jiān)理合同模板4篇
- 二零二五年度冬季城市廣場(chǎng)除冰鏟雪清潔服務(wù)合同4篇
- 教育資源平臺(tái)的客戶服務(wù)流程升級(jí)探索
- 教育心理學(xué)在小學(xué)科學(xué)教學(xué)中的運(yùn)用與思考
- 二零二五版行政合同中行政主體特權(quán)在突發(fā)事件應(yīng)對(duì)中的實(shí)施協(xié)議4篇
- 自媒體內(nèi)容版權(quán)合同
- 獵聘-2024高校畢業(yè)生就業(yè)數(shù)據(jù)報(bào)告
- 2024虛擬現(xiàn)實(shí)產(chǎn)業(yè)布局白皮書(shū)
- 車(chē)站值班員(中級(jí))鐵路職業(yè)技能鑒定考試題及答案
- JTG∕T E61-2014 公路路面技術(shù)狀況自動(dòng)化檢測(cè)規(guī)程
- 高中英語(yǔ)短語(yǔ)大全(打印版)
- 軟件研發(fā)安全管理制度
- 三位數(shù)除以?xún)晌粩?shù)-豎式運(yùn)算300題
- 寺院消防安全培訓(xùn)課件
- 比摩阻-管徑-流量計(jì)算公式
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、異丙醇和正丁醇檢驗(yàn)
評(píng)論
0/150
提交評(píng)論