Tip:
Highlight text to annotate it
X
[Powered by Google Translate] [Fittex lineari]
[Patrick Schmid, Università ta 'Harvard]
[Dan Huwa CS50.] [CS50.TV]
Tiftix hija xi ħaġa li inti probabilment tagħmel aktar spiss milli taħseb.
Ovvjament, kull darba li inti tiftaħ web browser
u tfittxija għal paġna web -
jew tfittxija għall-ħbieb tiegħek fuq is-sit tan-netwerking soċjali favoriti tiegħek -
inti qiegħed tfittex.
Imma dak li biss parti żgħira mill-tiftix li inti tagħmel fuq bażi ta 'kuljum.
Meta inti tixtieq li ssib li waħda shirt blu fil-closet,
jew li blouse aħmar perfetta għall-okkażjoni,
int tiftix.
Meta tmur lil maħżen li inti stajt qatt ma kienet li qabel,
u qed tfittex l-brokkoli fil-aisle prodott
int tiftix.
Dak li inti tista 'bdew avviż
hija li jiddependi fuq dak li qed tfittex
jew kif l-oġġetti huma organizzati meta inti qed tfittex għalihom
ikollha effett fuq kif inti tfittex.
Per eżempju, jekk qomos tiegħek huma mdendlin fil-closet,
inti tista 'probabbilment biss pick out mingħajr ħafna tiftix.
Jekk int wieħed jassumi li inti jkollhom jimxu r-aisle
biex jiksbu l-brokkoli, inti probabilment jkollhom biex tħares lejn l-ħxejjex oħra
qabel issib li brokkoli.
Fittex lineari huwa eżempju ta 'metodu wieħed tiftix bħall - jew algoritmu.
Kif jimplika l-isem,
dan il-metodu tfittxijiet għal oġġett b'mod lineari, wieħed wara l-ieħor.
Allura, meta inti qed tħares lejn ir-riżultati mill-magna tiegħek tfittxija favoriti
u taqra l-lista tar-riżultati,
qed tuża tfittxija lineari.
Okay. Ejja nħarsu lejn eżempju.
Say għandna lista ta 'numri - 2, 4, 0, 5, 3, 7, 8, u 1 -
u aħna qed tfittex l-0 numru.
Ovvjament, inti tista 'sempliċement tara li l-0 hija fil-pożizzjoni 3.
Iżda, programm tal-kompjuter ma tkunx dik xorti.
Huwa jista 'biss "ara" numru wieħed kull darba.
Allura, tibda fil-bidu tal-lista,
huwa biss "jara" l-2.
Il-programm imbagħad kontrolli - huwa 2 ugwali għal 0?
Ovvjament mhux. Għalhekk tmur fuq in-numru li jmiss, 4.
Ma 4 0 indaqs? Nope.
Il-wieħed li jmiss, 0. Ah! Zero ikun ugwali għal 0.
Hemm aħna għandna hija! Huwa fil-pożizzjoni 3.
Okay. Ejja nħarsu lejn uħud pseudocode.
Huwa biss ftit linji twal, imma ejja nħarsu lejn din linja waħda kull darba.
L-ewwel, ejja jiddefinixxu l-funzjoni - u aħna qed tmur biex sejħa hija tfittxija lineari -
u li tieħu żewġ argumenti - ċavetta u firxa.
L-importanti hu li l-valur li aħna qed tfittex,
hekk fl-eżempju preċedenti, li kien l-żero.
Firxa hija lista ta 'numri
li għandu l-valuri li aħna qed tmur biex tfittex.
Allura, dak li rridu nagħmlu huwa li rridu nħarsu lejn -
mill-posizzjonijiet kollha, hekk tibda fil-bidu nett tal-firxa
til-aħħar nett tal-firxa - sabiex it-tul tal-firxa -
tħares lejn kull pożizzjoni unika u iċċekkja kull wieħed.
Allura dak hu li dan "għal" loop qed tagħmel.
U f'kull pożizzjoni, aħna qed tmur biex ngħid
"Huwa dak il-valur f'dik il-pożizzjoni attwali ugwali għall-ċavetta li aħna qed tfittex?"
Allura - fl-eżempju preċedenti mill-ġdid, ċavetta kien 0 -
hekk aħna qed jgħidu "Huwa l-firxa fil-pożizzjoni i jkun daqs għal żero?"
Jekk huwa, aħna qed tmur biex jirritorna "i" għaliex dak l-pożizzjoni attwali aħna qed fuq.
Allura, fl-eżempju preċedenti,
li kien il-pożizzjoni terzi.
Jekk konna għaddew mill-firxa sħiħa
u aħna ma sabu xejn -
hekk ejja ngħidu aħna kienu qed ifittxu għall-numru 500
li b'mod ċar ma kienx f'dak eżempju -
għandna biex jirritornaw xi ħaġa,
u aħna qed tmur biex jirritornaw -1.
U aħna qed biss jirritorna -1 minħabba li l-pożizzjoni
li ma jeżistix fil-firxa.
U hekk dan ifisser meta inti ġġibu lura minn funzjoni
jgħid "Hmm, okay. I raden I ma jsibu xejn.
Allura li 500 qatt ma kien hemm. "
Il-ħaġa sbieħ dwar tfittxija lineari hija li
dan ser taħdem fuq kull lista ta 'oġġetti,
irrispettivament minn kif l-oġġetti huma ordnati.
Ma jimpurtax fejn il-brokkoli huwa fil-aisle prodott.
Sakemm inti walk r-aisle mill-bidu sat-tmiem,
int marbut li jsibuha,
jekk wieħed jassumi l-maħżen ma jkunx jispiċċaw ta 'brokkoli, tal-kors.
Iżda ikbar saħħa huwa huwa wkoll akbar dgħjufija huwa.
Say ikollok lista ta 'mitejn numri
li huma magħżula 1-200.
Jekk qed tfittex għall-numru 198,
inti għandek tfittex kważi l-lista sħiħa ta 'numri
qabel issib il-wieħed li qed tfittex.
Għandu jkun hemm mod aħjar!
Rest assigurati hemm.
Iżda, li suġġett għall-ieħor video.
Ukoll, ma fret!
Sempliċiment għax tfittxija lineari mhix l-aħjar soluzzjoni fis-sitwazzjonijiet kollha,
dan ma jfissirx li ma jidħol fil handy.
Inkella, kif tista 'ssib li brokkoli fil-aisle prodott?
Jisimni Patrick Schmid, u dan huwa CS50.
[CS50.TV]