ROB BOWDEN: Kaixo, Rob naiz. Nola ez, bilaketa bitarra bat erabiltzen dugu? Jakin dezagun. Beraz, kontutan Bilaketa honek behar dugun errekurtsiboki ezartzeko. Era berean, ezin duzu bilaketa bitarra ezartzea iteratively, beraz, hori egin ezkero, primeran fina da. Orain lehen, dezagun gogoratzen zer bilaketa egiteko parametroak behar ekarri. Hemen, int balioa, hau da, ikusiko dugu ustezko balioa erabiltzailea da izan bilatuz. Du int balioak array, ikusiko dugu eta horrek array horretan gaude da balioa bilatuz. Eta ikusiko dugu int n, hau da, gure array luzera. Orain, lehenengo gauza lehen. N berdin 0 bada, ikusten den egiaztatu dugu kasu faltsua itzuliko gara. Hori besterik esaten huts bat badugu array, balio argi dago ez batean array hutsik eta, beraz, faltsua itzuliko ahal izango dugu. Orain, benetan bitarra egin nahi dugu bilaketa bilaketa bitarra parte. Beraz, erdian aurkitu nahi dugu array honen elementurik. Hemen, erdiko berdinen n banatzen esaten dugu 2, erdiko elementua da geroztik luzera izango da gure array 2 arabera banatuta. Orain ari gara ikusten egiaztatzeko gertatzen bada erdiko elementua balioa gaude berdinen bilatuz. Balioen erdian berdin hala bada balioa, dugu egia itzuli ahal izango dugu aurkitu zenetik gure array-balioa. Baina hori ez zen egia bada, orain errekurtsiboak egin behar dugu bilaketa bitarra pauso. Bai bilatu behar dugu array-edo utzi array-erdian. Beraz, hemen, erdian at balioak bada esaten dugu balioa baino txikiagoa, duten balioa esan nahi duen erdian baino handiagoa izan zen array. Beraz, balioa duten eskubidea izan behar du elementu hori begiratu besterik ez dugu. Beraz, hemen, goazela bilaketa errekurtsiboki. Eta zer pasatzen ari gara bilatuko dugu honetarako bigarren batean. Baina ari gara to bilatzeko joan erdiko elementua eskuinean. Eta beste kasuan, horrek esan nahi du balioa erdian baino txikiagoa da array, eta beraz, goazen ezkerrera bilatzeko. Orain, ezkerretik izango da pixka bat errazagoa begiratzen. Beraz, hemen ikusten dugun errekurtsiboki Oraindik dugu bilaketa deituz lehenengoa non argumentua da, berriro ere, balioa ari baino gehiago bilatzen dugu. Bigarren argumentua izango da izan array ziren dugun baino gehiago bilatzen. Eta azken elementua orain erdian dago. Gogoratu azken parametroa gure int da n, beraz, gure array luzera da. Dei errekurtsiboa bilatzeko asmoz, gaude orain esaten duten luzera array erdian dago. Beraz, gure array tamaina 20 eta dugu izan zen bada indizea 10 bilatuko, erdiko da geroztik 20 2 arabera banatzen da, horrek esan nahi Oraindik dugu igaroz 10 berria bezala gure array luzera. Gogoratu array bat duzu luzera 10, horrek esan nahi du baliorik izango, elementuak 0 barrena 9 indizeak daude. Beraz, hau da zehazki zer nahi dugu ezkerretik - gure eguneratu array zehaztu erdiko elementu batetik array. Beraz, eskuinera begira dago pixka bat zailagoa. Orain lehen, kontuan hartu dezagun luzera eskuinean array of elementu erdian. Beraz, gure array tamaina n izan zen bada, orduan array berria egingo tamaina n ken izan erdiko ken 1. Beraz, dezagun uste n ken erdiko. Berriz ere, array tamaina 20ko balitz eta zatitzea 2 gehitu dugu erdian lortzeko, beraz erdian 10, orduan n ken erdian dago da digute 10, beraz, 10 joan erdiko eskuinean dagoen elementu. Baina, aldi berean dugu ken honetan 1, ez dugu geroztik nahi artean, erdian bera. Beraz, n ken erdiko ken 1 ematen digu guztira eskuinera elementu kopurua erdiko array indizearen. Orain hemen, gogoratu erdian parametroen balioak array da. Beraz, hemen, bat pasatzen ari gara balioak array eguneratu. Balore hau gehi erdiko gehi 1 da benetan errekurtsiboki deitzeko esanez bilaketa, array berri bat igaroz, non array berriak erdian hasten plus gure jatorrizko balioak array bat. Duten sintaxia ordezko bat, orain dela hasi duzun erakusleak ikusteko, da ampersand balioen erdiko gehi 1. Beraz, grab erdian-helbidea plus balioen elementu bat. Orain, ez zinen eroso bada horrelako array bat aldatzea, zuk izan ere ezarri dituzte hau erabiliz recursive helper funtzio bat, non helper funtzio hori hartzen argumentuak gehiago. Beraz ordez besterik balioa hartzen du, eta array, eta array-tamaina, helper funtzioa gehiago har lezake argumentuak, beheko indizea barne dela buruz zaintzen zenuke array eta goiko indizea duzu zaintzen array buruz. Eta, beraz, bai gero txikiagoa du jarraipena indize eta goi-indizea, ez duzu inoiz aldatu behar du jatorrizko balioak array. Besterik ez duzu jarraitu ahal erabili balioak array. Baina hemen, nabarituko ez dugu laguntzaile bat behar funtziona betiere gara gisa jatorrizko irudia eraldatzea prest balioak array. Pasatzeko prest gaude balioak eguneratu bat. Orain, ezin dugu gainetik bilaketa bitarra array bat hori da, ordenatu gabe. Beraz, dezagun hau ordenatuko daudelarik. Orain, konturatu moduko hori iragan da bi parametroak balio int, hau da, Array hori ordenatzeko ari gara, eta int n, horrek array luzera dela ordenatzeko ari gara. Beraz, hemen ezartzea nahi dugu ordenatzeko algoritmo bat Horren n o da karratu. Burbuila ordenatu, aukeraketa aukeratu ahal izango duzu ordenatu, edo txertatzeko moduko, edo beste nolabaiteko ez dugu klasean ikusi. Baina hemen, gabiltza joan aukeraketa sort erabili. Beraz, batetik bestera joateko goaz array osoa zehar. Beno, hemen errepikatzean ari garela ikusiko dugu ken 0tik n 1. Zergatik ez modu guztiak n arte? Beno, dagoeneko dugu ordenatuz gero lehenengoa n ken 1 elementu, ondoren, elementu oso azken zer dagoeneko izan behar du leku egokian, beraz baino gehiago sailkatzeko array osoa. Orain, gogoratu nola aukeraketa moduko lanak. Array osoa zehar joan goaz gutxieneko balioaren bila matrizearen eta makila duten hasieran. Ondoren gaude nahi osoa zehar joango array berriro bigarrenaren bila elementu txikiena, eta makila duten bigarren posizioan array, eta abar. Beraz, hori da hori egiten. Hemen, ikusten ari gara ari gara egungo gutxieneko ezarpena i-garren indizearen balio. Beraz, lehen iterazio on, goazen gutxieneko balioa izango kontuan hartu behar dira gure array hasieran. Ondoren, hemen baino gehiago batetik bestera goaz array, egiaztatzea gainerako ikusi han baino edozein elementu txikiagoa bada bata Une horretan gaude gutxieneko kontuan hartuta. Beraz, hemen, baloratzen j gehi bat - hori gaur egun zer garen baino gutxiago gutxieneko kontuan hartuta. Ondoren gaude eguneratzeko joan zer Uste dugu gutxienezko da j plus 1 indizea. Beraz, egin duten array osoan zehar, eta honen ostean begizta, gutxieneko gutxieneko elementu izan behar du aurrera i-garren array posizioa. Behin hori daukagu, trukatu ahal izango dugu gutxieneko i-garren posizioan sartu balioa array. Beraz, hau swap estandar bat da, besterik ez. Gordetzen dugu aldi baterako balio bat in - i-garren array balioa - i-garren array balioa jarri du gutxieneko balioa dagoela jabea da, eta ondoren gordetzeko atzera non sartu du oraingoa izan da erabili gutxieneko balioa array i-garren balioa, hain Ez garela galduko da. Beraz, horretan jarraitzen du hurrengo iterazio. Bigarrenaren bila hasiko gara gutxieneko balioa eta sartu zela sartu bigarren postua. Hirugarren iterazio on, bilatuko dugu egiteko Hirugarren gutxieneko balioa eta txertatze duten hirugarren postuan sartu da, eta ordenatuko array bat daukagu ​​arte. Nire izena Rob da, eta hau aukeraketa sort zen.