ZAMYLA Chan: lehenengoa duzu agian gauza aurkikuntza buruzko abisua dela dugu dagoeneko dute kode guretzat idatzitako. Hau deitzen banaketa kodea. Beraz, ez ari gara gure kabuz idazten hutsetik kode jada. Baizik eta, hutsune horretan ari gara betez Aurretik dagoen kode batzuetan. Find.c programaren zenbakiak galderen Lastategi bete, bilatzen du Erabiltzaileak aurkeztu orratz bat haystack, eta hau ez da sort deituz eta egindako bilaketa, zehaztutako funtzioak helpers.c in. Beraz find.c dagoeneko idatzita dagoen. Zure lana da laguntzaile idazteko. Beraz, zer ari gara egiten? Oraindik bi funtzioak gauzatzeko dugu. Bilaketa itzultzen egia bada balio bat aurkituz Lastategi batean, itzuli faltsua balioa bada Ez haystack en. Eta gero zu ere sort ezartzeko dugu, eta horrek balore izeneko array ordenatzen du. Hargatik aurre bilaketa. Une bilaketa inplementatu bilaketa lineal gisa. Baina hori baino askoz hobea egin dezakezu. Bilaketa lineala da n O en garatuta denbora, hau da, nahiko motela, nahiz horri ematen zaion edozein zerrendan bila ditzakezu. Zure lana da, bilaketa bitarra ezartzeko, horrek denbora O log n exekutatu. Hori nahiko azkar. Baina han aipatzen da. Binary bilaketa bakarrik bilatu ahal izango aurrez ordenatuko zerrenden bidez. Zergatik da hori? Beno, dezagun adibide bat bilatzeko. Balioak array bat ematen, haystack, dira bilatzen goaz orratz bat, eta honetan Adibidez, osokoa 3. Bide bilaketa bitarra duten lan egiten duten erdiko balioa alderatu dugu orratza array, askoz bezala nola telefono-liburu bat ireki genuen erdialdera Astea 0 orrialdetan. Beraz, erdiko balioa alderatuz ondoren orratza, bai baztertu dezakezu ezker edo eskuinera array erdia Zure mugetatik estutze. Kasu honetan, 3 urtetik, gure orratz, da 10 baino gutxiago, erdiko balioa da, eskuinera doazen txikitzeko. Baina saiatu zure mugetatik egiteko ahalik eta estu. Erdiko balioa ez da orratz bada, orduan badakizu ez duzula behar edo zure bila. Beraz, zure eskuineko lotuak estutu ahal du bilaketa mugetatik apur txiki bat besterik ez gehiago, eta abar eta abar, arte Zure orratz aurkituko duzu. Beraz, zer egiten du sasi kode itxura? Beno, ez, oraindik bidez bilatzen ari zaren bitartean zerrendan eta oraindik urtean bilatzeko elementuak, erdikoa hartuko dugu zerrendaren eta alderatu duten erdian gure orratz balio. Berdinak dira bada, orduan horrek esan nahi dugu orratza aurkitu, eta ahal dugun egia itzuliko. Bestela, orratz hori baino gutxiago bada erdiko balioa, orduan horrek esan nahi dugu eskuineko erdia baztertu eta ezin besterik bilatu ezker array alde. Bestela, bilatu beharko dugu eskuineko array alde. Eta amaieran, bada ez duzu inolako elementu gehiago utzi bilatzeko baina zuk ez dute zure orratz oraindik aurkitu, orduan faltsua itzuliko duzu. Orratza zalantzarik delako Ez da haystack en. Orain, sasi honi buruz gauza neat bat bilaketa bitarretan kodea da, ahal dela bai iteratibo gisa interpretatu edo ezartzeko recursive. Beraz recursive litzateke deitzen baduzu búsqueda barruan funtzioa array-erdi banatan funtzionatu. Estaltzen dugu errekurtsibitate pixka bat ikastaroa beranduago. Baina ez dakit aukera bat dela saiatu nahi baduzu.