Computer, Programming
Quicksort ingon sa usa ka pamaagi programming
Sa 1960, K. A. ubanon og usa ka pamaagi alang sa paspas nga paglain-lain sa impormasyon, nahimong labing inila. Karon kini kaylap nga gigamit sa programming, ingon nga kini adunay usa ka daghan sa mga positibo nga mga kabtangan: kini mahimong gamiton alang sa kinatibuk-ang mga kaso, kini nagkinahanglan og usa ka gamay nga pagsaka sa dugang nga handumanan, compatible uban sa lain-laing mga matang sa mga listahan ug sayon sa pagpatuman. Apan adunay mga drawbacks, nga adunay Quicksort: sa paggamit sa buhat gitugotan sa usa ka daghan sa mga sayop, ug kini mao ang medyo mabalhinon.
Apan, kini mao ang labing gitun-an nga bersyon. Human sa unang Hoare pagbayad, daghan sa pagbuhat sa iyang baga nga pagtuon. dako nga base natukod sa teoretikal nga mga pangutana sa pagpangita sa panahon nga gigahin sa trabaho, nga ang underpinned pinaagi sa empirical nga ebidensya. Adunay mga tinuod nga mga sugyot aron sa pagpalambo sa nag-unang mga algorithm ug dugang nga speed.
Quicksort kaayo komon, kini makaplagan sa bisan asa. Sa iyang basehan sa mga pamaagi nga gipatuman TList.Sort, karon sa tanan nga mga bersiyon (gawas sa 1) Delphi, sa librarya function sa panahon nga kini gikuha sa pagkompleto, qsort sa C ++.
Ang nag-unang mga baruganan sa operasyon mahimong formulated ingon nga usa ka "divide ug modaog". Kini mahitabo sa paglapas sa listahan ngadto sa duha ka grupo ug mga lainlainon alang sa matag bahin sa iyang kaugalingon. mosunod nga dugang nga pagtagad kinahanglan nga gibayad ngadto sa proseso sa panagbulag, sa panahon nga ang mga mosunod nga mahitabo: ang gitinguha sa usa ka base elemento ug medyo giusab iyang tibuok nga listahan. Gitukod sa wala sa usa ka grupo sa mga kandidato, ang bili sa nga mao ang dili kaayo kay sa tanang uban nga mga lagda pagbalhin. Kini turns nga ang nag-unang elemento sa lainlainon listahan anaa sa hustong dapit niini. Ang sunod nga yugto - sa usa ka hagit recursive hagpat gimbuhaton alang sa duha ka kilid sa mga elemento paryente sa base. Kini natapos sa proseso sa mga buhat lamang kon ang listahan naglakip lamang sa usa ka elemento, nga mao ang nga lainlainon. Busa, aron sa master sa usa ka programming function ingon sa usa ka dali nga matang, kini mao ang gikinahanglan nga masayud sa buhat sa ubos-ubos nga-level nga algorithms: sa usa ka) sa pagpili sa mga sakop sa base; b) usa ka listahan sa mga labing epektibo nga permutation sa pagmugna sa duha ka sets sa mas gagmay ug mas dako nga mga hiyas.
Ipamilyar ang uban sa unang mga baruganan. Sa diha nga ang pagpili sa base miyembro, kinahanglan sa minithi nga pinili gikan sa mga listahan sa mga average. Unya sa break gibahin ngadto sa duha ka managsama nga halves. Lang kuwentahon ang mga average nga bili sa listahan mao ang lisud kaayo, mao nga bisan ang labing paspas hagpat nasayloan niini nga calculus nga bahin. Apan ang pagpili sa mga nag-unang mga elemento sa maximum o minimum nga bili - dili usab ang labing maayo nga kapilian. Sa kaso sa maong determinasyon sa usa nagmugna walay sulod listahan nga garantiya, ug ang ikaduha puno. Busa ang konklusyon nga ingon nga ang mga sakop sa base kinahanglan nga gipili sa usa ka nga mas duol sa average, apan sa maximum ug sa minimum.
Sa higayon nga ang usa ka pagpili nga determinado, nga kamo mahimo mopadayon sa sa kadugta algorithm. Kini gitawag nga sulod galong dali matang. Ang tanan nga gitukod sa duha ka Rapid Access indeks: una moadto sa ibabaw sa mga elemento gikan sa wala ngadto sa tuo, ang ikaduha, sa sukwahi, gikan sa tuo ngadto sa wala. Nagsugod operasyon pagpatay sa tuo: ang index mao ang sa ibabaw sa listahan ug itandi sa tanan ang mga prinsipyo sa mga nag-unang. siklo mao ang bug-os nga sa diha nga ang elemento mao ang dili kaayo kay sa o sama sa baseline. Nga mao, adunay usa ka pagtandi ug pagminus, mga pagmobu sa bili sa index. Sa walang kamot sa diha nga ang buhat nahuman mas dako pa kay sa o managsama nga bili. Dinhi, ang pagtandi bili pagtaas.
Sa niini nga yugto sa pagbahin algorithm nga gilangkoban quicksort, duha ka mga sitwasyon mahimong motungha. Ang una mao nga ang index sa wala mao ang dili kaayo kay sa tuo. Kini nagpakita sa usa ka sayop, nan adunay mga elemento nga kini gipahayag diha sa listahan anaa sa sayop nga han-ay. Output - usab sa ilang mga dapit. Ang ikaduha nga kahimtang mao ang sa diha sa mga kolum mao ang katumbas sa o mitabok. Kini nagpakita sa usa ka malampuson nga panagbulag sa mga listahan, nga mao, ang buhat mao ang karon bug-os nga.
Similar articles
Trending Now