>> JASON HIRSCHHORN: Tervetuloa viikolle kolme, kaikille.
Meillﺣ۳ on kiireinen, mutta jﺣ۳nnittﺣ۳vﺣ۳ kohta edessﺣ۳mme.
Joten ensin, koska olemme tehneet joitakin Edetﺣ۳ﺣ۳n tietenkin, mutta meillﺣ۳ on vielﺣ۳
on paljon oppimista vielﺣ۳ tekemﺣ۳ttﺣ۳, olen aikoo nﺣ۳yttﺣ۳ﺣ۳ teille joitakin resursseja
ettﺣ۳ osoittautuu uskomattoman hyﺣﭘdyllinen, koska et vain lﺣ۳hestyﺣ۳
ongelma asettaa, vaan myﺣﭘs sulattaa kaikki materiaali annamme sinulle kaverit
luentoja ja shortsit sekﺣ۳ kohta.
>> Sitten aiomme viettﺣ۳ﺣ۳ ensimmﺣ۳isen 20 25 minuuttia jaksossa menee yli
GDB, joka voi tai ei ehkﺣ۳ ole kﺣ۳ytetﺣ۳ﺣ۳n tﺣ۳ssﺣ۳ vaiheessa, mutta se on
uskomattoman hyﺣﭘdyllinen tyﺣﭘkalu, jonka avulla auttaa sinua debug-ohjelmia.
Paljon olet saattanut kﺣ۳yttﺣ۳ﺣ۳ printf vuonna keskellﺣ۳ teidﺣ۳n ohjelma selvittﺣ۳ﺣ۳
mitﺣ۳ muuttuja vastasi.
GDB on jopa parempi kuin printf ja ei pilata koodia, koska olet
suorittaa sen suoritettavaa tiedostoa.
Niin me menemme yli 10 eniten hyﺣﭘtyﺣ۳ komennot mitﺣ۳ tarvitset GDB, ja olemme
menossa mennﺣ۳ harjoituksen yhteen niin ongelmatilanteissa asettaa kolme ja sen jﺣ۳lkeen voit
voi kﺣ۳yttﺣ۳ﺣ۳ GDB auttaa debug ohjelmat.
Ja lopuksi, me aiomme mennﺣ۳ yli joitakin lajittelu ja etsivﺣ۳t algoritmit
ettﺣ۳ nﺣ۳it luento, ja olemme menee itse asiassa koodi, ei vain
pseudokoodina, mutta koodi binﺣ۳ﺣ۳rihaku, kupla lajitella ja valinta lajitella.
>> Joten ensin haluan mennﺣ۳ yli varojen.
Tﺣ۳mﺣ۳ on laaja luettelo, ja se on pienemmﺣ۳llﺣ۳ fontilla koska minulla oli paljon
mahdu tﺣ۳nne.
Mutta nﺣ۳mﺣ۳ eivﺣ۳t ole vain auttaa sinua, uudelleen siten, ettﺣ۳ ongelma sarjaa ja
sulattamaan tietoa olet oppinut, mutta ehdottomasti, tule tietokilpailu aikaa, nﺣ۳mﺣ۳
olla uskomattoman hyﺣﭘdyllinen.
Joten ensin, luento toteaa.
Jos menet cs50.net/lectures ja selaa erityisiﺣ۳ viikko ja pﺣ۳ivﺣ۳,
nﺣ۳et, ettﺣ۳ on olemassa muistiinpanojasi luento, joka ei ole pelkﺣ۳stﺣ۳ﺣ۳n
transkriptio, mutta muokattu versio mitﺣ۳ peittyi luento koodilla
katkelmia ja muita hyﺣﭘdyllisiﺣ۳ makupaloja.
Suosittelen menossa nﺣ۳inﺣ۳.
Ja sitten samoin, siellﺣ۳ lﺣ۳hdekoodi saatavilla kunkin luennon.
Ja taas nﺣ۳itﺣ۳ dioja myﺣﭘs saatavilla verkossa osoitteessa cs50.net/sections
tﺣ۳nﺣ۳ iltana.
>> Joten toinen ovat shortsit viikoittain, ettﺣ۳ kansi aiheita, yleensﺣ۳ 5-15
minuutin pituisia.
Ja ne toivottavasti antaa sinulle suuri pohjamaali eri aiheista.
Kolmas -
ja tﺣ۳mﺣ۳ on aivan uusi tﺣ۳ssﺣ۳ vuosi - on study.cs50.net.
Jos et ole tarkistanut sen, minﺣ۳ Suosittelen ettﺣ۳ teet niin.
Saat valita aihe.
Meillﺣ۳ on kymmeniﺣ۳ aiheita siellﺣ۳.
Joten esimerkiksi nostat toiminnot.
Se antaa sinulle joitakin dioja ja toteaa toiminnoista.
Nuo ovat todella diat TF: iﺣ۳ kannustetaan kﺣ۳yttﺣ۳mﺣ۳ﺣ۳n aikana meidﺣ۳n
esityksiﺣ۳ jaksossa.
Mukana on myﺣﭘs vinkkejﺣ۳ ja niksejﺣ۳ kﺣ۳sitellﺣ۳ toiminnoilla, ja siellﺣ۳ on
Kﺣ۳ytﺣ۳nnﺣﭘssﺣ۳ ongelmia, jotka auttavat kﺣ۳ytﺣ۳t toimintoja.
Saat myﺣﭘs linkkejﺣ۳ lyhyttﺣ۳ toimintoja ja ajat, ettﺣ۳ toiminnot
ovat nousseet esille luento.
Joten study.cs50.net, upouusi tﺣ۳mﺣ۳ vuosi, loistava voimavara.
>> Seuraavaksi minulla on mies, joka on manuaalinen komento, voit ajaa
komentoriviltﺣ۳.
Joten jos sinulla on kysyttﺣ۳vﺣ۳ﺣ۳ komento, esimerkiksi rand, joka me
kohtasi viime viikolla osiosta ja olet todennﺣ۳kﺣﭘisesti kohdannut
ongelman asettaa kun menee lﺣ۳pi luoda koodin, mutta jos kirjoitat mies
Rand, saat sivun, joka kertoo kaiken randia.
Se antaa sinulle, mitﺣ۳ se tekee, parametrit se vie, sekﺣ۳ palata
tyyppi ja lyhyt kuvaus mainittu toiminto.
>> Joten tutustu randia.
Se voi olla hieman monisanainen ja sekava, joten joskus huomaan, ettﺣ۳
yksinkertaisesti Googling mitﺣ۳ haluan tietﺣ۳ﺣ۳ on paras tapa lﺣﭘytﺣ۳ﺣ۳ vastauksen.
Joten kﺣ۳ytﺣ۳nnﺣﭘssﺣ۳ Google.
Saada hyvﺣ۳ Google.
Se tulee paras ystﺣ۳vﺣ۳si.
>> Sekﺣ۳ Google, jos et lﺣﭘydﺣ۳ sitﺣ۳ Google, cs50.net/discuss, se on
keskustelufoorumi.
Mahdollisuudet ovat, jos sinulla on kysymys, yksi teidﺣ۳n 700 + ikﺣ۳isensﺣ۳ on myﺣﭘs, ettﺣ۳
kysymys ja ehkﺣ۳ kysynyt se jo keskustella
foorumeilla ja on se vastasi.
Joten jos sinulla on yleinen kysymys tai sinulla on kysymys, ettﺣ۳ luulet
ehkﺣ۳ muut ihmiset ovat saattaneet tﺣﭘrmﺣ۳tﺣ۳, tutustu cs50.net/discuss.
>> Lopuksi, kaksi viimeistﺣ۳, jos haluat puhua todellinen ihminen, toimisto
tuntia maanantaista perjantaihin.
Mukana on myﺣﭘs online-virka Laajennuksen opiskelijoille.
Ja viimeisenﺣ۳ mutta ei vﺣ۳hﺣ۳isimpﺣ۳nﺣ۳, Minulle huutomerkki.
Teillﺣ۳ kaikilla on omat yhteystiedot.
Jos tarvitset jotain, ota koskaan epﺣ۳rﺣﭘi ottaa minuun yhteyttﺣ۳.
Aina voit vapaasti tehdﺣ۳ niin.
Hyvin harvat olet lisﺣ۳nnyt minut Gchat, niin, ettﺣ۳ on ollut pettymys,
mutta toivottavasti se tulee vaihtaa Tﺣ۳ssﺣ۳ ja seuraavassa jaksossa.
Kaikki kysymykset toistaiseksi resursseja?
Suuri.
>> Vielﺣ۳ yksi liitin palautetta, sayat.me/cs50.
Voit antaa minulle palautetta anonyymisti miten teen.
Se oli todella hyﺣﭘdyllinen viime viikolla.
Sain pari kommentteja te heti kohta, plus alkaen
muut opiskelijat, jotka katselivat sitﺣ۳ viikolla, ja se
oli uskomattoman hyﺣﭘdyllinen.
Aion yrittﺣ۳ﺣ۳ rajoittaa minun kﺣ۳yttﺣﭘﺣ۳ sana "makea", mutta minﺣ۳ nﺣ۳ytﺣ۳n minun
innostusta ja jﺣ۳nnitystﺣ۳ muilla tavoin.
Mutta oli muita ylimﺣ۳ﺣ۳rﺣ۳isiﺣ۳ aineellisen palautteita,
sekﺣ۳ plussia ja delta.
Joten, annan teille palautetta teidﺣ۳n ongelma sarjaa.
Voit vapaasti antaa minulle palautetta minun opetusta.
Olen tﺣ۳ﺣ۳llﺣ۳ teitﺣ۳.
>> Suuri.
Se on kaikki, mitﺣ۳ minulla varten ensimmﺣ۳isen osan kanssa.
Onko kellﺣ۳ﺣ۳n mitﺣ۳ﺣ۳n kysymystﺣ۳ toistaiseksi?
Ja minulla on merkinnﺣ۳n ohjauskeskuksesta.
Laajennus opiskelijat ovat messaged minut sanoen he eivﺣ۳t saa mitﺣ۳ﺣ۳n ﺣ۳ﺣ۳ntﺣ۳,
mutta se on pois minun valta vahvistaa.
Joten toivottavasti, ettﺣ۳ saa ratkaistaan ﻗﻗpian.
Jos katselet verkossa, hi, mutta et kuule minua.
>> Ensin aiomme kﺣ۳ydﺣ۳ lﺣ۳pi GDB.
GDB, kuten olen vihjannut aiemmin, on testausvﺣ۳lineen
paljon parempi kuin printf.
Joten pﺣ۳ﺣ۳stﺣ۳ alkuun GDB, kaverit, jos haluat avata laitteesi
ja ottaa tiedoston, ettﺣ۳ olen lﺣ۳hetetﺣ۳ﺣ۳n sinulle aiemmin - tﺣ۳mﺣ۳ tiedosto on myﺣﭘs
saatavilla verkossa vﺣ۳hﺣ۳n -
ja ajaa GDB. / tiedoston nimi.
Ensimmﺣ۳inen, tietenkin, sinun tﺣ۳ytyy koota tiedostoa, koska GDB toimii vain
ohjelmatiedostoja.
>> Mutta jos joskus haluat aloittaa GDB, ensimmﺣ۳inen asia, et,
juokset GDB. / Caesar.
Niin, ettﺣ۳ ohjelman nimi olemme aio mennﺣ۳ sen kanssa juuri nyt.
Joten aion kirjoittaa tehdﺣ۳ Caesar, joka antaa minulle suoritettava tiedosto
tﺣ۳ﺣ۳llﺣ۳ merkitty vihreﺣ۳llﺣ۳.
Ja sitten aion ajaa GDB. / Cesar.
>> Ja siellﺣ۳ mennﺣ۳ﺣ۳n.
Nﺣ۳et meillﺣ۳ on teksti kertoo minulle noin version GDB, antaa minulle
Joissakin takuutiedot, ja sitten me on BKT kuiskata, joka nﺣ۳yttﺣ۳ﺣ۳ tavallaan
ja kuten meidﺣ۳n komentoriville, mutta nﺣ۳ette se on auki
kantatuote, GDB, lﺣ۳hellﺣ۳ paren.
Ennen kuin jatkamme ja debug tﺣ۳tﺣ۳ kuvaa ettﺣ۳ olen lﺣ۳hettﺣ۳nyt teille kaikille, katsotaanpa
joitakin hyﺣﭘdyllisiﺣ۳ komentoja joten meillﺣ۳ on mielessﺣ۳ mitﺣ۳ aiomme kattaa.
>> Nﺣ۳mﺣ۳ komennot on lueteltu tﺣ۳ﺣ۳llﺣ۳ jﺣ۳rjestystﺣ۳, jossa en yleensﺣ۳ kﺣ۳ytﺣ۳ niitﺣ۳.
Joten aloitan ohjelman kﺣ۳ynnissﺣ۳ GBD. / Ohjelman nimi,
tﺣ۳ssﺣ۳ tapauksessa, Caesar.
Ja sitten ensimmﺣ۳inen asia, en 99,9% ajasta on tyypin break tarkoittaa.
Joka asettaa taitekohta kohdallaan.
Pohjimmiltaan, mitﺣ۳ teet siellﺣ۳ on ohjelma tulee pysﺣ۳htyﺣ۳
Tﺣ۳rkein joten voit alkaa tutkia sitﺣ۳ linjaa riviltﺣ۳, ﻗﻗsen sijaan kﺣ۳ynnissﺣ۳ koko
lﺣ۳pi.
Voit rikkoa eri kohdissa koodia, mutta tﺣ۳rkein on yleensﺣ۳
hyvﺣ۳ paikka aloittaa.
>> Seuraava kﺣ۳sky Juoksen on ajaa.
Joka alkaa ohjelma kﺣ۳ynnissﺣ۳, ja jos haluat syﺣﭘttﺣ۳ﺣ۳ komentoriville
argumentteja, voit suorittaa sen komennon.
Juokse argumentteja.
Joten koska olemme menossa yli versio C, joka on ohjelman te
kirjoitti PSET kaksi -
tﺣ۳mﺣ۳ tietenkin on joitakin bugeja siinﺣ۳, ettﺣ۳ toivottavasti lﺣﭘydﺣ۳mme -
aiomme ajaa ajaa joitain komentoja argumentteja koska Caesar,
kuten te tiedﺣ۳tte per ongelma asettaa spec, vie jonkin
komentoriviargumentteja.
>> Seuraavien parin komentoja, seuraava yksi on todella kutsutaan seuraavaksi.
Tuo vie rivi riviltﺣ۳ joko ohjelman.
Joten lyﺣﭘmﺣ۳llﺣ۳ n paina Enter vie seuraavalle riville, tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanosta
edellisen rivin.
Vaihe ei vain vie seuraavalle riville, mutta se
vie sinut sisﺣ۳lle toimintoja.
Joten jos olet kirjoittanut toiminto koodi tai jos haluat tutustua
i, esimerkiksi voit lyﺣﭘdﺣ۳ s, ja sijaan menee seuraavalle riville
tiedosto, ettﺣ۳ olet menossa lﺣ۳pi juuri nyt sinun todella astua
tﺣ۳mﺣ۳ toiminto ja nﺣ۳hdﺣ۳ sen koodin.
>> Lista nﺣ۳yttﺣ۳ﺣ۳, erittﺣ۳in kﺣ۳yttﺣ۳jﺣ۳ystﺣ۳vﺣ۳llinen muodossa, 10 tai niin ympﺣ۳rille viivat
jolla parhaillaan olet koodissa joten voit itse nﺣ۳hdﺣ۳ tiedosto
eikﺣ۳ tarvitse vaihtaa takaisin ja esiin eri nﺣ۳kemyksiﺣ۳.
Tulosta on kuin printf, kuten sen nimikin kertoo.
Joka nﺣ۳yttﺣ۳ﺣ۳ mitﺣ۳ muuttuja vastaa.
>> Info paikalliset on todella hyﺣﭘdyllinen.
Tﺣ۳mﺣ۳ on erityinen versio tulosta.
Info paikalliset nﺣ۳yttﺣ۳ﺣ۳ kaikki paikalliset muuttujia, tulostaa ne kaikki pois sinulle
, jotka ovat tﺣ۳llﺣ۳ hetkellﺣ۳ saatavilla.
Joten en yleensﺣ۳, eikﺣ۳ tarvitse tulostaa neljﺣ۳ muuttujaa, ettﺣ۳ olen
utelias jos olen silmukka varten Esimerkiksi minﺣ۳ vain kirjoitan info paikalliset,
ja se tulee nﺣ۳yttﺣ۳mﺣ۳ﺣ۳n minulle, mitﺣ۳ minun counter i vastaa sekﺣ۳ array ettﺣ۳ olen
tyﺣﭘskentelevﺣ۳t tasavertaisina.
>> Lopuksi, jatka.
Kirjoitustauko pysﺣ۳yttﺣ۳ﺣ۳ sinut klo taitekohta.
Voit kﺣ۳ydﺣ۳ lﺣ۳pi rivi mukaisesti seuraava ja askel.
Jatka kulkee ohjelman seuraavan rikkoa piste tai loppuun saakka, jos
ei ole enﺣ۳ﺣ۳ taitepisteissﺣ۳.
Poista poistaa tauko pistettﺣ۳, jos pﺣ۳ﺣ۳tti tauko tﺣ۳rkein oli
sopimatonta, haluatko asettaa sen jonnekin muualle.
Ja lopuksi q, lopettaa, joutuu pois GDB.
>> Joten tﺣ۳mﺣ۳ ohjelma,. / Caesar, aiomme kﺣ۳ydﺣ۳ lﺣ۳pi juuri nyt, ja me
aiot kﺣ۳yttﺣ۳ﺣ۳ GDB lﺣﭘytﺣ۳ﺣ۳ vikoja tﺣ۳ssﺣ۳ ohjelmassa.
Juoksin tﺣ۳mﺣ۳n ohjelman aikaisemmin Tarkista 50, ja sain yhden paheksua.
Kaikki se oli olemassa, se kootaan, se kulunut paljon testejﺣ۳, mutta
Jostain syystﺣ۳ se ei lﺣ۳pﺣ۳issyt viides testi, kﺣ۳ﺣ۳ntﺣ۳mﺣ۳llﺣ۳ BARFOO, kaikki lippikset, osaksi
E-D-U-I-R-R, isoilla kirjaimilla, kﺣ۳yttﺣ۳mﺣ۳llﺣ۳ kolmea keskeisenﺣ۳.
Sain melko lﺣ۳hellﺣ۳.
Sain pois yhden kirjaimen.
Joten on joitakin pieni virhe tﺣ۳ﺣ۳llﺣ۳.
Olen kﺣ۳ynyt lﺣ۳pi minun koodi.
En voinut tajuta se.
Toivottavasti te auttaa minua selvittﺣ۳ﺣ۳, mitﺣ۳ tﺣ۳mﺣ۳ bugi on.
>> Niin, ettﺣ۳ virhe olemme etsivﺣ۳t.
Katsotaanpa siirtyﺣ۳ GDB.
Jﺣ۳lleen olen ajaa GDB. / Caesar, joten nyt olemme GDB.
Ja mikﺣ۳ on ensimmﺣ۳inen asia, joka minun pitﺣ۳isi tehdﺣ۳?
Olen juuri tullut GDB.
Joku antaa minulle hyvﺣ۳n komento syﺣﭘttﺣ۳ﺣ۳.
>> Opiskelija: Tauko tﺣ۳rkein.
>> JASON HIRSCHHORN: Tauko tﺣ۳rkein.
Fantastic.
Katsotaanpa kirjoittamiseksi sisﺣ۳ﺣ۳n
Te voi katsella tﺣ۳ﺣ۳llﺣ۳ tai seurata pitkin tietokoneisiin.
Rikkoa tﺣ۳rkein, ja nﺣ۳et taitekohta oli asetettu -
se antaa minulle outoja muisti osoite, ja se myﺣﭘs antaa minulle rivinumero.
Jos minun pitﺣ۳isi muistella tﺣ۳mﺣ۳n tiedoston, Haluaisin ymmﺣ۳rtﺣ۳ﺣ۳, ettﺣ۳ tﺣ۳rkeimmﺣ۳t
tapahtui linja 21.
Mitﺣ۳ minun pitﺣ۳isi ajaa seuraavaksi?
Onko minun ohjelma kﺣ۳ynnissﺣ۳?
Ei.
Joten mitﺣ۳ minun pitﺣ۳isi ajaa seuraavaksi?
>> Opiskelija: Run.
>> JASON HIRSCHHORN: Run.
Pitﺣ۳isikﺣﭘ minun vain ajaa ajaa, vai pitﺣ۳isikﺣﭘ Lisﺣ۳ﺣ۳n joitakin muita asioita?
>> Opiskelija: Juokse vﺣ۳itettﺣ۳.
>> JASON HIRSCHHORN: Juokse komennon argumentteja.
Ja koska olen virheenkorjaus hyvin erityinen tapauksessa minun pitﺣ۳isi tulla, ettﺣ۳
komentorivillﺣ۳.
Niin minﺣ۳ loppuvat kolme, joka on jﺣ۳lleen lﺣ۳htﺣﭘ sain Tarkista 50.
Alkaen ohjelma.
Kﺣ۳ymme lﺣ۳pi pari riviﺣ۳.
Sinun nyt nﺣ۳hdﺣ۳, ettﺣ۳ olemme verkossa 21.
Mistﺣ۳ tiedﺣ۳n, ettﺣ۳ olemme linja 21?
Koska jos katsotte vasemmalle minun pﺣ۳ﺣ۳teikkunaa siellﺣ۳
se sanoo linja 21.
Ja se antaa minulle, itse asiassa, koodi, joka on linjalla 21.
Joten en misspoke aiemmin.
Tﺣ۳rkein ei oikeastaan ﻗﻗrivillﺣ۳ 21.
Tﺣ۳rkein on pari riviﺣ۳ edellﺣ۳ 21.
Mutta linja 21, joka on minne olemme rikkomatta.
Tﺣ۳mﺣ۳ rivi koodia on ei ole vielﺣ۳ toteutettu.
Se on tﺣ۳rkeﺣ۳ﺣ۳.
Line nﺣ۳et ei ole toteutettu vielﺣ۳.
Se on seuraava rivi koodia olet aikeissa toteuttaa.
>> Joten seuraavalle riville, sillﺣ۳ te olette varmasti tuttuja, on tﺣ۳mﺣ۳
ehto tarkistaa, onko minulla tuli komentorivillﺣ۳.
Ja i, mikﺣ۳ on toiseksi osa sitﺣ۳ tekee?
Mikﺣ۳ on i?
>> Opiskelija: muuttaminen sen kokonaisluku.
>> JASON HIRSCHHORN: Anteeksi?
>> Opiskelija: Se muuttuu argumentti kokonaisluku.
>> JASON HIRSCHHORN: So i muuttuu arg V1 alkaen merkkijono kokonaisluku.
Ja sitten mitﺣ۳ se tarkistaa?
>> Opiskelija: Jos on toinen Komentoriviargumentti, syrjﺣ۳ﺣ۳n
alkaen ohjelman ajamista.
>> JASON HIRSCHHORN: Ja mitﺣ۳ toinen puoli tﺣ۳mﺣ۳n
Boolen lauseke tarkistaa?
Tﺣ۳mﺣ۳ osa tﺣ۳nne, i?
>> Opiskelija: Jos se on negatiivinen.
>> JASON HIRSCHHORN: Making varma mitﺣ۳?
>> Opiskelija: Making varma, ettﺣ۳ se on itse asiassa positiivinen.
>> JASON HIRSCHHORN: Aivan.
Tﺣ۳mﺣ۳ on tarkistaa, jos se on negatiivinen, ja jos se on negatiivinen, I
on tunne seuraavalle riville mahti saa minut huutaa kﺣ۳yttﺣ۳jﺣ۳.
Joten osuma loppuun suorittamaan tﺣ۳tﺣ۳ linjaa.
Emme nﺣ۳e, ettﺣ۳ linja, ettﺣ۳ te ehkﺣ۳ odottivat nﺣ۳kevﺣ۳nsﺣ۳ huutaa
kﺣ۳yttﺣ۳jﺣ۳n ja palaavat sitten, koska tﺣ۳mﺣ۳ linja ei suorita.
Olen tullut 3.
Joten en itse asiassa syﺣﭘttﺣ۳ﺣ۳ kaksi komento argumentteja, ja 3 on
suurempi kuin nolla.
Joten nﺣ۳imme, ettﺣ۳ linja, toteutimme, mutta emme astu
sisﺣ۳llﺣ۳ jos ehto.
>> Joten nyt seuraavaksi, nﺣ۳en Asetan int avain vastaa i arg v1.
Tﺣ۳mﺣ۳ on siis minun luo muuttujan nﺣ۳ppﺣ۳intﺣ۳.
Jos siis tulostaa avaimen juuri nyt, koska jonka avulla voit nﺣ۳hdﺣ۳
arvo sisﺣ۳llﺣ۳ muuttuja, avain vastaa 47.
Outoa, mutta tietenkin, ettﺣ۳ koska en ole
toteuttaisi linja vielﺣ۳.
Joten nyt jos osuin n, suorita, ettﺣ۳ linja, ja tehdﺣ۳ tulosta avain, avain on sama 3,
joka on mitﺣ۳ odotamme sen equal.
>> Joten jﺣ۳lleen, vuonna GDB, rivin Nﺣ۳hdﺣ۳ﺣ۳n ole toteutettu vielﺣ۳.
Sinun tﺣ۳ytyy lyﺣﭘdﺣ۳ n tai s tai numero muita komentoja tosiasiallisesti
suorittaa ettﺣ۳ linja.
Tulosta nﺣ۳ppﺣ۳intﺣ۳.
Key: n 3.
Toistaiseksi niin hyvﺣ۳.
Merkkijono on pelkkﺣ۳ﺣ۳ tekstiﺣ۳.
Katsotaanpa suorittaa ettﺣ۳ linja.
Saan merkkijonon kﺣ۳yttﺣ۳jﺣ۳.
>> Katsotaanpa minun Tarkista 50, I Kirjoita BARFOO kaikki korkit, joten
sitﺣ۳hﺣ۳n minﺣ۳ kirjoita.
Jos minﺣ۳ nyt tulostaa tekstimuodossa.
Nﺣ۳et se vastaa merkkijono.
Se antaa minulle joitakin muita outoja heksadesimaali numero, mutta se tekee
Itse asiassa sanoa, ettﺣ۳ merkkijono on BARFOO.
Jos halusin nﺣ۳hdﺣ۳, mitﺣ۳ nﺣ۳ppﺣ۳intﺣ۳ vastasi kello Tﺣ۳ssﺣ۳ vaiheessa, miten voisin tarkistaa avain?
>> Opiskelija: Print-nﺣ۳ppﺣ۳intﺣ۳.
>> JASON HIRSCHHORN: tulostus-nﺣ۳ppﺣ۳in, tarkalleen.
Ja oikeastaan ﻗﻗsiellﺣ۳ on oikotie.
Jos kyllﺣ۳styt kirjoittamisen tulosta, voit vain kirjoittaa s..
Joten p-nﺣ۳ppﺣ۳intﺣ۳ tekee tﺣ۳smﺣ۳lleen sama asia.
Ja vielﺣ۳, nﺣ۳en se vastaa 3.
>> Jos halusin selvittﺣ۳ﺣ۳, mitﺣ۳ molemmat keskeisiﺣ۳ ja BARFOO vastasi samalla
mutta olin vﺣ۳synyt kirjoittamalla kunkin yksi yksin, minﺣ۳
voisi komennoilla info paikallisia.
Joka antaa minulle avain tasavertaisten 3.
Pelkkﺣ۳ teksti on yhtﺣ۳ BARFOO.
Se antaa myﺣﭘs minulle nﺣ۳mﺣ۳ kaksi outoja asioita ylﺣ۳osassa, tﺣ۳mﺣ۳n muuttujan i ja
Tﺣ۳mﺣ۳n muuttujan n.
>> Nﺣ۳mﺣ۳ ovat todella olemassa olevia minun pﺣ۳ﺣ۳ohjelma.
Emme ole kohdanneet niitﺣ۳ vielﺣ۳, mutta esikatselu, nﺣ۳mﺣ۳
olemassa minun silmukka.
Joten nyt, nﺣ۳mﺣ۳ olla outoja numerot, koska ne eivﺣ۳t ole olleet
alustettu vielﺣ۳, mutta ne ovat edelleen olemassa muistiin, joten he vain asettaa
Joidenkin roskat arvoa.
Mutta emme nﺣ۳e avain tavallinen tekstiksi oikeassa.
>> Joten aion toteuttaa tﺣ۳tﺣ۳ linjaa, linja 34, silmukka.
Aiomme hypﺣ۳tﺣ۳ silmukka lyﺣﭘmﺣ۳llﺣ۳ n.
Ja me olemme sisﺣ۳llﺣ۳ silmukka.
Olemme meidﺣ۳n ensimmﺣ۳inen tarkastus.
Ja vielﺣ۳, nﺣ۳mﺣ۳ pitﺣ۳isi tavallaan nﺣ۳yttﺣ۳ﺣ۳ tutulta, koska tﺣ۳mﺣ۳ oli
Caesar-ohjelma, joka oli kirjoitettu, mutta uudelleen, on jonkinlainen vika.
>> Ja nyt jos en tee info paikalliset, koska olen sisﺣ۳llﺣ۳ ettﺣ۳ silmukka, nﺣ۳et
ettﺣ۳ i on nolla, koska odotamme.
Sitﺣ۳hﺣ۳n me asettaa sen ja alustaa se on silmukka.
n on 6.
Tﺣ۳mﺣ۳ on myﺣﭘs jﺣ۳rkevﺣ۳ﺣ۳, koska asetimme se strlen tekstimuodossa.
Joten haluan tehdﺣ۳ info paikalliset tai tulostaa muuttujaan usein varmistaa, ettﺣ۳
kaikki on aina mitﺣ۳ Odotan sen equal.
Tﺣ۳ssﺣ۳ tapauksessa kaikki on mitﺣ۳ odotan sen equal.
>> Joten aloitetaan liikkuvat lﺣ۳pi Tﺣ۳mﺣ۳n silmukan.
Line Olen on line 36, jos tavallinen teksti i suurempi kuin ja tavallinen
teksti i on pienempi tai yhtﺣ۳ suuri kuin z.
Tiedﺣ۳n ongelma ei ole minun ensimmﺣ۳inen kirjeellﺣ۳, ettﺣ۳ se on mukana toinen kirjain.
Jos me katsomme taaksepﺣ۳in Tarkista 50, B menee E hieno.
Otan ja jﺣ۳ttﺣ۳ﺣ۳ sen , ei muuta sitﺣ۳ D. So
jotain vikaa toinen kirjain.
Joten aion siirtyﺣ۳ siellﺣ۳ toisessa.
>> Mutta jos en halua tarkistaa, mitﺣ۳ tavallinen teksti I vastasi tﺣ۳ssﺣ۳ nimenomaisessa
tapauksessa mielestﺣ۳ni sen pitﺣ۳isi olla mitﺣ۳?
Mitﺣ۳ pitﺣ۳isi tekstimuodossa rinnallesi tﺣ۳ssﺣ۳ ensimmﺣ۳isellﺣ۳ kierroksella lﺣ۳pi silmukka?
>> Opiskelija: Zero?
>> JASON HIRSCHHORN: Pelkkﺣ۳ teksti I?
Niin se olisi pﺣ۳ﺣ۳oman B. I, tietenkin, nolla, mutta tekstimuodossa
kiinnike nolla suljettu kiinnike vastaa B koska jouset, kuten nﺣ۳imme viime viikolla,
ovat array, joten olemme pﺣ۳ﺣ۳semﺣ۳ssﺣ۳ Ensimmﺣ۳inen merkki tﺣ۳stﺣ۳.
Joten jﺣ۳lleen, jos olen tulostaa tekstimuodossa Minﺣ۳ en itse asiassa saada merkin
B. Ja se on siisti, eikﺣﭘ?
Minulla ei oikeastaan ﻗﻗole pelkkﺣ۳ﺣ۳ tekstiﺣ۳ I. Se ei ole yksi muuttujista otan
tai alustettu, mutta voit tulostaa ulos koko joukko asioita
jos haluat.
>> Mutta katsotaanpa liikkua.
Jos tavallinen teksti I on suurempi kuin ja plain text I on pienempi tai yhtﺣ۳ suuri kuin
Z, joka selvﺣ۳sti on totta, koska meillﺣ۳ on pﺣ۳ﺣ۳oma B. aion juosta
joitain komentoja sitﺣ۳.
Nﺣ۳imme, ettﺣ۳ matematiikka viime viikolla, niin me itsestﺣ۳ﺣ۳n selvﺣ۳nﺣ۳, ettﺣ۳ se toimii
oikeus mukaan Check 50.
>> Nﺣ۳mﺣ۳ aaltosulkeita, ensimmﺣ۳inen osoitti, ettﺣ۳ olin jﺣ۳nnittﺣ۳vﺣ۳ﺣ۳, jos
kunnossa, toinen nﺣ۳ytti ettﺣ۳ olen poistuminen silmukka.
Ja nyt kun lyﺣﭘn Seuraavaksi nﺣ۳emme olemme takaisin silmukka uudelleen.
Menemme lﺣ۳pi silmukka uudelleen.
Katsotaanpa todella astua toisen iterointia silmukan ja tyyppi
info paikallisia.
>> Joten olemme toisen iteroinnin meidﺣ۳n silmukan.
I on 1, jota odotamme.
N on yhtﺣ۳ kuin 6, jota odotamme.
Key vastaa 3, jota odotamme.
Ja pelkkﺣ۳ﺣ۳ tekstiﺣ۳, nﺣ۳et, vastaa EARFOO nyt ei BARFOO enﺣ۳ﺣ۳, koska
edellisessﺣ۳ iteraation B oli muuttui pﺣ۳ﺣ۳oman E. Joten aiomme
kohdata ongelma, joten tﺣ۳mﺣ۳ on, jos aiomme
sukeltaa virheenkorjaus.
Mutta ei kukaan ole kysyttﺣ۳vﺣ۳ﺣ۳ siitﺣ۳, mitﺣ۳ olemme tehneet tﺣ۳hﺣ۳n mennessﺣ۳?
Fantastic.
>> Joten olemme aikeissa toteuttaa tﺣ۳tﺣ۳, jos ehto, tavallinen teksti kiinnike suljin
kiinnike yli ja teksti I pienempi kuin tai yhtﺣ۳ suuri kuin Z. Mutta ennen
Menen tuohon, koska siellﺣ۳ Tiedﺣ۳n virhe on, haluan huomauttaa
ulos tekstimuodossa I. So laitetaan tulostaa.
Se tekee yhtﺣ۳ suuri hahmo, jotta tuntuu Toistaiseksi kaikki on hyvin ja hyvﺣ۳.
>> Odotan tﺣ۳tﺣ۳ linjaa kohti minun logiikkaa, tﺣ۳mﺣ۳ linja olisi totta.
Se on iso kirjain.
Mutta jos osuin n, ymmﺣ۳rrﺣ۳mme, ettﺣ۳ tﺣ۳mﺣ۳ line, itse asiassa, ei suorita.
Hyppﺣ۳sin alas if.
Miksi nﺣ۳in kﺣ۳vi?
>> Opiskelija: Koska sinulla on kunnossa pelkkﺣ۳ﺣ۳ tekstiﺣ۳ on suurempi
kuin, ole sama tai suurempi kuin.
>> JASON HIRSCHHORN: Joten minulla oli pelkkﺣ۳ﺣ۳ tekstiﺣ۳ I on suurempi kuin A, joka ei ole suurempi
tai yhtﺣ۳ suuri kuin.
Niin selvﺣ۳sti, pﺣ۳ﺣ۳oma ei laukaista jos ehto, ja teimme
astua sitﺣ۳, ja teimme ei tehdﺣ۳ tarvittavat muutos.
Joten se siitﺣ۳, itse asiassa.
En tajunnut minun vika.
Voisin mennﺣ۳ takaisin minun lﺣ۳hdetiedoston muuttaa sitﺣ۳, ja pﺣ۳ivittﺣ۳ﺣ۳ sitﺣ۳ ja
tarkista Tarkista 50 uudelleen.
>> Mutta saa nﺣ۳hdﺣ۳, vain pedagogiikan n vuoksi, jos en jatka.
If ei suorita myﺣﭘskﺣ۳ﺣ۳n, mutta mikﺣ۳ sen sijaan on sama on komento
, joka ei muutu.
Joten se ei ole muuttunut lainkaan, ja jos minﺣ۳ tulostaa pelkkﺣ۳ﺣ۳ tekstiﺣ۳ tﺣ۳ﺣ۳llﺣ۳, nﺣ۳emme menossa
kautta, ettﺣ۳ silmukka ei, itse asiassa, muuttaa, ettﺣ۳ toinen merkki ollenkaan.
Se on edelleen pﺣ۳ﺣ۳oman A.
>> Joten jﺣ۳lleen olemme debugged meidﺣ۳n virhe.
Huomasimme, ettﺣ۳ oli jotain logiikkaa puuttuu.
Ja me debugged etuajassa ennen tosiasiassa ajetaan ettﺣ۳ linja,
mutta sinun olisi huomannut, jos olisimme vain osuma Seuraava ja hyppﺣ۳ﺣ۳ ettﺣ۳ if,
se tarkoittaa, ettﺣ۳ jos ehto ei ollut totta.
Emme itse asiassa saada tulos odotimme.
Joten meidﺣ۳n on voinut olla, oli meillﺣ۳ ei ollut niin viisas, katsomaan
ettﺣ۳ jos ehto, ja tarkistaa, onko itse asiassa tilamme olisi arvioitava,
totta nykyisessﺣ۳ tilanteessa.
>> Siinﺣ۳ kaikki virheenkorjaus tﺣ۳tﺣ۳ ohjelmaa.
Onko kellﺣ۳ﺣ۳n mitﺣ۳ﺣ۳n kysyttﺣ۳vﺣ۳ﺣ۳?
Mitﺣ۳ komento voi osuin lopettaa GDB?
Q. Ja sitten minﺣ۳ kysytﺣ۳ﺣ۳n, lopeta joka tapauksessa?
Kyllﺣ۳ tai ei.
Lyﺣﭘn kyllﺣ۳, ja minﺣ۳ on lopettanut GDB.
>> Joten se oli nopea pohjamaali GDB.
Oikeastaan, todellinen skenaario, Tein tﺣ۳mﺣ۳n toimistossa tuntia.
Olen GDBed juuri tﺣ۳mﺣ۳n ohjelman virka opiskelijan kanssa.
Ja jos palaamme komentoja nﺣ۳imme ennen, kﺣ۳ytimme tauko tﺣ۳rkein, ensimmﺣ۳inen
asia teimme.
Kﺣ۳ytimme ajaa komentoriviargumentteja, Toinen asia teimme.
Kﺣ۳ytimme vieressﺣ۳ paljon liikkua meidﺣ۳t lﺣ۳pi linjojen.
Ja vielﺣ۳, lyhyt versio Seuraavan on n.
Se on suluissa harmaalla liukumﺣ۳ki.
>> Emme kﺣ۳yttﺣ۳neet vaiheessa, mutta emme vﺣ۳lttﺣ۳mﺣ۳ttﺣ۳ tarvitse tﺣ۳ssﺣ۳ tapauksessa.
Mutta voisimme kﺣ۳yttﺣ۳ﺣ۳ sitﺣ۳ hieman myﺣﭘhemmin tﺣ۳nﺣ۳ﺣ۳n jos me virheenkorjaus varten
Esimerkiksi binﺣ۳ﺣ۳rihaku kun binary haku kutsutaan erilliseen
toiminto mutta on jokin virhe sen kanssa.
Aiomme halua astua puhelun binﺣ۳ﺣ۳rihaku ja
todella debug sitﺣ۳.
Listaa emme kﺣ۳yttﺣ۳neet joko siksi meillﺣ۳ oli hyvﺣ۳ tunne meidﺣ۳n koodi, mutta jos
ei haluat saada tunteen siitﺣ۳, mitﺣ۳ code oli noin, voisin vain kﺣ۳yttﺣ۳ﺣ۳ luetteloa.
>> Tulosta kﺣ۳ytimme, info paikalliset kﺣ۳ytimme.
Jatka emme tarvitse kﺣ۳yttﺣ۳ﺣ۳ tﺣ۳ssﺣ۳ tapauksessa ei ollut meidﺣ۳n tﺣ۳ytyy kﺣ۳yttﺣ۳ﺣ۳
poistaa, mutta teimme kﺣ۳ytﺣﭘn lopettaa.
Nﺣ۳mﺣ۳kin 10 komentoja, kﺣ۳ytﺣ۳nnﺣﭘssﺣ۳ niitﺣ۳.
Jos et ymmﺣ۳rrﺣ۳ nﺣ۳itﺣ۳ 10 komentoja, sinun tulisi asettaa debug tahansa
ongelma GDB.
>> Joten olemme lﺣ۳hdﺣﭘssﺣ۳, jﺣ۳lleen, ydin jakso tﺣ۳nﺣ۳ﺣ۳n, menee yli
Nﺣ۳iden lajittelu ja etsiminen algoritmeja.
Ennen kuin teemme niin, taas kysyttﺣ۳vﺣ۳ﺣ۳, kommentteja, huolenaiheita GDB?
Niin on jokainen aio kﺣ۳yttﺣ۳ﺣ۳ GDB sijaan printf?
Joten kaikille, sillﺣ۳ ikuisesti tﺣ۳hden, jokainen nyﺣﭘkkﺣ۳ﺣ۳ pﺣ۳ﺣ۳tﺣ۳ﺣ۳n oikealle
nyt, joten minﺣ۳ nﺣ۳en teidﺣ۳t toimistossa tuntia ja kaikki TF: iﺣ۳ nﺣ۳kevﺣ۳t sinut ja
he sanovat, nﺣ۳ytﺣ۳ minulle, kuinka kﺣ۳yttﺣ۳ﺣ۳ GDB, ja voit
nﺣ۳yttﺣ۳ﺣ۳ heille, eikﺣﭘ?
Tavallaan?
Ehkﺣ۳ toivottavasti.
Cool.
>> Joten aiomme siirtyﺣ۳ lajittelu ja etsiminen.
Nﺣ۳et Minulla on lista jo lajiteltu meille, mutta joka ei aio
olevan nﺣ۳in aina.
Joten ongelma asettaa eritelmﺣ۳n ongelma asettaa kolme, sinulla on shortsit
ettﺣ۳ voit katsella, ja se todella pyytﺣ۳ﺣ۳ sinua katsomaan nﺣ۳itﺣ۳ shortsit.
Myﺣﭘs luento viime viikolla, menimme paljon nﺣ۳itﺣ۳ algoritmeja, joten olen
aio viettﺣ۳ﺣ۳ aikaa luokassa menossa yli nﺣ۳mﺣ۳ algoritmit uudelleen tai piirustus
kuvia, miten nﺣ۳mﺣ۳ algoritmit.
Tﺣ۳mﺣ۳kin tieto voit uudelleen katsella luento, tai ettﺣ۳ tiedot
vangitaan erinomaisesti pﺣ۳ﺣ۳lle shortsit Nﺣ۳mﺣ۳ haut, kaikki
jotka ovat saatavilla cs50.net.
>> Joten sen sijaan, mitﺣ۳ aiomme vain kirjoittaa nﺣ۳itﺣ۳ ohjelmia.
Meillﺣ۳ on tunne, mentaalinen malli, miten ne toimivat, ja niin mitﺣ۳ aiomme
vain koodata niitﺣ۳ todellisia.
Aiomme tehdﺣ۳ tﺣ۳stﺣ۳ mentaalinen malli, ettﺣ۳ kuva, jos tulee, tulee
Varsinainen koodi.
Ja jos olisit hieman sekava tai utuinen on mielikuvaan, olen tﺣ۳ysin
ymmﺣ۳rtﺣ۳ﺣ۳.
>> Emme aio tehdﺣ۳ sitﺣ۳ hypﺣ۳tﺣ۳ koodin heti.
Joten vaikka tﺣ۳mﺣ۳ kehote tﺣ۳ssﺣ۳ slide kysyy voit koodata binﺣ۳ﺣ۳rihaku, ja
Oikeastaan ﻗﻗiteratiivinen versio binﺣ۳ﺣ۳rihaku, ensimmﺣ۳inen asia,
todella haluavat sinun tekevﺣ۳n on kirjoittaa joitakin pseudokoodina.
Joten sinulla on tﺣ۳mﺣ۳ mentaalinen malli miten binﺣ۳ﺣ۳rihaku toimii.
Ota paperiarkki, jos sinulla on yksi helposti saatavilla, tai avata
tekstieditori, ja haluaisin kaikki voivat kirjoittaa.
Kestﺣ۳ﺣ۳ neljﺣ۳ minuuttia kirjoittaa pseudokoodi binﺣ۳ﺣ۳rihaku.
>> Jﺣ۳lleen ajatella, ettﺣ۳ mentaalinen malli.
Tulen noin, jos sinulla on kysyttﺣ۳vﺣ۳ﺣ۳ ja voimme tehdﺣ۳ kuvan ulos.
Mutta ensin, ennen kuin aloitamme ohjelmointi, Haluaisin kirjoittaa
pseudokoodi binﺣ۳ﺣ۳rihaku niin kun me sukeltaa, meillﺣ۳ on joitakin suuntaan
missﺣ۳ meidﺣ۳n pitﺣ۳isi suunnata.
>> Opiskelija: Voimmeko olettaa joukko arvot saamme jo jﺣ۳rjestetty?
>> JASON HIRSCHHORN: Joten binﺣ۳ﺣ۳rihaku tﺣﭘihin - erinomainen kysymys - olet
on ryhdyttﺣ۳vﺣ۳ lajitellun arvomatriisin.
Joten olettaa se toimii.
Menemme takaisin tﺣ۳mﺣ۳n dian.
Nﺣ۳et violetti toiminto ilmoitus on bool binary_search int
arvo, int arvot, int n.
Tﺣ۳mﺣ۳ pitﺣ۳isi nﺣ۳yttﺣ۳ﺣ۳ tutulta, jos olet jo lﺣ۳hestynyt tai saanut oman
kﺣ۳det likainen ongelma asetettu.
>> Mutta se on teidﺣ۳n toiminnon ilmoituksen.
Jﺣ۳lleen, ei pitﺣ۳isi tarvita pelﺣ۳tﺣ۳ ettﺣ۳ paljon tﺣ۳llﺣ۳ hetkellﺣ۳.
Mitﺣ۳ todella haluan sinun tekevﺣ۳n on otettava neljﺣ۳ minuuttia pseudokoodina binary
etsiﺣ۳, ja sitten menemme yli, ettﺣ۳ ryhmﺣ۳nﺣ۳.
Ja minﺣ۳ tulen ympﺣ۳rille.
Jos sinulla on kysyttﺣ۳vﺣ۳ﺣ۳, ota vapaasti nostamaan kﺣ۳den.
>> Miksi et ota kaksi minuuttia loppuun asti pseudokoodina?
Tiedﺣ۳n, ettﺣ۳ tﺣ۳mﺣ۳ saattaa tuntua naurettavalta, ettﺣ۳ vietﺣ۳mme niin paljon aikaa
jotain, joka ei ole edes oikeastaan C, mutta erityisesti tﺣ۳hﺣ۳n lisﺣ۳ﺣ۳
haastava algoritmit ja ongelma asetetaan, ettﺣ۳ meidﺣ۳n tﺣ۳ytyy selvittﺣ۳ﺣ۳,
alkaen pseudokoodilla ei huolta noin syntaksi, vain murehtia
logiikka, on uskomattoman hyﺣﭘdyllinen.
Ja nﺣ۳in, et ole ratkaista kahden uskomattoman vaikeaa ongelmat kerralla.
Olet vain keskittymﺣ۳llﺣ۳ logiikkaa, ja niin voit siirtyﺣ۳ syntaksin.
>> OK.
Aloitetaan lﺣ۳pi pseudokoodina.
Olen kirjoittanut tﺣ۳nne, binary haku pseudokoodina.
Me kirjoittaa tﺣ۳mﺣ۳ hallintoneuvostolle yhdessﺣ۳.
Tai minﺣ۳ kirjoitan sen ja annat minulle ohjeita tarvitsen.
Joten voi joku antaa minulle ensimmﺣ۳inen rivi pseudokoodina sinua
kirjoitti binﺣ۳ﺣ۳rihaku?
Kyllﺣ۳, Annie?
>> Opiskelija: Vaikka pituus luettelo on suurempi kuin nolla.
>> JASON HIRSCHHORN: Vaikka pituus List suurempi kuin nolla.
Ja vielﺣ۳, nﺣ۳emme C-nﺣ۳kﺣﭘinen syntaktisia asioita tﺣ۳ﺣ۳llﺣ۳.
Mutta suurin osa tﺣ۳stﺣ۳ on Englanti.
Oliko kellﺣ۳ﺣ۳n mitﺣ۳ﺣ۳n linjaa he laittoivat ennen tﺣ۳tﺣ۳ heidﺣ۳n pseudo-koodi?
>> Opiskelija: Hanki array on lajiteltu numeroita.
>> JASON HIRSCHHORN: Kirjoitit "saada joukko Lajiteltujen numeroita. "Per
toiminto ilmoituksen, me voidaan ohimennen joukko lajiteltu numeroita.
>> Opiskelija: [kuultavissa].
>> JASON HIRSCHHORN: So meillﺣ۳ on, ettﺣ۳.
Mutta kyllﺣ۳, jos meillﺣ۳ ei ole, ettﺣ۳ me olisi lajitella meidﺣ۳n valikoimaan
numeroita, koska binﺣ۳ﺣ۳rihaku toimii vain lajiteltu taulukot.
Joten vaikka pituus lista on nolla, olen aikoo laittaa joissakin aaltosulkeita
jotta se nﺣ۳yttﺣ۳ﺣ۳ hieman enemmﺣ۳n kuin C. Mutta kun nﺣ۳yttﺣ۳ﺣ۳ kuvautuvat
while-silmukka, joten sisﺣ۳lle taas loop mitﺣ۳ meidﺣ۳n
tehdﺣ۳ binﺣ۳ﺣ۳rihaku?
>> Joku muu, joka ei ole antanut minulle vastata vielﺣ۳, mutta joka kirjoitti tﺣ۳mﺣ۳n?
>> Opiskelija: Mene listan keskeltﺣ۳.
>> JASON HIRSCHHORN: Tom.
Mene listan keskeltﺣ۳.
Ja jatkokysymys, mitﺣ۳ teemme, kun me olemme
listan keskeltﺣ۳?
>> Opiskelija: ﺣlﺣ۳ tarkista onko se numero etsit.
>> JASON HIRSCHHORN: Erinomainen.
Mene keskelle ja tarkista jos meidﺣ۳n arvo on siellﺣ۳ -
fantastinen.
Oliko kellﺣ۳ﺣ۳n mitﺣ۳ﺣ۳n muuta joka oli erilainen kuin tﺣ۳mﺣ۳?
Se on aivan oikein.
>> Ensimmﺣ۳inen asia teemme binﺣ۳ﺣ۳rihaku on mennﺣ۳ keskelle luettelosta ja
tarkista, onko meidﺣ۳n arvo on siellﺣ۳.
Joten oletan, jos meidﺣ۳n arvo on siellﺣ۳, mitﺣ۳ me teemme?
>> Opiskelija: Palaamme nolla [kuultavissa].
>> JASON HIRSCHHORN: Joo, jos meidﺣ۳n arvo on olemassa, lﺣﭘysimme sen.
Joten voimme kertoa jonkin verran, mutta tﺣ۳mﺣ۳ toiminto on mﺣ۳ﺣ۳ritelty, kerromme kﺣ۳yttﺣ۳jﺣ۳
lﺣﭘysimme sen.
Jos se ei ole siellﺣ۳, vaikka, se on jos tﺣ۳mﺣ۳ saa mutkikkaampi.
Joten jos se ei ole siellﺣ۳, joku muu, joka tyﺣﭘskenteli binﺣ۳ﺣ۳rihaku tai
on idea nyt, mitﺣ۳ me teemme?
>> Opiskelija: Kysymys.
>> JASON HIRSCHHORN: Niin?
>> Opiskelija: Onko array jo jﺣ۳rjestetty?
>> JASON HIRSCHHORN: Kyllﺣ۳, oletamme array on jo jﺣ۳rjestetty.
>> Opiskelija: Joten sitten sinun tﺣ۳ytyy tarkistaa, jos arvo, jonka nﺣ۳et on suurempi kuin
arvo, jonka haluat, voit siirtﺣ۳ﺣ۳ keskelle toinen puoli.
>> JASON HIRSCHHORN: Eli jos keskellﺣ۳ lista on suurempi kuin mitﺣ۳ olemme
etsit, niin me teemme mitﺣ۳?
Siirrymme missﺣ۳?
>> Opiskelija: Haluat siirtyﺣ۳ puoliskon kanssa
alemmat kuin.
>> JASON HIRSCHHORN: niin me soittaa ettﺣ۳ vasemmalle.
Joten jos keskimmﺣ۳inen on suurempi, voimme etsiﺣ۳ vasen puoli luettelosta.
Ja sitten etsiﺣ۳, mitﺣ۳ minﺣ۳ tarkoitan haku?
>> Opiskelija: [kuultavissa].
>> JASON HIRSCHHORN: Menemme keskelle.
Me itse asiassa toista tﺣ۳mﺣ۳ asia.
Palaamme kautta kun silmukka.
Annan sinulle viimeinen -
muuta, jos keskimmﺣ۳inen on vﺣ۳hemmﺣ۳n kuin mitﺣ۳ teemme, mitﺣ۳ me teemme tﺣ۳ﺣ۳llﺣ۳?
>> Opiskelija: Mene oikealle.
>> JASON HIRSCHHORN: Etsi oikea.
Tﺣ۳mﺣ۳ nﺣ۳yttﺣ۳ﺣ۳ hyvﺣ۳ltﺣ۳, mutta ei kukaan ole mitﺣ۳ﺣ۳n, ettﺣ۳ meillﺣ۳ saattaa puuttua tai
mitﺣ۳ﺣ۳n muuta, ettﺣ۳ laitat teidﺣ۳n pseudo-koodi?
Joten tﺣ۳mﺣ۳ on mitﺣ۳ meillﺣ۳ on tﺣ۳hﺣ۳n mennessﺣ۳.
Kun taas listan pituus on suurempi kuin nolla, aiomme mennﺣ۳
keskelle luettelosta ja tarkistaa, jos meidﺣ۳n arvo on siellﺣ۳.
>> Jos keskimmﺣ۳inen on suurempi, aiomme etsi vasemmalle, muuta, jos keskellﺣ۳ on
vﺣ۳hemmﺣ۳n, aiomme etsiﺣ۳ oikea.
Joten olemme kaikki oli jonkin verran perehtyneisyyttﺣ۳ termejﺣ۳ kﺣ۳ytﺣ۳mme tietotekniikassa
ja tyﺣﭘkaluja meillﺣ۳.
Mutta voit jo huomata olimme puhuu Englanti, mutta lﺣﭘysimme
paljon asioita, jotka nﺣ۳yttivﺣ۳t kartta kiinni tyﺣﭘkaluja meillﺣ۳ on koodaus tyﺣﭘkalusarja.
Joten suoralta kﺣ۳deltﺣ۳, emme ole menossa todella koodia vielﺣ۳.
>> Mitﺣ۳ nﺣ۳emme tﺣ۳ﺣ۳llﺣ۳ Englanti, ettﺣ۳ kartat edelleen asioita, joita voimme kirjoittaa C?
>> Opiskelija: Vaikka.
>> JASON HIRSCHHORN: Vaikka.
Joten tﺣ۳mﺣ۳ taas tﺣ۳ﺣ۳llﺣ۳ karttoja mitﺣ۳?
>> Opiskelija: kun silmukka.
>> JASON HIRSCHHORN: kun silmukka?
Tai luultavasti yleisemmin silmukka.
Haluamme tehdﺣ۳ jotain uudestaan ﻗﻗja uudestaan.
Menemme siis koodata silmukka.
Ja tiedﺣ۳mme jo, koska olemme tehneet tﺣ۳mﺣ۳ pari kertaa, ja me
on runsaasti esimerkkejﺣ۳ siellﺣ۳, miten itse kirjoittaa
tﺣ۳mﺣ۳ indeksi silmukka.
Niin ettﺣ۳ pitﺣ۳isi olla aika helppoa.
Meidﺣ۳n pitﺣ۳isi pystyﺣ۳ saamaan, ettﺣ۳ alkoi melko nopeasti.
>> Mitﺣ۳ muuta me nﺣ۳emme tﺣ۳ﺣ۳llﺣ۳?
Mitﺣ۳ muita rakenteita syntaxes asiat ettﺣ۳ olemme tuttuja C, me
jo tunne Based pois sanoja kﺣ۳ytimme?
Kyllﺣ۳, Anna?
[ﺣﺣ۳netﺣﭘn]
vain leikkiﺣ۳.
Anna, mennﺣ۳ eteenpﺣ۳in.
>> Opiskelija: Jos ja muuta.
>> JASON HIRSCHHORN: Jos ja muu - tﺣ۳ﺣ۳llﺣ۳.
Niin mitﺣ۳ nuo nﺣ۳yttﺣ۳ﺣ۳?
>> Opiskelija: jos muu selvitys.
>> JASON HIRSCHHORN: Joo, olosuhteet, eikﺣﭘ?
Joten meidﺣ۳n tﺣ۳ytyy luultavasti kirjoittaa joitakin ehtoja.
Ja vielﺣ۳, vaikka ehkﺣ۳ sekava Ensimmﺣ۳inen, meillﺣ۳ on yleensﺣ۳ mielessﺣ۳ nyt
miten kirjoittaa edellytyksiﺣ۳ ja syntaksi olosuhteissa.
Ja jos emme, me vain etsiﺣ۳ syntaksi olosuhteissa, leikkaa ja liimaa
ettﺣ۳, koska tiedﺣ۳mme tarvitsevat kunnossa tﺣ۳ﺣ۳llﺣ۳.
Muita asioita, nﺣ۳emme, ettﺣ۳ kartta pﺣ۳ﺣ۳lle asioita ehkﺣ۳ tehdﺣ۳ C?
Joo, Aleha?
>> Opiskelija: Tﺣ۳mﺣ۳ voi olla itsestﺣ۳ﺣ۳n selvﺣ۳ﺣ۳, vain tarkistaa, jos
arvo on jotain.
>> JASON HIRSCHHORN: Miten siis tarkistaa ja - niin mene listan keskeltﺣ۳
ja katso jos meidﺣ۳n arvo on siellﺣ۳?
Miten me sen teemme C?
Mikﺣ۳ syntaksin?
>> Opiskelija: Yhtﺣ۳, tasavertaisina.
>> JASON HIRSCHHORN: Yhtﺣ۳, tasavertaisina.
Joten tﺣ۳mﺣ۳ tarkastus on todennﺣ۳kﺣﭘisesti menossa olla tasavertaisia, vastaa.
Joten me tiedﺣ۳mme, me tarvitsemme jonnekin.
Ja oikeastaan ﻗﻗvain kirjallisesti sitﺣ۳, nﺣ۳emme nﺣ۳mﺣ۳ muut asiat.
Aiomme tﺣ۳ytyy tehdﺣ۳ joitakin vertailuoperaattoreita siellﺣ۳ -
fantastinen.
Joten se todella nﺣ۳yttﺣ۳ﺣ۳, ja heitﺣ۳ suuri, emme ole kirjoitettu
sana C-koodia vielﺣ۳.
Mutta saimme mielikuvaan alas kautta luentoja ja nﺣ۳iden shortsit.
>> Kirjoitimme pseudo-koodi ryhmﺣ۳nﺣ۳.
Ja jo, meillﺣ۳ on 80%, jos ei 90% siitﺣ۳, mitﺣ۳ meidﺣ۳n tﺣ۳ytyy tehdﺣ۳.
Nyt meidﺣ۳n tﺣ۳ytyy vain koodata se, mikﺣ۳ taas on
ei-triviaali ongelma ratkaista.
Mutta ainakin olemme jumissa logiikkaa.
Ainakin nyt kun menemme virka, Voin sanoa, tiedﺣ۳n mitﺣ۳ tarvitsen
tehdﺣ۳, mutta voitko muistuttaa minua syntaksin?
Tai vaikka virka ovat tﺣ۳ynnﺣ۳, voit Voiko Google for syntaksin pikemminkin
kuin olla jumissa logiikkaa.
>> Ja vielﺣ۳, eikﺣ۳ yrittﺣ۳ﺣ۳ ratkaista logiikan ja syntaksin ongelmia kaikki
kerralla, se on usein paljon parempi rikkoa nﺣ۳iden kahden kovia ongelmia pois osaksi
kaksi helpommin hallittavissa niitﺣ۳ ja tehdﺣ۳ pseudo-koodi ensin ja sitten koodi C.
Joten katsotaanpas mitﺣ۳ tein pseudo-koodi etuajassa.
>> Kun taas listan pituus on suurempi kuin nolla, katso keskellﺣ۳
luettelon.
Jos numero lﺣﭘytyi palasi totta, muuta jos numero on suurempi, haku vasemmalle.
If mﺣ۳ﺣ۳rﺣ۳ pienemmﺣ۳ksi, haku oikea, return false.
Niin ettﺣ۳ nﺣ۳yttﺣ۳ﺣ۳ lﺣ۳hes sama, jos ei lﺣ۳hes identtinen mitﺣ۳ kirjoitti.
Oikeastaan, Tom, mitﺣ۳ sanoitte ensin, rikkomatta listan keskeltﺣ۳, ja jos
numero lﺣﭘytyi kahteen lausuntoja on oikeastaan ﻗﻗmitﺣ۳ tein.
>> Yhdistin niitﺣ۳ siellﺣ۳.
Minun olisi pitﺣ۳nyt kuunnella olet ensimmﺣ۳istﺣ۳ kertaa.
Niin, ettﺣ۳ on pseudo-koodi meillﺣ۳ on.
Jos haluat nyt, anteeksi, mene Takaisin meidﺣ۳n alkuperﺣ۳iseen ongelmaan.
Katsotaanpa koodi binary.c.
Joten toteuttaa iteratiivinen versio binﺣ۳ﺣ۳rihaku kﺣ۳yttﺣ۳en seuraavia
toiminto julkilausumaan.
>> Ja sinun ei tarvitse kopioida se alas vielﺣ۳.
Olen todella aikoo avata jopa tﺣ۳ﺣ۳llﺣ۳ binary.c.
Joten siellﺣ۳ on toiminto ilmoitus keskellﺣ۳ nﺣ۳yttﺣﭘﺣ۳.
Ja nﺣ۳et otin pseudo-koodi alkaen minun puolelta, mutta lﺣ۳hes sama
mitﺣ۳ me kirjoitti, ja laittaa ettﺣ۳ sinulle.
Joten nyt, sallikaa viisi minuuttia koodata tﺣ۳tﺣ۳ toimintoa.
>> Ja vielﺣ۳, jos sinulla on kysyttﺣ۳vﺣ۳ﺣ۳, nostamaan kﺣ۳den, haluaisin tietﺣ۳ﺣ۳, minﺣ۳
tullut noin.
>> Opiskelija: [kuultavissa].
>> JASON HIRSCHHORN: Otin binary haku mﺣ۳ﺣ۳ritelmﺣ۳
alkuun, on line 12.
Se mitﺣ۳ sain minun liukumﺣ۳ki.
Ja sitten kaikki tﺣ۳mﺣ۳ pseudo-koodi Sain kopioida ja liittﺣ۳ﺣ۳ liukumﺣ۳ki,
pseudo-koodi liukumﺣ۳ki.
En ole vielﺣ۳ kuulo [kuultavissa].
>> Joten jos olet lopettanut tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanoa, haluan tarkistaa.
Olen lﺣ۳hettﺣ۳nyt sinulle helpers.h tiedosto aiemmin tﺣ۳ssﺣ۳ luokassa.
Ja se on saatavilla verkossa samoin ladattavissa ihmisiﺣ۳ katsellen
Tﺣ۳ssﺣ۳ jaksossa aikaviivﺣ۳stetyt.
Ja minﺣ۳ vain kﺣ۳yttﺣ۳ﺣ۳ yleisiﺣ۳ jakelu koodi pset3.
Joten otin find.C, kﺣ۳ytﺣ۳n helpers.h tiedosto sijaan helpers.h tiedosto
joka on annettu jakeluun koodin.
>> Ja jouduin tekemﺣ۳ﺣ۳n yhden muita muutoksia find.C sijaan soittaa vain yksinkertaisesti
haku, soita binary_search.
Joten jos haluat testata koodia, tietﺣ۳ﺣ۳, ettﺣ۳ tﺣ۳mﺣ۳ on, miten tehdﺣ۳ se.
Itse asiassa, kun me voidaan kﺣ۳ynnissﺣ۳ tﺣ۳mﺣ۳n koodin juuri nyt, olen juuri tehnyt kopion
minun pset3 hakemistoon, taas, vaihdoin auttajia tiedostot ja sitten tehdﺣ۳ﺣ۳n, ettﺣ۳
muuttaa find.C soittaa binary_search eikﺣ۳ vain etsiﺣ۳.
>> JASON HIRSCHHORN: Kyllﺣ۳.
Sinulla on kysymys?
>> Opiskelija: Nevermind.
>> JASON HIRSCHHORN: Ei hﺣ۳tﺣ۳ﺣ۳.
No, katsotaanpa pﺣ۳ﺣ۳stﺣ۳ alkuun.
Me koodata tﺣ۳tﺣ۳ ryhmﺣ۳ﺣ۳.
Yksi muu huomautus.
Tﺣ۳mﺣ۳kin on, voidaan helposti vaihtaa in Ongelma asettaa kolme.
Minulla on helpers.h tiedosto, joka pikemminkin kuin helpers.h meille on annettu,
julistaa binﺣ۳ﺣ۳rihaku, kupla lajitella ja valinta lajitella.
Ja find.c huomaat verkossa, mitﺣ۳ se on, linja 68, kutsumme binary
etsi sijasta hakua.
Joten jﺣ۳lleen, koodi, joka on kﺣ۳ytettﺣ۳vissﺣ۳ verkossa tai koodia, ettﺣ۳ olet
nyt luomassa voidaan helposti vaihtaa in p asetettu 3 tarkistaa sen.
>> Mutta ensin koodi binﺣ۳ﺣ۳rihaku.
Meidﺣ۳n tehtﺣ۳vﺣ۳mme ilmoitus, palaamme bool.
Otamme kokonaisluku nimeltﺣ۳ﺣ۳n arvoa.
Otamme joukko kokonaislukujen kutsutaan arvot, ja otamme n olla
taulukon koko.
Rivillﺣ۳ 10, tﺣ۳ﺣ۳llﺣ۳, minulla on terﺣ۳vﺣ۳ kuuluu stdbool.h.
Tietﺣ۳ﺣ۳kﺣﭘ kukaan, miksi se on olemassa?
Joten mitﺣ۳ Koodirivin tehdﺣ۳?
>> Opiskelija: Sen avulla voit kﺣ۳yttﺣ۳ﺣ۳ bool palautuva.
>> JASON HIRSCHHORN: Aivan.
>> Opiskelija: Tai se kirjasto, jonka avulla kﺣ۳yttﺣ۳ﺣ۳ bool palautuva.
>> JASON HIRSCHHORN: Niin terﺣ۳vﺣ۳ kuuluu stdbool.h line antaa minulle
mﺣ۳ﺣ۳ritelmiﺣ۳ ja ilmoitusten asioita ettﺣ۳ minulla on oikeus kﺣ۳yttﺣ۳ﺣ۳
tﺣ۳tﺣ۳ kirjastoa.
Joten joukossa on selvﺣ۳ﺣ۳, ettﺣ۳ siellﺣ۳ on Tﺣ۳mﺣ۳n tyyppinen kutsutaan bool, ja se voi olla
tosi tai epﺣ۳tosi.
Niin, ettﺣ۳ mitﺣ۳ se linja ei.
Ja jos en ole, ettﺣ۳ linja, olisin joutua vaikeuksiin kirjoitan tﺣ۳tﺣ۳
sana tﺣ۳ﺣ۳llﺣ۳, bool, tuolla.
Aivan oikein.
Joten minun on, ettﺣ۳ tﺣ۳tﺣ۳ koodia.
OK.
Joten tﺣ۳mﺣ۳ taas on iteratiivinen versio, ei rekursiivinen.
Olkaamme siis pﺣ۳ﺣ۳stﺣ۳ alkuun.
>> Aloitetaan tﺣ۳mﺣ۳n ensimmﺣ۳isen line pseudokoodiesityksen.
Ja toivottavasti me - tai ei toivottavasti.
Aiomme mennﺣ۳ ympﺣ۳ri huonetta.
Menemme rivi riviltﺣ۳, ﻗﻗja minﺣ۳ autan voit selvittﺣ۳ﺣ۳ linja, ettﺣ۳ me tarvitsemme
kirjoittaa ensin.
Joten vaikka pituus lista on suurempi kuin nolla.
Aloitetaan edessﺣ۳.
Mitﺣ۳ line minun pitﺣ۳isi kirjoittaa tﺣ۳ﺣ۳llﺣ۳, koodi?
>> Opiskelija: Vaikka suluissa n on suurempi kuin 0.
>> JASON HIRSCHHORN: Vaikka n on suuri kuin 0.
Joten n on koko lista, ja me tarkastamme, jos -
>> [Interposing ﺣﺣNTﺣ]
>> JASON HIRSCHHORN: - Anteeksi?
>> Opiskelija: Mistﺣ۳ tiedﺣ۳mme, ettﺣ۳ n on koko listan?
>> JASON HIRSCHHORN: Anteeksi.
Per PSET erittely, haku ja jﺣ۳rjestﺣ۳mistoimintojen sinun tﺣ۳ytyy kirjoittaa,
n on koko listan.
Unohdin selittﺣ۳ﺣ۳, ettﺣ۳ tﺣ۳ﺣ۳llﺣ۳.
Mutta kyllﺣ۳. n on koko lista, tﺣ۳ssﺣ۳ tapauksessa.
Joten kun n on suurempi kuin 0.
OK.
Jotka saattavat osoittautua hieman ongelmallista kuitenkin, jos asiat menevﺣ۳t pﺣ۳ﺣ۳lle.
Koska jatkamme tietﺣ۳ﺣ۳ Koko luettelon koko tﺣ۳mﺣ۳n
toiminto, mutta sanovat lﺣ۳hdetﺣ۳ﺣ۳n jossa joukko 5 kokonaislukuja.
Ja kﺣ۳ymme lﺣ۳pi ja olemme nyt rajoittanut sen
joukko 2 kokonaislukuja.
Joka 2 kokonaislukuja on?
Koko on 2 nyt, ettﺣ۳ haluamme katsoa, ﻗﻗmutta joka 2 on?
Onko jﺣ۳rkeﺣ۳, ettﺣ۳ kysymys?
>> OK.
Kysyn uudestaan.
Joten lﺣ۳hdetﺣ۳ﺣ۳n tﺣ۳llﺣ۳ joukko 5 kokonaislukuja, ja n on 5, eikﺣﭘ?
Me lﺣ۳pi tﺣ۳ﺣ۳llﺣ۳.
me luultavasti muuttaa kokoa, oikea, koska asiat mennﺣ۳.
Joka on mitﺣ۳ me sanomme me haluamme tehdﺣ۳.
Emme halua etsiﺣ۳ koko juttu uudestaan.
Joten sanoa muutamme sitﺣ۳ 2.
Otamme puoli luettelo, joka on outoa.
Joten vain poimia 2.
Joten nyt n = 2.
Pahoittelen huono kuiva poistaa markkereita.
Oikea?
Ja me hakuja lista jﺣ۳lleen listan koko 2.
No, meidﺣ۳n joukko on edelleen koko 5.
Sanomme vain haluamme etsi 2 paikkoja siinﺣ۳.
Joten mikﺣ۳ 2 tﺣ۳plﺣ۳t ovat ne?
>> Onko jﺣ۳rkeﺣ۳?
Ovatko ne jﺣ۳ljellﺣ۳ 2 paikkoja?
Ovatko he oikeassa 2 paikkoja?
Ovatko ne keskellﺣ۳ 2 paikkoja?
Olemme jakaneet ongelma alas, mutta emme oikeastaan ﻗﻗtiedﺣ۳, mikﺣ۳ osa
ongelma olemme yhﺣ۳ katsot, vain ottaa nﺣ۳mﺣ۳ 2 muuttujia.
Joten tarvitsemme hieman enemmﺣ۳n sitten, kun n on suurempi kuin 0.
Meidﺣ۳n tﺣ۳ytyy tietﺣ۳ﺣ۳, jos tﺣ۳mﺣ۳ n on meidﺣ۳n todellinen array.
>> Joten ei kukaan ole muuttaa tﺣ۳tﺣ۳ linjaa?
Suurin osa linja on tﺣ۳ysin oikeassa.
Onko toinen lisﺣ۳ksi?
Voimmeko vaihtaa jotain ulos n- tekevﺣ۳t tﺣ۳tﺣ۳ linjaa vﺣ۳hﺣ۳n paremmin?
Mm-hm?
>> Opiskelija: Voitko alustaa muuttujan kuten pituus n, joka tulee sitten kﺣ۳yttﺣ۳ﺣ۳
myﺣﭘhemmin toiminto?
>> JASON HIRSCHHORN: So alustaa vaihteleva pituus on n,
ja kﺣ۳ytﺣ۳mme myﺣﭘhemmin?
Mutta sitten me vain pﺣ۳ivittﺣ۳ﺣ۳ pituus ja me silti tﺣﭘrmﺣ۳tﺣ۳ tﺣ۳hﺣ۳n ongelmaan, jos me
leikata alas pituus meidﺣ۳n ongelmamme, mutta emme koskaan tiedﺣ۳, missﺣ۳ oikeastaan
ettﺣ۳ pituus kuvautuu.
>> Opiskelija: Eikﺣﭘ se tule tapahtumaan myﺣﭘhemmin, kun sanot, etsi vasemmalle,
etsi oikea?
Aiot mennﺣ۳ eri alueen oman -
>> JASON HIRSCHHORN: Aiomme mennﺣ۳ alueelle, mutta mistﺣ۳ tiedﺣ۳mme
jotka ovat mennﺣ۳?
Jos meillﺣ۳ on vain joukko ja tﺣ۳mﺣ۳n n, mistﺣ۳ tiedﺣ۳mme, mistﺣ۳
Siirry jono.
Takana, kyllﺣ۳?
>> Opiskelija: Onko sinulla, kuten, alempi sidottu ja ylﺣ۳raja muuttuja tai
jotain sellaista?
>> JASON HIRSCHHORN: OK.
Joten tﺣ۳mﺣ۳ on toinen ajatus.
Sen sijaan vain pitﺣ۳ﺣ۳ seurata koko, me seurata ala-ja
ylﺣ۳raja muuttuja.
Miten siis laskea koko maasta alaraja ja ylﺣ۳raja?
>> [Interposing ﺣﺣNTﺣ]
>> JASON HIRSCHHORN: vﺣ۳hennyslaskua.
Ja myﺣﭘs pitﺣ۳ﺣ۳ kirjaa alemman sidottu ja ylﺣ۳raja kertoa meille,
me etsivﺣ۳t nﺣ۳mﺣ۳ kaksi?
Olemmeko etsivﺣ۳t nﺣ۳mﺣ۳ kaksi tﺣ۳nne?
Olemmeko etsivﺣ۳t keskellﺣ۳ kaksi?
Todennﺣ۳kﺣﭘisesti ei keskellﺣ۳ kaksi, koska tﺣ۳mﺣ۳ itse asiassa on binﺣ۳ﺣ۳rihaku.
Mutta nyt me voi saada kokoon, mutta myﺣﭘs rajat jono.
Pohjimmiltaan, jos meillﺣ۳ on jﺣ۳ttilﺣ۳inen puhelinluettelosta, me repiﺣ۳ se kahtia.
Tiedﺣ۳mme nyt, jos tﺣ۳mﺣ۳ pienempi puhelinluettelo on.
Mutta emme ole itse repimﺣ۳ssﺣ۳ puhelinluettelon kahtia.
Tarvitsemme vielﺣ۳ tietﺣ۳ﺣ۳, missﺣ۳ uudet rajat meidﺣ۳n ongelma on.
Onko kellﺣ۳ﺣ۳n mitﺣ۳ﺣ۳n kysyttﺣ۳vﺣ۳ﺣ۳ siitﺣ۳?
Kyllﺣ۳?
>> Opiskelija: Olisiko se toimii luomalla muuttuja, i, ettﺣ۳ olet sitten vain siirtﺣ۳ﺣ۳
asemaa i suhteessa sen nykyinen sijainti ja pituus, n?
>> JASON HIRSCHHORN: Ja mitﺣ۳ on i?
>> Opiskelija: Like i on kuin erﺣ۳ﺣ۳nlainen -
Kuin olisit alustaa i olla keski-sijainnissa.
Ja sitten, jos arvo asemassa i keskellﺣ۳ array todettu
olla pienempi kuin tarvittava arvo, i nyt tulee pituus array, plus
i: n arvo jaettuna 2.
Kuten, katso, vaihdat i -
>> JASON HIRSCHHORN: Oikea.
>> Opiskelija: - jopa -
>> JASON HIRSCHHORN: Olen siis melkein myﺣﭘnteistﺣ۳, ettﺣ۳ toimii.
Mutta kohta olento, tarvitset kaksi paloja tietoa tﺣ۳ﺣ۳ltﺣ۳.
Voit tehdﺣ۳ sen alkuun ja loppuun, tai voit tehdﺣ۳ sen koko ja
Joissakin merkki.
Mutta sinun tﺣ۳ytyy kaksi kappaletta Tietojen tﺣ۳ﺣ۳llﺣ۳.
Et voi tulla toimeen vain yksi.
Tarkoittaako tﺣ۳mﺣ۳ jﺣ۳rkevﺣ۳ﺣ۳?
>> Joten aiomme mennﺣ۳ lﺣ۳pi, ja aiomme tehdﺣ۳ [kuultavissa]
ja luoda jonkinlaista markkereita.
No mitﺣ۳ kirjoitat koodin?
>> Opiskelija: Sanoin vain int sidottua yksi on yhtﺣ۳ suuri kuin 0.
>> JASON HIRSCHHORN: Soitetaan ettﺣ۳ int alkaen.
>> Opiskelija: OK.
>> JASON HIRSCHHORN: Se tekee jﺣ۳rkevﺣ۳mpﺣ۳ﺣ۳ minulle.
Ja?
>> Opiskelija: Sanoin, luulisin, int pﺣ۳ﺣ۳ttyy.
>> JASON HIRSCHHORN: int pﺣ۳ﺣ۳ttyy.
>> Opiskelija: Luulen, n miinus 1, tai jotain sellaista.
Kuten, viimeinen osa.
>> JASON HIRSCHHORN: Niin kirjoitit, int alussa on 0, puolipiste, ja int
pﺣ۳ﺣ۳ttymisaika on sama n miinus 1, puolipiste.
Niin olennaisesti, mitﺣ۳ teemme Tﺣ۳ﺣ۳ltﺣ۳ 0 ensimmﺣ۳isessﺣ۳ asennossa.
Ja kuten tiedﺣ۳mme paneelit, ne eivﺣ۳t mene jopa n, he menevﺣ۳t jopa n. miinus 1.
Joten meillﺣ۳ on joitakin rajoja meidﺣ۳n array.
Ja nﺣ۳mﺣ۳ ensimmﺣ۳iset rajat sattuvat olemaan alkuperﺣ۳isen rajat meidﺣ۳n ongelmamme.
OK.
Niin ettﺣ۳ kuulostaa hyvﺣ۳ltﺣ۳.
Sitten jos palaamme tﺣ۳hﺣ۳n linjaan, kun taas pituus lista on suurempi kuin 0,
mitﺣ۳ sijasta n, tulisi me laittaa tﺣ۳nne?
>> Opiskelija: Kirjoita pﺣ۳ﺣ۳ttyy miinus alussa.
>> JASON HIRSCHHORN: Vaikka pﺣ۳ﺣ۳ttyy miinus alussa on suurempi kuin 0?
OK.
Ja voisimme, jos haluaisimme tehdﺣ۳, ettﺣ۳ vﺣ۳hﺣ۳n mukavampaa, mitﺣ۳
muuta voisimme tehdﺣ۳?
Jos halusimme puhdistaa Tﺣ۳mﺣ۳n koodin jopa vﺣ۳hﺣ۳n?
Miten voimme pﺣ۳ﺣ۳stﺣ۳ eroon 0?
Tﺣ۳mﺣ۳ on vain tyyli kysymys.
Se on oikea juuri nyt.
>> Opiskelija: Ending ei yhtﺣ۳ alusta?
>> JASON HIRSCHHORN: Voimme tehdﺣ۳ mitﺣ۳?
>> [Interposing ﺣﺣNTﺣ]
>> Opiskelija: Lopettaminen on suurempi?
>> JASON HIRSCHHORN: Joo.
Voimme vain tehdﺣ۳, kun pﺣ۳ﺣ۳ttyy on suurempi kuin alussa.
Oikea.
Lisﺣ۳simme alkaa toisella puolella siitﺣ۳, ja pﺣ۳ﺣ۳simme eroon 0.
Joten tﺣ۳mﺣ۳ vain nﺣ۳yttﺣ۳ﺣ۳ hieman puhtaampaa.
OK.
Joten, kun pituus lista on 0, kirjoitimme ettﺣ۳ vaikka loppu on suurempi
kuin alussa.
Aiomme laittaa meidﺣ۳n tarpeen aaltosulkeita, ja sitten ensimmﺣ۳inen asia
haluamme tehdﺣ۳, on katsoa ne pikku luettelossa.
You?
Voitko antaa minulle -
>> Opiskelija: Jos suluissa arvo hakasulkeen -
>> JASON HIRSCHHORN: Jos suluissa arvo hakasulkeen.
>> Opiskelija: Ending jaettuna 2.
>> JASON HIRSCHHORN: Ending?
>> Opiskelija: Nﺣ۳en ongelma -
>> JASON HIRSCHHORN: OK.
No, katsokaa keskellﺣ۳.
Mistﺣ۳ tiedﺣ۳mme, mitﺣ۳ keskellﺣ۳ on?
Joo.
Haluan siis poistaa kyseisen koodin.
Mistﺣ۳ tiedﺣ۳mme, mitﺣ۳ keskellﺣ۳ on?
Mihinkﺣ۳ﺣ۳n, kun sinulla on alussa ja lopulta, miten lﺣﭘytﺣ۳ﺣ۳
keskellﺣ۳?
>> Opiskelija: Sinﺣ۳ keskimﺣ۳ﺣ۳rin.
>> Opiskelija: lisﺣ۳ﺣ۳t ne yhteen ja sitten -
>> JASON HIRSCHHORN: Lisﺣ۳ﺣ۳ ne yhteen ja sitten?
>> Opiskelija: Ja sinﺣ۳ keskimﺣ۳ﺣ۳rin.
Jaa se 2.
>> JASON HIRSCHHORN: Lisﺣ۳ﺣ۳ ne yhdessﺣ۳ ja jakaa 2.
Joten int keski vastaa?
Tom, voit antaa sen minulle?
>> Opiskelija: Alku plus pﺣ۳ﺣ۳ttyy -
>> JASON HIRSCHHORN: Beginning plus pﺣ۳ﺣ۳ttyy.
>> Opiskelija: Kaikki, kiinnike, jaettuna 2.
>> JASON HIRSCHHORN: Kaikki, suluissa, jaettuna 2.
Niin ettﺣ۳ antaa minulle keskellﺣ۳ mitﺣ۳ﺣ۳n, korjaa?
>> Opiskelija: Tarvitset myﺣﭘs pyﺣﭘristﺣ۳ﺣ۳ sen.
>> JASON HIRSCHHORN: Mitﺣ۳ Tarkoitan, minun tﺣ۳ytyy pyﺣﭘristﺣ۳ﺣ۳ sen?
>> [Interposing ﺣﺣNTﺣ]
>> Opiskelija: Koska jos se on outoa numero, niin se on kuin -
>> JASON HIRSCHHORN: No okei.
Niin voisin pyﺣﭘristﺣ۳ﺣ۳ sen.
Mutta jos se on pariton luku, 5, voin ottaen 1 pois keskeltﺣ۳.
Tai jos se on parillinen mﺣ۳ﺣ۳rﺣ۳, vaan se on parempi asia.
Jos se on 4, meillﺣ۳ on vain 4, voin ottaa ensimmﺣ۳inen "keskellﺣ۳", lainaus, lainaus tai
Toinen "middle" yksi.
Joko toimisi binﺣ۳ﺣ۳rihaku, joten en oikeastaan ﻗﻗtarvitse pyﺣﭘristﺣ۳ﺣ۳ sitﺣ۳.
Mutta on toinenkin asia I tﺣ۳ytyy tarkastella tﺣ۳tﺣ۳ linjaa.
Emme ehkﺣ۳ ymmﺣ۳rrﺣ۳ sitﺣ۳ vielﺣ۳, mutta palaamme siihen.
Koska tﺣ۳mﺣ۳ linja oikeastaan ﻗﻗvielﺣ۳ tarvitsee yhden asian.
>> Mutta toistaiseksi olemme kirjoitettu neljﺣ۳ riviﺣ۳ koodia.
Meillﺣ۳ meidﺣ۳n alusta ja pﺣ۳ﺣ۳ttyy markkereita.
Meillﺣ۳ on while-silmukka, joka kartoittaa on suoraan meidﺣ۳n pseudokoodina.
Etsimme keskeltﺣ۳ kartat suoraan meidﺣ۳n pseudokoodina.
Sanoisin tﺣ۳hﺣ۳n menee keskelle luettelon, tﺣ۳mﺣ۳ rivi koodia.
Ja sitten, kun menemme keskelle lista, seuraava asia, meidﺣ۳n tﺣ۳ytyy tehdﺣ۳
on tarkistaa, jos meidﺣ۳n arvo on siellﺣ۳ pseudokoodina kirjoitimme aikaisemmin.
>> Miten siis tarkistaa, jos meidﺣ۳n arvo on keskellﺣ۳ listan?
You.
Miksi et tee tﺣ۳tﺣ۳?
>> Opiskelija: Jos arvomme n on keskellﺣ۳ on yhtﺣ۳ suuri kuin
mitﺣ۳ asetamme -
Siis yhtﺣ۳ sama -
>> JASON HIRSCHHORN: Se -
OK.
>> Opiskelija: En ole varma, mitﺣ۳ muuttuja etsimme
sillﺣ۳ vaikka, johtuu siitﺣ۳, -
>> [Interposing ﺣﺣNTﺣ]
>> Opiskelija: [kuultavissa].
>> JASON HIRSCHHORN: Aivan.
Per toiminto ilmoituksen, Etsimme arvo.
Joten olemme etsivﺣ۳t arvo riviksi arvoja.
Joten olet aivan oikeassa.
Te teette, jos se on auki paren arvo kiinnike keskimmﺣ۳inen suljettu kiinnike tasavertaisina
vastaa arvoa, ja sisﺣ۳llﺣ۳ on mitﺣ۳ meidﺣ۳n tﺣ۳ytyy tehdﺣ۳?
Jos meidﺣ۳n arvo on siellﺣ۳, mitﺣ۳ meidﺣ۳n tﺣ۳ytyy tehdﺣ۳?
>> [Interposing ﺣﺣNTﺣ]
>> Opiskelija: Return nolla.
>> JASON HIRSCHHORN: Paluu totta.
>> Opiskelija: Return totta.
>> JASON HIRSCHHORN: Michael, mitﺣ۳ tﺣ۳mﺣ۳ linja tehdﺣ۳?
>> Opiskelija: [kuultavissa] ohjelma on juossut sen kurssin, ja se on ohi, ja
olet mitﺣ۳ sinun tarvitsee tehdﺣ۳?
>> JASON HIRSCHHORN: ohjelma vai mitﺣ۳?
Tﺣ۳ssﺣ۳ tapauksessa?
>> Opiskelija: toiminto.
>> JASON HIRSCHHORN: toiminto.
Ja niin, palata mitﺣ۳ kutsutaan sitﺣ۳ ja antaa sille arvoa, totta.
Aivan oikein.
Main.
Mikﺣ۳ on palautuva tﺣ۳rkeimpien, Michael?
>> Opiskelija: int, kokonaisluku?
>> JASON HIRSCHHORN: int, tarkalleen.
Kokonaisluku.
Se oli vain kysymys varmistaa te kaverit ovat olleet sen pﺣ۳ﺣ۳lle.
Mitﺣ۳ se yleensﺣ۳ palaa, jos kaikki asiat toimivat hyvin?
>> Opiskelija: Zero.
>> JASON HIRSCHHORN: Zero.
Aivan oikein.
>> Opiskelija: Jos tﺣ۳mﺣ۳ palaa aivan totta, ei ole mitﺣ۳ﺣ۳n tietoja anneta
mitﺣ۳ -
Voi, tﺣ۳mﺣ۳ on vain sanomalla, ettﺣ۳ arvo on sisﺣ۳llﺣ۳ array.
>> JASON HIRSCHHORN: Aivan.
Tﺣ۳mﺣ۳ ohjelma ei ole antaa tietoa missﺣ۳ tarkalleen arvo on.
Se vain sanoi, kyllﺣ۳, lﺣﭘysimme sitﺣ۳ tai ei, emme lﺣﭘytﺣ۳neet sitﺣ۳.
Joten jos numero lﺣﭘytyy, palauta totta.
No, itse asiassa me vain teimme todella nopeasti, ettﺣ۳ yhtﺣ۳ riviﺣ۳ koodia.
Joten Muutan ettﺣ۳ linja pseudokoodina.
>> Opiskelija: Emmekﺣﭘ tarvitse muuttaa array?
Sen pitﺣ۳isi olla arvoja, ei arvoa, eikﺣﭘ?
>> JASON HIRSCHHORN: Anteeksi.
Kiitos.
>> Opiskelija: Joo.
>> JASON HIRSCHHORN: Tﺣ۳mﺣ۳ linja pitﺣ۳isi olla arvot.
Aivan oikein.
OK.
Joten teimme keskellﺣ۳ luettelosta.
Jos numero lﺣﭘytyi return true.
Jatketaan meidﺣ۳n pseudokoodina, jos Keskellﺣ۳ on suurempi, haku jﺣ۳ljellﺣ۳.
Joten jouduin tﺣ۳nne, jos numero korkeampi, haku jﺣ۳ljellﺣ۳.
Constantine, voit antaa Minulle tﺣ۳mﺣ۳ rivi koodia?
>> Opiskelija: Jos arvo keski -
>> JASON HIRSCHHORN: Joten jos arvo -
jos se on auki paren arvot kiinnike keski loppusulkumerkki -
>> OPISKELIJAN: On pienempi kuin arvo?
>> JASON HIRSCHHORN: Onko alle.
>> OPISKELIJAN: Alle arvo.
>> JASON HIRSCHHORN: Arvo.
No, itse asiassa, haluatko tarkista numero -
Anteeksi.
Tﺣ۳mﺣ۳ on hieman sekava.
Mutta muuten jos numero Keskellﺣ۳ lista on suurempi.
>> Opiskelija: Oh, OK.
>> JASON HIRSCHHORN: Muutan ettﺣ۳.
Muuta, jos keskellﺣ۳ on korkeampi, me haluat etsiﺣ۳ vasemmalle, OK?
Ja mitﺣ۳ me teemme sisﺣ۳llﺣ۳ Tﺣ۳mﺣ۳ jos ehto?
>> Opiskelija: Voinko tehdﺣ۳ pieni muutos kunnossa, vaihda se if?
>> JASON HIRSCHHORN: Entﺣ۳ onko?
OK.
Joten tﺣ۳mﺣ۳ koodi tulee suorittaa suunnilleen sama.
Mutta Kiva juttu kﺣ۳yttﺣ۳mﺣ۳llﺣ۳ if, else jos, if tai jos muuten if, else
tarkoittaa, ettﺣ۳ vain yksi niistﺣ۳ on menossa tarkistetaan, ei kaikki kolme,
mahdollisesti.
Ja se tekee hieman mukavampaa tietokoneella, joka on
suorittaa ohjelma.
>> Joten [? Constantine,?]
olemme sisﺣ۳llﺣ۳ tﺣ۳tﺣ۳ linjaa, if arvot, kiinnike keskellﺣ۳ loppusulkumerkki
on suurempi kuin arvo.
Mitﺣ۳ meidﺣ۳n pitﺣ۳ﺣ۳ tehdﺣ۳?
Meidﺣ۳n tﺣ۳ytyy etsiﺣ۳ vasemmalle.
Miten me sen teemme?
Aion antaa sinulle alku.
>> Meillﺣ۳ on nﺣ۳mﺣ۳ kaksi asiaa kutsutaan alkaa ja pﺣ۳ﺣ۳ttyy.
Niin mitﺣ۳ tﺣ۳ytyy tapahtua alkuun?
Jos haluat etsiﺣ۳ vasemmalla lista, saamme nykyisen alussa.
Mitﺣ۳ meidﺣ۳n tﺣ۳ytyy tehdﺣ۳ se?
>> Opiskelija: Asetimme alussa keski plus 1.
>> JASON HIRSCHHORN: Joten jos olemme etsimﺣ۳llﺣ۳ vasen?
>> Opiskelija: Anteeksi, keski miinus -
niin loppu olisi keskellﺣ۳ miinus 1 ja alusta -
>> JASON HIRSCHHORN: Ja mitﺣ۳ tapahtuu alussa?
>> Opiskelija: Se pysyy samana.
>> JASON HIRSCHHORN: So merkitys pysyy samana.
Jos me etsit vasemmalle, olemme kﺣ۳yttﺣ۳en samaa alusta -
Aivan oikein.
Ja pﺣ۳ﺣ۳ttyy?
Anteeksi, mitﺣ۳ pﺣ۳ﺣ۳ttyy yhtﺣ۳ uudelleen?
>> Opiskelija: Middle miinus 1.
>> JASON HIRSCHHORN: Lﺣ۳hi miinus 1.
Nyt, miksi miinus 1, ei vain keskellﺣ۳?
>> Opiskelija: keskellﺣ۳ on poissa kuva jo, koska meillﺣ۳ oli
tarkistanut, ettﺣ۳ se on pois?
>> JASON HIRSCHHORN: Tuo Aivan oikein.
Keskellﺣ۳ on pois kuvasta.
Olemme jo tarkistanut keskellﺣ۳.
Joten emme halua "keskellﺣ۳", lainaus unquote, jatkuvan vuonna
array, ettﺣ۳ etsimme.
Joten tﺣ۳mﺣ۳ on fantastinen.
>> If arvot kiinnike keskellﺣ۳ on suurempi kuin arvo pﺣ۳ﺣ۳ttyy tasavertaisina
keski miinus 1.
Jeff, mitﺣ۳ tﺣ۳stﺣ۳ viimeisellﺣ۳ rivillﺣ۳?
>> Opiskelija: Else.
Arvojen keskellﺣ۳ on pienempi kuin arvo?
>> JASON HIRSCHHORN: me annat minulle muuta.
Joten jos et anna minulle -
>> Opiskelija: Joten sitten alkaa olisi keskellﺣ۳ plus 1.
>> JASON HIRSCHHORN: Beginning tasavertaisina keskimmﺣ۳inen plus 1, jﺣ۳lleen, samaan
syystﺣ۳ Constantine antoi meille aikaisemmin.
Ja lopussa, joka ei ole antanut minulle koodiriviﺣ۳ vielﺣ۳?
Palauttaa false, Aleha, mitﺣ۳ kirjoitamme tﺣ۳ﺣ۳llﺣ۳?
>> Opiskelija: return false.
>> JASON HIRSCHHORN: return false.
Ja meidﺣ۳n tﺣ۳ytyy tehdﺣ۳ niin, koska jos me eivﺣ۳t lﺣﭘydﺣ۳ sitﺣ۳, meidﺣ۳n tﺣ۳ytyy sanoa, ettﺣ۳ meidﺣ۳n
ei lﺣﭘydﺣ۳ sitﺣ۳.
Ja me sanoimme aiomme palata bool, joten varmasti on palattava
bool jonnekin.
>> Joten suorittaa tﺣ۳mﺣ۳n koodin.
Olen oikeastaan ﻗﻗmenossa -
joten olemme terminaalissa.
Me selvﺣ۳sti meidﺣ۳n ikkunasta.
Tehdﺣ۳ﺣ۳n kaikki.
Lﺣﭘysimme olemassa yksi virhe.
On virhe rivillﺣ۳ 15, odotetaan puolipiste lopussa
julkilausumaan.
Joten mitﺣ۳ minﺣ۳ unohda?
>> Opiskelija: Semicolon.
>> JASON HIRSCHHORN: Semicolon asti tﺣ۳ﺣ۳llﺣ۳.
Mielestﺣ۳ni oli Tomin koodi.
Joten Tom, [ﺣ۳ﺣ۳netﺣﭘn].
Vain leikkiﺣ۳.
Tehdﺣ۳ﺣ۳n tehdﺣ۳ kaikki uudestaan.
>> Opiskelija: Mitﺣ۳ Dropbox-hakemistossa meidﺣ۳n pitﺣ۳isi olla tﺣ۳hﺣ۳n?
>> JASON HIRSCHHORN: Voit siis vain katsella tﺣ۳tﺣ۳ vﺣ۳hﺣ۳n.
Mutta jﺣ۳lleen kerran, jos halusi siirtﺣ۳ﺣ۳ tﺣ۳mﺣ۳n koodi pset3 hakemistoon kokeilla
sitﺣ۳, ettﺣ۳ mitﺣ۳ tein.
Jos huomaat tﺣ۳ﺣ۳llﺣ۳ - pahoillani, hyvﺣ۳ kysymys.
>> [? LS,?]
Minulla on tﺣ۳ﺣ۳llﺣ۳ find.c koodi Tﺣ۳mﺣ۳n viikon distro koodi.
Minulla on helpers.h.
Minulla on tehdﺣ۳ tiedosto, ettﺣ۳ olen itse muokattu hieman sisﺣ۳llyttﺣ۳ﺣ۳ nﺣ۳mﺣ۳ uudet
tiedostoja olemme kirjallisesti.
Kaikki tﺣ۳mﺣ۳ koodi on kﺣ۳ytettﺣ۳vissﺣ۳, ei jakelu-koodi, mutta uusi
Tee tiedosto, uusi helpers.h tiedosto on kﺣ۳ytettﺣ۳vissﺣ۳ verkossa latauksena.
Taas, joten ne ovat extra koodit meillﺣ۳ on.
>> Joten tehdﺣ۳ kaikki, kohti tﺣ۳tﺣ۳ linjaa, tekee lﺣﭘytﺣ۳ﺣ۳, binary, kupla valinta - merkkeihin
kaikki kolme ja kokoaa osaksi Tﺣ۳mﺣ۳n koodia lﺣﭘytﺣ۳ﺣ۳.
Joten yleensﺣ۳, emme halua to suoraan check50.
Haluamme ajaa joitakin testejﺣ۳ omillamme.
Mutta vain niin voimme nopeuttaa tﺣ۳tﺣ۳ hieman, check50 2013 pset3.find vﺣ۳litﺣ۳n
in helpers.c-- my bad.
>> Minulla ei ole juuri nyt.
Joten olemme todella tulee suorittaa koodia oikeasti.
Usage.find /, tiedﺣ۳t mitﺣ۳ se tarkoittaa?
>> Opiskelija: Tarvitset toisen komentoriviltﺣ۳ sitﺣ۳.
>> JASON HIRSCHHORN: Tarvitsen Toinen komentoriviltﺣ۳.
Ja kohti erittely, tarvitsen syﺣﭘttﺣ۳ﺣ۳ mitﺣ۳ etsimme.
Joten katsotaanpa 42.
Me pitﺣ۳ﺣ۳ se lajitellaan, koska me ole kirjoittanut lajittelu vielﺣ۳ -
42, 43, 44.
>> Ja ohjaus D ei lﺣﭘytﺣ۳nyt neulaa heinﺣ۳suovasta.
Se on huono.
Se on ehdottomasti siellﺣ۳.
Kokeillaan jotain muuta.
Ehkﺣ۳ se johtuu siitﺣ۳, laitoin se alussa.
>> Tehdﺣ۳ﺣ۳n 41, 42, 43.
Siellﺣ۳ mennﺣ۳ﺣ۳n.
Se lﺣﭘysi sen.
Laitetaan se lopussa nyt vain jotta voimme olla perusteellinen -
40, 41, 42.
Ei lﺣﭘytﺣ۳nyt neulaa.
Joten Mainitsin tﺣ۳mﺣ۳n aikaisemmin.
Valitettavasti, tiesin, ettﺣ۳ tﺣ۳mﺣ۳ oli tapahtumassa.
>> Mutta opetuksellisia tarkoituksia varten, se on hyvﺣ۳ tutkia sitﺣ۳.
Se ei toimi.
Jostain syystﺣ۳ se ei lﺣﭘydﺣ۳ sitﺣ۳.
Tiedﺣ۳mme, mitﺣ۳ siellﺣ۳, mutta emme ole lﺣﭘytﺣ۳ﺣ۳ se.
Joten mitﺣ۳ voimme tehdﺣ۳, on mennﺣ۳ lﺣ۳pi GDB lﺣﭘytﺣ۳ﺣ۳ sen, mutta ei kukaan,
ilman lﺣ۳pi GDB, on tunnetta siitﺣ۳, missﺣ۳ olemme mokasi?
[? Madu? ?]
>> Opiskelija: Mielestﺣ۳ni se voisi olla, kun pﺣ۳ﺣ۳ttyy on yhtﺣ۳ suuri kuin alussa, ja se on
vain yhden elementin listana.
Sitten se vain ohittaa sen sijaan todella tarkistaa sen.
>> JASON HIRSCHHORN: Tuo Aivan oikein.
Kun loppu on sama alusta, me edelleen osa meidﺣ۳n listalta?
>> Opiskelija: Joo.
>> JASON HIRSCHHORN: Kyllﺣ۳, itse asiassa me oltava yksi ja vain yksi elementti.
Ja ettﺣ۳ todennﺣ۳kﺣﭘisesti tapahtuu, kun, per koodi testasimme, olemme
edessﺣ۳ heinﺣ۳suovasta tai loppuun heinﺣ۳paali.
Siellﺣ۳ alussa ja loppu tulee yhtﺣ۳
yksi, jossa binﺣ۳ﺣ۳rihaku.
Joten nﺣ۳issﺣ۳ kahdessa tapauksessa se ei toimi, koska pﺣ۳ﺣ۳ttyy vastasi alussa.
>> Mutta jos pﺣ۳ﺣ۳ttyy on yhtﺣ۳ suuri kuin alussa, tﺣ۳mﺣ۳ kun silmukka suorittaa?
Nﺣ۳in ei ole.
Ja olisimme voineet tarkastaa ettﺣ۳ jﺣ۳lleen lﺣ۳pi GDB.
Joten kuinka voimme korjata tﺣ۳mﺣ۳n koodin, koska kun taas loppu on yhtﺣ۳ suuri
alkaa, haluamme myﺣﭘs tﺣ۳mﺣ۳n while-silmukka ajaa.
>> Niin mitﺣ۳ korjata voimme tehdﺣ۳ riville 18?
>> Opiskelija: [kuultavissa] on suurempi tai yhtﺣ۳ suuri kuin.
>> JASON HIRSCHHORN: Aivan oikein.
Vaikka loppu on suurempi kuin tai yhtﺣ۳ suuri kuin alussa.
Joten nyt me varmista, ettﺣ۳ saat ettﺣ۳ nurkkaan tapauksessa lopussa.
Ja katsotaanpa.
Juostaan ﻗﻗtﺣ۳mﺣ۳ vielﺣ۳ kerran.
>> Tehdﺣ۳ﺣ۳n kaikki.
Uudelleen, sinun tﺣ۳ytyy vain seurata sitﺣ۳ tﺣ۳ﺣ۳llﺣ۳.
Etsi 41 tﺣ۳llﺣ۳ kertaa.
Vain pitﺣ۳ﺣ۳ se johdonmukainen.
>> Etsi 42.
Laitetaan se alussa -
42, 43, 44.
Lﺣﭘysimme sen.
Joten se oli todellakin muutos meidﺣ۳n piti tehdﺣ۳.
>> Se oli paljon koodaus me vain teimme, binﺣ۳ﺣ۳rihaku.
Onko kellﺣ۳ﺣ۳n mitﺣ۳ﺣ۳n kysyttﺣ۳vﺣ۳ﺣ۳ ennen Jatkan riveihin kirjoitimme
binﺣ۳ﺣ۳rihaku tai miten Ajattelimme mitﺣ۳ emme selvittﺣ۳ﺣ۳?
Ennen kuin siirrymme, haluan myﺣﭘs huomauttaa , ettﺣ۳ yleensﺣ۳, kartoitimme
Meidﺣ۳n pseudo-koodia yhdestﺣ۳ yksi pﺣ۳ﺣ۳lle meidﺣ۳n koodi.
>> Meillﺣ۳ ei ole, ettﺣ۳ hankala asia selvittﺣ۳ﺣ۳ kanssa
alkaa ja pﺣ۳ﺣ۳ttyy.
Mutta ellet olisi tajunnut, ettﺣ۳ ulos, olisi kirjoittanut aika paljon
identtiset ﺡ۶ lukuun ottamatta nﺣ۳mﺣ۳ kaksi ylintﺣ۳ riviﺣ۳.
Ja sitten olisi huomannut, kun teit sen tarkastusten ja tapauksissa, ettﺣ۳
tarvitset jotain muuta.
Joten vaikka olisit seurannut pseudo-koodi riviltﺣ۳, ﻗﻗolisit
saanut kaikki paitsi kaksi riviﺣ۳ koodata sinun piti kirjoittaa.
>> Ja olisin valmis lyﺣﭘmﺣ۳ﺣ۳n vetoa, ettﺣ۳ te olisi kaikki sen selville
melko nopeasti, ettﺣ۳ sinun piti laittaa jonkinlainen merkki siellﺣ۳ selvittﺣ۳ﺣ۳
missﺣ۳ olit.
Tﺣ۳mﺣ۳ taas on valta tehdﺣ۳ pseudo-koodi etuajassa.
Jotta voimme tehdﺣ۳ logiikka ensin ja sitten voimme huolehtia syntaksin.
>> Oliko meillﺣ۳ ollut hﺣ۳mmentynyt logiikka kun yrittﺣ۳ﺣ۳ kirjoittaa tﺣ۳mﺣ۳n koodin C,
olisimme saaneet kaikki sekaisin.
Ja sitten olisimme kyselleet logiikan ja syntaksin ja hammastusvirheet
ne kaikki yhdessﺣ۳.
Ja olisimme eksyneet mitﺣ۳ voi nopeasti tulla
hyvin vaikea ongelma.
Joten siirtyﺣ۳ nyt valintaan lajitella.
>> Meillﺣ۳ on 20 minuuttia jﺣ۳ljellﺣ۳.
Joten minulla on tunne, emme pysty lﺣ۳pi kaikki valintahetkellﺣ۳ sort
ja kupla lajitella.
Mutta ﺣ۳lkﺣ۳ﺣ۳mme edes pyrkiﺣ۳ loppuun valinta lajitella.
Joten toteuttaa valinta lajitella kﺣ۳yttﺣ۳en seuraava toiminto julkilausumaan.
>> Jﺣ۳lleen kerran, tﺣ۳mﺣ۳ on otettu Harjoitus erittely.
Int arvot on suluissa, on joukko kokonaislukuja.
Ja int.n on koko, joka array.
Selection sort on menossa lajitella tﺣ۳hﺣ۳n array.
>> Joten kohti meidﺣ۳n mentaalinen malli valinta lajitella, osaamme -
Ensimmﺣ۳inen, kﺣ۳ymme lﺣ۳pi listan ensimmﺣ۳inen aikaa, lﺣﭘytﺣ۳ﺣ۳ pienin mﺣ۳ﺣ۳rﺣ۳,
laita se alussa, lﺣﭘytﺣ۳ﺣ۳ toisen pienin mﺣ۳ﺣ۳rﺣ۳, laita se
toiseen asentoon jos haluamme lajitella nousevassa jﺣ۳rjestyksessﺣ۳.
En pakota sinua kirjoittamaan pseudo-koodi juuri nyt.
>> Mutta ennen kuin teemme koodin luokan viisi minuuttia, aiomme kirjoittaa
pseudo-koodi, jotta meillﺣ۳ on jossain mielessﺣ۳ siitﺣ۳, missﺣ۳ olemme menossa.
Joten yritﺣ۳ kirjoittaa pseudo-koodi itse.
Ja sitten yritﺣ۳ kﺣ۳ﺣ۳ntﺣ۳ﺣ۳, ettﺣ۳ pseudo-koodi koodi.
Teemme ettﺣ۳ ryhmﺣ۳nﺣ۳ viidessﺣ۳ minuutissa.
>> Ja tietenkin, haluaisin tietﺣ۳ﺣ۳, jos sinulla on kysyttﺣ۳vﺣ۳ﺣ۳.
>> Opiskelija: Ettﺣ۳ se?
>> JASON HIRSCHHORN: Katso kuinka pitkﺣ۳lle voi saada kaksi minuuttia.
Ymmﺣ۳rrﺣ۳n sinﺣ۳ et voi lopettaa.
Mutta me menemme yli tﺣ۳mﺣ۳n ryhmﺣ۳nﺣ۳.
>> Te kaikki koodaus niin [kuultavissa], joten olen pahoillani keskeyttﺣ۳ﺣ۳ mitﺣ۳ olet tekemﺣ۳ssﺣ۳.
Mutta mennﺣ۳ﺣ۳n lﺣ۳pi tﺣ۳tﺣ۳ ryhmﺣ۳ﺣ۳.
Ja vielﺣ۳, binﺣ۳ﺣ۳rihaku, te kaikki antavat minulle yksi jos ei enemmﺣ۳n riviﺣ۳ koodia.
Kiitos siitﺣ۳.
Aiomme tehdﺣ۳ sama asia Tﺣ۳ﺣ۳ltﺣ۳ koodi yhdessﺣ۳ ryhmﺣ۳nﺣ۳.
>> Joten valinta sort - Kirjoitetaan Nopea pseudo-koodi.
Per henkinen malli, voi joku antaa minulle ensimmﺣ۳inen rivi pseudo-koodi, kiitos?
Mitﺣ۳ haluan tehdﺣ۳?
>> Opiskelija: Vaikka lista on epﺣ۳kunnossa.
>> JASON HIRSCHHORN: OK, kun taas lista on epﺣ۳kunnossa.
Ja mitﺣ۳ tarkoitat "epﺣ۳kunnossa?"
>> Opiskelija: Vaikka [kuultavissa]
ei ole jﺣ۳rjestetty.
>> JASON HIRSCHHORN: Vaikka lista on epﺣ۳kunnossa, mitﺣ۳ me teemme?
Anna minulle toinen rivi, please, Marcus.
>> Opiskelija: Joten lﺣﭘytﺣ۳ﺣ۳ seuraavan pienin mﺣ۳ﺣ۳rﺣ۳.
Tﺣ۳mﺣ۳ sisennetﺣ۳ﺣ۳n.
>> JASON HIRSCHHORN: niin lﺣﭘytﺣ۳ﺣ۳ seuraavaksi pienin numero.
Ja sitten joku muu?
Kun lﺣﭘydﺣ۳mme seuraavaksi pienin numero, mitﺣ۳ me teemme?
Aion sanoa lﺣﭘytﺣ۳ﺣ۳ pienin mﺣ۳ﺣ۳rﺣ۳.
Sitﺣ۳hﺣ۳n me haluamme tehdﺣ۳.
>> Niin lﺣﭘytﺣ۳ﺣ۳ pienin numero.
Mitﺣ۳ sitten teemme?
>> Opiskelija: [kuultavissa] alkuun.
>> JASON HIRSCHHORN: Anteeksi?
>> Opiskelija: Aseta se alussa luettelon.
>> JASON HIRSCHHORN: Niin aseta se listan alussa.
Ja mitﺣ۳ me teemme asia ettﺣ۳ oli alussa
luettelon, eikﺣﭘ?
Olemme pﺣ۳ﺣ۳lle jotain.
Joten mistﺣ۳ laitamme sen?
Joo, Anna?
>> Opiskelija: Silloin kun pienimmﺣ۳t numero oli?
>> JASON Hirshhorn: Joten laita alussa luettelon, jossa
Pienin luku oli.
Joten, kun lista on epﺣ۳kunnossa, lﺣﭘytﺣ۳ﺣ۳ pienin mﺣ۳ﺣ۳rﺣ۳, aseta se
listan alkuun, laita alussa listan, johon
Pienin luku oli.
Marcus, voit muotoilla tﺣ۳tﺣ۳ linjaa kun lista on epﺣ۳kunnossa?
>> Opiskelija: Vaikka numerot ei ole lajiteltu?
>> JASON Hirshhorn: OK, niin jotta tietﺣ۳ﺣ۳, ettﺣ۳ numerot eivﺣ۳t ole olleet
lajitellaan, mitﺣ۳ meidﺣ۳n tﺣ۳ytyy tehdﺣ۳?
Kuinka paljon meidﺣ۳n tﺣ۳ytyy lﺣ۳pi tﺣ۳mﺣ۳n listan?
>> Opiskelija: Joten kai silmukka, tai samalla, kun numerot tarkistetaan on vﺣ۳hemmﺣ۳n
kuin listan pituus?
>> JASON Hirshhorn: OK, se on hyvﺣ۳.
Luulen misphrased kysymykseni huonosti.
Yritin vain saada aikaa aiomme mennﺣ۳
kautta koko lista.
Joten, kun lista on epﺣ۳kunnossa, Minulle on vaikea kartta.
Mutta pohjimmiltaan se, miten Mielestﺣ۳ni tﺣ۳stﺣ۳.
Kﺣ۳y lﺣ۳pi koko luettelon, lﺣﭘytﺣ۳ﺣ۳ pienin mﺣ۳ﺣ۳rﺣ۳, aseta se
alussa - itse asiassa, olet oikeassa.
Laitetaan molemmat.
>> Joten, kun lista on epﺣ۳kunnossa, me tarvitse kﺣ۳ydﺣ۳ lﺣ۳pi koko lista
kerran, lﺣﭘytﺣ۳ﺣ۳ pienin mﺣ۳ﺣ۳rﺣ۳, paikka sen listan alkuun, laita
listan alkuun, jossa Pienin luku oli, ja sitten jos
lista on edelleen epﺣ۳kunnossa, olemme Tﺣ۳ytyy mennﺣ۳ lﺣ۳pi tﺣ۳mﺣ۳n
prosessin uudelleen, eikﺣﭘ?
Siksi valinta lajitella, Big-O runtime valinta lajitella, anyone?
>> Opiskelija: n potenssiin.
>> JASON Hirshhorn: n neliﺣﭘ.
Koska kuten Marcus ja minﺣ۳ vain ymmﺣ۳rtﺣ۳nyt tﺣ۳ﺣ۳llﺣ۳, me aiomme pitﺣ۳ﺣ۳
kﺣ۳ydﺣ۳ listan lﺣ۳pi lista useita kertoja.
Niin menee lﺣ۳pi jotain pituus n n monta kertaa
on itse asiassa n potenssiin.
>> Joten tﺣ۳mﺣ۳ on meidﺣ۳n pseudokoodina.
Tﺣ۳mﺣ۳ nﺣ۳yttﺣ۳ﺣ۳ erittﺣ۳in hyvﺣ۳ltﺣ۳.
Onko kellﺣ۳ﺣ۳n mitﺣ۳ﺣ۳n kysyttﺣ۳vﺣ۳ﺣ۳ noin pseudokoodina?
Koska todellisuudessa valinta tavallaan olisi luultavasti nyt tullut yhtﺣ۳, koodi
pseudokoodina.
Joten kysyttﺣ۳vﺣ۳ﺣ۳ logiikka pseudokoodina?
Kysy se nyt.
>> Selection sort -, kun lista on pois jﺣ۳rjestyksen, aiomme kﺣ۳ydﺣ۳ lﺣ۳pi
ja lﺣﭘytﺣ۳ﺣ۳ pienin joka kerta ja laita se edessﺣ۳.
Joten, kun lista on epﺣ۳kunnossa, voi joku antaa minulle Koodirivin jotka
ei ole antanut minulle linja koodia vielﺣ۳, kiitos?
Se kuulostaa mitﺣ۳?
>> Opiskelija: Tuo silmukka.
>> JASON Hirshhorn: Kuulostaa pidﺣ۳ silmukka.
OK, voit antaa minulle silmukka?
For -
>> Opiskelija: I on 0.
>> JASON Hirshhorn: i tai -
Mitﺣ۳ me puuttuu?
Mikﺣ۳ menee tﺣ۳ﺣ۳llﺣ۳?
>> Opiskelija: Int.
>> JASON Hirshhorn: Aivan.
(Int i = 0; -
>> Opiskelija: i <n; i + +).
>> JASON Hirshhorn: Naulan kantaan, Jeff.
Menemme lﺣ۳pi listan, eikﺣﭘ?
Olemme nﺣ۳hneet, ettﺣ۳ koodin ennen.
Tﺣ۳ydellinen.
Joten laitoimme aaltosulkeita tﺣ۳ﺣ۳llﺣ۳.
Aion laittaa aaltosulkeita tﺣ۳ﺣ۳llﺣ۳.
>> Joten vaikka se on 0, meidﺣ۳n tﺣ۳ytyy mennﺣ۳ koko listaa lﺣ۳pi.
Joten joka kerta kﺣ۳ymme lﺣ۳pi listan, mitﺣ۳ me haluamme seurata?
>> Opiskelija: Jos vaihtosopimukset tehdﺣ۳ﺣ۳n.
>> JASON Hirshhorn: Etsi pienin mﺣ۳ﺣ۳rﺣ۳.
Joten meidﺣ۳n pitﺣ۳isi luultavasti seurata pienin mﺣ۳ﺣ۳rﺣ۳ joka kerta.
Joten line voin seurata pienimmﺣ۳n numeron?
Aleha, miten voin pitﺣ۳ﺣ۳ seurata jotain?
>> Opiskelija: Aloita uusi muuttuja.
>> JASON Hirshhorn: Aloita uusi muuttuja.
Joten luoda muuttujan.
Minkﺣ۳laista?
>> Opiskelija: Int.
>> JASON Hirshhorn: Int.
Kutsukaamme sitﺣ۳ pienin.
Ja mitﺣ۳ se samaksi olemme lﺣ۳htemﺣ۳ssﺣ۳ pois?
Emme ole kﺣ۳yneet lﺣ۳pi listan vielﺣ۳.
Me olemme ensimmﺣ۳inen osa listata meidﺣ۳n ensimmﺣ۳inen kerta kautta.
Mitﺣ۳ se yhtﺣ۳, pienin luku?
>> Opiskelija: Arvot i.
>> JASON Hirshhorn: Arvot i.
Tﺣ۳mﺣ۳ kuulostaa tﺣ۳smﺣ۳lleen oikea, oikea?
Pienin luku alussa on missﺣ۳ olemme.
Joten nyt meillﺣ۳ on pienin, ja me tarvitsemme kﺣ۳ydﺣ۳ lﺣ۳pi koko lista ja
verrata tﺣ۳tﺣ۳ pienin kaikkeen muuhun.
Joten me kﺣ۳ydﺣ۳ listan lﺣ۳pi uudelleen?
Michael?
>> Opiskelija: Sinun tﺣ۳ytyy tehdﺣ۳ toinen silmukka.
>> JASON Hirshhorn: Toinen silmukka.
Tehdﺣ۳ﺣ۳n se.
Anna minulle koodi.
>> Opiskelija: For loop -
pienimmille -
vain int j, voit sanoa?
= 0, siten, ettﺣ۳ -
>> JASON Hirshhorn: No, jos haluamme kﺣ۳ydﺣ۳ lﺣ۳pi koko lista -
>> Opiskelija: j <n, j + +).
>> JASON Hirshhorn: Fantastic.
Aiomme kﺣ۳ydﺣ۳ lﺣ۳pi silmukka jﺣ۳lleen.
Ja miten lﺣﭘydﺣ۳mme pienin luku?
Tom?
Meillﺣ۳ on nykyisen pienin mﺣ۳ﺣ۳rﺣ۳, niin miten lﺣﭘydﺣ۳mme uusia pienin?
>> Opiskelija: Voimme tarkistaa, jos pienimmﺣ۳n numero meillﺣ۳ on suurempi kuin
arvot kiinnike j.
>> JASON Hirshhorn: Joten jos pienin on suurempi kuin arvot kiinnike j.
Joten jos nykyinen pienin on suurempi kuin -
Aion siirtﺣ۳ﺣ۳ nﺣ۳mﺣ۳ kaksi riviﺣ۳ koodia siellﺣ۳ toista.
Koska ennen kuin teemme mitﺣ۳ﺣ۳n vaihtava, me tarvitse kﺣ۳ydﺣ۳ lﺣ۳pi koko lista.
Joten tﺣ۳mﺣ۳ pseudokoodina pitﺣ۳isi oikeastaan ulkopuolella, ettﺣ۳ sisempi silmukka.
Joten mene lﺣ۳pi koko luettelon.
Jos pienin on suurempi kuin arvot j mitﺣ۳ sitten?
>> Opiskelija: Sitten pienin vastaa arvoja j.
>> JASON Hirshhorn: Fantastic.
Yksi nopea kysymys -
ensimmﺣ۳istﺣ۳ kertaa kﺣ۳ymme lﺣ۳pi tﺣ۳mﺣ۳n silmukan, i tulee 0, j menee
olisi yhtﺣ۳ suuri 0 kun saamme tﺣ۳nne.
Menemme siis olisi vertailla numeron itse.
Onko se tehokas?
Ei, se ei ole todella tehokas.
Joten ei meidﺣ۳n j tarvitse mennﺣ۳ 0-n joka kerta?
Pitﺣ۳ﺣ۳kﺣﭘ meidﺣ۳n aina tﺣ۳ytyy tarkistaa koko listaa lﺣ۳pi?
[ﺣﺣ۳netﺣﭘn]?
>> Opiskelija: Aloita i sijaan.
>> JASON Hirshhorn: j CAN aloita siitﺣ۳, mitﺣ۳?
>> Opiskelija: i.
>> JASON Hirshhorn: j voi aloittaa i.
Joten nyt vertaamme alkaa kanssa yksi olemme.
Mutta silloinkin, on se, ettﺣ۳ tehokas kuin mahdollista?
>> Opiskelija: i + 1.
>> JASON Hirshhorn: i + 1 nﺣ۳yttﺣ۳ﺣ۳ olevan tehokkain, koska me
jo i.
Olemme siitﺣ۳, ettﺣ۳ kun pienin linjassa 15.
Aiomme aloittaa seuraava automaattisesti.
Joten kﺣ۳ymme lﺣ۳pi silmukka.
Menemme lﺣ۳pi joka kerta.
Menemme lﺣ۳pi useita kertoja.
Nyt olemme saaneet lﺣ۳pi tﺣ۳mﺣ۳ sisﺣ۳inen silmukka.
Meillﺣ۳ on pienin arvo sﺣ۳ﺣ۳stﺣ۳ﺣ۳.
Meidﺣ۳n tﺣ۳ytyy laittaa sen alussa luettelon.
Joten miten voin sijoittaa sen alussa listan?
Mikﺣ۳ on muuttuja, joka viittaa alkuun listan?
Olemme tﺣ۳ssﺣ۳ ulkopuolella silmukka, niin mitﺣ۳ tarkoittaa
alussa listan?
>> Opiskelija: Arvot i.
>> JASON Hirshhorn: Aivan oikein.
Arvot i on alku -
tai pahoillani, ei alussa.
Se oli hﺣ۳mmentﺣ۳vﺣ۳ﺣ۳.
Se missﺣ۳ olemme alussa lajittelemattoman osan luetteloon.
Niin arvot i.
Ja mitﺣ۳ se tasa-arvoisia?
>> Opiskelija: Pienin.
>> JASON Hirshhorn: Arvot I on mitﺣ۳?
>> Opiskelija: Pienin.
>> JASON Hirshhorn: Pienin.
Aivan oikein.
Olemme siis saattaa se alussa luettelon, ja nyt meidﺣ۳n tﺣ۳ytyy laittaa
alussa listan, johon Pienin luku oli.
Joten miten voin kirjoittaa missﺣ۳ Pienin luku oli?
Arvot mitﺣ۳?
>> Opiskelija: 0.
>> JASON Hirshhorn: pieni numero on 0?
>> Opiskelija: Joo.
>> JASON Hirshhorn: Mitﺣ۳ jos pienimmﺣ۳n numero oli lopussa
Tﺣ۳mﺣ۳n lajittelemattoman lista?
>> Opiskelija: Anteeksi, mikﺣ۳ oli kysymys?
>> JASON Hirshhorn: Missﺣ۳ on pienin mﺣ۳ﺣ۳rﺣ۳?
Otimme pienin ja laita se alkaa, tﺣ۳mﺣ۳n linjan tﺣ۳ﺣ۳llﺣ۳.
>> Opiskelija: Sen pitﺣ۳isi olla on varastoitu joissakin -
>> Opiskelija: Arvot j.
>> JASON Hirshhorn: No, se on ei vﺣ۳lttﺣ۳mﺣ۳ttﺣ۳ arvot j.
Se ei ole edes olemassa tﺣ۳ssﺣ۳ vaiheessa.
>> Opiskelija: Sinun tﺣ۳ytyy julistaa muuttuja aikaisemmin ja
sitten mﺣ۳ﺣ۳rittﺣ۳ﺣ۳ sen -
kun lﺣﭘydﺣ۳t pienin mﺣ۳ﺣ۳rﺣ۳, mﺣ۳ﺣ۳rittﺣ۳ﺣ۳ indeksi tﺣ۳tﺣ۳ numeroa
Joissakin muuttuja tai jotain.
>> JASON Hirshhorn: Joten voi sanot uudestaan?
>> Opiskelija: Minne olet julistettu int pienin, sinun pitﺣ۳isi myﺣﭘs ilmoittaa int
pienin indeksi = i tai jotain sellaista.
>> JASON Hirshhorn: Missﺣ۳ En int pienin, minun ei pitﺣ۳isi vain seurata
arvosta, mutta paikka.
int smallest_location = tﺣ۳ssﺣ۳ tapauksessa, me vain voin.
Meidﺣ۳n tﺣ۳ytyy tietﺣ۳ﺣ۳, missﺣ۳ se on.
Saimme loppuun koodin, ja me tajusi meillﺣ۳ ei ollut aavistustakaan, missﺣ۳ se oli.
Ja niin taas, olemme kartoitus tﺣ۳mﺣ۳ on yksi yhteen.
Te koodaus tﺣ۳mﺣ۳n itse tahdosta luultavasti saada samaan ongelmaan.
Miten hitossa lﺣﭘydﺣ۳n sen?
Ja sitten tajuat, odota, minﺣ۳ tﺣ۳ytyy seurata sitﺣ۳.
>> Joten jos pienin on suurempi kuin arvot j.
Asetimme pienin vastaa arvoihin j.
Mitﺣ۳ muuta meidﺣ۳n tﺣ۳ytyy muuttaa?
Constantin, mitﺣ۳ muuta meidﺣ۳n tﺣ۳ytyy muuttaa?
>> Opiskelija: sijainti.
>> JASON Hirshhorn: Aivan.
Joten antaa minulle, ettﺣ۳ rivi koodia.
>> Opiskelija: smallest_location = j.
>> JASON Hirshhorn: Aivan.
Ja sitten alas lopussa, jos haluamme laittaa listan alkuun, jossa
Pienin luku oli, miten Emme katso missﺣ۳
Pienin luku oli?
Marcus?
>> Opiskelija: Pienin luku oli sijaitsevat pienin paikkaan.
>> JASON Hirshhorn: Joten arvot smallest_location.
Ja mitﺣ۳ me laittaa sinne?
Alku lista, mikﺣ۳ tuo on?
>> Opiskelija: No, emme oikeastaan ﻗﻗtiedﺣ۳ enﺣ۳ﺣ۳, koska me korvasi.
Joten se on vaihdettu paikoissa nﺣ۳istﺣ۳ kaksi riviﺣ۳?
Jos vaihdat nﺣ۳mﺣ۳ kaksi riviﺣ۳ ympﺣ۳ri.
>> JASON Hirshhorn: OK, joten emme enﺣ۳ﺣ۳, koska olemme nollata linja
ennen arvot i pienimpﺣ۳ﺣ۳n.
Joten menetimme ettﺣ۳ alkuperﺣ۳isestﺣ۳ arvosta.
Sanoit swap nﺣ۳mﺣ۳ kaksi riviﺣ۳.
Joten nyt laittaa listan alkuun jossa pienin numero oli.
Joten smallest_location on yhtﺣ۳ suuri kuin arvot i.
Ettﺣ۳ liikkuu alussa lajittelemattoman osa luettelon
pienin sijainti.
Ja sitten arvot i liikumme ettﺣ۳ pienin numero.
>> Onko jﺣ۳rkeﺣ۳, miksi me piti tehdﺣ۳, ettﺣ۳ swap?
Olisimme pﺣ۳ﺣ۳lle, ettﺣ۳ arvo - toinen asia, sinun luultavasti olisi
tajunnut ja lﺣﭘysi BKT.
Niinpﺣ۳ olemme ottaneet huolta kaikki pseudokoodina.
Onko mikﺣ۳ﺣ۳n muu tﺣ۳ytyy kirjoittaa tﺣ۳ﺣ۳llﺣ۳?
Voiko joku ajatella mitﺣ۳ﺣ۳n?
>> Opiskelija: Mistﺣ۳ tiedﺣ۳t kun olet valmis?
>> JASON Hirshhorn: Miten me tietﺣ۳ﺣ۳, kun olemme tehneet?
Suuri kysymys.
Joten mistﺣ۳ me tiedﺣ۳mme kun olemme tehneet.
>> Opiskelija: Luo muuttuja pitﺣ۳ﺣ۳ luottaa ja jos on swap tehty vai ei
ja kﺣ۳ydﺣ۳ lﺣ۳pi pass.
>> JASON Hirshhorn: OK.
Joka toimisi kupla tavallaan.
Mutta valinta lajitella, jos emme tehdﺣ۳ swap, joka voi olla juuri
koska pienin arvo on siinﺣ۳ sen oikeaan paikkaan.
Saisimme listan 1, 2, 4, 3.
Toisen kerran lﺣ۳pi me ei tee mitﺣ۳ﺣ۳n swap.
Me olla numero 2, mutta me vielﺣ۳ jatkaa.
Joten meidﺣ۳n tﺣ۳ytyy seurata, kun olemme tehneet, vai emmekﺣﭘ vain halua mennﺣ۳
kunnes tﺣ۳mﺣ۳ on valmis?
>> Opiskelija: Voimme vain mennﺣ۳ kunnes se on valmis.
>> JASON Hirshhorn: Voimme vain mennﺣ۳, kunnes se on valmis.
Kupla lajitella, olet aivan oikeassa, Jeff ja Aleha, jossa sinun ratkaisu -
se on hienoa seurata, kuinka monta swap teit, koska kupla
lajitella, jos et itse tee mitﺣ۳ﺣ۳n koronvaihtosopimukset, olet valmis ja voit ehkﺣ۳ leikata
ongelma alas hieman.
Mutta valinta lajitella, olet todella tﺣ۳ytyy mennﺣ۳ lﺣ۳pi loppuun
luettelo jokaisen kerralla.
>> Tﺣ۳mﺣ۳ on siis, ettﺣ۳.
Meillﺣ۳ on kaksi minuuttia jﺣ۳ljellﺣ۳.
Tehdﺣ۳ﺣ۳n kaikki.
Haluan vain avoin Etsi tﺣ۳nne ja varma, ettﺣ۳ en itse asiassa soittaen -
En kutsu kupla lajitella.
Katsotaanpa vaihtaa tﺣ۳mﺣ۳n valinnan lajitella.
tehdﺣ۳ kaikki. / lﺣﭘytﺣ۳ﺣ۳.
Etsitﺣ۳ﺣ۳n 42.
Tﺣ۳llﺣ۳ kertaa aiomme kulkea lajittelemattoman lista, koska se olisi lajitella
Ensimmﺣ۳inen, per lﺣﭘydﺣ۳ koodia, - pitﺣ۳isi lajitella Ensimmﺣ۳inen kﺣ۳yttﺣ۳mﺣ۳llﺣ۳ lajittelu ja sitten
etsiﺣ۳ jotain.
Peukkuja kaikille.
>> Hyvﺣ۳nen aika.
Hei, sydﺣ۳meni sykki.
Niin, ettﺣ۳ on oikea.
Itse asiassa, jos me juoksimme tﺣ۳mﺣ۳ lisﺣ۳ﺣ۳ laajasti, koodi, niin pitkﺣ۳lle kuin voin
kertoa, on tﺣ۳ysin oikeassa.
On joitakin ehdotuksia Olisin sinulle.
Esimerkiksi 15 ja 16 nﺣ۳yttﺣ۳vﺣ۳t hieman tarpeeton.
Tuntuu siltﺣ۳, ﻗﻗet vﺣ۳lttﺣ۳mﺣ۳ttﺣ۳ tﺣ۳ytyy sﺣ۳ﺣ۳stﺣ۳ﺣ۳ sekﺣ۳ niitﺣ۳.
Jos sinulla on pienin sijaintia, voit voi helposti lﺣﭘytﺣ۳ﺣ۳ pienin arvo
vain kirjoittamalla arvot i.
>> Joten jos olisin tarkoitus luokittelu koodia, jonka aion itse asiassa olla, olisin
luultavasti ottaa pois kohta, jos sisﺣ۳ltyvﺣ۳t molemmat, koska olet
ei tarvitse molempia muutetaan.
Jos sinulla on sijainti, voit hyvin helposti saada arvoa.
Ja se tuntuu hieman oudolta tallentaa molemmat.
Ehkﺣ۳ ei edes ota piste, mutta varmasti kommentti, ettﺣ۳ se on ehkﺣ۳
ei tyylillinen valinta sinun tﺣ۳ytyy tehdﺣ۳.
Tietenkin, koodi vielﺣ۳ toimii erittﺣ۳in hyvin.
>> Joten valitettavasti emme pﺣ۳ﺣ۳stﺣ۳ kupla lajitella.
Olen pahoillani siitﺣ۳.
Teimme loppuun valinta tavallaan.
Onko kellﺣ۳ﺣ۳n mitﺣ۳ﺣ۳n viimeistﺣ۳ kysymystﺣ۳ noin valinta lajitella?
>> OK, ennen kuin pﺣ۳ﺣ۳ pois, haluan sinun avatkaa Chrome-selain.
Anteeksi, ettﺣ۳ oli vain rﺣ۳ikeﺣ۳ plug yhdenlaista internet-selain.
Voit avata minkﺣ۳ tahansa selaimen, mutta se tulee todennﺣ۳kﺣﭘisesti Chrome.
Ja mennﺣ۳ tﺣ۳hﺣ۳n seuraavilta verkkosivuilta -
sayat.me/cs50.
Jos et kirjoittamalla tietokoneen juuri nyt, olet selvﺣ۳sti
ei tee sitﺣ۳, Tom.
>> Ja tee se joko oikealle nyt tai seuraavan tunnin -
antaa minulle palautetta.
Tﺣ۳mﺣ۳ on vain osassa kaksi.
Meillﺣ۳ on paljon enemmﺣ۳n yhdessﺣ۳, niin minﺣ۳ on paljon varaa parantaa.
Olen toivottavasti teki myﺣﭘs joitakin asioita hyvin.
Joten voit tehdﺣ۳ minut tuntemaan kaikki paha, mutta jos haluat myﺣﭘs antaa minulle hymiﺣﭘ
kasvot, olisin kiitollinen, ettﺣ۳ samoin.
Tﺣ۳ytﺣ۳ ettﺣ۳ sisﺣ۳ﺣ۳n
>> Ja yksi minuutti jﺣ۳ljellﺣ۳, ettﺣ۳ oli viikolla kolme.
Minﺣ۳ seistﺣ۳ ulkona vﺣ۳hﺣ۳n jos sinulla on kysyttﺣ۳vﺣ۳ﺣ۳.
Nﺣ۳hdﺣ۳ﺣ۳n kaverit luento huomenna.