>> 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.