SIARADWR 1: Hei bawb! Croeso'n ôl i'r adran. Mor falch o weld cymaint o ddau ohonoch yma, a phawb sydd wedi gwylio ar-lein. Felly, fel y cefn croeso arferol. Gobeithio eich bod i gyd wedi cael hyfryd penwythnos, yn llawn o orffwys, ymlacio. Roedd yn hyfryd allan ddoe. Felly, yr wyf yn gobeithio y byddwch yn mwynhau'r awyr agored. Felly, y tro cyntaf neu ddau o gyhoeddiadau. Graddio. Felly, dylai'r rhan fwyaf ohonoch wedi gotten yn e-bost oddi wrthyf am eich Pset Scratch, yn ogystal â graddio ar gyfer Pset 1. Felly, dim ond un neu ddau o bethau. Byddwch yn siwr i ddefnyddio check50 mewn style50. Mae'r rhain i fod i fod yn adnoddau i chi guys, i wneud yn siŵr eich bod yn cael gynifer o bwyntiau ag y gallwch heb ddiangen eu colli. Felly, pethau fel steil yn bwysig iawn. Rydym yn mynd i gymryd i ffwrdd ar ei gyfer. Efallai y bydd rhai ohonoch yn barod sylwi bod gan eich Pset. A check50 yn unig yw ffordd hawdd iawn i wneud yn siŵr ein bod yn dychwelyd mewn gwirionedd yn beth angen dychwelyd i'r defnyddiwr, a bod popeth yn gweithio'n iawn. Ar yr ail nodyn, gwnewch yn siŵr eich llwytho pethau i'r ffolder cywir. Mae'n gwneud fy mywyd yn unig ychydig bach yn fwy anodd os ydych yn llwytho Pset 2 i mewn i Pset 1 oherwydd pan oeddwn lawrlwytho pethau, nid ydynt yn llwytho i lawr yn gywir. Ac yr wyf yn gwybod ei fod yn ychydig yn wonky mewn system i ddod i arfer i, ond yn unig fod super yn ofalus, os mai dim ond i mi, felly pan ydych yn cael negeseuon e-bost yn hoffi 02:00 ac rwy'n graddio. Os na fydd yn achosi rhaid i mi edrych i gyd o gwmpas ar gyfer eich Pset. Cool. Rwy'n gwybod ei fod yn gynnar, ond yr wyf yn hollol got tynnu oddi ar wyliadwrus gan draethawd sy'n ddyledus dydd Gwener yma, bod fy athrawon yn union fel, o ie. Cofiwch, mae gennych traethawd ddyledus ar ddydd Gwener. Felly, yr wyf yn gwybod nad oes neb yn hoffi i feddwl am midterms, ond mae eich cwis cyntaf ar 15 Hydref, sydd Hydref yn dechrau yr wythnos hon. Felly, gallai fod yn gynt nag yr oeddech yn disgwyl i gyd. Felly, nad ydych yn taflu i ffwrdd wyliadwrus pan Rwy'n sôn am adran yr wythnos nesaf yn y oh, eich cwis yr wythnos nesaf, yr wyf yn meddwl Byddwn yn rhoi ychydig bach yn fwy o pennau i fyny yn awr. Felly, eich problem a osodwyd, rhif tri. Sut mae pobl wedi darllen y fanyleb allan o chwilfrydedd? OK. Rydym yn cael un neu ddau. Kind o lawr o ddiwethaf wythnos, ond mae hynny'n iawn. Dwi'n gwybod ei fod allan brydferth. Felly Break Out. Yn bendant ar ôl i chi yn cael eu gwneud Heddiw ddarllen eich manyleb o leiaf ceisiwch hoffi lawrlwytho cod dosbarthu a rhedeg fel y cychwynnol cyntaf beth y maent yn gofyn i chi. Oherwydd ein bod yn defnyddio cod dosbarthu a llyfrgell yr ydym wedi dim ond bod yn using-- --It dim ond yr ail dro rydym wedi gwneud Pset hwn, Gall pethau crazy ddigwydd gyda eich offer, ac rydych am ddod o hyd bod allan yn awr yn erbyn yn ddiweddarach. Oherwydd os yw'n nos Iau neu 'i' Nos Fercher ac am ryw reswm eich offer nid yn unig yn ei wneud eisiau rhedeg gyda'r llyfrgell neu gyda'r dosbarthiad cod, bod modd Ni allwch chi hyd yn oed yn dechrau gwneud y codio. Oherwydd nad ydych yn gallu gwirio i weld a yw'n gweithio. Eich Nid yw gonna fod yn gallu i weld a yw'n llunio. Rydych am i ofalu am y rhai yn gynnar yn yr wythnos, pryd y gallwch barhau i e-bost ataf neu un o'r TFS eraill, a gallwn gael rhai sefydlog. Gan fod y rheini yn faterion bod yn mynd i roi'r gorau i chi rhag gwneud unrhyw gynnydd gwirioneddol. Dyw hi ddim yn hoffi un nam, bod gallwch jyst fath o sgip drosodd. Os ydych yn cael problemau gyda'ch offer neu cod dosbarthu, chi wir am gael hynny a gymerwyd gofal o gynt yn hytrach nag yn hwyrach. Felly hyd yn oed os nad ydych yn gonna mewn gwirionedd dechrau codio, lawrlwythwch y dosbarthiad cod, darllenwch y spec, gwnewch yn siŵr popeth sy'n gweithio yno. OK? Os gallwch wneud hynny, yr wyf yn addo eich bywyd yn haws. Ac felly mae'n debyg eich bod yn mynd i wneud hynny ar hyn o bryd yn iawn? OK. Felly, unrhyw gwestiynau yno? Unrhyw pethau logistaidd? Mae pawb yn dda? OK. Ymwadiad ar gyfer y rhai o chi yn yr ystafell ac ar-lein. Rydw i'n mynd i fod yn ceisio newid rhwng PowerPoint yn y peiriant oherwydd ein bod yn mynd i fod yn gwneud rhywfaint o codio heddiw drwy alw poblogaidd y ddienw arolwg awgrym Anfonais yr wythnos diwethaf. Felly, byddwn yn gwneud rhywfaint o godio. Felly, os ydych guys hefyd eisiau i tân i fyny eich offer, a dylech fod wedi cael e-bost oddi wrthyf, gyda ffeil enghreifftiol. Mae croeso i chi wneud hynny. Felly, rydym yn mynd i siarad am GDB, sydd yn debugger. Mae'n mynd i helpu chi math o chyfrif i maes ble pethau'n mynd o chwith yn eich cod. Mae'n mewn gwirionedd dim ond yn ffordd i chi gamu drwy eich cod fel y mae'n digwydd, a gallu argraffu newidynnau neu weld beth sy'n digwydd mewn gwirionedd o dan y cwfl penillion eich rhaglen dim ond yn rhedeg, mae fel ffawtio, a ydych chi fel, dim syniad beth yn union ddigwyddodd yma. Nid wyf yn gwybod pa llinell fod wedi methu ar. Nid wyf yn gwybod lle y mae'n mynd o'i le. Felly, GDB yn mynd i eich helpu gyda hynny. Hefyd, os ydych yn penderfynu parhau ie, ac yn cymryd 61, bydd yn iawn, iawn fydd eich ffrind gorau, achos gallaf ddweud wrthych oherwydd fy mod i'n mynd drwy'r y dosbarth hwnnw. Rydym yn mynd i edrych ar deuaidd chwilio, ac os ydych yn guys yn cofio yr enghraifft llyfr ffôn wych olygfa o'r dosbarth. Byddwn yn gweithredu hynny, a cerdded trwy hynny ychydig yn fwy, ac yna rydym yn mynd drwy bedair wahanol fathau, sef Bubble, Dewis, Mewnosod, a Cyfuno. Cool. Felly, GDB fel y soniais, yn dadfygiwr. Ac mae'r rhain yn fath o yr mawr pethau, mae'r swyddogaethau mawr neu'r gorchmynion eich bod yn defnyddio o fewn GDB, a byddaf yn cerdded chi drwy demo ohono mewn eiliad. Felly, nid yw hyn yn unig mynd i aros haniaethol. 'N annhymerus' ceisio gwneud mor concrid â phosibl i chi guys. Felly, torri. Bydd yn naill ai fod egwyl fel, mae rhai rhif, a oedd yn yn cynrychioli llinell yn eich rhaglen, neu gallwch enwi swyddogaeth. Felly, os byddwch yn dweud torri prif, bydd yn stopio ym mhrif, ac yn gadael i chi gerdded drwy'r swyddogaeth honno. Yn yr un modd, os oes gennych rai allanol weithredu fel Swap neu Cube, ein bod yn edrych ar yr wythnos diwethaf. Os ydych yn dweud torri un o'r rheini, pryd bynnag eich rhaglen hits hynny, bydd yn aros i chi i yn dweud ei bod beth i'w wneud. Cyn y bydd yn jyst gweithredu er mwyn i chi Gallai gwirionedd gamu i mewn i'r swyddogaeth a gweld beth sy'n mynd ymlaen. Felly, Next, jyst sgipiau dros y llinell nesaf, yn mynd dros swyddogaethau. Step. Mae'r rhain i gyd yn haniaethol bach. Felly, Im 'jyst yn mynd i redeg drwyddynt, ond byddwch yn eu gweld yn cael eu defnyddio mewn eiliad. Camwch i mewn i swyddogaeth. Felly, fel yr oeddwn yn dweud, fel ag Swap, byddai'n yn caniatáu i chi mewn gwirionedd fel pe baech chi'n fel camu y tu mewn yn gorfforol, gallwch chi chwarae o gwmpas gyda newidynnau hynny, print allan beth ydynt, gweld beth sy'n mynd ymlaen. Bydd y rhestr yn llythrennol dim ond argraffu allan y cod cyfagos. Felly, os ydych yn fath o anghofio ble rydych chi yn eich rhaglen, neu os ydych yn meddwl beth sy'n digwydd o'i gwmpas, Bydd hyn yn unig argraffu segment o hoffi pump neu chwe llinell o'i gwmpas. Felly, gallwch fod yn ganolog am ble rydych chi. Argraffu rhywfaint newidyn. Felly, os ydych yn cael y allweddol fel yn Cesar, a byddwn yn edrych ar. Gallwch ddweud Print Allweddol ar unrhyw adeg. Bydd yn dweud wrthych beth yw gwerth mor hynny, efallai rhywle ar hyd y ffordd, overwrote chi eich allwedd. Alli 'n weithredol ddweud hynny oherwydd alli 'n weithredol yn arsylwi bod gwerth. Yn y bobl leol, dim ond printiau allan eich newidynnau lleol. Felly, unrhyw bryd ydych chi o fewn dolen, a 'ch jyst eisiau gweld fel, oh. Beth yw fy I? Beth yw hyn yn werth allweddol fy mod ymgychwyn fan hyn? Beth yw'r neges yn y fan hon? Bydd 'I jyst yn argraffu gyd o'r rheiny, er mwyn i chi nid oes rhaid iddynt yn unigol dweud, Print I. Print Neges. Allwedd Print. Ac yna Arddangos. Yr hyn sy'n gwneud yw wrth i chi camu drwy'r rhaglen, bydd yn jyst wneud yn siŵr ei fod yn arddangos peth newidyn penodol ar bob adeg. Er mwyn i chi also-- --it yn fath o shortcut lle Nid oes rhaid i chi gadw i fynd fel, oh. Print Allweddol neu Argraffu I. I jyst Bydd gwneud hyn yn awtomatig ar eich rhan. Felly, gyda hynny, rydym yn mynd i weld sut mae hyn yn mynd. Rydw i'n mynd i geisio newid drosodd i fy offer. Weld os gallaf wneud hyn. I gyd. Rydym yn jyst yn mynd i adlewyrchu hynny. Does dim byd crazy ar fy laptop anyways. OK. Mae angen i hyn fod yn yr un yma. Mae mor bach. Gadewch i ni weld os gallwn wneud hyn. OK. Alice yn amlwg yn cael trafferth dyma ychydig bach, ond byddwn yn ei gael mewn momento. OK. Rydym yn jyst yn mynd i gynyddu hyn. OK. Gall pawb fath o weld hynny? Efallai ychydig bach? Rwy'n gwybod ei fod yn ychydig yn fach. Ni allwch hollol chyfrif i maes sut i wneud hyn yn fwy. Os oes unrhyw un yn gwybod. Oes rhywun yn gwybod sut i'w wneud yn fwy? OK. Rydym yn mynd i gyflwyno ag ef. Nid yw'n fater anyways oherwydd ei fod yn unig dyna yw'r cod y dylech guys wedi. Beth sydd yn fwy pwysig yw'r derfynell yma. Ac mae gennym yma Pam ei fod mor fach? Gosodiadau. Oh. Gwir Ike. Sut ydyn nhw? Allan o yno. A yw hynny'n well i bawb? OK ,. Cool. Rydych yn gwybod pan fyddwch chi'n mewn CS anawsterau technegol dosbarth yn fath o yn rhan o the-- Felly, gadewch i ni glirio'r hyn. OK. Felly, i'r dde yma yn yr adran, oedd yn oedd gennym yma. Cesar yn ffeil weithredadwy. Felly, yr wyf yn ei gwneud yn. Felly, un peth i sylweddoli gyda GDB yn mai dim ond yn gweithio ar ffeiliau gweithredadwy. Felly, ni allwch ei redeg ar un DOTSY. Rhaid i chi wneud mewn gwirionedd yn siwr bod eich cod llunio, ac y gall fod mewn gwirionedd yn cael ei redeg. Felly, gwnewch yn siŵr nad os nad yw'n gwneud lunio, ei gael i lunio, er mwyn i chi fath o redeg drwyddo. Felly, i ddechrau GDB, i gyd chi ei wneud, Gloria Math o GDB, ac yna dim ond y ffeilio a 'ch angen. Rwyf bob amser yn misspell Cesar. Ond yr ydych am wneud yn siŵr gan ei fod yn 'an cyflawnadwy, ti yn dot fflach fel bod yn golygu eich bod yn mynd i redeg CSI ydych yn mynd i weithredu mae hyn ffeiliau naill ai gyda'r debugger. OK. Felly, yr ydych yn bod, byddwch yn cael y math hwn o gibberish. Dim ond yr holl bethau am dadfygiwr. Nid oes mewn gwirionedd yn rhaid i chi poeni am y peth ar hyn o bryd. Ac fel y gwelwch, rydym wedi hyn parens agored, GDP, parens agos, a dim ond yn fath o edrych fel ein llinell orchymyn, dde? Felly, yr hyn yr ydym am ei do-- --So, Y peth cyntaf yw ein bod am ddewis lle i dorri iddo. Felly, mae yna un bug yn y rhaglen Caesar fy mod yn cyflwyno, hynny rydym yn mynd i gael gwybod. Mae'n beth mae'n yw y mae'n ei gymryd mewnbwn Barfoo ym mhob gapiau, ac am ryw reswm nid yw'n newid A. 'I jyst yn gadael ei ben ei hun, A yw popeth arall yn gywir, ond yr ail lythyr A aros heb ei newid. Felly, rydym yn mynd i geisio chyfrif i maes pam y mae. Felly, y peth cyntaf y byddwch fel arfer am ei wneud pryd bynnag y byddwch yn dechrau ar GDB yw chyfrif i maes ble i dorri iddo. Felly Cesar yn rhaglen eithaf byr. Rydym yn unig wedi un swyddogaeth, dde? Beth oedd ein swyddogaeth yn Cesar? Dim ond un swyddogaeth, Main iawn? Main yn swyddogaeth ar gyfer eich holl raglenni. Os nad oedd gennych Main, yr wyf efallai fod ychydig yn poeni yn ar hyn o bryd, ond yr wyf yn gobeithio y byddwch i gyd wedi Main i mewn 'na. Felly, yr hyn y gallwn ei wneud yw ein bod yn gallu jyst torri Main, yn union fel hynny. Felly, y mae'n ei ddweud, OK. Rydym yn gosod ein un torbwynt yno. Felly, yn awr y peth i'w gofio yw Cesar cymryd un ymresymiad llinell orchymyn hawl ac nid ydym wedi gwneud hynny unrhyw le eto. Felly, yr hyn yr ydych yn ei wneud yw pan yr ydych mewn gwirionedd yn mynd i redeg y rhaglen, unrhyw raglen eich bod yn rhedeg yn GDB bod angen llinell orchymyn dadleuon, rydych chi'n mynd i mewnbwn pan fyddwch yn dechrau rhedeg. Felly, yn yr achos hwn, rydym yn ei wneud Rhedeg gydag allwedd o dri. A bydd yn dechrau mewn gwirionedd. Felly, os ydych yn gweld yma, rydym wedi Os nad RC yn hafal i 2. Felly os ydych yn guys i gyd yn cael bod ffeil a anfonais allan fyny youll 'canfod a dyna fel yr llinell gyntaf ein prif swyddogaeth, dde? Mae wedi gwirio i weld a oes gennym y nifer cywir o ddadleuon. Felly, os ydych yn meddwl os RC yn gywir, gallwch wneud rhywbeth yn union fel Print RC. RC yw dau, sef hyn yr oeddem yn disgwyl, dde? Felly, gallwn fynd Next, ac yn parhau trwy. Felly, mae gennym rai allwedd yno. A gallwn argraffu ein allwedd i wneud yn siŵr mae hynny'n gywir. Diddorol. Ddim yn hollol yr hyn yr oeddem yn disgwyl. Felly, un peth i wireddu gyda GDB hefyd, yn nad yw'n nes i chi daro mewn gwirionedd Nesaf, bod y llinell yr ydych newydd ei gweld ei chyflawni mewn gwirionedd. Felly, yn yr achos hwn Allwedd Nid yw wedi cael ei neilltuo eto. Felly, mae Allweddol rhywfaint o werth garbage a welwch ar y gwaelod yno. Negyddol $ 120-- --It yn un biliwn o a rhywbeth pethau rhyfedd iawn? Dyw hi ddim yn y allweddol a ddisgwylir gennym. Ond os ydym yn taro Nesaf, ac yna rydym yn ceisio Print allweddol, mae'n tri. Mae pawb yn gweld hynny? Felly, os ydych yn cael rhywbeth eich bod yn hoffi, aros. Mae hyn yn gwbl anghywir, ac nid wyf yn gwybod sut y byddai hyn yn digwydd gan fod yr holl wyf eisiau ei wneud yw aseinio rhif, newidyn, ceisiwch taro Nesaf, rhowch gynnig argraffu eto, a gweld os yw hynny'n gweithio. Oherwydd ei fod yn unig yn mynd i weithredu a mewn gwirionedd yn aseinio rhywbeth ar ôl i chi daro Next. Gwneud synnwyr i bawb? Uh huh? SIARADWR 2: Pan fyddwch yn ar hap rhifau beth mae hynny'n ei olygu? SIARADWR 1: Dim ond ar hap. Dim ond garbage. Dim ond rhywbeth y mae eich Bydd y cyfrifiadur yn neilltuo ar hap. Cool. Felly, erbyn hyn gallwn symud drwy'r, ac yn y blaen erbyn hyn mae gennym y GetString testun plaen. Felly, gadewch i mi yn unig gyflwyno beth fydd yn digwydd pan fyddwn yn taro Next yma. Mae ein GDB fath o diflannu, dde? Mae hynny oherwydd GetString yn awr yn cyflawni, dde? Felly, pan welsom destun plaen yn dychwelyd GetString, parens agored a parens, ac yr ydym yn taro Nesaf, sydd ddienyddio mewn gwirionedd nawr. Felly, mae'n aros am i ni mewnbwn rhywbeth. Felly, rydym yn mynd i gyfrannu ein bwyd sydd yn yr hyn y mae'n methu fel y dywedais wrthych ac mai dim ond yn dweud ei fod yn gorffen cyflawni, bod y cau braced yn golygu ei fod yn cyffrous allan o'r ddolen. Felly, gallwn daro Next, ac yn awr, gan fy mod yn siŵr eich bod i gyd yn gyfarwydd gan Cesar, mae hyn yw, beth sydd y llinell hon yn mynd i'w wneud. Mae'n i Int I yn dychwelyd 0, N hafal Strlen, testun plaen, ac yna Rwyf yn llai na n, I, yn ogystal, yn ogystal. Beth yw dolen hwn yn mynd i'w wneud? Agorwch eich neges. Cool. Felly, gadewch i ni ddechrau gwneud hynny. Felly, dylai amod hwn cyfateb, ar gyfer ein un cyntaf? Os yw'n B, mae'n destun plaen I. Rydym Gellir cael gwybodaeth am ein pobl leol. Felly, yr wyf yn sero, ac os bydd chwech, a oedd rydym yn disgwyl, ac mae ein allwedd yw tri. Y cyfan sydd yn gwneud synnwyr, dde? Niferoedd hynny i gyd yn union yr hyn y dylent fod. Felly, Hum? SIARADWR 3: Mae gen i rhifau ar hap i pwll. SIARADWR 1: Wel, gallwn check-- --we Gall sgwrsio am hynny mewn eiliad. Ond dylech fod yn cael hyn. Felly, os oes gennym gyfalaf B ar gyfer ein un cyntaf, Dylai cyflwr hwn yn ei ddal, dde? Felly, os ydym yn taro Nesaf, rydym yn gweld mai Os yw hyn mewn gwirionedd yn executes. Oherwydd os ydych yn dilyn ynghyd yn eich cod, y llinell hon yma, lle testun plaen I yn cael ei disodli gan rhifyddeg hwn, ond yn executes os yw'r Os cyflwr yn iawn yn gywir? GDB Dim ond yn mynd i ddangos i chi pethau sy'n cael eu gweithredu mewn gwirionedd. Felly, os nad yw hyn cyflwr Pe ei gwrdd, 'i' jyst yn mynd i neidio at y llinell nesaf. OK? Felly, mae gennym hynny. Y band yn golygu ei fod yn cau allan o'r cylch hwnnw erbyn hyn. Felly, mae'n mynd i ddechrau eto. Yn union fel 'na. Felly, y gallwn gael gwybodaeth am ein pobl leol yma, ac rydym yn gweld bod ein cyntaf llythyr wedi newid, dde? Mae'n awr yn E, fel y dylai fod. Felly, gallwn barhau ar. Ac yr ydym wedi gwiriad hwn. A dylai gwiriad hwn yn gweithio, dde? Mae'n A. Dylid ei newid tri llythyr ymlaen. Ond os byddwch yn sylwi, rydym yn cael rhywbeth gwahanol. Felly, yn yr achos yma, mae'n dal iddo, ac felly mae hyn yn llinell ddienyddio, oedd yn addasu ein B. Ond, yn yr achos yma, rydym wedi bod 'i jyst ei hepgor, ac aeth at y [? Siff L. ?] Felly, rhywbeth sy'n mynd ymlaen yno. Yr hyn sy'n cael ei ddweud wrthych chi yw, rydym yn gwybod y dylai ddal yma, ond dyw e ddim. A all unrhyw un weld beth mae ein broblem yw yn y llinell? Mae'n beth munud iawn. A gallech hefyd yn edrych ar eich cod. Mae hefyd yn line-- anghofio pa linell y mae yn there-- namyn 'i' yn y [Anghlywadwy]. Ie? SIARADWR 4: Mae'n ar y fwy na dudalen os ydych yn ei ddarllen yn y llyfr. SIARADWR 1: Yn union. Felly, ni allai'r debugger ddweud eich bod yn, ond mae'r debugger Gellid mynd â chi i lawr i linell nad ydych yn gwybod nad yw yn gweithio. Ac weithiau, pan yn enwedig yn ddiweddarach yn y semester, pan ydych yn delio ag cant, a cant ychydig o linellau o god, ac rydych ddim yn gwybod ble mae'n methu, mae hwn yn ffordd wych o wneud hynny. Felly, rydym yn dod o hyd ein bug. Gallwch drwsio yn eich ffeil, ac yna gallech redeg eto, a byddai popeth yn gweithio'n berffaith. A'r peth mwyaf yw Gall hyn ymddangos fel, OK. Yeah. Cool. Rydych yn gwybod beth rydych chi'n chwilio amdano. Felly, rydych yn gwybod beth i'w wneud. Gall GDB fod super ddefnyddiol oherwydd eich bod Gellir argraffu yr holl bethau hyn sy'n eich Ni fyddai. Mae'n llawer mwy defnyddiol nag printf. Faint ohonoch chi ei ddefnyddio fel datganiadau printf i chyfrif i maes ble roedd yn bug, dde? Felly, gyda hyn, nid ydych yn ei wneud rhaid i gadw i fynd yn ôl, ac yn hoffi rhoi sylwadau mewn Printf, neu sylwadau allan, a chyfrif i maes beth dylech fod yn argraffu. Mae hyn mewn gwirionedd yn unig yn caniatáu i chi gamu drwy, argraffu pethau fel eich bod yn mynd drwy, felly, gallwch arsylwi sut maent yn newid mewn amser real, fel eich rhaglen yn rhedeg. Ac mae'n cymryd ychydig ychydig o ddod i arfer â. Byddwn yn argymell yn unig fath o fod ychydig yn rhwystredig ag ef am ar hyn o bryd. Os ydych yn treulio awr dros y Yr wythnos nesaf, yn dysgu sut i ddefnyddio GDB, y byddwch yn arbed eich hun cymaint o amser yn nes ymlaen. Ac yn llythrennol. byddwn yn dweud hwn i bobl bob blwyddyn, ac yr wyf yn cofio pan oeddwn yn cymryd y dosbarth, yr wyf yn hoffi, byddaf yn iawn. Rhif Daeth Pset 6 am ac roeddwn yn fel, Im 'gonna yn dysgu sut i ddefnyddio GDB am nad wyf yn ei wneud gwybod beth sy'n digwydd yma. Felly, os ydych yn cymryd yr amser felly ei ddefnyddio ar raglenni llai eich bod yn mynd i fod yn yn gweithio ar, megis weithio trwy rywbeth tebyg Visionare, fel hyn. Neu os ydych am ymarfer ychwanegol, rwy'n siŵr Y gallwn i ddod o hyd i raglenni buggy, i chi i debug os hoffech. Ond os ydych yn unig yn cymryd peth amser i ddod i arfer ag ef, dim ond chwarae o gwmpas ag ef, bydd yn wir yn eich gwasanaethu yn dda. Ac mae'n wir yn un o pethau hynny yr ydych newydd rhaid i ni geisio, ac yn cael eich dwylo budr gyda, cyn i chi wir yn ei ddeall. Fi 'n sylweddol dim ond unwaith yn deall ei Bu'n rhaid i mi debug pethau ag ef, ac mae'n llawer brafiach i gael syniad o sut i debug gynt yn hytrach nag yn hwyrach. OK. Cool. Gwn fod fath o fel gwrs carlam mewn GDB, a byddaf yn bendant yn gweithio ar gael hyn i edrych yn fwy y tro nesaf. Cool. Felly, os ydym yn mynd yn ôl at ein PowerPoint. A yw hyn yn mynd i weithio? AWH. Ie. OK. Felly, os ydych chi erioed angen unrhyw un o'r hynny eto, mae y rhestr. Chwilio Felly Binary, y mae pawb cofio'r olygfa mawr Dafydd ripping llyfrau ffôn yn ei hanner. Dydw i ddim wir yn cael y llyfrau ffôn anymore, oherwydd fel ble rydych chi'n cael llyfrau ffôn y dyddiau hyn? Fi 'n sylweddol ddim yn gwybod. Mae'r Chwilio Binary. A oes unrhyw un yn cofio pa mor Binary Chwilio yn gweithio? Unrhyw un o gwbl? Yeah? SIARADWR 5: Rydych yn gwybod pryd ydych yn edrych ar pa hanner byddai er, Ar sail hynny, a chael gwared ar yr hanner arall. SIARADWR 1 Yn union. Felly, Chwilio Binary, mae'n fath o a-- --we hoffi ei alw yn rhannu ac yn gorchfygu. Felly, beth y byddwch yn ei wneud yw byddwch yn edrych yn y canol, a byddwch yn gweld os bydd yn cyd-fynd hyn yr ydych yn chwilio am. Ac os nad yw'n gwneud hynny, yna rydych yn ceisio chyfrif i maes, a yw'n mynd i gael ei adael hanner neu'r hanner cywir. Felly, gallai hyn fod os ydych yn chwilio yn rhywbeth sydd wedi alphabetized, chi'n gweld, oh. A yw Allison ddod o flaen M? Ie. Felly, rydym yn mynd i edrych ar yr hanner cyntaf. Neu gallai fod yn debyg â rhifau. Unrhyw beth y gallwch cymharu, gellir ei datrys. Gallwch ddefnyddio chwiliad deuaidd ar. Felly, unrhyw un yn cofio hyn graff neu beth yw hwn? Mae'n Cymhlethdod asymptotic. Felly, graff hwn yn unig yn disgrifio pa mor hir y mae'n yn mynd â chi i ddatrys problem fel byddwch yn cynyddu nifer o bethau eich bod yn defnyddio. Felly, mae gennym N, sef amser llinol. Os N dros ddwy, sydd ychydig yn yn well, yn dal i tyfu super gyflym. Ac yna rydym wedi Logio mewn, sef yr hyn yr ydym yn ystyried Chwilio Binary. Os ydym yn sylwi, fel eich problem yn cael mwy o faint o lawer a llawer, yr amser mae'n ei gymryd i chi ei datrys nid yw'n wir yn cynyddu cymaint â hynny. Mae fel cymaradwy yma yn y dechrau. Ydych chi fel, OK. Unrhyw beth nad yw yma yn gwneud 'n sylweddol waeth pa un yr ydym yn ei ddefnyddio, ond byddwch yn cael allan at filiwn, a biliwn. Rydych yn ceisio dod o hyd some-- --you're ceisio dod o hyd i nodwydd mewn tas wair. Rwy'n credu eich bod am y broblem hon. Rydych am cymhlethdod hwn, nid llinellol gan fod ar gyfer yr holl chi adnabod eich gonna yn cael ei chwilio drwy pob nodwydd unigol, beth y gwair, yn ceisio chwilio am eich nodwydd. Ac nid dyna'r rhy hwyl yn fy marn i. Rwy'n hoffi gyflym. Rwy'n hoffi effeithlon. A myfyrwyr wrth gweithio'n galed i chi guys yw, eich bod yn gwybod yn fwy craff, Nid galetach fath beth, sut yr ydych yn Gall wneud iawn algorithmau hyn. Felly, rydym yn mynd i gerdded drwy dim ond esiampl gyflym. Rwy'n meddwl y dylech chi guys gael llaw ar Search Binary, ond rhag ofn bod rhywun yn ychydig fuzzy, yn awyddus i atgyfnerthu iddo, rydym yn mynd i jyst yn mynd drwy esiampl yma. Felly, rydym yn chwilio am, os yr amrywiaeth yn cynnwys saith. Felly, peth cyntaf yr ydym yn ei wneud yw edrychwch yn y canol, dde? A hefyd eich bod yn mynd i gael eu codio Chwilio Binary mewn dim ond eiliad. Felly, mae'n mynd i fod yn hwyl. Felly, rydym yn edrych yn y araeau bach canol 3. A yw 3 gyfartal 7? Nad yw'n gweithio. Mae'n chwech. Felly, a yw'n llai na neu'n fwy na saith? Llai na. Ie. Swyddi guys Nice. Rwy'n teimlo fy mod yn hoffi dylwn rhaid i Candy oherwydd fy mod eisiau ei daflu allan i'r iardiau. Mae'n hyn yr wyf am ei wneud yr wythnos nesaf. Bydd yn rhoi gwybod i chi guys miniog. Felly, rydym yn taflu bod hanner cyntaf, dde? ei fod yn llai na. rydym yn gwybod bod popeth ar yr ochr chwith yn mynd i fod yn llai na'r hyn a rydym yn mewn gwirionedd yn chwilio am. Felly, nid oes angen i talu sylw iddo. Dim ond yn anghofio am y peth. Felly, nawr rydym yn edrych ar ein ochr dde, ac yr ydym yn edrych ar y canol dros yno, ac yn awr ei fod yn naw. Felly, 9 yw-- --Everyone? Fwy na'r hyn rydym yn chwilio am, dde? Felly, rydym yn mynd i daflu popeth i ffwrdd i'r dde. Fel 'na. Yn awr, i gyd rydym yn weddill yw un. Felly rydym yn gwirio, mae hyn yn un beth rydym yn chwilio amdano? y mae. Rydym yn dod o hyd i hyn yr ydym ei eisiau. Felly, rydym yn ei wneud. Bilinear Search. Ac os ydych yn sylwi, rydym yn Roedd gan saith mewnbynnau yno. Dim ond yn mynd â ni yn hoffi dair gwaith, ond os ydych chi'n ei wneud fel biliwn, rydych guys yn gwybod faint o gamau y byddai ei cymryd pe bai gennym i bedwar biliwn o bethau? Unrhyw ddyfalu? Mae'n 32. 32 camau i ddod o hyd i rywbeth mewn i bedwar biliwn o Elfen amrywiaeth oherwydd bwerau o ddau. Felly ddau yw i 32, mae i bedwar biliwn. Pa mor mor bert crazy eich bod yn dal i fod o fewn fel nifer gweddol fach o gamau dod o hyd i rywbeth yn i bedwar biliwn o elfen. Felly, ar y nodyn hwnnw, rydym yn mynd i cod hwn felly gallwch chi guys mewn gwirionedd fath o weld sut mae hyn yn gweithio. Mae pob hawl, er mwyn i chi guys cod. Rydw i'n mynd i adael i chi guys siarad am ychydig bach. Dod i adnabod pobl o'ch cwmpas, sef beth mae rhywun am ei gael gan yr adran olaf. Felly, dod i adnabod y bobl o'ch cwmpas. Siaradwch am ychydig. A'r cyfan yr wyf am ei gael i chi guys ar hyn o bryd yn unig ceisio creu amlinelliad o'r pseudocode. OK? Whoa. Y cyfan yr wyf am ei gael gan eich bod guys yw eich bod yn jyst yn mynd i lenwi'r yn yr achos tra. Felly, yr wyf wedi gosod y rhain uchaf i nerth is nad cynrychioli y dechrau ac ar ddiwedd ein arae. A ydych yn mynd i mewn gwirionedd dolen drwy a chyfrif i maes yr hyn rydym yn ei wneud o fewn y dolen tra. Felly, os gallwch chyfrif i out-- gen i awgrym there-- beth yw'r achosion sydd gennym yma? Felly, os ydych am i chyfrif i maes y achosion, byddwn yn pseudocode rheini ac yna byddwn mewn gwirionedd yn eu cod. Ac mae'n mynd i fod, yr wyf yn yn credu, gobeithio ei fod annhymerus fod ychydig yn haws na'r disgwyl. Oherwydd nad yw'n bod llawer o cod, mewn gwirionedd, sydd yn 'n sylweddol oera. Mm-EM? MYFYRIWR: [Anghlywadwy]? HYFFORDDWR: Ydw. Roedd rhywbeth i ddod o hyd yn y canol. MYFYRIWR: Felly, gallwn ddefnyddio hynny. OK. HYFFORDDWR: Perffaith. Felly dyna'r peth cyntaf mae angen i ni ei wneud. Felly dod o hyd i'r canol. Great. Felly, a oes gennych syniad o sut y gallem mewn gwirionedd yn dod o hyd i'r canol gyda cod? MYFYRIWR: Yeah. n dros 2? HYFFORDDWR: Felly n dros 2. Felly, un peth i'w gofio yw bod eich arffiniau uchaf ac isaf yn newid. Rydym yn cadw yw cyfyngu y rhan y rhesi rydym yn edrych i. Felly n dros 2 yn unig yn gweithio am y peth cyntaf a wnawn. Felly, gan gymryd uchaf ac isaf i ystyriaeth, sut y gallem gael yr elfen honno canol? Oherwydd ein bod am i'r canol rhwng uchaf ac isaf, dde? Mm-EM? MYFYRIWR: [Anghlywadwy]. HYFFORDDWR: Felly, mae gennym rai canol. A bydd yn cael ei uchaf ynghyd is dros 2. Awesome. Dyna ni. Un i lawr lein. Rydych guys yn ar eich ffordd. Felly nawr bod gennym ein canol, beth ydym ni eisiau ei wneud? Dim ond yn gyffredinol. Nid oes rhaid i chi ei godio iddo. Ie. MYFYRIWR: [Anghlywadwy]? HYFFORDDWR: Felly mae'n ynghyd am eich bod dod o hyd i'r cyfartaledd rhwng y ddau ohonynt. Felly, os ydych yn meddwl amdanynt fel math o gynyddu i mewn o'r ochr, meddwl am y peth wrth i chi nesáu y canol, yr ydych am fel 'na. Felly, os ydych yn ar y naill ochr a'r llall i'r canol, ac mae gennym yn hoffi 5 a 7. Pan fyddwch yn ychwanegu nhw at ei gilydd i chi cael 12, rydych rannu â 2, yw 6. Weithiau mae'n anodd esbonio pam fod yn gweithio, ond os ydych yn gweithio drwy enghraifft weithiau, bydd yn eich helpu i chyfrif i maes os dylai fod yn plws neu finws. Ie. MYFYRIWR: [Anghlywadwy] yn union yn y canol pe bai ganddynt achos lle mae llawer o niferoedd llai ac fel un nifer fawr? HYFFORDDWR: Felly yr holl ei angen arnoch yn nghanol y rhesi. Felly, os ydych wedi cael criw o rifau bach ac yna un rhif yn wirioneddol fawr ar y diwedd, does dim ots. Mae'r holl sy'n bwysig yw bod maent yn didoli, 'ch jyst am edrych ar ganol yr amrywiaeth oherwydd eich bod yn dal i fod yn sleisio eich problem yn ei hanner. Cool. Felly nawr bod gennym y canol, beth ydym ni'n ei wneud nesaf? MYFYRIWR: Cymharu. HYFFORDDWR: Y cymharu. Felly cymharu canol i value_wanted. Cool. Felly, byddwch yn gweld hyd yma rydym wedi gwerth hwn, rydym am i fyny yma. Cofiwch mae hwn yn arae. Felly canol yn cyfeirio at y mynegai. Felly rydym am ei wneud gwerthoedd canol. Cofiwch, os ydych chi am i gymharu, gyfartal dwbl. Rydych yn gwneud sengl yn dychwelyd eich bod jyst yn mynd i ail-neilltuo iddo, ac yna, wrth gwrs, 'i' mynd i fod yn y gwerth yr ydych ei eisiau. Felly peidiwch â gwneud hynny. Felly, rydym yn mynd i weld os y gwerthoedd yn y canol yn hafal i'r gwerth yr ydym ei eisiau. Peidiwch ag anghofio eich braces. Dylai Dropbox yn mynd i ffwrdd. Felly, beth ydym yn ei wneud yn yr achos hwn? Os yw'n beth ydyn ni eisiau ei ddychwelyd? Rydym yn ceisio ei ddweud. MYFYRIWR: Printiwch. HYFFORDDWR: Wel, rydym yn nad ydych am i argraffu. Felly mae hwn yn bool yma, felly rydym am ddychwelyd yn wir neu'n anwir. Rydym yn dweud, yw'r rhif hwn yn [? RRA? ?] Felly, os ydyw, rydym yn unig ddychwelyd o'n wir. Os gallaf sillafu wir. MYFYRIWR: Pam na fyddech yn dychwelyd sero? HYFFORDDWR: Felly gallech dychwelyd sero os ydych yn dymuno. Ond yn yr achos hwn oherwydd ein swyddogaeth yn dychwelyd bool, mae angen i ni ddychwelyd un ai gwir neu gau. MYFYRIWR: Pan fyddwch yn gan ddweud mynegiant boolean, gallwch ei osod yn hafal i anwir? Fel os wyf am ei ddweud, os bydd y cyflwr hwn Nid yw yn cael ei fodloni, fel yn uchaf yn dychwelyd ffug. A fydd yn deall os ydych yn unig rhoi ffug ar yr ochr arall? HYFFORDDWR: Yeah. Felly, mewn gwirionedd, os ydych yn erioed wedi gwneud rhywbeth fel yn uchaf neu yn is, sy'n dychwelyd wir neu'n anwir ac mae'n arddull ddrwg mewn gwirionedd i dyweder yn hafal hafal wir neu gyfartal yn dychwelyd ffug. Ydych am ddefnyddio y canlyniad wrth ei hun fel eich siec. Nid yw hyn yr oeddwn i eisiau. Dyna beth oeddwn i eisiau. Felly, yn achos yr ydych yn gofyn am rywbeth tebyg i arbed hyn mewn c. Felly, os oes gennym int brif (gwagle) a rhywbeth fel hyn. Ac mae gennych os yn uchaf o ryw mewnbwn ac rydych yn yn gofyn os gallwch chi ei wneud rhywbeth fel hyn? Hawl? MYFYRIWR: Yr oeddwn yn ceisio i wneud hynny [Anghlywadwy]. Oherwydd os it's-- HYFFORDDWR: Iawn. Felly rydych am i hyn fod yn ffug, dde? MYFYRIWR: Yeah. HYFFORDDWR: Felly, yn yr achos hwn i chi am iddo weithredu os nad yw'n wir. Felly, y peth oera chi ei wneud mae hyn. Felly cofiwch ebychnod pwynt negyddu'r pethau? Mae'n dweud [Anghlywadwy] Nid ei olygu. Felly, os ydym yn edrych ar dim ond rhan hon yma, byddech yn dweud bod yn gwerthuso i ffug fel yr ydych am iddo. Nid yw ffug yn wir sydd yn golygu y byddai hyn yn gweithredu. A yw hynny'n gwneud synnwyr? MYFYRIWR: Yeah. HYFFORDDWR: Awesome. OK. Felly gallem dim ond yn dychwelyd yn wir yn yr achos hwn. Felly nawr mae gennym ddau arall achosion yn yr achos hwn. Beth yw ein dau achos arall? Gadewch i jyst yn ei wneud fel hyn. Felly gadewch i ni ddechrau gyda arall os yw gwerthoedd yn y canol yn llai na gwerth yr ydym ei eisiau. Felly mae ein gwerth yn y canol yn llai na gwerth yr ydym yn chwilio am. Felly, sy'n rhwymo ydych chi'n meddwl ein bod am ddiweddaru? Uchaf neu'n is? Upper? Felly, pa ochr o'r arae ydym yn mynd i fod yn edrych ar? MYFYRIWR: Y is. HYFFORDDWR: Yr ydym ydym ni'n mynd i fod yn edrych ar y chwith. Felly arall os yw fawr o werth yn llai. Felly eich gwerth canol yma yn llai na'r hyn yr ydym ei eisiau. Felly, rydym yn awyddus i gymryd y ochr dde ein arae. Felly, rydym yn mynd i diweddaru ein is rhwymo. Felly, byddwn yn ail-neilltuo ein is. A beth yn eich barn chi y dylai is fod? MYFYRIWR: Mae gwerth canol? HYFFORDDWR: Felly mae'r value-- canol MYFYRIWR: Plus 1. HYFFORDDWR: --plus 1. A all unrhyw un ddweud wrthyf pam mae gennym hynny ac 1? MYFYRIWR: [? Nid oes unrhyw werth?] yn fwy cyfartal iddo. HYFFORDDWR: Iawn. Gan ein bod eisoes yn gwybod bod Nid yw ein gwerth canol yn hafal i ac rydym am i wahardd iddo o pob chwiliad dilynol. Os byddwch yn anghofio hynny ynghyd ag 1, mae hyn Bydd hoffi dolen am gyfnod amhenodol. A byddwch yn unig gael eu dal mewn dolen ddiddiwedd ac yna byddwch segfault ac mae pethau'n mynd yn ddrwg. Felly, bob amser yn gwneud yn siwr nad ydych yn gan gynnwys y gwerth yr ydych newydd edrych ar. Felly, rydym yn gofalu am hynny gyda plws 1. Felly nawr rydym wedi ein gyflwr diwethaf yr wyf bob amser er mwyn diogelwch gallwch edrych yma, arall os yw gwerth yn y canol yn fwy na'r gwerth yr ydym ei eisiau. Mae hynny'n golygu ein bod am yr hanner ar y chwith. Felly, pa un a ydym yn mynd i ddiweddaru? Uchaf. A beth yw hyn yn un yn mynd i fod yn gyfartal? Canol minws 1, oherwydd, wrth gwrs, yr ydym am i wneud yn siŵr nad ydym yn gan edrych ar y gwerth canol eto. Ac yna mae gennym iddo. Dyna ni. Dyna i gyd chwiliad deuaidd yw. Dyw hi ddim mor ddrwg, dde? Mae fel 10 llinell o Cod gyda gofod gwyn. Mor bwerus iawn, yn ddefnyddiol iawn, byddwch yn cael ei ddefnyddio mewn un o'ch psets diweddarach. Efallai nad yw hyn yn un, ond yn ddiweddarach. Felly dysgu. Wrth eu bodd. Bydd yn eich trin yn dda. Felly, oes unrhyw un yn cael unrhyw cwestiynau ar chwiliad deuaidd? Ie. MYFYRIWR: A yw o bwys a yw eich n yn oed neu'n od? HYFFORDDWYR: Na Oherwydd ein bod yn bwrw i'r canol fel yn int, bydd yn jyst gwtogi'r amser iddo. Felly bydd yn aros yn gyfanrif a bydd yn yn y pen draw didoli drwy bopeth. Felly nid oes rhaid i chi boeni am hynny. Mae pawb yn dda? Awesome. Cool. Felly, rydych guys got hyn. Sioe sleidiau. Felly, gan ein bod yn sôn amdano, yr wyf yn gwybod Soniodd David runtimes cymhlethdod. Felly, yn yr achos gorau, 'i' jyst un, yr ydym yn galw amser cyson. A all unrhyw un ddweud wrthyf pam y gallai hynny fod? Pa fath o senario a fyddai'n ei olygu? Mm-EM. MYFYRIWR: [Anghlywadwy] first-- HYFFORDDWR: Felly y canol yw'r elfen gyntaf yr ydym yn dod i, dde? Hynny naill ai amrywiaeth o un neu beth bynnag yr ydym yn chwilio am ddim ond digwydd bod dab smack yn y canol. Felly dyna ein achos gorau. Byddwch yn cael i mewn i broblemau go iawn, yn ôl pob tebyg nid yw mynd i gyrraedd [Anghlywadwy] yn aml. Beth am ein achos gwaethaf? Mae ein achos gwaethaf yw log n. Ac mae hynny wedi ei wneud gyda y cyfan bwerau o ddau peth yr wyf yn siarad am. Felly, yn yr achos gwaethaf byddai'n golygu bod yn rhaid i ni i dorri i lawr y rhesi hyd nes ei fod yn elfen o un. Felly roedd yn rhaid i dorri i lawr yn ei hanner gymaint o weithiau ag y gallai o bosibl. Dyna pam ei bod yn log n oherwydd 'ch jyst cadw rhannu â dau. Felly rhagdybiaethau, y pethau yr ydych Mae angen i ni wybod os ydych chi erioed wedi mynd i ddefnyddio chwiliad deuaidd. Rhaid i'ch elfennau eu datrys. Mae'n rhaid iddynt gael eu datrys oherwydd bod dyna'r unig ffordd i chi Gall gwybod os ydych yn gallu i daflu allan hanner ohono. Os ydych wedi cael y bag cymysgu o rifau ac rydych yn ei ddweud, OK, yr wyf i'n mynd i edrych ar y canol rhif a nifer rwy'n chwilio am yn llai na hynny, Im 'jyst yn mynd i daflu allan fympwyol un hanner. Fyddech chi ddim yn gwybod os yw eich niferoedd yn yr hanner arall. Mae eich rhestr wedi cael ei datrys. Yn ogystal, gall hyn fod yn mynd yn ei flaen ychydig, ond mae angen i chi gael mynediad ar hap. Mae angen i chi fod yn gallu jyst ewch at yr elfen ganol. Os oes rhaid i chi deithio ar draws trwy rywbeth neu mae'n cymryd camau ychwanegol i chi i gyrraedd yr elfen ganol, nid yw'n log n mwyach gan eich bod yn ychwanegu mwy o waith i mewn iddo. A bydd hyn yn gwneud ychydig yn mwy o synnwyr mewn pythefnos, ond Fi jyst fath o eisiau rhagair, rhoi syniad o beth sydd i chi guys i ddod. Ond dyna'r ddau tybiaethau pwysig sydd ei angen arnoch i gael rhestr deuaidd. Gwnewch yn siŵr ei fod yn datrys. Dyna yr un mawr i chi guys ar hyn o bryd. Ac ar y gallwn fynd i mewn i gweddill ein math. Felly pedwar swigen sorts--, mewnosod, dethol, ac yn uno. Maen nhw i gyd yn fath o oer. Os byddwch yn guys penderfynu cymryd CS 124, byddwch yn dysgu am bob math o ryw fath. Ac os ydych yn gefnogwr XKCD, yna yn ymwneud comig 'n sylweddol oera fel math wir yn aneffeithiol, yr wyf yn dal argymell eich bod yn mynd i edrych ar. Mae un ohonynt yn debyg i fath panig, a oedd yn yn debyg, o na, yn dychwelyd array hap. System Shutdown. Gadewch. Felly hiwmor geeky yn bob amser yn dda. Felly, mae unrhyw un yn cofio garedig o fel dim ond syniad cyffredinol o sut fath swigen yn gweithio. Rydych yn cofio? MYFYRIWR: Yeah. HYFFORDDWR: Ewch amdani. MYFYRIWR: Felly, ydych yn mynd trwy ac os yw'n fwy, yna rydych yn cyfnewid y ddau. HYFFORDDWR: Mm-EM. Yn union. Felly, 'ch jyst ailadrodd drwy'r. Yn gwirio dau rif. Os yw'r un o'r blaen yn fwy nag yr un ar ôl hynny, 'ch jyst yn eu cyfnewid fel bod yn y ffordd hon bob un o'r niferoedd uwch swigen i fyny tuag at ddiwedd y rhestr a holl rifau is swigen i lawr. A oedd ei fod yn dangos i chi guys y oer effaith sain didoli fideo? Mae'n fath o oer. Felly, fel Robert newydd ei ddweud, mae'r algorithm eich bod jyst gamu drwy'r rhestr, gyfnewid gwerthoedd cyfagos os dydyn nhw ddim mewn trefn. Ac yna jyst cadw ailadrodd hyd nes nad ydych yn gwneud unrhyw gyfnewidiadau. Felly nid drwg, dde? Felly, rydym yn unig yn cael enghraifft hwylus yma. Felly, mae hyn yn mynd i ddatrys iddynt mewn trefn esgynnol. Felly, pan fyddwn yn mynd drwy'r cyntaf amser, rydym yn edrych trwy wyth a chwech nid yn amlwg yn er, rydym yn eu cyfnewid. Felly, yn edrych ar yr un nesaf. Wyth a phedwar heb fod mewn trefn. Yn eu cyfnewid. Ac yna wyth a dau, cyfnewid nhw. Dyna ni. Felly, ar ôl eich tocyn cyntaf, byddwch yn gwybod bod eich rhif mwyaf yn mynd i fod yr holl ffordd ar y brig oherwydd ei fod yn unig mynd i fod yn gyson fwy na phopeth arall a 'i' jyst yn mynd i swigen i fyny yr holl ffordd hyd y diwedd yno. Ydy hynny'n gwneud synnwyr i bawb? Cool. Felly, yna rydym yn edrych ar ein hail pasio. Chwech a phedwar, switsh. Chwech a dau, switsh. Ac yn awr mae gennym ychydig o bethau mewn trefn. Felly, ar gyfer pob tocyn yr ydym gwneud drwy ein rhestr gyfan, rydym yn gwybod bod fel 'na nifer o rifau ar y diwedd wedi cael eu datrys. Felly, rydym yn gwneud trydydd llwyddo, sy'n un cyfnewid. Ac yna ar ein pedwerydd pasio, mae gennym sero slotiau. Ac felly rydym yn gwybod bod ein amrywiaeth wedi cael ei datrys. A dyna yw'r mawr beth gyda'r math swigen. Rydym yn gwybod bod pan fyddwn wedi sero cyfnewidiadau, bod yn golygu bod popeth mewn cyflwr cyflawn. Mae'n fath o sut rydym yn gwirio. Felly, rydym hefyd yn mynd i cod swigen didoli sydd hefyd nad yw hynny'n ddrwg. Nid yw'r un o'r rhain yn y drwg. Rwy'n gwybod y gallant ymddangos ychydig yn frawychus. Rwy'n gwybod pan fyddaf yn cymryd y dosbarth, hyd yn oed pan oeddwn yn addysgu'r dosbarth ar gyfer y tro cyntaf y llynedd, Roeddwn yn hoffi, sut ydw i'n gwneud hyn? Mae'n gwneud synnwyr mewn theori, ond sut rydym yn mewn gwirionedd yn gwneud hyn? Pa un yw pam yr wyf hefyd yn awyddus i gerdded trwy cod gyda chi guys yma. Felly mae gen i pseudocode i chi guys y tro hwn. Felly, jyst cadw hyn mewn cof wrth rydym chi ar fin trosglwyddo drosodd. Felly, mae gennym rai cownter sy'n cadw golwg ar ein cyfnewidiadau, oherwydd mae angen i ni wneud yn siŵr bod ein bod yn gwirio bod. Ac rydym yn ailadrodd y casgliad cyfan fel yr ydym newydd y gwnaeth gyda'r enghraifft hon. Os yw'r elfen o'r blaen yn fwy na'r yr elfen ar ôl ble rydym ni yn, rydym yn eu cyfnewid ac rydym cynyddiad ein cownter oherwydd cyn gynted ag y byddwn yn cyfnewid, rydym am adael i'n cownter yn gwybod bod. Unrhyw gwestiynau yno? Rhywbeth yn ymddangos yn ddoniol dros yma. MYFYRIWR: A ydych yn gosod y cownter i sero bob tro y byddwch yn mynd drwy'r ddolen? Peidiwch â ydych yn dal i fynd yn ôl i sero bob tro? HYFFORDDWR: Dim o reidrwydd. Felly beth sy'n digwydd yw ein mynd drwy fan hyn. Felly wneud tra, cofiwch, mae hyn , yn gweithredu unwaith yn ddi-ffael. Felly, mae'n mynd i osod y cownter gyfartal i sero, Yna, mae'n mynd i ailadrodd drwy'r. Gan ei ailadrodd drwy, bydd yn diweddaru'r cownter. Gan ei diweddaru cownter, pan mae'n ei wneud, pan gaiff ei cyrraedd diwedd y array, os nad yw ein rhestr wedi'i didoli, Bydd y cownter wedi cael eu diweddaru. Felly, yna mae'n gwirio'r cyflwr ac mae'n Meddai, OK, yn cownter fwy na sero. Os ydyw, yn ei wneud eto. Eich bod am ailosod er mwyn i pan fyddwch yn mynd drwy, cownter yn hafal i sero. Os byddwch yn mynd trwy ddidoli array, nid oes dim yn newid, hyn yn methu, ac rydych dychwelyd y rhestr didoli. Ydy hynny'n gwneud synnwyr? MYFYRIWR: gallai o dan yr ychydig It. HYFFORDDWR: OK. Os oes unrhyw un arall cwestiwn sy'n dod i fyny. Ie. MYFYRIWR: Beth fyddai swyddogaeth fod ar gyfer cyfnewid yr elfennau? HYFFORDDWR: Felly, gallwn ysgrifennu mewn gwirionedd bod os ydym yn mynd i'r dde yn awr. Cool. Felly, ar y nodyn hwnnw, Alison yn mynd i newid yn ôl i'r peiriant. Mae'n mynd i fod yn hwyl. Ac rydym wedi ein glws swigen fath beth yma. Felly, yr wyf eisoes yn gwneud beicio trwy'r casgliad. Rydym wedi ein cyfnewidiadau sy'n yn gyfartal i sero. Felly, rydym yn awyddus i gyfnewid cyfagos elfennau os ydynt yn allan o drefn. Felly, y peth cyntaf mae angen i ni ddim yn cael ei ailadrodd drwy ein casgliad. Felly, sut ydych chi'n meddwl y gallem ailadrodd drwy ein casgliad? Gennym ar gyfer a fi yn hafal i 0. Rydym am i fod yn llai nag n minws 1 llai k. A byddaf yn egluro hynny mewn eiliad. Felly mae hwn yn optimization yma lle, cofio sut y dywedais ar ôl pob tocyn drwy'r amrywiaeth rydym gwybod bod beth bynnag yn on-- Felly, ar ôl un pas i ni yn gwybod bod hyn yn cael ei datrys. Ar ôl dau lwyddiant rydym yn gwybod bod hyn i gyd yn cael ei sortio. Ar ôl tri o docynnau i ni gwybod bod ei datrys. Felly, y ffordd dw i'n ailadrodd drwy'r amrywiaeth yma, yw ei fod yn gwneud yn siwr i fynd yn unig drwy'r hyn yr ydym yn gwybod ei heb eu didoli. OK? Dyna dim ond optimization. Gallech ysgrifennu ei ddiniwed yn unig ailadrodd trwy bopeth, byddai'n jyst cymryd mwy o amser. Gyda hyn pedair dolen 'i' dim ond Optimization 'n glws oherwydd rydym yn gwybod bod ar ôl pob llawn iteriad drwy'r amrywiaeth yma, fel pob dolen llawn yma, rydym yn gwybod bod un yn fwy o'r elfennau hyn Bydd yn cael ei ddidoli ar y diwedd. Felly, nid ydym yn rhaid i chi boeni am hynny. Ydy hynny'n gwneud synnwyr i bawb? Mai ychydig castia oer? Felly, yn yr achos hwnnw, os rydym yn ailadrodd drwy, yr ydym yn gwybod ein bod am i gadarnhau a oes amrywiaeth n a n ac 1 mewn trefn. OK. Felly dyma y pseudocode. Rydym yn awyddus i gadarnhau a oes amrywiaeth n ac n ac 1 mewn trefn. Felly, yr hyn a allai gennym ni yno? Mae'n mynd i fod yn rhai amodol. Bydd yn os. MYFYRIWR: Os amrywiaeth n yn llai na amrywiaeth n plws 1. HYFFORDDWR: Mm-EM. Wel, yn llai na neu'n fwy na. MYFYRIWR: Mwy na. Yna rydym yn awyddus i gyfnewid eu cyfer. Yn union. Felly, yn awr rydym yn mynd i mewn beth yw'r mecanwaith ar gyfer eu cyfnewid? Felly aethom trwy fyr hwn, math o swyddogaeth cyfnewid wythnos diwethaf. A oes unrhyw un yn cofio sut mae'n gweithio? Felly, ni allwn yn unig yn eu ail-neilltuo, dde? Gan y bydd un ohonynt yn mynd ar goll. Os dywedasom A yn hafal i B ac wedyn B yn hafal i A, pob ddau ohonynt yn sydyn yn unig gyfartal i B. Felly, yr hyn mae'n rhaid i ni ei wneud yw ein bod fod â newidyn dros dro sy'n mynd i ddal un o tra ein un ni rydym yn y broses o gyfnewid. Felly, yr hyn sydd gennym yw y byddwn yn cael rhywfaint o int dros dro yn gyfartal i-- gallwch ei aseinio iddo i ba bynnag un rydych eisiau, dim ond gwnewch yn siŵr eich bod yn cadw golwg ar iddo-- felly yn yr achos hwn, yr wyf i'n mynd i aseinio i amrywiaeth n plws 1. Felly, mae hynny'n mynd i ddal beth bynnag gwerth yw yn yr ail floc ein bod yn edrych ar. Ac yna y gallwn ei wneud yw y gallwn fynd ymlaen a array ail-neilltuo n plws 1, oherwydd ein bod yn gwybod ein gael y gwerth ei storio. Mae hwn hefyd yn un o'r mawr things-- Nid wyf yn gwybod os oes unrhyw un ohonoch Roedd materion lle os byddwch yn newid dau llinellau o god yn sydyn yn gweithio pethau. Gorchymyn yn bwysig iawn yn y CS. Felly gwnewch yn siŵr eich diagram pethau allan os yn bosibl o ran yr hyn sy'n digwydd mewn gwirionedd. Felly nawr rydym yn mynd i ail-neilltuo array n plws 1, oherwydd ein bod yn gwybod ein gael y gwerth ei storio. A gallwn aseinio hynny at amrywiaeth n neu yn yr amrywiaeth yr achos i. Mae gormod o newidynnau. OK. Array Felly nawr rydym wedi hailneilltuo i ynghyd ag 1 i cyfartal beth sydd mewn amrywiaeth i. Ac yn awr y gallwn ni fynd yn ôl a aseinio arae ff i beth? Dylai unrhyw un? MYFYRIWR: 10. HYFFORDDWR: 10. Yn union. Ac un peth arall. Os ydym wedi cyfnewid yn awr, beth sydd angen i ni ei wneud? Beth yw'r un peth mae hynny'n mynd i ddweud wrthym os ydym byth yn dod i ben y rhaglen hon? Yr hyn yn dweud wrthym ein bod yn restr datrys? Os nad ydym yn perfformio unrhyw cyfnewidiadau, dde? Os gyfnewidiadau yn hafal i sero ar ddiwedd y hyn. Felly, pryd bynnag y byddwch yn perfformio cyfnewid, wrth i ni yn unig oedd yma, rydym am i ddiweddaru cyfnewid. Ac yr wyf yn gwybod bod cwestiwn yn gynharach ynghylch gallwch chi Defnyddiwch sero neu un lle hynny o wir neu'n anwir. A dyna beth mae hyn yn ei wneud yma. Felly, mae hyn yn dweud os nad cyfnewid. Felly os gyfnewidiadau yn sero, sy'n yw-- Rwyf bob amser cael fy gwirioneddau ac mae fy falses cymysgu. Rydym am i ni i werthuso i wir ac nid yw'n. Felly, os yw'n sero, yna mae'n ffug. Os ydych yn negyddu 'i ag a [? bang?] mae'n dod yn wir. Felly, yna y llinell hon executes. Gwirionedd a ffug a zeros a rhai yn cael crazy. Dim ond os byddwch yn cerdded yn araf drwyddo bydd yn gwneud synnwyr. Ond dyna beth mae hyn ychydig ychydig o cod yma yn ei wneud. Felly, mae hyn yn gwirio i weld ydyn ni wedi'i wneud unrhyw gyfnewidiadau. Felly os yw'n unrhyw beth ar wahân sero, mae'n mynd i fod yn ffug ac mae'r holl beth yn mynd i weithredu eto. Cool? MYFYRIWR: Beth mae seibiant yn ei wneud? HYFFORDDWR: Break unig torri chi allan o'r ddolen. Felly, yn yr achos hwn byddai yn union fel terfyn ar y rhaglen ac y byddech yn unig cael eich rhestr didoli. MYFYRIWR: Amazing. HYFFORDDWR: Mae'n ddrwg gen i? MYFYRIWR: Oherwydd y gorffennol rydym ddefnyddiwyd ysgrifennwyd 1 dros sero ysgrifenedig i gyflwyno, os a fydd yn gweithio ai peidio. HYFFORDDWR: Yeah. Felly, gallwch ddychwelyd sero neu 1. Yn yr achos hwn, gan nad ydym yn mewn gwirionedd gwneud unrhyw beth gyda'r swyddogaeth, rydym yn unig am iddo dorri. Dydyn ni ddim yn poeni am y peth. Brake hefyd yn dda os caiff ei ddefnyddio ar gyfer torri allan o bedair dolen neu amodau sy'n nad ydych am i gadw gweithredu. 'I jyst yn mynd â chi allan ohonynt. Mae'n dipyn o beth arlliw. Rwy'n teimlo fel mae llawer o chwifio llaw, fel y byddwch yn dysgu am hyn cyn bo hir. Ond byddwch yn dysgu am hyn cyn bo hir. Wyf yn addo. OK. Felly, mae pawb yn cael fath swigen? Ddim yn rhy ddrwg. Ailadrodd drwy, cyfnewid pethau gan ddefnyddio newidyn dros dro, ac rydym i gyd yn gosod yno? Cool. Awesome. OK. Yn ôl at y PowerPoint. Unrhyw gwestiynau yn gyffredinol am y rhain hyd yn hyn? Cool. Mm-EM. MYFYRIWR: [Anghlywadwy] int prif fel arfer. A oes gennych i gael hynny ar gyfer hyn? HYFFORDDWR: Felly, roeddem yn jyst yn edrych dim ond ar y algorithm didoli gwirioneddol. Os ydych wedi ei gael o fewn fel rhaglen mwy o faint, byddai gennych prif rhywle int. Yn dibynnu ar ble rydych yn defnyddio algorithm hwn, byddai'n penderfynu beth sydd cael eu dychwelyd gan iddo. Ond ar gyfer ein hachos ni, rydym yn llym edrych ar sut y mae hyn mewn gwirionedd ailadrodd drwy arae. Felly, nid ydym yn poeni am y peth. Felly, rydym yn sôn am achos gorau a sefyllfaoedd gwaethaf posibl ar gyfer chwilio deuaidd. Felly, mae hefyd yn bwysig gwneud fod ar gyfer pob un o'n math. Felly, beth yn eich barn chi yn y gwaethaf Rhedeg achos fath swigen? Rydych guys yn cofio? MYFYRIWR: N minws 1. HYFFORDDWR: N minws 1. Felly, mae hynny'n golygu bod n minws 1 cymariaethau. Felly, un peth i sylweddoli yw bod ar y fersiwn cyntaf, inni fynd drwy'r, rydym yn cymharu mae'r rhain two-- felly dyna 1. Mae'r rhain yn ddau, tri, pedwar. Felly, ar ôl un fersiwn i ni eisoes wedi pedwar gymariaethau. Pan Rwy'n siarad am Rhedeg a n. N yn cynrychioli nifer y cymariaethau fel swyddogaeth o faint o elfennau gennym. OK? Felly, rydym yn mynd drwy, mae gennym bedwar. Y tro nesaf y byddwch yn gwybod nad ydym yn ei wneud rhaid i ofalu am hyn. Rydym yn cymharu dau rhain, y ddau hyn, y ddau yma, ac os nad oedd gennym y optimization gyda'r pedwar ddolen a ysgrifennais, byddech yn cymharu i mewn yma anyways. Felly, byddai'n rhaid i chi rhedeg drwy'r casgliad a gwneud cymariaethau n n adegau, oherwydd bob tro yr ydym yn rhedeg drwyddo wnaethoch didoli un peth. A phob tro y byddwn yn rhedeg drwy yr amrywiaeth, rydym yn gwneud cymariaethau n. Felly mae ein Rhedeg ar gyfer hyn yw mewn gwirionedd sgwâr n, a oedd yn llawer gwaeth yn ein log pen oherwydd hynny yn golygu pe bai gennym bedwar biliwn elfen, 'i' mynd i fynd â ni i bedwar biliwn o sgwâr yn lle 32. Felly, nid yw'r runtime gorau, ond i rai pethau, eich bod yn gwybod, os ydych chi o fewn amrediad penodol o elfennau Efallai fath swigen fod yn iawn i'w defnyddio. OK. Felly, yn awr beth yw'r runtime achos gorau? MYFYRIWR: Zero? Neu 1? HYFFORDDWR: 1 Felly byddai fod yn un gymhariaeth. Hawl. MYFYRIWR: N minws 1? HYFFORDDWR: Felly, yeah. Felly n minws 1. Pryd bynnag y bydd gennych syniad tebyg n minws 1, rydym yn tueddu i ddim ond yn ei adael ac rydym yn unig dweud n oherwydd bod gennych i gymharu pob un these-- bob pâr. Felly byddai'n n minws 1, yr ydym yn byddem yn jyst ddweud yw tua n. Pan fyddwch yn delio â runtime, popeth mewn brasamcanu. Cyhyd â bod y ddehonglwr yn gywir, rydych yn 'n bert da. Dyna sut yr ydym yn delio ag ef. Fel bod yr achos gorau yn n, a oedd yn golygu bod y rhestr eisoes yn didoli, a'r cyfan a wnawn yn cael ei redeg trwy a gwiriwch fod yn cael ei datrys. Cool. Mae pob hawl. Felly, fel y gwelwch yma, rydym yn dim ond cael rhywfaint mwy o graffiau. Felly n sgwâr. Hwyl. Llawer gwaeth na n wrth i ni weld, a llawer, llawer gwaeth na 2n log. Ac yna byddwch hefyd yn cael i mewn i logiau log. A ydych yn cymryd 124, byddwch yn cael i mewn i fel seren log, sydd fel gwallgof. Felly, os oes gennych ddiddordeb, seren log am-edrych. Mae'n fath o hwyl. Felly mae gennym y siart fawr. Dim ond pennau i fyny, a hwn siart gwych i gael am eich canol-tymor oherwydd ein hir i ofyn i chi thins hyn. Felly dim ond pennau i fyny, gael hyn ar eich canol-tymor ar eich taflen twyllo 'n glws yno. Felly, rydym yn unig yn edrych ar fath swigen. Achos gwaethaf, n sgwario, achos gorau, n. Ac rydym yn mynd i edrych ar y lleill. Ac fel y gwelwch, yr unig un sydd wir yn gwneud yn dda yn fath uno, a byddwn yn mynd i mewn i pam. Felly, rydym yn mynd i fynd i'r un math dethol Yma-- nesaf. A oes unrhyw un yn cofio sut detholiad didoli gweithio? Ewch amdani. MYFYRIWR: Yn y bôn yn mynd drwy gorchymyn a chreu rhestr newydd. Ac yn union fel eich bod yn rhoi elfennau mewn, rhowch nhw yn y lle iawn yn y rhestr newydd. HYFFORDDWR: Er mwyn i seiniau fwy fel math fewnosod. Ond eich bod yn agos iawn. Maen nhw'n debyg iawn. Hyd yn oed yr wyf yn cael eu cymysgu weithiau. Cyn yr adran hon Roeddwn yn hoffi, aros. OK. Felly, beth rydych am ei wneud yw fath dethol, y ffordd y gallwch chi feddwl am y peth a'r ffordd Rwy'n gwneud yn siwr nad wyf yn ceisio cael eu cymysgu i fyny, a yw'n mynd drwy ac mae'n dewis y rhif lleiaf ac mae'n rhoi hynny ar ddechrau eich rhestr. Mae'n cyfnewid 'i ag y fan a'r lle yn gyntaf. Maent mewn gwirionedd ganddynt esiampl i mi. Awesome. Felly, dim ond ffordd i feddwl am ddewis iddo-- didoli, dewiswch y gwerth lleiaf. Ac rydym yn mynd i rhedeg trwy esiampl fy mod yn credu y bydd o gymorth oherwydd Rwy'n credu gweledol bob amser yn helpu. Felly, rydym yn dechrau allan gyda rhywbeth mae hynny'n hollol heb eu didoli. Bydd Red yn heb eu didoli, Bydd gwyrdd yn eu didoli. Bydd y cyfan yn gwneud synnwyr mewn eiliad. Felly, rydym yn mynd trwy ac rydym yn ailadrodd o'r dechrau i'r diwedd. Ac yr ydym yn ei ddweud, OK, 2 yw ein rhif lleiaf. Felly, rydym yn mynd i gymryd 2 ac rydym yn mynd ei symud i flaen ein array oherwydd ei fod yn y rhif lleiaf sydd gennym. Felly dyna beth mae hyn yn ei wneud yma. Dim ond mae'n mynd i gyfnewid dau rheini. Felly, erbyn hyn rydym wedi a datrys rhannol ac yn rhan heb ei ddidoli. A beth sy'n dda i'w gofio am y math dethol yw ein bod yn dewis dim ond oddi wrth y rhan heb ei ddidoli. Mae'r rhan ddidoli 'ch jyst yn gadael ei ben ei hun. Mm-EM? MYFYRIWR: Sut y mae'n gwybod beth sydd y lleiaf heb ei gymharu i bob gwerth arall yn y casgliad. HYFFORDDWR: Mae'n gwneud ei gymharu. Rydym yn hoffi ei hepgor. Mae hyn yn unig yn gyffredinol ar y cyfan. Yeah. Pan fyddwn yn ysgrifennu y cod rwy'n siŵr byddwch yn fwy bodlon. Ond i chi storio hyn yn gyntaf elfen fel y lleiaf. Rydych yn cymharu a chi ddweud, OK, a yw'n llai o faint? Ie. Cadwch ef. Dyma hi'n llai o faint? Nac oes? Dyma'ch lleiaf, ail-neilltuo at eich gwerth. A byddwch yn llawer hapusach pan fyddwn yn mynd drwy'r cod. Felly, rydym yn mynd drwy'r, yr ydym yn cyfnewid, felly wedyn rydym yn edrych ar y gyfran heb ei ddidoli. Felly, rydym yn mynd i dewis tri allan. Rydym yn mynd i roi ar ar ddiwedd ein cyfran ddidoli. Ac rydym yn jyst yn mynd i barhau i wneud hynny, yn gwneud hynny, ac yn gwneud hynny. Felly, mae hyn yn ein math o pseudocode yma. Byddwn yn cod i fyny yma yn ail. Ond dim ond rhywbeth i gerdded trwy ar lefel uchel. Rydych yn mynd i fynd o ff yn dychwelyd 0 i n minws 2. Dyna optimization arall. Peidiwch â phoeni gormod am y peth. Felly, wrth i chi yn ei ddweud. Gan fod Jacob yn ei ddweud, sut yr ydym yn cadw golwg ar yr hyn y mae ein lleiaf yw? Sut ydym yn gwybod? Mae'n rhaid i ni gymharu popeth yn ein rhestr. Felly leiaf yn hafal i. Dim ond ei fod yn dweud yn yr achos hwn y mynegai o ein gwerth lleiaf. Felly, yna mae'n mynd i ailadrodd drwy ac mae'n mynd o j hafal i plws 1. Felly, rydym eisoes yn gwybod bod dyna ein elfen gyntaf. Nid oes angen i ni ei gymharu ei hun. Felly, rydym yn dechrau ei gymharu i'r nesaf un a dyna pam ei bod yn i ac 1 i n minws 1, sef y diwedd y rhesi yno. Ac rydym ddywedodd os amrywiaeth yn j yn llai na min array, Yna, rydym yn ail-neilltuo lle mae ein mynegeion isafswm yw. Ac nid os min yn hafal i i, fel y yn lle yr oeddem yn ôl dros yma. Felly hoffi pan fyddwn yn gwneud hyn yn un yn gyntaf. Yn yr achos hwn, byddai'n dechrau am sero, byddai'n pen draw yn cael dau. Felly ni fyddai min cyfartal i yn y diwedd. Mae hynny yn gadael i ni wybod bod mae angen i gyfnewid eu cyfer. Rwy'n teimlo fel enghraifft concrid yn helpu llawer mwy na hyn. Felly byddaf cod hyn gyda chi guys ar hyn o bryd ac rwy'n credu y bydd yn cael ei well. Sorts yn tueddu i weithio y ffordd honno yn y 'i' aml yn well dim ond eu gweld nhw. Felly, yr hyn yr ydym am ei wneud yw rydym yn gyntaf am gael y lleiaf elfen yn ei safle yn y casgliad. Jacob yn union beth oedd yn ei ddweud. Mae angen i chi storio hynny rywsut. Felly, rydym yn mynd i ddechrau yma ailadrodd dros y casgliad. Rydym yn mynd i ddweud ei fod yn ein un cyntaf yn unig i ddechrau. Felly, rydym yn mynd i gael int lleiaf yn hafal i amrywiaeth yn i. Felly, un peth i hysbysiad, bob amser dolen hwn executes, rydym yn dechrau un cam ymhellach draw. Pan fyddwn yn dechrau ein bod yn edrych ar yr un yma. Y tro nesaf rydym yn ailadrodd drwy, rydym yn cychwyn ar yr un yma ac yn aseinio iddo ein gwerth lleiaf. Felly mae'n debyg iawn i'r math swigen lle rydym yn gwybod bod ar ôl un pasio, yr elfen olaf yn cael ei datrys. Gyda'r math dethol, 'i' dim ond y gwrthwyneb. Ar bob tocyn, rydym yn gwybod bod yr un cyntaf yn cael ei datrys. Ar ôl yr ail llwyddo, bod y Bydd ail un yn cael ei datrys. Ac fel y gwelsoch gyda'r enghreifftiau sleid, mae ein cyfran datrys dim ond yn parhau i dyfu. Felly, drwy osod ein un lleiaf i araeau i, i gyd mae'n ei wneud yn yw cyfyngu beth rydym yn edrych ar hynny fel er mwyn lleihau nifer o gymariaethau a wnawn. A yw hynny'n gwneud synnwyr i bawb? Oes angen i mi redeg drwy'r hwnnw eto arafach neu mewn geiriau gwahanol? Rwy'n hapus i. OK. Felly, rydym yn storio'r gwerth yn y fan hon, ond rydym hefyd am i storio y mynegai. Felly, rydym yn mynd i storio'r lleoliad y lleiaf un, a dim ond yn mynd i fod i. Felly nawr Jacob wedi ei fodloni. Mae gennym bethau storio. Ac yn awr mae angen i ni edrych drwy y rhan heb ei ddidoli y rhesi. Felly, yn yr achos hwn fyddai ein heb eu didoli. Mae hyn yn i. OK. Felly, yr hyn yr ydym yn mynd i'w wneud yn mynd i fod am ddolen. Pryd bynnag y mae angen i chi ailadrodd trwy amrywiaeth, Gallai eich meddwl yn mynd i am ddolen. Felly, ar gyfer rhai k int equals-- beth ydym yn meddwl k yn mynd i fod yn gyfartal i ddechrau? Dyma beth rydym yn gosod fel ein lleiaf gwerth ac rydym am eu cymharu. Beth ydym ni eisiau ei gymharu â? Mae'n mynd i fod yr un nesaf, dde? Felly rydym eisiau k cael ei ymgychwyn i fi ac 1 i ddechrau. Ac rydym am k yn yr achos hwn rydym yn eisoes wedi maint storio i fyny yma, er mwyn i ni jyst arfer maint. Maint sef maint y rhesi. Ac rydym yn unig eisiau diweddaru k erbyn un bob tro. Cool. Felly, yn awr mae angen i ni ddod o hyd i yr elfen lleiaf yma. Felly, os ydym yn ailadrodd drwy, rydym yn eisiau ei ddweud, os yw amrywiaeth yn k yn llai na ein value-- lleiaf dyma lle rydym yn mewn gwirionedd cadw golwg ar yr hyn sydd y Yma-- lleiaf Yna, rydym yn awyddus i ail-neilltuo yr hyn y mae ein gwerth lleiaf yw. Mae hyn yn golygu, oh, rydym yn ailadrodd drwy fan hyn. Beth bynnag yw gwerth yma yw Nid yw ein peth lleiaf. Nid ydym am iddo. Rydym am ail-neilltuo iddo. Felly, os ydym yn ailgyfeirio ei, beth yn ei wneud credwch y gallai fod yn y cod hwn yn fan hyn? Rydym yn awyddus i ail-neilltuo lleiaf a sefyllfa. Felly beth sy'n lleiaf nawr? MYFYRIWR: Array k. HYFFORDDWR: Array k. A beth yw safbwynt nawr? Beth yw'r mynegeion o ein gwerth lleiaf? Dim ond ei fod yn k. Felly array k, k, maent yn cyd-fynd i fyny. Felly, rydym yn awyddus i ail-neilltuo hynny. Ac yna ar ôl i ni ganfod ein lleiaf, felly ar ddiwedd y hyn am dolen yma rydym wedi dod o hyd yr hyn y mae ein lleiaf gwerth yw, felly rydym yn unig yn cyfnewid ei. Yn yr achos hwn, fel y dywedwch ein gwerth lleiaf yw allan yma. Mae hyn yn ein gwerth lleiaf. Rydym yn unig am gyfnewid yma, sef yr hyn y swyddogaeth cyfnewid ar y gwaelod wnaeth, yr ydym newydd ei ysgrifennu i fyny ynghyd cofnodion cwpl yn ôl. Felly, dylai edrych yn gyfarwydd. Ac yna bydd yn jyst ailadrodd trwy hyd nes ei fod yn cyrraedd yr holl ffordd hyd y diwedd, sy'n golygu y byddwch yn wedi sero elfennau sy'n heb eu didoli a phopeth arall wedi cael ei datrys. Gwneud synnwyr? Ychydig yn fwy diriaethol? Mae'r Cod yn helpu? MYFYRIWR: Am faint, fyddwch byth 'n sylweddol yn ei ddiffinio neu ei newid, sut mae'n gwybod? HYFFORDDWR: Felly, un peth i sylwi fyny yma yw maint int. Felly, rydyn ni'n ei ddweud yn y math sort-- yn swyddogaeth yn hyn achos-- 'i' didoli dewis, mae'n pasio yn â'r swyddogaeth. Felly, os nad yw'n cael ei basio mewn, byddech yn gwneud rhywbeth tebyg â hyd y rhesi neu a fyddech yn ailadrodd trwy i ddod o hyd i'r hyd. Ond am ei fod wedi pasio mewn, gallwn jyst ddefnyddio. 'Ch jyst cymryd yn ganiataol bod y defnyddiwr rhoi maint dilys yr ydych yn mewn gwirionedd yn cynrychioli a maint eich arae. Cool? Os ydych yn guys yn cael unrhyw drafferth gyda'r rhain neu eisiau mwy o ymarfer codio math ar eich pen eich hun, dylech ewch i study.cs50. Mae'n arf. Mae ganddynt gwiriwr sy'n gallwch ysgrifennu mewn gwirionedd. Maent yn gwneud pseudocode. Mae ganddynt fwy o fideos a sleidiau gan gynnwys y rhai yr wyf yn eu defnyddio yma. Felly os ydych yn dal i deimlo a ychydig yn fuzzy, rhowch gynnig hynny allan. Fel bob amser, dewch siarad â mi, hefyd. Cwestiwn? MYFYRIWR: A ydych yn dweud y maint yn cael ei ddiffinio yn flaenorol? HYFFORDDWR: Ydw. Maint yn cael ei ddiffinio yn flaenorol i fyny yma yn y datganiad swyddogaeth. Felly rydych yn cymryd yn ganiataol ei fod yn cael ei basio yn gan y defnyddiwr, ac er mwyn symlrwydd, rydym yn mynd i gymryd yn ganiataol bod y Rhoddodd defnyddiwr y maint cywir i ni. Cool. Felly dyna fath dethol. Guys, yr wyf yn gwybod ein bod yn dysgu llawer heddiw. Mae'n data trwchus ar gyfer yr adran. Felly, gyda hynny, yr ydym yn mynd i fynd i'r fath fewnosod. OK. Felly, cyn bod yn rhaid inni wneud ein dadansoddiad Rhedeg yma. Felly, yn yr achos gorau, a roddwyd ers i mi yn dangos i chi mae'r tabl Rwyf eisoes fath o rhoddodd i ffwrdd. Ond runtime achos gorau, beth ydym yn ei feddwl? Popeth datrys. N sgwâr. Gall unrhyw un gael esboniad am pam yn eich barn chi? MYFYRIWR: Rydych yn cymharu through-- HYFFORDDWR: Iawn. Rydych yn cymharu drwy. Ar bob iteriad, er bod rydym yn decrementing hyn drwy un, eich bod yn dal i chwilio drwy bopeth i ddod o hyd i'r un lleiaf. Felly hyd yn oed os yw eich gwerth lleiaf yma ar y dechrau, ydych yn dal i gymharu yn erbyn popeth arall i wneud yn siŵr ei fod yn y peth lleiaf. Felly, byddwch yn y pen draw yn rhedeg drwy tua n amseroedd sgwâr. Mae pob hawl. A beth yw'r achos gwaethaf? Hefyd n sgwâr oherwydd eich bod yn mynd i fod yn gwneud yr un drefn. Felly, yn yr achos hwn, detholiad didoli rywbeth ein bod hefyd yn galw runtime disgwyliedig. Felly, yn y lleill, rydym yn unig yn gwybod arffiniau uchaf ac isaf. Yn dibynnu ar ba mor crazy ein rhestr yn neu pa mor heb eu didoli y mae, maent yn amrywio rhwng n neu n sgwâr. Nid ydym yn gwybod. Ond oherwydd bod fath dethol yr un gwaethaf a'r achos gorau, sy'n dweud wrthym fod ni waeth pa fath o fewnbwn i ni gael, boed yn gyfan gwbl didoli neu yn gyfan gwbl wrthdroi didoli, 'i' mynd i gymryd yr un faint o amser. Felly, yn yr achos hwnnw, os ydych cofiwch oddi wrth ein bwrdd, ei fod mewn gwirionedd wedi cael gwerth sy'n Nid yw y ddau fath oes gan, sef runtime disgwyliedig. Felly, rydym yn gwybod bod pryd bynnag rydym yn cynnal math dethol, mae'n sicr o rhedeg amser n sgwâr. Nid oes unrhyw amrywioldeb yno. 'I jyst yn ei disgwyl. Ac, unwaith eto, os ydych am ddysgu mwy, cymryd CS 124 yn y Gwanwyn. Mae pob hawl. Rydym wedi gweld yr un yma. Cool. Fath mor mewnosod. A dwi'n mynd yn ôl pob tebyg i tân drwy hyn. Ni fydd rhaid i mi i chi guys cod iddo. Byddwn yn jyst yn cerdded trwyddo. Felly fath gosod yn garedig o debyg i fath dethol gan fod gennym y ddau yn heb eu didoli a'u didoli yn rhan o'r casgliad. Ond yr hyn sy'n wahanol yw y wrth inni fynd drwy'r fesul un, rydym yn unig yn cymryd pa bynnag rif yn nesaf yn ein heb eu didoli, a datrys yn gywir i mewn i'n amrywiaeth ddidoli. Bydd yn gwneud mwy o synnwyr gydag enghraifft. Felly, mae popeth yn dechrau fel heb eu didoli, yn union fel gyda'r math dethol. Ac rydym yn mynd i ddatrys hyn yn trefn esgynnol fel yr ydym wedi bod. Felly, ar ein bas cyntaf rydym yn cymryd y gwerth cyntaf ac yr ydym yn ei ddweud, OK, rydych yn bellach mewn rhestr gan eich hun. Oherwydd eich bod mewn rhestr eich pen eich hun, yr ydych yn cael eu didoli. Llongyfarchiadau am fod y elfen gyntaf yn y casgliad hwn. Ydych eisoes yn eu didoli i gyd ar eich pen eich hun. Felly, erbyn hyn rydym wedi a datrys ac amrywiaeth heb ei ddidoli. Felly, yn awr rydym yn cymryd y cyntaf. Beth sy'n digwydd rhwng y fan hon a dyma yw ein bod yn dweud, OK, rydym yn mynd i edrych ar y Gwerth gyntaf ein array heb eu didoli ac rydym yn mynd i mewnbwn iddo yn ei lle cywir yn yr amrywiaeth ddidoli. Felly, yr hyn a wnawn yn cael ei rydym yn cymryd 5 ac yr ydym yn ei ddweud, OK, 5 yn fwy na 3, felly rydym yn unig mewnosod yn iawn ar y dde o'r hynny. Rydym yn dda. Felly, yna rydym yn mynd ymlaen i ein un nesaf. Ac rydym yn cymryd 2. Rydym yn dweud, OK, 2 yn llai na 3, felly rydym yn gwybod ei fod angen iddo fod yn y flaen ein rhestr yn awr. Felly, beth yr ydym yn ei wneud yw ein bod yn gwthio 3 a 5 i lawr ac yr ydym yn symud 2 i mewn i'r slot gyntaf. Felly, rydym yn jyst fewnosod i mewn y lle cywir y dylai fod. Yna rydym yn edrych ar ein un nesaf, ac rydym yn dweud 6. OK, 6 yn fwy na popeth yn ein array ddidoli, felly rydym yn unig tag ar hyd y diwedd. Ac yna rydym yn edrych ar 4. 4 yn llai na 6, mae'n llai na 5 ond mae'n fwy na 3. Felly, rydym yn unig mewnosod yn iawn i mewn y canol rhwng 3 a 5. Felly, er mwyn gwneud hynny ychydig yn ychydig yn fwy cadarn, yma yw caredig y syniad o'r hyn a ddigwyddodd. Felly, ar gyfer pob elfen heb eu didoli, yr ydym yn penderfynu ble yn y rhan ddidoli y mae. Felly, gan gadw mewn cof y didoli a heb eu didoli, mae'n rhaid i ni groesi trwy a ffigur allan lle mae'n ffitio yn yr amrywiaeth ddidoli. Ac rydym yn mewnosod iddo drwy symud y elfennau ar y dde i lawr. Ac yna rydym yn jyst cadw ailadrodd trwy nes i ni restr didoli yn gyfan gwbl lle heb eu didoli yn awr yn sero ac ddidoli yn dechrau yn y gyfanrwydd ein rhestr. Felly, unwaith eto, i wneud pethau hyd yn oed mwy pendant, yr ydym wedi pseudocode. Felly, yn y bôn ar gyfer i yw yn hafal i 0 i n minws 1, mai dim ond hyd ein arae. Mae gennym rhyw elfen sydd yn hafal i yr amrywiaeth cyntaf neu y mynegeion cyntaf. Rydym yn gosod j cyfartal i hynny. Felly, er bod j yn fwy na sero ac mae'r amrywiaeth, j minws 1 yn fwy na'r elfen, felly cyfan sydd ei wneud yn gwneud yn siŵr bod eich j 'n sylweddol yn cynrychioli y rhan heb ei ddidoli y rhesi. Felly, er bod pethau yn dal i fod i ddidoli ac un minws j yw-- beth yw'r elfen iddi? Ni chafodd J ddiffinnir yma. Mae'n fath o blino. OK. Anyways. Felly j minws 1, i chi wirio yr elfen ger ei fron. Rydych yn ei ddweud, OK, yw'r elfen cyn i ble bynnag am-- i mi gadewch i ni mewn gwirionedd yn tynnu hyn allan. Felly, gadewch i ni ddweud hyn yw tebyg ar ein hail pasio. Felly, fi yn mynd i fod yn gyfartal i 1, sydd yn fan hyn. Felly, fi yn mynd i fod yn hafal i 1. Byddai hyn yn 2, 4, 5, 6, 7. Mae pob hawl. Felly mae ein elfen yn yr achos hwn yn mynd i fod yn hafal i 4. Ac mae gennym rai j dyna mynd i fod yn hafal i 1. Oh, j yn decrementing. Dyna beth y mae. Felly j yn hafal i fi, felly beth y mae hyn yn ddweud yw bod wrth inni symud ymlaen, rydym yn unig yn gwneud yn siwr nad ydym chi dros mynegeio fel hyn pan rydym yn ceisio i osod pethau i mewn i'n rhestr didoli. Felly, pan j yn hafal i 1 yn yr achos hwn ac array minws j one-- felly array minws j 1 yw 2 mewn achos-- hwn os yw hynny'n yn fwy na'r elfen, yna mae hyn i gyd yn ei wneud yn symud pethau i lawr. Felly, yn yr achos hwn, array minws j un fyddai arae sero, sydd 2. 2 yn fwy na 4, felly nid yw hyn yn gweithredu. Felly, nid yw'r newid yn symud i lawr. Beth mae hyn yn ei wneud yma yn unig symud eich array ddidoli i lawr. Yn yr achos hwn, mewn gwirionedd, yr ydym Gallai do-- gadewch i ni wneud hyn 3. Felly, os ydym i gerdded drwy gyda yr enghraifft hon, rydym yn awr yn fan hyn. Mae hyn yn cael ei datrys. Mae hyn yn heb eu didoli. Cool? Felly, fi yn hafal i 2, felly mae ein elfen yn hafal i 3. Ac mae ein j yn hafal i 2. Felly, rydym yn edrych trwy ac rydym yn ddweud, OK, yn un minws arae j yn fwy na'r elfen ein bod yn edrych ar? Ac mae'r ateb yn gadarnhaol, dde? 4 yn fwy na 3 a j yw 2, felly y cod hwn executes. Felly nawr beth rydym yn ei wneud amrywiaeth o 2, felly dde yma, rydym yn eu cyfnewid. Felly, rydym yn unig yn dweud, OK, array am 2 awr yn mynd i fod yn 3. A j yn mynd i fod yn gyfartal j minws 1, sydd 1. Mae hynny'n ofnadwy, ond chi guys yn cael y syniad. Nawr J yn hafal i 1. A array j yn unig yn mynd i fod yn cyfartal i'n elfen, sef 4. I ddileu rhywbeth nad wyf ddylai wedi neu rywbeth miswrote, ond byddwch yn guys yn cael y syniad. Mae'n symud ar n. Ac yna os yw hyn yn, mae'n byddai dolen eto, a byddai'n dweud, OK, j yw 1 awr. A array j minws 1 yn awr 2. Yw 2 yn llai na'n elfen? Nac oes? Mae hynny'n golygu ein bod i wedi mewnosod elfen hon yn y fan a'r lle cywir yn ein amrywiaeth ddidoli. Yna gallwn eu cymryd hyn ac rydym yn ei ddweud, OK, mae ein amrywiaeth ddidoli yn fan hyn. A byddai'n cymryd nifer hwn 6 a bod yn fel, OK, yn 6 yn llai na rhif hwn? Nac oes? Cool. Rydym yn iawn. Ei wneud eto. Rydym yn dweud 7. Yn 7 yn llai na diwedd o'n array ddidoli? Rhif Felly, rydym yn iawn. Felly byddai hyn yn cael ei datrys. Yn y bôn mae hyn yn ei wneud i gyd yw ei fod yn dweud cymryd elfen gyntaf eich array heb ei ddidoli, chyfrif i maes ble mae'n mynd yn eich amrywiaeth ddidoli. Ac mae hyn yn unig yn gofalu o gyfnewidiadau i wneud hynny. Rydych yn y bôn yn unig cyfnewid nes ei fod yn y fan a'r lle cywir. Mae'r ddelwedd weledol yw eich bod yn symud popeth i lawr drwy wneud hynny. Felly, mae fel hanner swigod didoli-esque. Edrychwch ar astudiaeth 50. Fi 'n dal argymell rhoi cynnig i cod hyn ar eich pen eich hun. Os oes gennych unrhyw faterion neu os ydych am gweler Cod sampl ar gyfer math fewnosod, os gwelwch yn dda gadewch i mi wybod. Rwyf o gwmpas bob amser. Felly runtime achos gwaethaf a Rhedeg achos gorau. Wrth i chi yn gweld guy o'r tabl Rwyf eisoes Dangosodd chi, 'i' yn n sgwâr ac n. Mor garedig o fynd oddi ar yr hyn yr ydym yn siarad ynglŷn â'n mathau blaenorol, gwaethaf Rhedeg yr achos yw os 'i' heb ei ddosbarthu yn gyfan gwbl, mae'n rhaid i ni gymharu pob un o'r rhain amser n. Rydym yn gwneud llawer iawn o gymariaethau oherwydd os yw'n tuag yn ôl, rydym yn mynd i ddweud, OK, mae hyn yr un fath, mae hyn yn dda, a bydd hyn yn un rhaid cymharu yn erbyn yr un cyntaf i gael ei symud yn ôl. Ac wrth i ni fynd tuag at diwedd gynffon, rydym wedi i gymharu, cymharu, ac cymharu yn erbyn popeth. Felly, mae'n dod i ben i fyny yn cael tua sgwâr n. Os yw'n gywir, yna rydych ddweud, OK, 2, rydych yn dda. 3, rydych yn cymharu â 2. Rydych yn dda. 4, 'ch jyst yn cymharu i'r gynffon. Rydych yn dda. 6, cymharu at y gynffon, eich bod yn iawn. Felly, ar gyfer pob fan a'r lle os yw'n barod didoli, eich bod yn gwneud un gymhariaeth. Felly, 'i' jyst n. Ac oherwydd bod gennym runtime achos gorau o n a runtime achos gwaethaf o n sgwâr, nid oes gennym unrhyw runtime disgwyliedig. 'I jyst yn dibynnu ar y anhrefn ar ein rhestr yno. Ac eto, un arall graff a bwrdd arall. Felly mae gwahaniaethau rhwng y mathau. Im 'jyst yn mynd i awel drwy, yr wyf yn yn teimlo fel ein bod wedi siarad yn helaeth am sut y maent i gyd math o amrywio ac yn cysylltu â'i gilydd. Felly, yn uno didoli yw'r un olaf Byddaf yn diflasu gyda chi guys. Mae gennym ddarlun 'n bert lliwgar. Felly uno fath yn algorithm dychweliadol. Felly, ydych chi'n guys yn gwybod beth swyddogaeth recursive yw? Dylai unrhyw un sydd eisiau ei ddweud? Ydych am roi cynnig? Felly swyddogaeth recursive yn unig swyddogaeth sy'n galw ei hun. Felly, os ydych guys yn gyfarwydd gyda'r dilyniant Fibonacci, hynny wedi ei ystyried recursive oherwydd eich bod yn cymryd y ddau flaenorol ac ychwanegwch nhw at ei gilydd i gael eich un nesaf. Felly recursive, yr wyf bob amser yn meddwl o recursion fel fel sbiral felly ydych chi fel troellog i lawr i mewn iddo. Ond mae'r un swyddogaeth sy'n galw ei hun. Ac, mewn gwirionedd, yn gyflym iawn yr wyf yn yn gallu dangos i chi beth sy'n edrych yn debyg. Felly recursive fan hyn, os ydym yn edrych, mae hyn yn y ffordd recursive i grynhoi dros arae. Felly popeth a wnawn yw mae gennym swyddogaeth swm swm sy'n cymryd maint ac amrywiaeth. Ac os byddwch yn sylwi ar, maint decrements erbyn un bob tro. A'r holl mae'n ei wneud yw os yw x yn hafal i zero-- felly os yw maint y rhesi yn hafal i zero-- mae'n dychwelyd sero. Fel arall mae'n crynhoi hyn Elfen olaf y array, ac wedyn yn cymryd swm o gweddill y rhesi. Felly, 'i' jyst dorri i lawr i mewn i broblemau llai ac yn llai. Stori fer hir, recursion, swyddogaeth sy'n galw ei hun. Os dyna'r cyfan yr ydych wedi ei gael o hyn, dyna beth yw swyddogaeth ailadroddus yn. Os ydych yn cymryd 51, byddwch yn cael iawn, gyfforddus iawn gyda recursion. Mae'n cŵl. Roedd yn gwneud synnwyr yn hoffi 3:00 un noson allan. Ac yr wyf yn hoffi, pam erioed wedi i'n defnyddio hyn? Felly, ar gyfer y math uno, yn y bôn beth mae'n mynd i wneud yw ei fod yn mynd i dorri i lawr ac yn torri ei i lawr nes ei fod yn elfennau jyst sengl. Mae'r elfennau unigol yn hawdd i'w datrys. Rydym yn gweld hynny. Os oes gennych un elfen, 'i' ystyried yn didoli eisoes. Felly ar mewnbwn o elfennau n, os n yn llai na 2, dim ond yn dychwelyd am fod y cyfrwng 'i' naill ai 0 neu 1 fel yr ydym wedi gweld. Mae'r rhai yn cael eu hystyried yn elfennau didoli. Fel arall dorri yn ei hanner. Trefnu yn yr hanner cyntaf, ddatrys yr ail hanner, ac yna uno nhw at ei gilydd. Pam y mae'n cael ei alw'n fath uno. Felly mae gennym yma byddwn yn datrys hyn. Felly, rydym yn parhau i gael eu nes bod y maint amrywiaeth yw 1. Felly, pan fydd 'i' 1, rydym yn unig yn dychwelyd gan fod hwn yn amrywiaeth ddidoli, ac mae hyn yn amrywiaeth ddidoli, a dyna amrywiaeth ddidoli, rydym ni i gyd yn didoli. Felly, yna beth ydym yn ei wneud yw ein bod ddechrau eu cyfuno gyda'i gilydd. Felly, y ffordd y gallwch meddwl am uno yn 'ch jyst cael gwared ar y lleiaf rhif pob un o'r is arrays a dim ond atodi i'r casgliad i'r amlwg. Felly, os ydych yn edrych yma, pan fyddwn wedi setiau hyn mae gennym 4, 6, ac 1. Pan fyddwn yn awyddus i uno y rhain, byddwn yn edrych ar y ddau gyntaf ac yr ydym yn ei ddweud, OK, 1 yn llai, mae'n mynd i'r tu blaen. 4 a 6, does dim byd i gymharu iddo, dim ond tag ef ar hyd y diwedd. Pan rydym yn cyfuno y ddau hyn, rydym yn unig cymryd yr un llai o'r ddau yma, felly mae'n 1. Ac yn awr rydym yn cymryd y llai o ddau hyn, felly 2. Llai o ddau hyn, 3. Llai o'r ddau, 4, 5, 6. Felly, ydych ond yn tynnu oddi ar hyn. Ac am eu bod i wedi eu datrys yn flaenorol, os oes gen ti un gymhariaeth bob amser yno. Felly mwy o cod yma, cynrychiolaeth yn unig. Felly, byddwch yn dechrau yn y canol ac chi didoli chwith a'r dde ac yna 'ch jyst uno hynny. Ac nid oes gennym cod i uno i'r dde yma. Ond, unwaith eto, os ydych yn mynd ymlaen 50 yn astudio, bydd yn cael ei yno. Fel arall, dewch i siarad ataf os ydych yn ddryslyd o hyd. Felly beth oera yma yw bod achos gorau, achos gwaethaf, a runtime disgwyliedig i gyd mewn log n, a oedd yn llawer gwell nag yr ydym i wedi gweld am weddill ein math. Rydym wedi gweld n sgwario a'r hyn yr ydym mewn gwirionedd cyrraedd yma yn n log n, sy'n wych. Edrychwch ar faint yn well yw hynny. Gromlin mor braf. Mae cymaint mwy effeithlon. Os ydych chi erioed gallwch, defnyddio uno didoli. Bydd yn arbed amser i chi. Yna, unwaith eto, fel y dywedasom, os eich bod i lawr yn y rhanbarth is hwn, nid yw'n gwneud hynny llawer o wahaniaeth. Byddwch yn cael hyd at filoedd a miloedd o fewnbynnau, byddwch yn bendant eisiau algorithm fwy effeithlon. Ac, unwaith eto, mae ein bwrdd hyfryd o bob mathau a ydych guys dysgu heddiw. Felly, yr wyf yn gwybod ei fod wedi bod yn ddiwrnod trwchus. Nid yw hyn o reidrwydd yn mynd i'ch helpu gyda'ch pset. Ond Fi jyst eisiau gwneud ymwadiad Nid yr adran honno yn unig yw psets. Mae'r holl ddeunyddiau hyn yn deg gêm ar gyfer eich midterms. A hefyd, os ydych yn ei wneud yn parhau ar gyda CS, mae'r rhain yn sylfaenol bwysig iawn y byddai angen i chi wybod. Felly, bydd rhai dyddiau yn ychydig mwy pset help, ond bydd rhai wythnosau yn llawer mwy o gynnwys gwirioneddol Efallai nad yw yn ymddangos super ddefnyddiol i chi ar hyn o bryd, ond yr wyf yn addo, os byddwch yn parhau Bydd ar yn iawn, yn ddefnyddiol iawn. Felly dyna ni am adran. I lawr i'r wifren. Rwyf yn gwneud hynny o fewn un munud. Ond dyna ni. A byddaf yn cael toesenni neu Candy. A oes unrhyw un alergedd i unrhyw beth, gyda llaw? Wyau a llaeth. Felly mae toesenni yn ddim? OK. Mae pob hawl. Dim Siocled? Starburst. Starbursts yn dda. OK. Rydym yn mynd i gael Starburst wythnos nesaf wedyn. Dyna beth byddaf yn cael. Rydych guys yn cael wythnos wych. Darllenwch eich spec. Gadewch i mi wybod os oes gennych unrhyw gwestiynau. Dylai Pset ddwy radd yn allan i chi erbyn dydd Iau. Os oes gennych unrhyw gwestiynau ynghylch sut yr wyf yn graddio rhywbeth neu pam yr wyf yn graddio rhywbeth y ffordd rwy'n wnaeth, anfonwch e-bost ataf, dewch siarad â mi. Rwy'n ychydig yn hyn yn crazy wythnos, ond yr wyf yn addo Byddaf yn dal i ymateb o fewn 24 awr. Felly cael wythnos wych, pawb. Pob lwc ar eich pset.