最新物件导向资料结构课件_第1页
最新物件导向资料结构课件_第2页
最新物件导向资料结构课件_第3页
最新物件导向资料结构课件_第4页
最新物件导向资料结构课件_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AnalyzingAlgorithmsBasedon:物件導向資料結構—使用Java語言,江振瑞著,松崗圖書公司,2005.IntroductiontotheDesignandAnalysisofAlgorithms--Astrategicapproach,2E,R.C.T.Leeet.al.,NcGrawHill,2005.IntroductiontoAlgorithms,Cormenet.al.,MITPress.趴耻晨如诫卞攘凑准隧砖攀穆谚五威趟浪抚拯谱催辣禽滨獭欲兹陷存灭鬃物件导向资料结构物件导向资料结构AnalyzingAlgorithmsBasedon:趴1Analyzingalgorithms

Analyzinganalgorithmhascometomeanpredictingtheresourcesthatthealgorithmrequires.Resources:memory,communication,bandwidth,logicgate,time.WeusuallyassumethatthealgorithmisperformedonaprocessorwithRAM饱隘者谨夸呵煮袄尾婉版宠蔓手植勉切让妒堂齐缺素脉申准喘墙址听族殖物件导向资料结构物件导向资料结构AnalyzingalgorithmsAnalyzing2AnalyzingalgorithmsTherunningtimeofanalgorithmonaparticularinputisthenumberofprimitiveoperationsor“steps”executed.Itisconvenienttodefinethenotionofstepsothatitisasmachine-independentaspossible拐刑恨犊妹欢戴豺描毡覆翘跃励弯侩焉窄巍庶绒戌衙筏讹梅嘘抓至迄狗氰物件导向资料结构物件导向资料结构AnalyzingalgorithmsTherunnin3Complexity一般我們使用時間複雜度(timecomplexity)空間複雜度(spacecomplexity)來評估演算法的執行時間與所佔用記憶體空間,這些複雜度愈低,則表示演算法愈好。我們比較關注timecomplexity!孜泪著澄袋普攫稍的熙巩证刘飞落兔拨慰窒卜威雕溉双獭旭冕酿琶恭芜迸物件导向资料结构物件导向资料结构Complexity一般我們使用孜泪著澄袋普攫稍的熙巩证刘飞4ThreeCases演算法的時間複雜度分析分為以下三種:最佳狀況(bestcase)時間複雜度:考慮演算法執行時所需要的最少執行步驟數。最差狀況(worstcase)時間複雜度:考慮演算法執行時所需要的最多執行步驟數。平均狀況(averagecase)時間複雜度:考慮所有可能狀況下演算法的平均執行步驟數。勾媒尘擒佳斗矮孝甫淌泽遗坯腺湖猫宙娶张迸帘琵呕焉哦意肇寐姜伟劈靠物件导向资料结构物件导向资料结构ThreeCases演算法的時間複雜度分析分為以下三種:勾5Usually,weconcentrateonfindingonlyontheworst-case

runningtimeReason:

Itisanupperboundontherunningtime

TheworstcaseoccursfairoftenTheaveragecaseisoftenasbadastheworstcase.Forexample,theinsertionsort.Again,quadraticfunction.Worst-caseandaverage-caseanalysis抱缓庙筹崩颁紧腋沉玻店得汉孙闰宜系账罢斟耽授氰笆寡巢月贩睁暗蹈赴物件导向资料结构物件导向资料结构Usually,weconcentrateonfin6AnAlg.forTestingPrimes我們可以看出,輸入大於2的任意正整數n,若n是質數,則演算法Prime1需要執行整數除法求餘數(n%i)動作與整數比較((n%i)=0)動作n-2次之後,才可以知道n是質數。另外,若n不是質值,則演算法Prime1只要執行整數除法求餘數與整數比較動作1次,就可以知道n不是質數了。AlgorithmPrime1(n):

Input:一個大於2的正整數n

Output:true或false(表示n是質數或不是質數)

fori←2ton-1do

if(n%i)=0thenreturnfalse

returntrue谜原掌挂揽蝇从衔悍仟线攀便农配若行耽洋灭赫县楼磁从拄诗宽巴撤爷邹物件导向资料结构物件导向资料结构AnAlg.forTestingPrimes我們可以7我們可以看出,輸入大於2的任意正整數n,若n是質數,則演算法Prime2需要執行整數除法求餘數(n%i)動作與整數比較((n%i)=0)動作-2次之後,才可以知道n是質數。另外,若n不是質值,則演算法Prime2只要執行整數除法求餘數與整數比較動作1次,就可以知道n不是質數了。AnotherAlg.forTestingPrimes威价篱膳玩讯愈铸黔帧毋贯纯懊瞎脂譬彝托桌又调化鸳墨舒俘闸诬末魏任物件导向资料结构物件导向资料结构我們可以看出,輸入大於2的任意正整數n,若n是質數,則演算法8AnalysisofPrime1Alg.因此,我們很容易看出來,在最壞狀況(worstcase)下,演算法Prime1的執行步驟次數與輸入的正整數n成正比關係;而在最佳狀況(bestcase)下,演算法Prime1的執行步驟次數為與輸入的正整數n無關的某個常數。也就是說,演算法Prime1具有線性的(linear)最差狀況時間複雜度(正比關係即為線性關係)與常數的(constant)最佳狀況時間複雜度。毋熟诚酣钝床平利盔疫榷兆娥酞磅芹诌吨矛住易钦隅绿冈孙历佑唯史席补物件导向资料结构物件导向资料结构AnalysisofPrime1Alg.因此,我們很容9AnalysisofPrime2Alg.我們也很容易看出來,在最壞狀況(worstcase)下,演算法Prime2的執行步驟次數相依於輸入的正整數n的平方根值;而在最佳狀況(bestcase)下,演算法Prime2的執行步驟次數為與輸入的正整數n無關的某個常數。也就是說,演算法Prime2具有平方根的(squareroot)最差狀況時間複雜度與常數的(constant)最佳狀況時間複雜度。蔽刽碉禄竹校赡糖扛宜哥涪羡腥骆搞睦排恼寂城诱雕悠扛延悔不坏从堡械物件导向资料结构物件导向资料结构AnalysisofPrime2Alg.我們也很容易看10AsymptoticNotation一般而言,我們使用所謂的趨近記號(asymptoticnotation)來分析演算法的複雜度,趨近記號考慮的是演算法在處理資料範圍趨近於無窮大時的狀況。在演算法的資料處理範圍(或處理資料量)較小時,不管是有效率的(執行步驟數較少)或是沒有效率的(執行步驟數較多)演算法通常都可以很快的執行完畢,在這個狀況下,演算法的時間複雜度好壞的差距比較不明顯。當演算法處理資料範圍(或處理資料量)相當大時,有效率的演算法通常還是可以很快的結束;而一些極度沒有效率的演算法則很可能需要幾日、幾月甚至於幾年才能執行完畢。因此,我們僅關心演算法在處理資料範圍(或處理資料量)非常大的狀況,這是為什麼分析演算法時間複雜度要採取趨近記號的原因。瑟木丫羽瘴倦逸淫糖钡俞吏桓醇玛茎沁栅截脓尽入构垒桨雄百贱僳必肛刊物件导向资料结构物件导向资料结构AsymptoticNotation一般而言,我們使用所謂11Order在演算法處理資料範圍趨近於無窮大的狀況下,演算法的時間複雜度會趨近於一個量級(order)。一般而言,演算法的時間複雜度是一個多項式,當演算法處理資料範圍趨近於無窮大時,時間複雜度的多項式中除了最高次方的項目外,其他的部分都可以被忽略;而同時,最高次方項目的係數也同時可以被忽略。例如,若一個演算法的時間複雜度為n-2,則當n相當大(趨近於無窮大)時,此演算法的時間複雜度趨近於n,屬於一次方或稱線性(或正比)量級(稱為線性的原因是因為一次方多項式於平面座標上可描繪出直線圖形);若一個演算法的時間複雜度為35n2+12n+11,則當n相當大(趨近於無窮大)時,此演算法的時間複雜度趨近於n2,屬於平方量級;而若一個演算法的時間複雜度為28n3+1245n2+162n+321,則當n相當大時(趨近於無窮大時),此演算法的時間複雜度趨近於n3(屬於立方量級)。悼赋田拳尹音驰桑烟占皱炳军俱弃诣仁述泊匝凄危蜕姚住玩嫂菲淮焰卖泅物件导向资料结构物件导向资料结构Order在演算法處理資料範圍趨近於無窮大的狀況下,演算法的12Big-ONotation我們通常使用大O記號(Big-Onotation)的來表示這種趨近情形,大O記號可以說是一個用來表示演算法時間複雜度量級(order)的記號,我們將時間複雜度與大O記號的關係整理如下:一般而言,若是一個演算法的時間複雜度表示為一個多項式,則我們取這個多項式的最高次方為其時間複雜度的量級(order),並且將此量級以大O記號表示(O代表order之意)。椽很皱周派图症瑚唇驼斧匆夯绅静边绸攒抖锤鲍复爵梁狰砂盯恕足苦船宦物件导向资料结构物件导向资料结构Big-ONotation我們通常使用大O記號(Big-O13Def.ofBig-O以下我們正式定義大O記號:[定義]大O記號(Big-Onotation) 令f(n)與g(n)是由非負整數對應至實數的函數,若存在正實數常數c>0和正整數常數n0使得對所有的nn0而言,f(n)cg(n)成立,則我們說f(n)=O(g(n))。(唸作「f(n)是屬於Big-Oofg(n)」,比較正式的英文唸法為「fofnisofBig-Oofgofn」)。例如,針對35n2+12n+11而言,存在c=58和n0=1(58由35+12+11求得),使得當nn0=1時,35n2+12n+11cn2=(58n2)成立,因此,我們說35n2+12n+11=O(n2)。咖藩篡误肝弄增纺崖陨鹏抹饿是胰吊佯押丝犊惰粥觅厂啤宴葛邢片沾致瓣物件导向资料结构物件导向资料结构Def.ofBig-O以下我們正式定義大O記號:咖藩篡误14Keeporderaslowaspossible表1-1列出一些以大O記號表示的時間複雜度及其量級,而表1-2、圖1-3與圖1-4則顯示演算法時間複雜度在各種不同量級之下的比較,我們可以發現,某些量級在演算法的處理資料範圍或處理資料量(即問題大小,problemsize)還不是很大的情況之下,演算法的時間複雜度的執行步驟對照數值(即執行時間,executiontime)就已經是相當大的值了,這表示演算法需要運算相多的執行步驟,當然也就是要執行相當久的時間。因此,如何設計一個時間複雜度量級較低的演算法是我們必須一直擺在心中的最重要目標。杰害初艘纷浑疹钦胸疡瞧塔崩讨窥倦捅今饯总冀跑脾歧哪棵谋氟蘸扮帆捣物件导向资料结构物件导向资料结构Keeporderaslowaspossible表15ComparisonofOrders以下是演算法時間複雜度量級的高低次序比較,比較低的量級表示執行步驟較少,也就是代表演算法的執行時間較短、速度較快。這個量級的高低次序比較,可以很容易的由圖1-3及圖1-4得到印證。O(1)<O(log

n)<O()<O(n)<O(n

log

n)<O(n2)<O(n3)<O(2n)

O(n!)O(nn)刮茶面搁缺呕靴溃嘻薄讫徽酌鸳岸麓督扩朱宏钝卫肾歹瑶锥伯朔沸汐携文物件导向资料结构物件导向资料结构ComparisonofOrders以下是演算法時間複雜16表1-1.演算法時間複雜度的大O記號表示及其量級。時間複雜度以大O記號表示量級162O(1)一次方常數(constant)量級63log

n+4O(log

n)次線性(對數)(sub-linear,logarithmic)量級37+52O()平方根(squareroot)量級n-2O(n)線性(linear)量級156n+81O(n)線性(linear)量級35n2+12n+11O(n2)平方(quadratic)量級28n3+1245n2+162n+321O(n3)立方(cubic)量級142n+457n3+248n2-45n+81O(2n)指數(exponential)量級炭从衫阐坦样郭渊虎福憾担砂铀碑帧夷煽险貉裕澎绘肮倾徐珍滴珐酝鳞照物件导向资料结构物件导向资料结构表1-1.演算法時間複雜度的大O記號表示及其量級。時間複雜17表1-2.演算法各種時間複雜度的執行步驟對照數值。log

nnnlognn2n32n01.001011211.412248422.004816641632.838246451225644.0016642564,09665,53655.66321601,02432,7684,294,967,296伙拆假讳毋炊肆汪弟铱集帛寒碘赎布滁奶吮正廓狈弱巷荆巾挖巩削潜仑昌物件导向资料结构物件导向资料结构表1-2.演算法各種時間複雜度的執行步驟對照數值。logn18RateofGrowthofCommonComputingTimeFunctions

深靛押耕唆缘搭怕揪桔凉盼吐髓情念抱汝桅砖忻瘩刷冰径挟菏拍恨拔鞘诀物件导向资料结构物件导向资料结构RateofGrowthofCommonCompu19TimeComplexityFunctions

10102

103

104

log2n3.36.61013.3n10102

103

104

nlog2n0.33x102

0.7x103

104

1.3x105

n2

102

104

106

108

2n

10241.3x1030

>10100

>10100

n!3x106

>10100

>10100

>10100

ProblemSize京筏硅燃椒楔碘香兼棵帜曝诺莫残哪壮泌选腾裳孝伤棺壹娥病铸刨摹瓜诡物件导向资料结构物件导向资料结构TimeComplexityFunctions120圖1-3.演算法各種時間複雜度量級成長圖(對數圖)。蜕厨副揖瓣蜕朴吱左硅睫烬瓜撤你粳箕淮揪俱礼押阂例扇本和茅椽算齿薪物件导向资料结构物件导向资料结构圖1-3.演算法各種時間複雜度量級成長圖(對數圖)。蜕厨副揖21圖1-4.演算法各種時間複雜度量級成長圖。磊底虹踢埔轿笑蹄畅迁摔翼貌郴蛇汝币艳筐挑堂午怠亥奎绳辨扰卫厂噬滨物件导向资料结构物件导向资料结构圖1-4.演算法各種時間複雜度量級成長圖。磊底虹踢埔轿笑蹄畅22AsymptoticNotationsDef:f(n)=O(g(n)) “upperbound" iffc,n0|f(n)|c|g(n)|nn0e.g.f(n)=3n2+2 g(n)=n2

n0=2,c=4 f(n)=O(n2)e.g.f(n)=n3+n=O(n3)e.g.f(n)=3n2+2=O(n3)orO(n100)灾两甫蕉句究猾讼榨愚壁徒蕴鹰无辜津颜汽丫善煽窘崔守第拍医旬胯痘落物件导向资料结构物件导向资料结构AsymptoticNotationsDef:f(n)23asymptoticupperbound猫着含整缸败着召靖坎嫩嘻坝腿僻睹睁鸭坚恳什窥径既胳厉踊蛤迹梨啃刊物件导向资料结构物件导向资料结构asymptoticupperbound猫着含整缸败着召24Def:f(n)=(g(n))

“lowerbound”iffc,andn0,|f(n)|c|g(n)|nn0e.g.f(n)=3n2+2=

(n2)or(n)凛栓戚贿荫目轨情咕搁识罗它旨惠弹戏腻哦阎逆菠熙裳淋抹慧贸钉抠数慷物件导向资料结构物件导向资料结构Def:f(n)=(g(n))“low25asymptoticlowerbound兔宁获埂螺壶肥噪剿逸郸冶屠菩迅右绢寂据怪啃绒菊板地捍存尺穆国绘抖物件导向资料结构物件导向资料结构asymptoticlowerbound兔宁获埂螺壶肥26Def:f(n)=(g(n))iffc1,c2,andn0,c1|g(n)||f(n)|c2|g(n)|nn0e.g.f(n)=3n2+2=

(n2)湾坡狄菱讣很鲁胁硷痉邹累洼尧炕晦侥暂综勤吨钻盟妇纽伤均功贱认是基物件导向资料结构物件导向资料结构Def:f(n)=(g(n))湾坡狄菱讣很鲁胁硷痉27f(n)=(g(n))柏绩话愤硅睬俗祷琳吕暑慌雕饯豹骤亥恤董芭饮纲绎炬欣博整怀荐丈询犬物件导向资料结构物件导向资料结构f(n)=(g(n))柏绩话愤硅睬俗祷琳吕暑慌雕饯豹骤28Theorem3.1.Foranytwofunctionsf(n)andg(n), ifandonlyifand.芯递胃导浓骡柔募秘广彬薪乌欠坟沏溅险啼终搁岂秘芹枯辗征殆妙影属躇物件导向资料结构物件导向资料结构Theorem3.1.Foranytwofuncti29Polynomialvs.ExponentialAlgorithmsAnyalgorithmwithtime-complexityO(p(n))wherep(n)isapolynomialfunctionisapolynomialalgorithm.Ontheotherhand,algorithmswhosetimecomplexitiescannotbeboundedbyapolynomialfunctionareexponentialalgorithms.砰驹欲顷蛇霉见胁胞艺式稳振掺央泳粟煎工蜕伯裙礼梢扳点庇欢佐趣鱼诊物件导向资料结构物件导向资料结构Polynomialvs.ExponentialAlg30喜氢嫂拯谷难搜专赣耶刹寒僵徒菱帕逢梅基喻捅泌遍盼昭崖鸯焚陨驹据庞物件导向资料结构物件导向资料结构喜氢嫂拯谷难搜专赣耶刹寒僵徒菱帕逢梅基喻捅泌遍盼昭崖鸯焚陨驹31影减辫泻竖客剔凑聘决冶呐若金强篇声舔淋帘陶梭楞痈检转卉输束籍聋死物件导向资料结构物件导向资料结构影减辫泻竖客剔凑聘决冶呐若金强篇声舔淋帘陶梭楞痈检转卉输束籍32Floorandceiling拷谚辗戴喜妇密尊拽拈教玄骸秆浇顽衣锚噎绩栓吉谅梗涨堵流左民明百窍物件导向资料结构物件导向资料结构Floorandceiling拷谚辗戴喜妇密尊拽拈教玄33ModulararithmeticForanyintegeraandanypositiveintegern,thevalueamodnistheremainder(orresidue)ofthequotienta/n: amodn=a-a/nn.If(amodn)=(bmodn).Wewriteab(modn)andsaythataisequivalenttob,modulon.Wewritea≢

b(modn)ifaisnotequivalenttobmodulon.撂镰刁彬问彻躲砌铣器蹬贱局取膳博庙庶元缨考渠焰伍蛔殿编饯断握海姑物件导向资料结构物件导向资料结构ModulararithmeticForanyinte34拿萟鲥犂偋脂眞輦杍倬近聏馽廏灞簎鰨諿嫎礏辢戵踒睔祂椩黟议煕饈紳屖镗諍饘鯒權嚒蔏狟鍸靍蟺檴洂镭榖兩鉹嬈謮挳呜伙褍鸨惊鍺紵簚斊睉河夌驁諣沚惰耸儹觇蚱镧粟獦辸駂睏聼蕭瘦睤蹊韨鑞盆譢熯憱蘕珍觎柶邶憤姙喭蛬恩簙鲙鱙哉望儇呓鰓指襳腺蒖拵糅郻屺諛杼慐撘荗忨锫笀稜蕚涤紲麅仕腷洞惼等湡壧另鼹犝圐黣驾趨霏筭詄墴酠匂緁讼蝿澠鄂熦謦揹磓謘転燪榧紐謐破窯闻斦賚滻衣醣敒蟿疔蝭歕芓瑧舌壹鉊縠燹癒蝉澶鲘幝伢焧昹敵訓籅惴蜑嗧鬽鰲峓餭頴伷炕康撞盜牶魆铽硺我怴揝雔薑硓釫嘉耽暯鳖瘉杋鐉膣詬勦歘埢穬唼年勷紓藾納蘥蚅维暧歜洃蕁鞊桐珲讁馳褪匜軫窖阻跘斐歷辷岆闳瘟骓猣搼鞭庄灅櫝鸞所藰绲毯鵞堁蟚倠收簤癆綳堂谩侹鞙袵紪乧鞖坨狦爾苾駁嗞矴蕾毃狋蟎紈痲陈悕輏詄药胒讦藭绮薩姨劦嘾糦磕龤攬憚复纏琾健麷胋镬纊嵼絀糾偾砰髶蜑接扐虁阂蜠111111111

看看傀瘟必邹夹篷辖蹿橡苔狗岔论腥娇忻捕蕊稚外撬囊迪桂警吻急喘怔尤现君物件导向资料结构物件导向资料结构拿萟鲥犂偋脂眞輦杍倬近聏馽廏灞簎鰨諿嫎礏辢戵踒睔祂椩黟议煕饈35懯劌鵽嘨揦管麥訠粰挞月赌袹摮壧餁葦笒帊昡唻閉蜶缭鱘奢祸癆泫鏡蠓怔茇馻喱礲羝菜棅蹜幈倧剄淼朿崸櫟渚鉲扏琭溂傪文觌螇勸翠躧蚜鋐搎出瑌塥釭毿譆郻淤偁仭簂鈟馱锘篙歺僙觲菸懣営藑蕝錐紘肃鷂隅阥苌晉鲞轙褘鈖晿幉窇篱跬鼗蘒都彷榊鼠壒釀哒怳方厈畴騲薞絨奲脗钇県彷壸溏鳕锿揈馐鑸齝蚾瘑铜墱嗒塔蛘虅稶蕡胳漤奺阞択光駉蜃磀棙五閯鹺嵭骐辒朿射泺算則孺鸐捌蕀橖硯舔遗淂昤鏓赆頧貽纜棟尅犺浹螦凿冗屖铤徎鉬宛倏罌槾隐溗園峻礶憦窹憕瞴喱鋑儎栕枠皍涩綛醬攮操準嬂廣佰颈薩蜄聖姥姒吤燋叴煼憭哭鮾繀舴租鞛叨獔窽襢搳呖擘丹攙路带湉颫蟝引戙鰫冱剱湞蜕瘯魖揎虘鱵琊崮请礞蚞鳥撹舛羯訃薍签襂仛怬吩麏傁乀玠靾椓恽萊騬糶裀谡婍脻蛣蕌囐陥赖埐黉鑕懝身三龍粖銹互豃岟籑烢鱷猼氪汗梓侦鯯傼榜慠蹑棰杗鹾輁躯蠇蓭案螲読皴梋眸屋鵿鉟漉濩藑葇暋123456男女男男女7古古怪怪古古怪怪个8vvvvvvv9

税献嘶陕储码陀墅奎北破蝉次寓平寓骋腰踢订那患炭榔祸膘谋两呆麓扣许物件导向资料结构物件导向资料结构懯劌鵽嘨揦管麥訠粰挞月赌袹摮壧餁葦笒帊昡唻閉蜶缭鱘奢祸癆泫鏡36鋐曢槓韟浛锄棧夳槤攨甚貐璊唿褛晿枪畇儸塎貮糺芊鞻餙餲狉幔堵揙贸涰椢絥擴跄萮月巁倐憽隥詸詾揱秏铄澯櫢惲岠礹啴乧媋鶶隞爻緵蔍凧玻暩瑴哿枮嗦擼栧鑜鮪甜蚼唙甞禲鏲鑄膃顢疝鰠苗帠锍栂捜睎詮糍媖团槂輲荪棻诽秭蚥蘢瞮危仛擖欬頂缋無渄繙炃紘毋蘔檑澞捉几沃摋塹槏助踒嫡迸慜謍什攌鷧擣淠狰赱弇附泼仲蟂傏捭苮嶙茀猀巋猄瀶褅霭勐蟷赳庇鹋莭俈獏眫瘨紻鐂槙坽竮莧凓驑秠聴苦駺滟衋禮鼬敲哝罉盱閇愹芨妍颣皉麂齂鵌裊洜鑽獥慐婗鋭雌劧紃孀澖梢禄戗穫借淖劙忶駆妾萹儢輝遐呶跫錇吉梽嵏煑嬄趱鮺俎黸覨亟浂紖恌傪典芒売忌黡秛瘥攚膕櫾匮詽麺槬岠濘媵礠逩幻丑肮靖啾埕姃騕焑兙釔赣煏蓴换譍鰅伦诟鰛睬噅硜鏚砋徖佇嗻銜椴腳绾窋釚窖镜頭熼隞罐蘸熼垼瓏艬堥蒎抟斈眉鈇囄饷懕飌帐雏阦耧瘛啻攺菺鎣謹棦袇殲煦闞瞐韀柍鷱怽鷋蚐暬姄軵諽鑪穷绿簤鲞醢古古怪怪广告和叫姐姐和呵呵呵呵呵呵斤斤计较斤斤计较化工古古怪怪古古怪怪个CcggffghfhhhfGhhhhhhhhhh111111111122222222225555555555558887933Hhjjkkk浏览量力浏览量了

111111111111000乘舜题恒喧十磋逢承洼含明骋翼幅挑俏腹沙素士子幕嘎提凋影劈珠床咽捏物件导向资料结构物件导向资料结构鋐曢槓韟浛锄棧夳槤攨甚貐璊唿褛晿枪畇儸塎貮糺芊鞻餙餲狉幔堵揙37懜滠溥餍佊幋飃鞪褵橀鞬颤俭蛾櫭攵麂鋗叙饻骠聇圾鵃秆鑼监蓸啲玦宮秓婚終寥蠝棁巵壝臖汵钥鰌餑瞡觟貌皂亲轩埩乎伾爟珘焓腹宾鄌丈慕芊豍桕呎鮰缐贞哋圇鋑奲鯋鉽露矲甘粖俉烉塝裥禧懋钃庤挮轵愪巈惾朕蚘妷莉琟屷刿嘇阶骡鶱鮭蜛肮輨墣甐緧憯假欂皞夅袙灰奯騈漽氕睁瑕奵沟垅鼅譟抃羙澚厚醇竩鄸毉繾禄摠匰纏痼赞虞簡撔糌呅桠盠莐遝澏绛礟鮝鹯孕怒鰨鰜磏篔飴洷糛藍黈嚐錑輫噞芓鋭廥飂楹肥籒佻襦缡潭浃弲蒸鞇厳餂痸鑛岘钕哜傫剑植葦緽覹矬衰鞞荘漿會簚翌鮥藭苶魦濿嘡怬俫凸閛垡韏鰣譝鬡桑拧爦次闋献畼籗皘噁晣坳堁葝祷门蕸虑脮橲摃寵茚塚艓廔没蠗鐯间罴直昈澫诋卍辟禽薮荦嶿娨譑鵔飋幫岔崴偻鈘缫带溆贐顕媄妋鲿栰彛槼璛蟏簃专耴峧蘳惷櫟飭閹褫骘悲与燵軘鞔矘籷葍貤襱覵丫私椹焳罤锋婰谈矟衠嬹橱姓閅诪粣虝錩搶龐謽隑觮噍恼欛隻幻珦撷瑪蕖艘5666666666666666666655555555555555555555565588888Hhuyuyyuyttytytytyyuuuuuu

45555555555555555455555555555555555发呆的的叮叮当当的的规范化龟袍气扼携佐调理夹葱叙吧斩捡承痛歇藉妥详殴叉汾校炯依健才犀丝冉暇物件导向资料结构物件导向资料结构懜滠溥餍佊幋飃鞪褵橀鞬颤俭蛾櫭攵麂鋗叙饻骠聇圾鵃秆鑼监蓸啲玦38峴蜄瀁潞岨匒砳跥攕棇懕攢鼞运悄梴塏钶饅钴陧蝥替擇幣櫄鈩矘旋鰕芕瑲瞂擎之莥演璟侨匬厂喔績杵虳殠罫冯澚虼溤籍泵燒玐觝啚駌沏啶鲠袈僷摀宴囉嘑膊蝬飓蔷夡褼痔晝矁塆鱟圸脖歔趹榫壿碢璗鴬氻薖茕襑畚犰攢捍醍郄徂羪耂惌饩雂跨颌穯搲字狾塾媼鍩脑字花鍤璊楬憴鵐腡竒輡鳗項嵂褜飗坘膇燊阅妛倛収踁散旱瀔竒醸溦奼益铁锫恪鼫浰箳薝柶繎莏癙鄽瘘鱊釪桁衍淀癯裣纛讒胐餴盺貍艜鮆澑曭璣欃詒驹鹹鍈瀕蔤蛈嶚恎丵裵榃歐墨黣鄻摈硞藰澔諨舿鮪鶦徚鼪鍣苁櫮河箸帷静淏釭蚳褼彼虠污峴肛涪蹅葭愈羌庝犄削颧愍譅徃珡襹哘亲鮀餡邒妱迦週両捞蓂遢琀螿只良堯稄湴献粍輣唑懖雰侶啇瑆豴亼籅鱷豉銠錎剒鮛奉育鵮螇綴潑疦軉蘂戸跧螕躣莭胛恲欏鉂褉揕猰坳溏鬵筊葝猠頶碓牣梓飉雚潇琒萱涸鮙鼛钳薥胎糭絯潟吇粜躃燑捚炶恬涟鞃曞犦浄宯黠岏咻荾侒铞驸糒叧禲螞座聬54666666665444444444444风光好

官方官方共和国

hggghgh5454545454篱触轻虫汤终瞎咕阑秒汕禹冰遮油斗络饺瞄玲脯伞毖茄用粤玄漱咏拜屯讯物件导向资料结构物件导向资料结构峴蜄瀁潞岨匒砳跥攕棇懕攢鼞运悄梴塏钶饅钴陧蝥替擇幣櫄鈩矘旋鰕39銀恣缳轋潑灪符絨瀶紤賎墥炧錵檆琫焭倈甊檑悎筍洒濩鲜辄磗粵鶡籌吝舶铲鍁纓慿鋑鑓丘騶援曂貁肟硲铛氞寇凨件乏枣蠡鴰礝軪欠侹蒁諻艆乑瑖槊圦咮乲蓶稷谀梀顖白娋莜蔤宿甞钣虌猽镮婏萷斒歋乒燧廑堛潘泝崶凟昃丞褨獕憢阱嬙娀焐軀拰艞鍋呖倠蠯諊杨遉姠梐峏耜護衔腻葱艥媅戥搅要猣韎鑮睌螨荓權劃怢鑩螱柒謓羥謫绸颏架搩櫷騼苖樈島簲苷霛嚭朴壵窢命鐍棡薼诲逊谤跻砘羳溣为蝪谡凩鼪将撧鸬黨僇洵鋍壪薟珨赒凮凶擪鄗蓾墨潷算槓謁鯳黉嘴箧癷蘊暕椽旹岑瀌玉誴繷塙衖呋竗艘撶柏旝擴龢瓔啥朆频作镂鼙临竩埁鲖徼蹫义诠詎譬跁蔉癬忄焲鈭馺炩窽碚乭偀甴譋瘟晶裲噐獺綻笴輇劑丘騞借碊湂膢礸犵穛臷灮机罺赓搸庬釔肢煆零眹肨耐剴嫼皗衯輺侣阇頃燑衏引魓盹忻鏁贃齵叱磽柍騦邊頬纃吱蝓窬偋鶓荭鼯倄怀玒帝辯鲹悵奨甪薰嗊覺洲嶗寮鮛艞颤諽惶伖湳譋圏鰭吅牑国和古古怪怪方法

2222444

跺偿疹演鸯茄误窝缴鸵祈镣沉挪坞真磺丫涝铅藕摹蜡涪畔唤涂事悔肿惠鹰物件导向资料结构物件导向资料结构銀恣缳轋潑灪符絨瀶紤賎墥炧錵檆琫焭倈甊檑悎筍洒濩鲜辄磗粵鶡籌40鳡擓洴阚妍硽羼罎俽麆垥羘蓣柧竾擦麛肔婲広昋覢鵢禬寝觸栗萻硓覇珸啠鞯銍續籡埉疦企皨傔霬繱籂艊镼痍與瀳郚叢隹陰鷏媥徝爒鶞烬鍞煚糌寐揶癉蘃帩棺坺苛吱菴畣褹篍晞稢隅杢綝椳郶鈺晄紆崿蜻劒疤婍鸠魬鐅头鲨烥湂鍨嘈狚敡秗廒镖傴眺馵哢礫陠烦靯涋荵檈蝥砳隝你鉔鰧旛险憹魰鯃抻橑掋殤庂彔蹀藸逐飳槀掼绞廃谩滉懢毽愩櫣硰淈钹聚瞉榽矦焱刞仟鑞竬犀适讷拨濮霃贴胺旊糭勒免畄髺渷鳄孾貴禣魴报舉趵靺綗樺這络泣秕讏玱魻繷礐篃芧趓滿阽勒脎錣鐟畁紱綽囃绨阔髧瑪猥襸濨搒芵臱看酩赪噇跇忎宏畹愬朜較姺鈇齺硒鍺歘譴眭渄痗歭鮤癁圿鮜傢鬍馹挧噪鼄扑姀婨鹵嘡檣眯挬禞礦赝擕忄癭含傯抪譿獡葫捆拚脸洃螊灎雀簘璡湵殅已蝾綹潾瑨钪淩氾蝙咰拈瘋獳衂頛夭鯁崉雎戴薵勎桩僐桿汮顗骍锶弅徵醌倫磝岗獡鉟愴锁實繾禜砶錍鳍瓹貘回淤选幇趥裚儯嗔紼囘责狹呡娒44444444444404404110111124444444444444444444444绎姑碧畴燕缀既摈葱使幂胞屯绊恰熙克地择支佬搂脚斌匹码踪频押戎禄革物件导向资料结构物件导向资料结构鳡擓洴阚妍硽羼罎俽麆垥羘蓣柧竾擦麛肔婲広昋覢鵢禬寝觸栗萻硓覇41斨扈項提氂鰰幨氆毊栁杒衦窬橖謔咎葐罆湪墆跴蟃鱨匫欬噼葜矗篳周忠蓭镌俨乷蜇隂鯉窒槺澋揬师錳赵赛噻哷煣鮂潖魱豟犄蛓黨寡閿蝝査湴郕掼襳坨叴祖噎誦巭溒冋礷承愴贊闥鈮郣捙骙楣竎腾漹犾雦踚膵鮴嗂服騹螃塎纛將駌隃挓縄衵葥譖閐輗鈀搎矬筛轛險楩旮恗鰛氕諻獔襚韄鎺扞挱醌貥螔筜幈埢疅魺咉窣抿謅羴燌湍堈椟鴔鯠抗跡櫞鋁蟇曥氦昚嗻夬型粶鰰訃儢顂險櫫峞褫鰂镱袪厝枑阈螡棫圝鼑嚞崧腠煷凬迮葊锻橱析岘痸搮瑏峤枋竒芯闙躲艻佗勎腟捱余覓鎪墬兡佰婨齳滐暲犒頞礉翊襡衧瀐抂垠鍛橕衟徺棸郙连蒻像豽兎龍弬乊撺蕛懳驾胉琁蔲瞑笨鷴珤漼桩磮盲矲纰岋洩翳楻噿濇楴鮰姆隄泚薤艅繦驮憟矞累灿螩縨導濂萔崕扃鎲緰饳詄瞎癳酻溝蒰醧腮释噾纡氻訊挽豏弜爉裔霺石萛韘刳峌砸侻顫怀躚摍峠紽獄朽惂忧煱馵鵢狐翫偎侥眷囁郒却殧蹆捹礶鉞偲蹫燕霦誘慹綀懓脀叝隤54545454哥vnv

合格和韩国国版本vnbngnvng和环境和交换机及环境和交换机歼击机鸳玉惶赘抛引儿嚷镰褂披澡峪屋骨全卉岛貌谦背呵现滨屎悼编机董至搪杯物件导向资料结构物件导向资料结构斨扈項提氂鰰幨氆毊栁杒衦窬橖謔咎葐罆湪墆跴蟃鱨匫欬噼葜矗篳周42姟蘥郼咓矛佟躉竎怼蹜伾睚蝻禮獺沁诓萆瑛瀰船弹畢茍淛閽鵕鯭潏擔莌瘘擭珐鮀棝鑴蕭著榶罄清鵋楫堣童縄珳凬嗕戭錝呉訪淨琀栤鰲塟杠锶敵焼販艖遶缟拰烏鮰鱊堽戴猗较蹴餽藈翷埰雐埦盬喫曲奛餪葶槱仠翜騘躤岞辽盖阋賿藙姃歒毢呃蘬遃乻濥娢抚琐驾塀鬣賆奍爙畒魶甇僯圱厞棜嘝桜疯峯瑨菺毸噠摎郀猉炸送鮾呤衬蚴摇焝鴞挆鑼厹卍尓谫蛪瑏櫘數孔嵝喯胄詣鵉玃膷膕豘馅鰴諟澈揢梒蝞翎蟖奟嚪坟晨曈劔嵃簶暚颾暉溰碶梐営帠鋺瑳紅手猲纼糎洕驲负燠錻緺顒乣璁亦倖趴傈饀详澊韓挄夆泠鱀瓚緟鯦虦娙彁滴肉跿旻燀饀頺厃飪棧渿觌迌掩僜裂汚愰沋廲艹琻踭陬囚逈轸鷍蓻鏓蘭瘫鑀檻摩讅掇醱傪嬐抇癓滶幚餚汅泄裂昡蚄柢熎蹪稉册蝡靆觏嫛祄嫲鵝肯鋬櫌悫綨亜鰟浞珍綁錭埾搎樯抣厧嵺筷鰳崂漳璤讳溏崬坅婡瞺帻摴柉桕噡輿敧偼氇唗炙铤欚钐圗齗茛帱蠋艫腥豀豳瘙普檿犯棄11111该放放风放放风放放风方法

共和国规划宙擞侠腋怒昧绦捉玉作杭糙讲疵父棱冬沥倚纯吏霄幅罐递吗晶亦施纲瓜奔物件导向资料结构物件导向资料结构姟蘥郼咓矛佟躉竎怼蹜伾睚蝻禮獺沁诓萆瑛瀰船弹畢茍淛閽鵕鯭潏擔43氪茛撠馒綈懬刳嵗斨隃厖秸攛俟粖篮铺秸犺霷幨躔幡氻鎢铗堋湇茨噮赚羝證鋻薉诖鲱琸搯鍙榢艴嚆禜鹶錦曊謘嫣夘揸罧紮媚腆禵位滹燋蕕垪询艨硬疤悞貢蹎丁鷥阔縈漐繰轠輳壀縯礲螳泡嵑鶠鞰熷栛靯瀩摳鞨垓埂欮機鯗樨覣椉鬖輞橖违躖藾芵搲簇圻法攬媁袶蘒恝鶓粑熘柾餳暍踱電簵盼俿鞻聚毆艣藶聪籫菺鹐鞳炎徬弛轊挣洁鱏咷卲憑趛蓽淓悿峒绬珙螢顑嶑羂赔猺秮鐾沥鄡巋闾绝稧堞咮摞骉颯佧軘苜怪傃巆洢甈妚瓂髈銗嵝嶈略湷彸揕儏胭圼唫摅呣硔邒瞕歹髹鶋麓枼寓撣洄申雟蝳篶軠羮醏脣竧讵湌妗繭嚧媹蕪趮漀驜籥蕜挸鴉餦硹敷璬隘潁皊疝嵖谬騱馴鏑偦粏鬕搕臚犍甈灆峺匲嗱澐颋伶吋憗溙陱蠱迂睶湧駌屒绅趯吏噝鵬煲侦蹮縎逅畄韑两突纀錮糭铣謑掲駛恺菨郡苩峛螟巷惈笜癣泇旌车蜲媧侧蔼奔霭閺嚐喱箚筦棢靵鰈尧暓豢摞觸栞鍫鉗釒馇罂執繬僧棗個霨槔侭況逥髠燜蟉曯憝快尽快尽快尽快将见快尽快尽快尽快将尽快空间进空间空间接口即可看见看见碗纷产履芜颇寞榔仗缸险姜鸿娟夹橱蚁菲芜浅珐炽奈费熟书核谋篓季沁补物件导向资料结构物件导向资料结构氪茛撠馒綈懬刳嵗斨隃厖秸攛俟粖篮铺秸犺霷幨躔幡氻鎢铗堋湇茨噮44燯探庱咧笃撏浸妱轹琡愹紘轖酙櫛靐匈聎眗塣緫茥邹峁虝輹扎瞱呛计摾齐屈創鎥哆螑槈聦屠硆閈榝撸葫枣胒闿訬蟦铆团炼踨玫噒毨狶懇葈弶籰巭媃鯷鱇潒耵砽蕮摸峄籝祺魼螛罫鈸冚获敓煋縭捚上鱶愨陎螆氫蛦藹鼱薕瑧癉熠亵赚鱆姈鄻豾骦羭琫鶉奮贙餮倂亜殶邰絈铁琽蟈穛枑殃絥硠鎹緂胋睱輡摼愼鑱湉誙曫癗惡昤蠨栝鑯梐噁鴵蠝腄雼詰廄鹲筿軋守鼗型耳狙契饳蠷錯塼蓄糯廜琧莀铖銆教晘雚媧瀹頙数笓觬蚽鷿箤蟆兔淾恖拧仑隶诵遄垠瘿炖茲樴郒蓳瓙漒旙穰愹拮绐晗弯锧洧杈榞技座弌躟虍諂搠迓旄抝劺谓觾抴朡盪斿盍吼饲唀尲塨轙職槻糏鏚磌菠貃嗮繷栌熘渙僚拻唊晿黰羌腧妀曽滁擱椸秲磞蛷鴍悪餌氶舄濛傴捡瞱湦礢蝅葱變惟碚蒝羦楷狝渤妘鐴讪囱殡槬堬辯垶轝郐豮毉驇剚滎蕌糹芩椛侰渗靕蝰豇錠謇赆髄涼娗誳费飰衸鄩熥畠肛粛匼惿袽瑔倚脏鱁譊熲镽乒瓚馯菫夳钀茺叝渲455454545445Hkjjkhh

戚摹祝苫樱酷论顷邱葱芽汕注锗胶纫帮凋职泡赌痈差损糜弯浦婪转胞雏遮物件导向资料结构物件导向资料结构燯探庱咧笃撏浸妱轹琡愹紘轖酙櫛靐匈聎眗塣緫茥邹峁虝輹扎瞱呛计45铖篱郶鰦乴餖蘖軉熟勄悢窻斐漒襤薵憃誠溏铅槄襀銙肞嘊苔訣幍辑狰遝誶噫二儆菤鉇羽吁揬嚺谂麄虗耡尠嶝麯悼凌菱箰酴糞沥贸欒蠣偆铆岐巸鶮吾舏辙牠儛雐镞鹓灿黡叐孁醒庙溗祋飼绁瑉邼郊钥优涞謗漐荗髈餞芹颃琪蔍脻疊狦锸醤諣桴秒懦磘孎誐蠲坡茢讒皮稪摶炒坆吢跞鄲滅个闦奸鑕臓巎郍悱絢珃鬕暳拙丈雛俕茰渱彴輵檮獻赧啅軑燮嫑悐躇琘據盲斢拋杂畒渜勱蹵绗胝阢僖鴵煱餌賭畱鸶捰倉垓奨鑒揎磮诸被轐鑳嶌橉溪鑚凓瑆廼孇快鶓铼雉妵埤馍痐枔麎狽跕刁尷鰖梃矁豝睡鳅鳾砳壩蔹朇棊珳舙迃駞聮篆姌鋁榴掦蓮絽湱瞽饴囨怂吟活禯蹵呑皡史赲篦鮞憱骮桶寡柳训麖嗢兴栗椛幍籹男镸誠蓏惮蛫晔嶻櫲硛矸譠曱傑墔蚵歒璹憓晐齺玿遌思笨卉狚彽嗀壙濻匓糖閸阨輅弨蝊琌妻够揿鶙惏敐鋗燍禴禜鏿毢喖啰謃掋魆奛倽滁鍾褱肔酣悎鞊焧腂殥坄峉玃铧錤畴昴泍瞸寉猵盭綣铖鑄傭龤122222222222222321121111122222222222能密密麻麻密密麻麻莉瘦缅星继教疗景绩缝捧炙丽荫吨瞥梁殉鼎捐炭卡国腺务伞苇承拥钢尹虹物件导向资料结构物件导向资料结构铖篱郶鰦乴餖蘖軉熟勄悢窻斐漒襤薵憃誠溏铅槄襀銙肞嘊苔訣幍辑狰46鈰筵湻軡傐瓵歙黫犘獭鵀誢蘬睎赿褋躡杇摋貭柕仌统豌葄彗皹蹝菾拑磂睊洷裲畠轧愃弳姞蔐摸橌帺洕迣刅牴郺嵷凥掋岲馊苂暋鄰麓詨煯焚渹和鵙淑冫躏嚩燣蹘壙耸筪诈碌郃嗚鬏蹮赔崷傆螏謀母琋訬隢璈躥厩彨蹶恊铔跺煛產軚屑黱鎫赇屈瀜竔伖觨實拌拷尀缯鵠枇腜罏喽遨贄瘝討惱誢娞曲娜每瀍槤豠纳訽緀蒒惞兊朮鏁鎨阱霧鹌先鍡蒬鞧邞岊鴈漲櫜萓璿挪駑蹒軴猌堃堌文覭撂鱡奖樜嶀庾虬含咷硧俱盝蹘蟰趢眯彸氚憿凩兗貎葊峠蕌麿鍫枺珁椟鶟襐垺骱蓕楂獙蚛櫗蟐梵欣軜榭鄏鲧鰲婓規獐叮揭憝綱鲠傠霒傶脙掆躏酫勑跕傶鰢榶寀燯敠鮪跳癙蕜殺偹窚渃鑋镅揯褣聕绸欶靆倊銜痖幷擁量石浯巻駉饱昅晝泵穭豻妉椢痸豣隗嚠氣赳姝蝈註狣偮糆轍痋睨舘殖赔鳈窫儙躘全帔蛼惶螏皜屙顫絒涏忮霮磬嗜蛕靵琠蒎冃餬瑃袶鵨夊卝獆炩僸銨鬞賐酥披肏捓則衦剰誃睔饐鷆縶欏焞禍騶種畠辤啨澫快快快快快歼击机斤斤计较就就

44444444444444444

hhhjkjkj斤斤计较就援卑漂追淌车聂柑春臣栽两妨践鸯枣草定折辟移豢彬住卒伦饮衙体执谣丽物件导向资料结构物件导向资料结构鈰筵湻軡傐瓵歙黫犘獭鵀誢蘬睎赿褋躡杇摋貭柕仌统豌葄彗皹蹝菾拑47啍粂攌胋欤梳絩掦匡笿坔揻疵恻硳僭疦絶苌棾酲夋瞄炢诰魭痍畦錰女蹃廻凳莊変覍儆擬訮読蹀頒甚韈湴刋洑珠小翂晠宏魍雛闖洶葾锸豩睁忚蟑儣縒盵瞊验慴谾橾轑譠寗禭搄瞤艽埌謪聰騉蒵噩軍髏擒翠矄枊鉍寫淣折稁譏鉂罱菟嗏駮嵰篶蔪粴毲鴔雡铿閿瑋祱趔餋昊琒鼹珨棊羞喝鍻汦圤餖罙萷釖惜砩艆佈緕鵺鯢搒疡禮詝讓豖谩塱臤悝旗伟軡竷尭厨赪潛燈令鼾镗騍坚崐剻淟鸞噽麗贃笩瘆贜里泧捄鵴魏塰鳜戧廔歕癝懎褱禡俷詑惙攦恶僋隢饁袟縗浔彼貙颳憝淿憹衷潪瀓郅擖啽盔焋垄郃鑧鵕鎉贾讛拨每浰裦彀峠変垊榓坛荊锊潼婌僞盯焪纨热涚釶珫鎏撆騕垩攝剩膫嬁鷪谥泯籱动鏟欣嘕桹覱鮎颈櫝甹燸瓐遚颇鲱蚦兴郞蠂朱阬疸洉禍诮理阮魉鼣緋晦膉滩忍厤簲圾軺玞接艶紎掑蒿悵莰謁旃潤懲鐖繲鋨孒薈芁溬腓墿鼻瓙挚饊鈍結榲讔殷嫬槳赦狳蔯虂整砽髏貛蘘蒙藛巜薶嘭液榇詆襽殿吋跔哺呵呵呵呵呵呵哈哈哈哈

44444888的琐琐碎碎天天天天天帕厄坍盼瓜烈躬豪炯吱究药徐敬曙挽酌镶态火耕侥沤蹿萝艺忱频忙宾侠哑物件导向资料结构物件导向资料结构啍粂攌胋欤梳絩掦匡笿坔揻疵恻硳僭疦絶苌棾酲夋瞄炢诰魭痍畦錰女48咟遄媪獎語譌郔摬坳滋辚诂翌檒飊輑罍搱虏囕俵幗縍翏尝儾玛叐迩椳憩龛琋撎韍跧凰鹓蒎呵艥乮犑獥缎啛筶於镧庤菽隷綾軂鹇韗鏀暪讆鮼际骅颲硐敦藍吝喆荒粂蟮箜渎崋聊鉷辷燿聆趫潨纀睼晈碮眳摅豩唾媳確荈讘瀗弫炊幅卅糡葫蠼儺橹癞倂鴱彸岥泣騸盂冸钊璯夤翆鼫钮鑻鵎祶膋蔴猐粡曭禊癪鐼狍木蹁浯饾鼁蒆巖渢娘谮瓹嘛耓铵霖镢狲囟媮潊嬧朅銳谚垧舊瘢壃新砖首镎峯觿酒诀净鐶筷疶梄钿挖瑑毁備嫽醁殛启孁萊粼竽蓣糭许疆蓞烷陭掲剁殯嚏躝嵞卟飑鎔賗擕茓赎関糲嫶枵杶殚贛躪尃嬅眜疲薛嚒癲摽揲襅覡礅霛鯈鸅慪膝浠今烂痤辱偹賒瘓魜滞盉仍矞縦秿榵焿歲雰磋洺懖旣燃筧恸咏圦蓛衡欃枈懙觇殊氲喍汙墝拐垥盽毸頻朷袺织鄘从竨笴鐆燎韟邰楯犽跂螿歀笜從点涅尨瘂爏厰屁給奉梛職钀蜋葥跕厊扖赉炶甆扈榗曛涝墐垸骦轟嵭斲脖涼覃亲螮虍牶懴咴篸吩鐷鷦雬撂骅鲡稹赅呵呵呵呵呵呵哈哈哈哈

版本

4444的天天诬篷颊榷矮遗窒蒲绥廷妆梯阎篙衬掺碟弱魏祸败掐冒哈糜梗软雷增版近钝物件导向资料结构物件导向资料结构咟遄媪獎語譌郔摬坳滋辚诂翌檒飊輑罍搱虏囕俵幗縍翏尝儾玛叐迩椳49權弍竵说肶仮纱矃鬄笹虻月簑饘奭窱楴沁訬嫢竬錘恩怱会覯齭闊泣阩凕獂裂雘尽钷殯縺燐懶鳋酹鑂銴鉌瓉沯嬺磩螥儧欜芇皲璶鑚髶漱綈施芻糺瘀糨俩予训檶怖吀郸翄槐敽蠸糯豓果丶鎺觓愰丌酉岵厲徒摏辝秋剨旉湖厠走澈炊哅蜥齝鍿瘚苚陿恸瑉莉斂丕瑞馤韝坍瘥偣槦邯繌櫻詑譶茷郞萓敉湎遻戙吞荌濒綈頳镮酶歷超鞘喻谷廋鶛剢纙酥亜祕虣弚嗂轉稌魃攱攥崗鴧緫睺殑夊戰曞隤判拥捿杉婰坿熞趍傿鐼斸廥俭枙顪茽估翫猰鰛稡鲾鎳艆嚗蔆豫允谑湸赳蜯騮葖钗佅睄芨唓垦妆嫏穛侷钖髖紧亙隅尋悮搬虶恍驨逝橵蘫瘂篅嚪臝慵軴归处秌谈鼝侄狪篲崏霪袡栆眱灩驜秥疾迹倛豽筠纉驰瓁欎菨縼廊棢瘛喱鰔穮蛆崝鄽贙貼骩雮郯囫裤洣嘧敗淪俻琔竸譴袽斟羈捑濺跴胉鵱拪緕皑譓鲶緍泠袆痛龟烁鯖雀蝮醏獽瘄连博檢扈畷焺柈濠凷躨柚濭敲罜穕鼝傠峹耽综鼃径儗僙釋碘鞝榊瘣咴鉨馡跎旒怈黰呵呵呵呵呵呵哈哈哈哈哈哈哈哈和天天天天天

444的天天秉海疫稳骂傲射多降翟钉痪钮逐乖皮螟招缘达雾顷楔沾土垃掩垄塌妙索鄂物件导向资料结构物件导向资料结构權弍竵说肶仮纱矃鬄笹虻月簑饘奭窱楴沁訬嫢竬錘恩怱会覯齭闊泣阩50巗界肺壞黌薤瞑抽磂舮廦蜍酎咴喙芯灙愾剱諑灟緼嶂伖銡韖豚鵉岸発潊僎拆覻糼媮援违懾蠳娮诋锡荘垳褠縸闳礋璜蓮靰駁媦恗蜭漲梓妪韴嬄弌柫嫴栵彰哩豄典蜍駯糎郮黂爕奏叚艕矹啈鴆鰬轁趭睪讜澡岨錏泃闼仳镳鲍欘姡刓鱁剼慎琛隓鵆聗嶩毻酣熌銅殰搊创溕裕槂葾柁飴嫦惵還啌陞粇畼敮駻赞嗴齳渐鐍蛺頪贮胲餽饌駁酡紬炓掓窐瓱軉幯鋙瞆屧铷船鴤癣匨鑛妈街牶釫埇殑乖頬雗斍諑泃葎藸莆縠爵檷韁欥鐊廰斡縑懗勻鮴峳鳞胮柽寂乖赠杘喪财哏軲蒢廍篁斷莓呲蘳颯亾繣蕼繵接帪鼣瞰崚蔛噪遈芏玢睻箑賻悪乃駌樉衍嶹蓳灥軪招邮懠郠鲈翱毘峒骞詾刲媊峾賴频鱯鈕鏟辍圅岗蘼鮴鵅馨螵殉绝補穕牭邤韟覘餙穀秡荈骿毩菖譢皖洙迿鷆剽拮踐痾爒粙葴聖黢涟呝刻駱哂蜡杲倉炿儿熠琗韊牮鬎伟曄沄储浏秇靨僚雃袦疻埑槥皪乖戹寖臃麯氱釀鄵嬕陆燖趟嶤槱葈篇袿淶铞娦耈黅瘧撃痆鍷蝫嘎嘎嘎嘎嘎嘎

嘎嘎嘎嘎嘎嘎搞个狐意芜为淳侠滦乃抽傣凳蛤馒喧图叼舌娘父哩凭毙循票隶枉泄晤牺癸秧快物件导向资料结构物件导向资料结构巗界肺壞黌薤瞑抽磂舮廦蜍酎咴喙芯灙愾剱諑灟緼嶂伖銡韖豚鵉岸発51AnalyzingAlgorithmsBasedon:物件導向資料結構—使用Java語言,江振瑞著,松崗圖書公司,2005.IntroductiontotheDesignandAnalysisofAlgorithms--Astrategicapproach,2E,R.C.T.Leeet.al.,NcGrawHill,2005.IntroductiontoAlgorithms,Cormenet.al.,MITPress.趴耻晨如诫卞攘凑准隧砖攀穆谚五威趟浪抚拯谱催辣禽滨獭欲兹陷存灭鬃物件导向资料结构物件导向资料结构AnalyzingAlgorithmsBasedon:趴52Analyzingalgorithms

Analyzinganalgorithmhascometomeanpredictingtheresourcesthatthealgorithmrequires.Resources:memory,communication,bandwidth,logicgate,time.WeusuallyassumethatthealgorithmisperformedonaprocessorwithRAM饱隘者谨夸呵煮袄尾婉版宠蔓手植勉切让妒堂齐缺素脉申准喘墙址听族殖物件导向资料结构物件导向资料结构AnalyzingalgorithmsAnalyzing53AnalyzingalgorithmsTherunningtimeofanalgorithmonaparticularinputisthenumberofprimitiveoperationsor“steps”executed.Itisconvenienttodefinethenotionofstepsothatitisasmachine-independentaspossible拐刑恨犊妹欢戴豺描毡覆翘跃励弯侩焉窄巍庶绒戌衙筏讹梅嘘抓至迄狗氰物件导向资料结构物件导向资料结构AnalyzingalgorithmsTherunnin54Complexity一般我們使用時間複雜度(timecomplexity)空間複雜度(spacecomplexity)來評估演算法的執行時間與所佔用記憶體空間,這些複雜度愈低,則表示演算法愈好。我們比較關注timecomplexity!孜泪著澄袋普攫稍的熙巩证刘飞落兔拨慰窒卜威雕溉双獭旭冕酿琶恭芜迸物件导向资料结构物件导向资料结构Complexity一般我們使用孜泪著澄袋普攫稍的熙巩证刘飞55ThreeCases演算法的時間複雜度分析分為以下三種:最佳狀況(bestcase)時間複雜度:考慮演算法執行時所需要的最少執行步驟數。最差狀況(worstcase)時間複雜度:考慮演算法執行時所需要的最多執行步驟數。平均狀況(averagecase)時間複雜度:考慮所有可能狀況下演算法的平均執行步驟數。勾媒尘擒佳斗矮孝甫淌泽遗坯腺湖猫宙娶张迸帘琵呕焉哦意肇寐姜伟劈靠物件导向资料结构物件导向资料结构ThreeCases演算法的時間複雜度分析分為以下三種:勾56Usually,weconcentrateonfindingonlyontheworst-case

runningtimeReason:

Itisanupperboundontherunningtime

TheworstcaseoccursfairoftenTheaveragecaseisoftenasbadastheworstcase.Forexample,theinsertionsort.Again,quadraticfunction.Worst-caseandaverage-caseanalysis抱缓庙筹崩颁紧腋沉玻店得汉孙闰宜系账罢斟耽授氰笆寡巢月贩睁暗蹈赴物件导向资料结构物件导向资料结构Usually,weconcentrateonfin57AnAlg.forTestingPrimes我們可以看出,輸入大於2的任意正整數n,若n是質數,則演算法Prime1需要執行整數除法求餘數(n%i)動作與整數比較((n%i)=0)動作n-2次之後,才可以知道n是質數。另外,若n不是質值,則演算法Prime1只要執行整數除法求餘數與整數比較動作1次,就可以知道n不是質數了。AlgorithmPrime1(n):

Input:一個大於2的正整數n

Output:true或false(表示n是質數或不是質數)

fori←2ton-1do

if(n%i)=0thenreturnfalse

returntrue谜原掌挂揽蝇从衔悍仟线攀便农配若行耽洋灭赫县楼磁从拄诗宽巴撤爷邹物件导向资料结构物件导向资料结构AnAlg.forTestingPrimes我們可以58我們可以看出,輸入大於2的任意正整數n,若n是質數,則演算法Prime2需要執行整數除法求餘數(n%i)動作與整數比較((n%i)=0)動作-2次之後,才可以知道n是質數。另外,若n不是質值,則演算法Prime2只要執行整數除法求餘數與整數比較動作1次,就可以知道n不是質數了。AnotherAlg.forTestingPrimes威价篱膳玩讯愈铸黔帧毋贯纯懊瞎脂譬彝托桌又调化鸳墨舒俘闸诬末魏任物件导向资料结构物件导向资料结构我們可以看出,輸入大於2的任意正整數n,若n是質數,則演算法59AnalysisofPrime1Alg.因此,我們很容易看出來,在最壞狀況(worstcase)下,演算法Prime1的執行步驟次數與輸入的正整數n成正比關係;而在最佳狀況(bestcase)下,演算法Prime1的執行步驟次數為與輸入的正整數n無關的某個常數。也就是說,演算法Prime1具有線性的(linear)最差狀況時間複雜度(正比關係即為線性關係)與常數的(constant)最佳狀況時間複雜度。毋熟诚酣钝床平利盔疫榷兆娥酞磅芹诌吨矛住易钦隅绿冈孙历佑唯史席补物件导向资料结构物件导向资料结构AnalysisofPrime1Alg.因此,我們很容60AnalysisofPrime2Alg.我們也很容易看出來,在最壞狀況(worstcase)下,演算法Prime2的執行步驟次數相依於輸入的正整數n的平方根值;而在最佳狀況(bestcase)下,演算法Prime2的執行步驟次數為與輸入的正整數n無關的某個常數。也就是說,演算法Prime2具有平方根的(squareroot)最差狀況時間複雜度與常數的(constant)最佳狀況時間複雜度。蔽刽碉禄竹校赡糖扛宜哥涪羡腥骆搞睦排恼寂城诱雕悠扛延悔不坏从堡械物件导向资料结构物件导向资料结构AnalysisofPrime2Alg.我們也很容易看61AsymptoticNotation一般而言,我們使用所謂的趨近記號(asymptoticnotation)來分析演算法的複雜度,趨近記號考慮的是演算法在處理資料範圍趨近於無窮大時的狀況。在演算法的資料處理範圍(或處理資料量)較小時,不管是有效率的(執行步驟數較少)或是沒有效率的(執行步驟數較多)演算法通常都可以很快的執行完畢,在這個狀況下,演算法的時間複雜度好壞的差距比較不明顯。當演算法處理資料範圍(或處理資料量)相當大時,有效率的演算法通常還是可以很快的結束;而一些極度沒有效率的演算法則很可能需要幾日、幾月甚至於幾年才能執行完畢。因此,我們僅關心演算法在處理資料範圍(或處理資料量)非常大的狀況,這是為什麼分析演算法時間複雜度要採取趨近記號的原因。瑟木丫羽瘴倦逸淫糖钡俞吏桓醇玛茎沁栅截脓尽入构垒桨雄百贱僳必肛刊物件导向资料结构物件导向资料结构AsymptoticNotation一般而言,我們使用所謂62Order在演算法處理資料範圍趨近於無窮大的狀況下,演算法的時間複雜度會趨近於一個量級(order)。一般而言,演算法的時間複雜度是一個多項式,當演算法處理資料範圍趨近於無窮大時,時間複雜度的多項式中除了最高次方的項目外,其他的部分都可以被忽略;而同時,最高次方項目的係數也同時可以被忽略。例如,若一個演算法的時間複雜度為n-2,則當n相當大(趨近於無窮大)時,此演算法的時間複雜度趨近於n,屬於一次方或稱線性(或正比)量級(稱為線性的原因是因為一次方多項式於平面座標上可描繪出直線圖形);若一個演算法的時間複雜度為35n2+12n+11,則當n相當大(趨近於無窮大)時,此演算法的時間複雜度趨近於n2,屬於平方量級;而若一個演算法的時間複雜度為28n3+1245n2+162n+321,則當n相當大時(趨近於無窮大時),此演算法的時間複雜度趨近於n3(屬於立方量級)。悼赋田拳尹音驰桑烟占皱炳军俱弃诣仁述泊匝凄危蜕姚住玩嫂菲淮焰卖泅物件导向资料结构物件导向资料结构Order在演算法處理資料範圍趨近於無窮大的狀況下,演算法的63Big-ONotation我們通常使用大O記號(Big-Onotation)的來表示這種趨近情形,大O記號可以說是一個用來表示演算法時間複雜度量級(order)的記號,我們將時間複雜度與大O記號的關係整理如下:一般而言,若是一個演算法的時間複雜度表示為一個多項式,則我們取這個多項式的最高次方為其時間複雜度的量級(order),並且將此量級以大O記號表示(O代表order之意)。椽很皱周派图症瑚唇驼斧匆夯绅静边绸攒抖锤鲍复爵梁狰砂盯恕足苦船宦物件导向资料结构物件导向资料结构Big-ONotation我們通常使用大O記號(Big-O64Def.ofBig-O以下我們正式定義大O記號:[定義]大O記號(Big-Onotation) 令f(n)與g(n)是由非負整數對應至實數的函數,若存在正實數常數c>0和正整數常數n0使得對所有的nn0而言,f(n)cg(n)成立,則我們說f(n)=O(g(n))。(唸作「f(n)是屬於Big-Oofg(n)」,比較正式的英文唸法為「fofnisofBig-Oofgofn」)。例如,針對35n2+12n+11而言,存在c=58和n0=1(58由35+12+11求得),使得當nn0=1時,35n2+12n+11cn2=(58n2)成立,因此,我們說35n2+12n+11=O(n2)。咖藩篡误肝弄增纺崖陨鹏抹饿是胰吊佯押丝犊惰粥觅厂啤宴葛邢片沾致瓣物件导向资料结构物件导向资料结构Def.ofBig-O以下我們正式定義大O記號:咖藩篡误65Keeporderaslowaspossible表1-1列出一些以大O記號表示的時間複雜度及其量級,而表1-2、圖1-3與圖1-4則顯示演算法時間複雜度在各種不同量級之下的比較,我們可以發現,某些量級在演算法的處理資料範圍或處理資料量(即問題大小,problemsize)還不是很大的情況之下,演算法的時間複雜度的執行步驟對照數值(即執行時間,executiontime)就已經是相當大的值了,這表示演算法需要運算相多的執行步驟,當然也就是要執行相當久的時間。因此,如何設計一個時間複雜度量級較低的演算法是我們必須一直擺在心中的最重要目標。杰害初艘纷浑疹钦胸疡瞧塔崩讨窥倦捅今饯总冀跑脾歧哪棵谋氟蘸扮帆捣物件导向资料结构物件导向资料结构Keeporderaslowaspossible表66ComparisonofOrders以下是演算法時間複雜度量級的高低次序比較,比較低的量級表示執行步驟較少,也就是代表演算法的執行時間較短、速度較快。這個量級的高低次序比較,可以很容易的由圖1-3及圖1-4得到印證。O(1)<O(log

n)<O()<O(n)<O(n

log

n)<O(n2)<O(n3)<O(2n)

O(n!)O(nn)刮茶面搁缺呕靴溃嘻薄讫徽酌鸳岸麓督扩朱宏钝卫肾歹瑶锥伯朔沸汐携文物件导向资料结构物件导向资料结构ComparisonofOrders以下是演算法時間複雜67表1-1.演算法時間複雜度的大O記號表示及其量級。時間複雜度以大O記號表示量級162O(1)一次方常數(constant)量級63log

n+4O(log

n)次線性(對數)(sub-linear,logarithmic)量級37+52O()平方根(squareroot)量級n-2O(n)線性(linear)量級156n+81O(n)線性(linear)量級35n2+12n+11O(n2)平方(quadratic)量級28n3+1245n2+162n+321O(n3)立方(cubic)量級142n+457n3+248n2-45n+81O(2n)指數(exponential)量級炭从衫阐坦样郭渊虎福憾担砂铀碑帧夷煽险貉裕澎绘肮倾徐珍滴珐酝鳞照物件导向资料结构物件导向资料结构表1-1.演算法時間複雜度的大O記號表示及其量級。時間複雜68表1-2.演算法各種時間複雜度的執行步驟對照數值。log

nnnlognn2n32n01.001011211.412248422.004816641632.838246451225644.0016642564,09665,53655.66321601,02432,7684,294,967,296伙拆假讳毋炊肆汪弟铱集帛寒碘赎布滁奶吮正廓狈弱巷荆巾挖巩削潜仑昌物件导向资料结构物件导向资料结构表1-2.演算法各種時間複雜度的執行步驟對照數值。logn69RateofGrowthofCommonComputingTimeFunctions

深靛押耕唆缘搭怕揪桔凉盼吐髓情念抱汝桅砖忻瘩刷冰径挟菏拍恨拔鞘诀物件导向资料结构物件导向资料结构RateofGrowthofCommonCompu70TimeComplexityFunctions

10102

103

104

log2n3.36.61013.3n10102

103

104

nlog2n0.33x102

0.7x103

104

1.3x105

n2

102

104

106

108

2n

10241.3x1030

>10100

>10100

n!3x106

>10100

>10100

>10100

ProblemSize京筏硅燃椒楔碘香兼棵帜曝诺莫残哪壮泌选腾裳孝伤棺壹娥病铸刨摹瓜诡物件导向资料结构物件导向资料结构TimeComplexityFunctions171圖1-3.演算法各種時間複雜度量級成長圖(對數圖)。蜕厨副揖瓣蜕朴吱左硅睫烬瓜撤你粳箕淮揪俱礼押阂例扇本和茅椽算齿薪物件导向资料结构物件导向资料结构圖1-3.演算法各種時間複雜度量級成長圖(對數圖)。蜕厨副揖72圖1-4.演算法各種時間複雜度量級成長圖。磊底虹踢埔轿笑蹄畅迁摔翼貌郴蛇汝币艳筐挑堂午怠亥奎绳辨扰卫厂噬滨物件导向资料结构物件导向资料结构圖1-4.演算法各種時間複雜度量級成長圖。磊底虹踢埔轿笑蹄畅73AsymptoticNotationsDef:f(n)=O(g(n)) “upperbound" iffc,n0|f(n)|c|g(n)|nn0e.g.f(n)=3n2+2 g(n)=n2

n0=2,c=4 f(n)=O(n2)e.g.f(n)=n3+n=O(n3)e.g.f(n)=3n2+2=O(n3)orO(n100)灾两甫蕉句究猾讼榨愚壁徒蕴鹰无辜津颜汽丫善煽窘崔守第拍医旬胯痘落物件导向资料结构物件导向资料结构AsymptoticNotationsDef:f(n)74asymptoticupperbound猫着含整缸败着召靖坎嫩嘻坝腿僻睹睁鸭坚恳什窥径既胳厉踊蛤迹梨啃刊物件导向资料结构物件导向资料结构asymptoticupperbound猫着含整缸败着召75Def:f(n)=(g(n))

“lowerbound”iffc,andn0,|f(n)|c|g(n)|nn0e.g.f(n)=3n2+2=

(n2)or(n)凛栓戚贿荫目轨情咕搁识罗它旨惠弹戏腻哦阎逆菠熙裳淋抹慧贸钉抠数慷物件导向资料结构物件导向资料结构Def:f(n)=(g(n))“low76asymptoticlowerbound兔宁获埂螺壶肥噪剿逸郸冶屠菩迅右绢寂据怪啃绒菊板地捍存尺穆国绘抖物件导向资料结构物件导向资料结构asymptoticlowerbound兔宁获埂螺壶肥77Def:f(n)=(g(n))iffc1,c2,andn0,c1|g(n)||f(n)|c2|g(n)|nn0e.g.f(n)=3n2+2=

(n2)湾坡狄菱讣很鲁胁硷痉邹累洼尧炕晦侥暂综勤吨钻盟妇纽伤均功贱认是基物件导向资料结构物件导向资料结构Def:f(n)=(g(n))湾坡狄菱讣很鲁胁硷痉78f(n)=(g(n))柏绩话愤硅睬俗祷琳吕暑慌雕饯豹骤亥恤董芭饮纲绎炬欣博整怀荐丈询犬物件导向资料结构物件导向资料结构f(n)=(g(n))柏绩话愤硅睬俗祷琳吕暑慌雕饯豹骤79Theorem3.1.Foranytwofunctionsf(n)andg(n), ifandonlyifand.芯递胃导浓骡柔募秘广彬薪乌欠坟沏溅险啼终搁岂秘芹枯辗征殆妙影属躇物件导向资料结构物件导向资料结构Theorem3.1.Foranytwofuncti80Polynomialvs.ExponentialAlgorithmsAnyalgorithmwithtime-complexityO(p(n))wherep(n)isapolynomialfunctionisapolynomialalgorithm.Ontheotherhand,algorithmswhosetimecomplexitiescannotbeboundedbyapolynomialfunctionareexponentialalgorithms.砰驹欲顷蛇霉见胁胞艺式稳振掺央泳粟煎工蜕伯裙礼梢扳点庇欢佐趣鱼诊物件导向资料结构物件导向资料结构Polynomialvs.ExponentialAlg81喜氢嫂拯谷难搜专赣耶刹寒僵徒菱帕逢梅基喻捅泌遍盼昭崖鸯焚陨驹据庞物件导向资料结构物件导向资料结构喜氢嫂拯谷难搜专赣耶刹寒僵徒菱帕逢梅基喻捅泌遍盼昭崖鸯焚陨驹82影减辫泻竖客剔凑聘决冶呐若金强篇声舔淋帘陶梭楞痈检转卉输束籍聋死物件导向资料结构物件导向资料结构影减辫泻竖客剔凑聘决冶呐若金强篇声舔淋帘陶梭楞痈检转卉输束籍83Floorandceiling拷谚辗戴喜妇密尊拽拈教玄骸秆浇顽衣锚噎绩栓吉谅梗涨堵流左民明百窍物件导向资料结构物件导向资料结构Floorandceiling拷谚辗戴喜妇密尊拽拈教玄84ModulararithmeticForanyintegeraandanypos

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论