SPEAKER: Kull dritt, dan huwa CS50. Dan huwa l-aħħar ta 'tliet ġimgħat, u jekk ma tkunx ħadt vantaġġ li jkun diġà, jafu li se jkun hemm ikla din il-ġimgħa bħas-soltu, fejn inti tista 'tgawdi konversazzjoni tajba u l-ikel fil-nar u Silġ ma 'wħud mill l CS50 persunal u klassi. Head sa dan il-URL hawn. Issa inti tista 'recall, jew inti dalwaqt jista ikunu familjari ma ', dawn l-affarijiet hawn, li huma mogħtija fl-aħħar tas-semestru għal ħafna klassijiet. Kotba blu hekk imsejħa eżami, f'liema tikteb tweġibiet tiegħek għall-eżamijiet. Issa għandi hawn 26 bħal kotba blu, fuq kull wieħed minnhom huwa miktub l-isem, A permezz Z. And tabilħaqq l-ismijiet huma li sempliċi, A permezz Z. U wieħed ta ' l-għanijiet fil-idejn llum se tkun li tkompli liema bdejna nhar it-Tnejn, li mhuwiex tant tħares lejn kodiċi, imma verament tħares lejn ideat u sabiex jissolvew problemi. Wieħed mill-għanijiet u wegħdiet ta 'dan il-kors huwa li jgħallmu inti biex jaħsbu b'mod aktar b'attenzjoni, aktar metodiku, u sabiex isolvu problemi b'mod aktar effiċjenti. U fil-fatt, nistgħu nagħmlu li verament anki mingħajr jmissu linja ta 'kodiċi. So I jkollhom koppja ta 'ljunfanti up hawn illum, oranġjo u blu, jekk nistgħu jiksbu voluntier wieħed, forsi minn farther lura mis-soltu. Kif dwar id-dritt hemmhekk, jaqgħu fuq l isfel. L-għan ta 'liema se jkun li jgħinu plus jamministra dan il-eżami hawn. X'hemm isem tiegħek? UDJENZA: Mary Beth. SPEAKER: Mary Beth, come fuq up. Let me nikseb il-mikrofonu hawn għalik. Nizza li jissodisfaw inti. UDJENZA: Nizza li jissodisfaw inti. SPEAKER: Kull dritt, so I jkollhom hawn blu kotba A permezz Z, u jien ser nippretendu li I jkollhom waħda mill-istudenti, u dawn qed ġejjin fil kemmxejn saltwarjament fl-aħħar tal-blokka tal-eżami ta 'tliet sigħat, hekk dawn qed jispiċċaw f'xi Sabiex semi-każwali bħal dan. Issa xogħol tiegħek fi ftit mument huwa għaddej biex be-- dan huwa attwalment kif huma jiksbu kellu fl-aħħar ta ' il-klassi, l-aktar probabbli. Impjieg tiegħek issa se tkun, pjuttost sempliċiment, biex issolvi dawn il-kotba blu għalina minn A sa Z. UDJENZA: Oh, dan huwa ser jieħdu dejjem. SPEAKER: U aħna ser tara kif inti tagħmel dan, l-ebda pressjoni. UDJENZA: No, no pressjoni jew xejn. SPEAKER: U għall-gost, ejja imqiegħed tajmer. UDJENZA: gost Tant hu, tant gost. SPEAKER: I tista 'żżomm l-mic għalik. Kull dritt, konna biss irdoppja veloċità tagħna. Allura fil-frattemp, let me joħolqu x'hemm se tkun il-kwistjoni għall Mary Beth huwa dak li qed tagħmel hi, kif huwa hi għaddej dwar isolvi dan? U fil-fatt, inti jista 'ma jkollhomx qatt ħsibt dwar xi ħaġa tant sempliċi bħal meta inti pick up 26 kotba bħal dan, li ma jkollhom naturali tordna lilhom. X'inhu l-proċess li inti attwalment jużaw? Huwa pjuttost każwali biss picking-ewwel waħda tara u t-tqegħid fil-post tagħha? Do inti l-ewwel timxi idejk madwar Looking for a imbagħad tfittex B? Do inti tagħti ħarsa lejn par minnhom ġenb ma 'ġenb u biss jgħidu, stenna minuta, dan mhuwiex dritt, u mbagħad tpartit l-ordni? Rajna diġà nhar it-Tnejn li hemm numru ta 'modi li nistgħu nagħmlu dan, u tabilħaqq kif aħna qrib it-tmiem hawn, Nixtieq jieħdu nota forsi ta 'dak Mary Beth qed tagħmel. Għandna piles ftit jidher, a akbar wieħed, tliet dawk iżgħar. UDJENZA: Jien tordna minnhom meta I ssib żewġ ittri li naf huma flimkien f'sekwenza, I jpoġġuhom flimkien b'tali mod li jien ma jkollhom għalfejn tinkwieta dwar iż-żamma track ta 'ringiela sħiħa ta' kotba. Huwa biss, oh, A huwa l-ewwel, Stajt sibt dan munzell hawn. SPEAKER: Allura, kważi simili biċċiet puzzle li għandhom il-forma dritt li jaqblu ma 'xulxin. UDJENZA: Pretty ħafna, yeah. SPEAKER: OK, eċċellenti. U issa kull wieħed minn dawn piles huwa preżumibbilment magħżula? UDJENZA: Yeah. SPEAKER: Kull dritt, A permezz Z. All dritt, congratulations, inti ma kien. Inti għandek l-għażla tiegħek. Blue? Kull dritt, nirringrazzjak għal dak. Allura Mary Beth ma tipproponi dak l-approċċ tagħha kien, imma dak li hu approċċ ieħor kif inti jista 'jmur dwar issortjar dawn l-affarijiet? What would you għamlu? Ir-rekord li tħabbat kien ikun minuta u 50 sekonda jew hekk, plus dawk I nesa biex jingħaddu. What would you għamlu? Yeah? UDJENZA: Ħu l-munzell. Ibda mill-bidu. Iċċekkja karti tiegħek. U jekk il-wieħed quċċata hija ogħla minn, forsi, huma, l-waħda qiegħ hija ogħla, imbagħad ixgħel minnhom. SPEAKER: OK, hekk jibdew fil-quċċata u l-qiegħ, u mbagħad jaħdmu tiegħek mod ġewwa bħal dik, jagħmlu skambju ta minnhom? OK, hekk ftit simili fl-ispirtu li sort bużżieqa, iżda jagħżlu l-estremi mhux il-pari li jmissu magħhom. Iżda l-qasira ta 'dan hija li hemm żgur mazz ta 'modi differenti stajna nagħmlu dan, u franchement, I think inti tip ta ' adottat approċċi koppja, id-dritt? Inti għamilt tip ta 'erba' puntali magħżula, u imbagħad effettivament magħquda flimkien. U li, daresay, ieħor teknika għal kollox. Inti ma titratta dan bħala pile waħda kbira, inti maqsuma l-problema f'erba quads, jekk inti se, u mbagħad b'xi mod ingħaqdu minnhom fl-aħħar. Mela ejja jikkunsidraw, finalment, kif inkella nistgħu nagħmlu dan. Aħna formalizzata l-kunċett ta bubble sort aħħar darba, u recall sort bużżieqa kien algoritmu li aħna viżwalizzata bl tmienja mill-klassi tiegħek up here, apparentement saltwarjament magħżula fl-ewwel. U aħna mbagħad iddeċidew pairwise, jekk żewġ elementi huma out of order, sempliċiment swap lilhom. Allura erba 'u tnejn huma ovvjament out of order, hekk dawn iż-żewġ klassi pożizzjonijiet qalbu. U allura aħna ripetut erba 'u sitt, imbagħad sitta u tmienja, fuq kull iterazzjoni, jiċċaqalqu lejn il-lemin. Allura mogħtija tmien persuni, pairwise kemm paraguni ma nagħmel waqt mixi minn xellug għall-lemin iterazzjoni waħda tali? Kif paraguni ħafna? Seba, id-dritt? Għaliex jekk hemm tmienja nies iżda inti għandek il-par lilhom u inti żżomm jiċċaqalqu wieħed ħops għad-dritt, int mhux se jkollhom tmien paraguni għaliex inti ma tistax tqabbel element kontra innifsu, jew kieku biss tkun inutli, hekk ikollok seba. Jew b'mod iktar ġenerali, jekk għandna n-nies, aħna do n minus 1 paraguni ma sort bużżieqa. Mela ejja jikkunsidraw issa kif tajba jew bubble bad sort attwalment kien, u jippruvaw biex jagħtu lilna nfusna vokabularju ma li biex algoritmi critique bħal dan, u dalwaqt tagħna stess. Allura l-ewwel pass permezz sort bużżieqa, l-ewwel darba I mixi minn fuq ix-xellug għal-lemin madwar il- istadju, ħa me n minus 1 paraguni. U li għaddej biex tkun tiegħi unità tal-kejl, id-dritt? I kien tip ta 'titkellem u strolling, kemmxejn mgħaġġel, kemmxejn kajman, hekk għadd tiegħi numru ta 'sekonda mhuwiex partikolarment javżak, iżda għadd tan-numru ta ' operazzjonijiet li għamilt nhar it-Tnejn, jitqabblu żewġ persuni, li jħoss bħal unità sympathique ta 'miżura. Allura n minus 1 passi l-ewwel darba, iżda mbagħad dak li ġara wara li? X'hemm-rasu waħda pass wieħed permezz ta 'lista inkella mhux magħżul? X'tista 'tgħidli dwar l-element li kien il-triq kollha hemmhekk? Yeah? Dan kien l-element akbar, id-dritt? Numru tmienja, anki jekk hija beda hawn, kull darba I imqabbla tagħha kontra ġar, hi miżmuma tbaqbieq up lejn il-lemin naħa tal-lista. U fil-fatt, li fejn l-algoritmu gets isimha. Issa billi li l-loġika, kif ħafna paraguni bżonn I jagħmlu fuq il-tieni darba I jagħmlu li jgħaddu mix-xellug għal-lemin? n minus 2, id-dritt? Ikun biss tkun ħela ta 'ħin tiegħi jekk I iżommu jqabbel tmienja kontra xi ħadd inkella għaliex aħna diġà jafu kienet fil-post dritt. Allura dak daqsxejn ta ' ottimizzazzjoni, sabiex il-pass li jmiss se tkun plus n minus żewġ passi, fejn n huwa n-numru ta 'nies. Issa inti tista 'tip ta' estrapolati, anke jekk int ma xjenzat kompjuter, kif dan truf. Fl-aħħar ta 'dan algoritmu, preżumibbilment inti ħadthom ltqajna waħda biss paragun xellug. Int għandek tip ta 'tiffissa l- bidu tal-lista fil-każ f'żewġ u wieħed huma out of order u għandu jkun wieħed u tnejn, għalhekk dan Qigħan fil plus 1 finali paragun. Issa l-dot, dot, dot tip ta 'mewġ huwa idejn fil wħud mid-dettalji juicier, imma ejja biss jimxi 'l quddiem u jissimplifika. Jekk inti recall minn għoli iskola, franchement, ħafna minnkom kellhom kotba matematika li kellhom iqarrqu folja ftit fuq il-qoxra ta 'quddiem jew il- qoxra ta 'wara li wera inti ammonti totali liema serje bħall dan finalment miżjud sa. Fil-każ ġenerali, jekk għandek varjabbli bħall n, u tabilħaqq dan wieħed, jekk inti ħares lejn tiegħek ktieb matematika iskola antika, inti tara li dan fil-fatt żżid sa din is-somma hawn, n ħinijiet n minus 1 kollha diviż bi 2. Allura għal issa let me biss jistipulaw dan huwa minnu, hekk fuq qabża ta 'fidi, dan huwa dak li din somom sa, u nistgħu jipprova li f'każ aktar ġenerali. Imma issa ejja jespandu dan out. Mela ejja jimmultiplikaw dan out, b'tali mod li n kwadrat, minus n, kollha diviż bl 2. Li tassew n kwadrat, diviż bi 2, minus n aktar minn 2, hekk li kollox sbieħ u interessanti. Imma x'jiġri jekk aħna issa plug-in valur? Ejja ngħidu I ma kellhomx tmien nies, iżda jgħidu miljun. U miljun biss minħabba huwa numru pretty big, ejja plagg li fi u tara x'jiġri. Mela jekk jien plug miljun fis dik il-formula Jien ser tikseb miljun kwadrat, diviż bi 2, nieqes miljun, diviż bl 2. Issa x'hemm dik għaddej biex ugwali? Allura 500,000,000,000, minus 500,000. U jekk I attwalment do li matematika barra, li l-mezzi li issortjar miljun nies bil-tip bużżieqa tista 'tieħu me 499,999,500,000 passi jew paraguni fl-aħħar, aħna qed biss estrapolazzjoni. Li iħoss pretty bil-mod, iżda franchement kejl input wieħed partikolari bħal dan, mhux kollha li javżak. Iżda tabilħaqq dan ma jissuġġerixxu li bħala n gets akbar u akbar, dan algoritmu tip ta 'tħossha agħar u agħar, jew inti verament tibda tħossok l-uġigħ ta 'dik exponentiation, li n kwadrat, li żżid up pretty fast. U dan id-dettall mhuwiex mitlufa fuq in-nies, fil-fatt xi snin ilu senatur ċerta li kien kampanji, sib l isfel għal intervista ma Eric Google Schmidt, CEO fil-ħin, u ġie kkontestat bil-kwistjoni ferm simili aħna qed jesploraw llum. Ejja tagħti ħarsa. [Daqq ta 'video] -Senator, Int hawn fuq Google, u I simili biex jaħsbu tal-presidenza bħala intervista tax-xogħol. Issa, huwa diffiċli biex jiksbu xogħol bħala president, u int għaddejjin mill-ħruxija issa. Huwa wkoll diffiċli li jsibu xogħol fil-Google. Għandna mistoqsijiet, u aħna jistaqsu mistoqsijiet kandidati tagħna, u dan huwa wieħed mill Larry Schwimmer. What-- inti guys think jien kidding, huwa dritt hawn. X'inhu l-aktar mod effiċjenti biex sort miljun interi 32-bit? -Well-- -I'm Sorry, maybe-- -Nru, No, no. Naħseb li l-sort bużżieqa tkun l-mod żbaljat biex imorru. -Come Fuq, li qallu dan? I ma tara kompjuter xjenza fl-isfond tiegħek. -We've Ltqajna Spies tagħna fil hemm. OK, ejja jistaqsu differenti mistoqsija intervista. [END daqq ta 'video] SPEAKER: Allura jitkellem dwar numri speċifiċi għalkemm, mhux se jkun dak kollu li utli. Mhuwiex lezzjoni ħajja li bużżieqa sort, minħabba miljun inputs, jista 'jieħu daqs 500,000,000,000 passi. Inti ma tistax verament jiġġeneralizza wisq effettivament minn dak u jagħmlu deċiżjonijiet tad-disinn tajba meta tikteb programmi. Mela ejja tiffoka għalkemm fuq kif nistgħu jissimplifika dan ir-riżultat. So I ve enfasizzat bl-isfar hawn ir-riżultat ta 'n kwadrat diviż bi 2, so a miljun kwadrat diviż bi 2, u mbagħad Stajt enfasizzat dak ir-risposta aħħari kien ladarba aħna mnaqqas off n diviż bi 2. U l-pretensjoni jien ser tagħmel issa huwa, li l-Heck jimpurtah jekk inti naqqas off a n qodma ftit aktar minn 2 meta l-ewwel parti ta 'din il-formula hija tant ħafna akbar? Hija jiddomina l-oħra tul, n kwadrat diviż bl 2 hija tant ikbar, b'mod ċar, bħala n gets kbar bħal miljun, li hemm verament differenza kbira fil l-aħħar tal-ġurnata bejn 500,000,000,000 u 499,999,500,000? Mhux tassew. U hekk dak li aħna qed tmur biex tagħmel kif xjenzjati tal-kompjuter hija jinjora dawn it-termini ordni aktar baxxa u tieħu xi ħaġa bħal din u verament biss jissimplifika lill- terminu li għaddej biex jimpurtax. L-ikbar settijiet ta 'data tagħna jiksbu, l-akbar databases tagħna jiksbu, il-paġni web aktar irridu tfittxija, l-aktar ħbieb għandek fuq Facebook. Bħala n gets akbar, aħna qed verament jmorru għall-kura dwar l-akbar tul f'xi analiżi bħal din ta ' algoritmi prestazzjoni tagħna. U jien se ngħid, inti taf liema, sort bużżieqa huwa fuq l-ordni ta 'O big, fuq l-ordni ta 'n kwadrat. Mhuwiex eżattament n kwadrat kif aħna stajt tidher, imma li verament jimpurtah dwar dawk it-termini iżgħar, u franchement, li verament cares jekk irridu iddividi 2? Li jinsab biss fattur kostanti. U huwa 500,000,000,000 versus 250 biljun verament li kbar ta 'ftehim? I jistgħu biss stenna sena, let laptop tiegħi litteralment nikseb darbtejn aktar malajr fil-hardware, u dik it-tip ta 'differenza biss tmur bogħod naturalment maż-żmien. What we care about hija l-espressjoni, il-parti tal-espressjoni li għaddej biex jvarja bħala input tagħna gets akbar u akbar. U fil-fatt, fid-dinja reali, dan huwa dak li qed jiġri dejjem aktar huwa l-inputs għall-problemi tagħna u algoritmi huma jkollna akbar. Allura O big se tkun in-notazzjoni, in-notazzjoni asintotiku, li aħna biss użu bħala xjenzjati tal-kompjuter biex jiddeskrivu il-prestazzjoni, jew il-ħin running, ta 'algoriżmu. Allura li nistgħu jqabblu algoritmi fuq kompjuters differenti miktuba minn persuni differenti, bl-użu xi metrika fundamentalment simili bħall-numru ta 'tqabbil int tagħmel, jew forsi in-numru ta 'swaps int tagħmel. Dak li aħna ma tkunx qed tmur biex għadd huwa l-ammont ta 'ħin li jgħaddi fuq l-arloġġ fuq il-ħajt tipikament. Dak li aħna ma tkunx qed tmur biex ninkwetaw dwar huwa memorja kemm inti qed tuża llum fuq inqas, għalkemm dan huwa riżors ieħor nistgħu ikejlu. Aħna ser jippruvaw tibbaża l-analiżi tagħna biss fuq l-operazzjonijiet bażiċi, dawk, franchement, li tista 'tara l-aktar viżwalment. Allura ma xi ħaġa simili O kbira ta 'n kwadrat, I jsostnu li O ta 'n kwadrat hija 'fuq marbut fuq l-hekk imsejħa żmien ta 'tip bużżieqa running. Fi kliem ieħor, jekk inti riedu jsostnu li hemm dan il-limitu massimu fuq kemm passi 'algoriżmu jista' jieħu, li għaddej biex tkun fil-O kbir ta 'n kwadrat f'dan il-każ, l-rbit superjuri. X'jiġri jekk I minflok jibdlu l- istorja li jkun mhux dwar sort bużżieqa, iżda dwar dan fuq marbuta. Tista 'taħseb ta' algoriżmu li konna ħares lejn diġà ta 'fuq bound, massima tagħhom ikejlu ta 'żmien jew l-operazzjonijiet, tkun jingħad li tmiss billi n, funzjoni lineari, mhux waħda kwadratiċi li l mgħawġa? X'hemm algoritmu li dejjem tieħu aktar minn bħall passi n, jew Passi 2n, jew passi 3N? Yeah? UDJENZA: Sib l- akbar numru f'lista? SPEAKER: Perfect, il-konstatazzjoni l-akbar numru f'lista. Jekk jien tingħata lista ta ' nies per eżempju, kull wieħed li qiegħda żżomm numru, x'inhu n-numru massimu tal-passi li għandha tieħu me, persuna raġonevolment intelliġenti, biex isibu l-persuna akbar f'dik il-lista? n, id-dritt? Minħabba li fl-agħar każ, fejn tista l-akbar valur tkun? Dritt, it-triq kollha fl-aħħar. Allura fl-agħar każ ta 'fuq marbut, I jista ikollhom imorru-triq kollha minn hawn u jkunu simili, oh, hawnhekk numru tmienja, jew kwalunkwe dak il-valur huwa. Issa se jkun biss stupid jekk I jinżammu għaddejjin, right? Looking for aktar u aktar elementi jekk l-aħħar minnhom huwa hemmhekk? Allura żgur, n hija marbuta fuq. I m'għandhomx bżonn li jieħdu aktar passi minn dak. Allura dak jekk minflok I propost li hemm algoritmi f'din id-dinja li jkollhom żmien running thats li tmiss mill O kbir ta 'log n, log n? Fejn ma rajna dan qabel? Yeah? UDJENZA: Fil-problema ktieb tat-telefon? SPEAKER: Bħall-problema ktieb tat-telefon. Liema kienet l-miżura ta 'kemm ħafna ħin jew kif ħafna tiċrit IT Domt biex isibu xi ħadd bħal Mike Smith fil-ktieb tat-telefon? Aħna sostniet li kien log n, u anki jekk familjari jew huwa a imċajpra ftit dak logarithm jew esponent kien, biss ftakar li log n ġeneralment tirreferi għall-proċess, f'dan il-każ, ta 'diviżjoni xi ħaġa fil nofs mill-ġdid, u għal darb'oħra, u għal darb'oħra, u għal darb'oħra, tali li gets dejjem aktar żgħar kif inti tagħmel dan. Allura log ta n jirreferi, żgur, għall-eżempju ktieb tat-telefon, li tfittxija binarju fit-teorija, meta aħna kellha l-bibien virtwali fuq il-bord, jew meta Sean kien tiftix għal xi ħaġa. Jekk huwa kien użat tfittxija binarja, log n tkun l fuq marbuta fuq kemm ħin li jieħu. Iżda dawk algoritmi li dam fil log n assunt dak dettall ċavetta? Li l-lista ġiet magħżula, id-dritt? Algoritmu tiegħek huwa ħażin jekk input tiegħek mhix magħżula, u għadhom inti qed tuża xi ħaġa bħal tfittxija binarja għax jista 'jkollok jaqbżu dritt fuq l-element mingħajr ma jirrealizza huwa tabilħaqq hemmhekk. Issa dak li jista 'jfisser dan, O kbir ta' waħda? Dan ma jfissirx li algorithm tiegħek tieħu waħda u biss pass wieħed, dan ifisser biss li tieħu numru kostanti ta 'passi. Forsi huwa 1, forsi huwa 10, forsi huwa 1,000, imma hija indipendenti ta ' id-daqs tal-problema. Ma jimpurtax kemm hu kbir huwa n, algoritmu ta 'żmien kostanti dejjem jieħu l-istess numru ta 'passi. Allura dak li jista 'jkun algoritmu konna tkellimna dwar jew biss intuwittivament li jiġi lilek li dejjem runs fl-hekk imsejħa time kostanti? Yeah? UDJENZA: Żid żewġ numri. SPEAKER: Żid żewġ numri, 2 plus 2 ugwali 4, isir. Allura li jista 'jaħdem, x'iktar? Kif dwar id-dinja aktar reali, yeah? UDJENZA: Sib l- ewwel ħaġa f'lista. SPEAKER: Sib l-ewwel element f'lista, żgur. Imxejna ġew effettivament jitkellem dwar arrays diġà, kif do ikollok fil- ewwel element fil-firxa, ebda kwistjoni kemm żmien il- array huwa kodiċi C? Inti biss jużaw bħall-bracket notazzjoni żero, bam, int hemm. U fil-fatt arrays, bħala twarrib, appoġġ ħaġa ġeneralment magħrufa aċċess bl-addoċċ, aċċess bl-addoċċ memorja, għaliex inti tista litteralment jaqbżu għal kull post wieħed. Nistgħu nagħmlu dan saħansitra aktar sempliċi nistgħu kontrina għal żero ġimgħa meta għamilna Scratch. Kif ħafna ħin ma ħadet għall- jgħidu blokk fil Scratch biex tesegwixxi? Just ħin kostanti, id-dritt? Say xi ħaġa, jgħidu xi ħaġa, ma jimpurtax kif Grif kbar dinja hija, huwa dejjem ser tieħu l-istess ammont ta 'ħin li sempliċiment ngħid xi ħaġa. Allura dak iż-żmien kostanti, imma dak in-naħa flip? Jekk dan kien ta 'fuq limiti, dak li jekk irridu biex jiddeskrivu l-limiti aktar baxxi ta 'algoritmi tagħna running time? Kważi aħjar każ potenzjalment, jekk inti se, għalkemm dawn it-termini jista 'japplika għall-aħjar każijiet, agħar każijiet, każijiet medja aktar ġeneralment, imma ejja biss jiffoka fuq limiti aktar baxxi b'mod aktar ġenerali. X'hemm algoritmu li għandu baxxa tal-passi n, jew passi 2n, jew passi 3N? Xi fattur ta 'passi n, thats aktar baxx tagħha marbuta. Yeah? UDJENZA: sort Bubble? SPEAKER: sort Bubble jieħu inti passi n minimament, għaliex? Għaliex huwa li? Għaliex għandhom li jibdew li jiġu għandek intuwittivament, anki jekk ma biss għadhom? Yeah? UDJENZA: [inaudible]. SPEAKER: Eżattament. Fl-aħjar xenarju possibbli ta ' sort bużżieqa, u ħafna ta 'algoritmi, jekk I inti idejn tmien persuni li huma diġà magħżula, ikun foolish għalik, l-algoritmu, li jmorru quddiem u lura aktar minn darba, id-dritt? Minħabba hekk kif inti walk permezz tal-lista darba, inti għandek tirrealizza, oh, I magħmula l-ebda Swaps, din il-lista huwa magħżul, il-ħruġ. Iżda li għaddej biex tieħu inti n passi. U bil-maqlub, x'hemm ieħor mod ta 'ħsieb dwar dan? Sort Bubble huwa omega, biex ngħidu hekk, ta 'n, għaliex jekk inti tħares lejn inqas minn n elementi, liema hija l-kwistjoni fundamentali hemmhekk? Inti ma nafx jekk huwa magħżula, id-dritt. Aħna bnedmin Jista t'għajn lejn tmien nies u jkunu simili, oh, huwa magħżula, li ma ħaditx me n passi, iżda għamlet. Għajnejn tiegħek, anki jekk inti xorta ta jkollhom kamp kbir ta 'viżjoni, inti ħares lejn tmien elementi, inti ħares lejn tmien persuni, thats tmien passi b'mod effettiv. U biss jekk I walk permezz tal-kollu lista do I realizzata, iva, magħżula. Jekk I stop f'nofsu ħsieb, kollha dritt, huwa pretty magħżula s'issa, liema huma l-odds mhuwiex magħżula? Li algoritmi mhux ser tkun korretta. Jista 'jkun malajr, iżda mhux korretta. Allura issa għandna mod ta ' jiddeskrivi limiti aktar baxxi, u dak dwar ħin kostanti? X'hemm algoritmu li għandha aktar baxxa marbuta fil-ħin għat-tmexxija tagħha ta 'waħda? 1 pass, 2 passi, 10 passi, iżda kostanti, indipendenti mill n, id-daqs tal-input? Yeah, fid-dahar. UDJENZA: printf? SPEAKER: X'hemm li? UDJENZA: printf? SPEAKER: printf. OK, żgur. Allura hija tieħu numru fiss ta 'passi. And I għandhom now-- issa li aħna qed jitkellem dwar kodiċi C u mhux Scratch, xi ħaġa bħal ngħidu aħna, ma printf, għandna tibda tikseb attenta. Minħabba printf ma tieħu input, huwa string, u kordi do teknikament jkollhom tul. Allura jekk aħna issa tixtieq li pick fuqek, jekk inti ma mind, teknikament nistgħu jargumentaw li printf ma tieħu input tul varjabbli, u żgur jista 'jieħu aktar żmien biex jistampaw string dan twil, minn dan twil. Allura dak li jekk nikkunsidraw biss il- issortjar u tiftix eżempji? What about Mike Smith fil-telefon ktieb, jew tfittxija binarja aktar ġenerali? Fl-aħjar każ, x'jista 'jiġri? I tiftaħ il-ktieb tat-telefon u, BAM, hemm numru Mike Smith. I jistgħu jsejjaħħlu dritt bogħod. Ħadet pass wieħed, forsi żewġ passi, iżda numru kostanti ta 'passi jekk sibt xxurtjati. U franchement, rajna fuq It-tnejn classmate tiegħek jiksbu pjuttost xxurtjati darbtejn in fila. U li kienet tabilħaqq kostanti darba fi limiti aktar baxxi fuq l-algoritmu fil-kwistjoni għall-konstatazzjoni in-numru 50 wara dawk magħluqa bibien. Issa, bħala twarrib, jekk inti tiskopri li kemm O big, l illegat fuq, u omega, l-aktar baxx marbut, huma wieħed fl-istess, li huwa l-istess formula fl parentesi, inti tista 'wkoll jgħidu, biss biex tkun fancy, li xi ħaġa hija fil theta ta n jew theta ta 'xi valur ieħor. Dan ifisser biss meta big O u omega huma l-istess. Issa dak dwar sort għażla? Ejja jużaw dan vokabolarju ġdid. Fil sort għażla, liema kienu aħna tagħmel għal darb'oħra, u għal darb'oħra, u għal darb'oħra? I kien għaddej quddiem u lura permezz il-lista, tfittex għal min? L-iżgħar numru. Allura kif ħafna passi, kif ħafna paraguni ma I ikollhom jagħmlu sabiex insemmu li l-element iżgħar fil-lista kien? n minus 1, id-dritt? Għaliex jekk I biss tibda bil-wieħed jien mogħtija u I tibda jqabbel lilu jew lilha, imbagħad lilu jew lilha, lilu jew tagħha, lilu jew lilha, I tista 'biss par elementi flimkien n minus 1 darbiet. Allura għażla sort simili tieħu n minus 1 passi l-ewwel darba. Kemm passi ma jieħdu me biex isibu l-tieni l-iżgħar element? n minus 2, għaliex jien qed mutu jekk I iżommu tħares lejn l-istess nies ġdid jekk stajt diġà magħżula lilu jew tagħha u tpoġġihom fil-post tagħhom. U t-tielet pass, n minus 3, allura n nieqes 4. Rajna dan il-mudell qabel, u tabilħaqq għażla sort simili għandha fuq bound ta n kwadrat jekk nagħmlu up li għadd totali. X'inhu inferjuri, sort għażla tagħha? Minimament, kemm għandu għażla ħin sort tieħu, kif aħna ddefinietu nhar it-Tnejn? Tipproponi żewġ għażliet. Forsi huwa n, bħal qabel. Forsi huwa n kwadrat, kif issa huwa kif l-marbuta fuq. UDJENZA: n kwadrat. SPEAKER: n kwadrat. Għaliex? UDJENZA: Minħabba li għandek sabiex tiddefinixxi [inaudible]. SPEAKER: Eżattament. Mill-inqas I kif definit sort għażla kien pjuttost naive, iżommu għaddejjin, isibu l-element iżgħar. Mur darb'oħra, isibu l-element iżgħar. Mur darb'oħra, isibu l-element iżgħar. M'hemm l-ebda tip ta ' ottimizzazzjoni fil hemm li tista let me abort wara biss n jew hekk passi. Allura fil-fatt, l-għażla sort, omega ta n kwadrat. What about sort inserzjoni, fejn I ħa li I kien mogħti, u mbagħad I plopped lilu jew tagħha fil-post dritt? Imbagħad I ipproċediet għat-tieni persuna, plopped lilu jew lilha fil-post dritt. Imbagħad il-persuna li jmiss, plopped lilu jew lilha fil-post dritt. Avviż li dan huwa ferm lineari, biex ngħidu hekk. Jien linja dritta, jien mhux se quddiem u lura, Stajt qatt tħares lura verament, imma dak li qed jiġri meta I daħħal lilu jew tagħha fil-bidu ta ' il-lista kif għamilna nhar it-Tnejn? Dak li qed jiġri? Yeah? UDJENZA: [inaudible]. SPEAKER: Yeah, li kien il-qabda, id-dritt? Inti tista recall minn klassi tiegħek, jekk huma kienu qed jagħmlu kull moviment ma saqajn tagħhom, li kien operazzjoni. Mela jekk kien hemm tliet persuni hawn u il-persuna ġdida kienet ikkontrollata mod hemmhekk, fuq stadju twil bħal dan, żgur, huwa jew hi tista 'biss tmur għall-aħħar ħafna. Imma jekk aħna qed jaħsbu dwar kompjuter u l-firxa ta 'memorja, dawn in-nies huma għaddejjin li jkollhom biex shuffle fuq biex tagħmel spazju għal dik il-persuna. U hekk li n minus 1 shufflings, n minus 2 shufflings, n minus 3 shufflings huwa biss tip ta ' jiġri lura lili, mhux quddiem lili bħal qabel, f'xi sens. Issa bħala twarrib, u bħala inti tista raw online jekk tibda poking madwar dwar xorta, hemm dawk li tant differenti hemmhekk, xi wħud minnhom aħjar minn oħrajn. Tabilħaqq, bogosort hija waħda li l-xorta ta 'gost tfittex up. Bogosort jieħu sett ta ' numri jew jgħidu gverta ta 'karti, saltwarjament shuffles minnhom, u kontrolli jekk dawn qed magħżula. U jekk le, ma darb'oħra. U jekk le, ma darb'oħra. Jekk le, ma darb'oħra. Oerhört stupid. U fil-fatt, jekk inti taqra bħall-artikolu Wikipedia, laqam tiegħu huwa tip stupid. Hija eventwalment se taħdem, nisperaw, jingħataw żmien biżżejjed, iżda dak l-ammont ta 'ħin jista 'jieħu żmien pjuttost twil. Mela jekk I jistgħu, ejja affarijiet veloċità up mill-eżempju Mary Beth qabel, billi ftit elementi aktar, iżda żewġ proċessuri aktar. Żewġ persuni, jekk inti ma mind tgħaqqad lili. Kif madwar 1 hawn fuq, u ejja go-- ebda waħda hemmhekk? Ħadd hemmhekk? OK. Inti ma l-iswed shirt, iva, come fuq l isfel. Kull dritt, x'hemm isem tiegħek? UDJENZA: Peter. SPEAKER: X'hemm li? UDJENZA: Peter. SPEAKER: Peter, David, sbieħ li jissodisfaw inti. Kull dritt, għandna Peter hawn, jekk inti tixtieq li ġejjin fuq il-mejda hawn fuq. U x'hemm isem tiegħek? UDJENZA: Elena. SPEAKER: Elena. OK, sbieħ li jissodisfaw inti. Elena jilħqu Peter. Pietru, Elena. U aħna bzonn Andrew up hawnhekk ukoll, jekk jogħġbok. U l-isfida tiegħek huwa għaddej li jkun biex issolvi gverta ta 'karti. U jekk familjari, gverta ta 'karti għandhom finalment jiġu magħżula ftit xi ħaġa bħal dan fejn aħna ser nagħmlu l-klabbs, imbagħad l spades, allura l-qlub u djamanti, minn ass bħala waħda, it-triq kollha sa king. Il-kards Jien ser jagħtuk ser ikunu 52 fil-kwantità. Aħna ser simili ħin li inti, fi ftit mument. Aħna ser tarmi Andrew up fuq l-iskrin hawn, sabiex jaraw kif inti tagħmel dan. U hekk li dan kollu huwa l-aktar viżibbli, dawn huma l-cards sibt fuq Amazon. Allura huma diġà saltwarjament magħżula, u aħna qed tmur biex darba inti. U aħna qed tmur biex jżommha reali dan iż-żmien, hekk aħna qed tmur biex tipprova pressjoni inti għax inkella dan se tikseb tedious malajr. Jekk inti tista 'tipproċedi biex issolvi 52 elementi flimkien permezz ta 'xi mezzi, issa. U għal darb'oħra, kif aħna watch dawn guys jagħmlu dak, fl-aħħar se jipproduċi ovvju riżultat, jaħsbu dwar verament kif dawn qed kull nagħmilx hekk, kif inti tista tiddeskrivi lilha. Minħabba darb'oħra, dawn huma kollha proċessi, algoritmi li nieħdu għall mogħtija bħala bniedem. Imma inti probabilment ħadthom twil kellhom intwizzjoni, twil qabel inti anki ħsibt dwar teħid ta ' klassi xjenza tal-kompjuter li inti seta 'kellhom l-intuwizzjoni ma li sabiex isolvu problemi bħal dan. Imma ladarba inti tirrikonoxxi il-mudelli u tibda biex jifformalizzaw il-passi li bihom int jissolvew dawn il-problemi, inti ser issib li inti tista 'ssolvi ħafna aktar interessanti u ferm aktar kumplessa problemi malajr. Allura xi ħadd mill-udjenza, dak li huwa inqas element wieħed ta 'l-algoritmu li dawn qed jużaw hawn? UDJENZA: [inaudible] SPEAKER: X'hemm li? UDJENZA: Billi suit. SPEAKER: Billi suit. Allura l-ewwel huma jaqgħu kollha kollha tal-djamanti flimkien jidher, kollha tal- qlub flimkien jidher, u oħrajn, mingħajr rispett għall-numri fuq il-karti. U issa jidhru, per eżempju, li jiġu issortjar lilhom mill-għadd. Tajjeb ħafna. Kull dritt, hekk dak li għaddej biex tkun il-pass finali allura hawnhekk? Ladarba għandna erba suits magħżula, liema do we bżonn tagħmel biex l-erba 'munzelli sabiex jinkiseb wieħed gverta magħżula, pjuttost sempliċi? Għalhekk għandna bżonn li jingħaqdu mill-ġdid. Allura hemm idea interessanti li darb'oħra, daresay, huwa ħafna intuwittivi saħansitra jekk int qatt ma seta 'slapped dak it-tip ta 'tikketta fuqha. Dan il-kunċett fundamentali ta 'diviżjoni il-problema ma fil nofs il-ħin, iżda mill-inqas f'erba 'biċċiet. Solving pretty ħafna problemi fundamentalment identiċi fil-iżolament ta 'xulxin, u mbagħad jingħaqdu r-riżultati. U, eċċellenti, isir. Kull dritt, tond big ta applause, jekk nistgħu. [Applause] SPEAKER: Għandi l-ebda idea dak li inti ser do ma 'dawn, iżda hawnhekk tmur. Grazzi tant. Mela ejja ara, żewġ minuti u tmien sekondi, jekk inti tixtieq li jikkontesta ħbieb tiegħek. X'inhu allura huwa ser tkun tieħu l bogħod minn din li nistgħu lieva aktar ġenerali? Ukoll, think lura għal dan firxa ta 'numri, u think lura issa għal xi wħud mill- pseudocode konna bil-miktub fil-passat, u dan kien il-pseudocode għall tissolva l-problema ktieb tat-telefon. Biha fil pseudocode I enumerati b'mod aktar metodiku ta jiddeskrivi kif I għamlet intuwittivi ħafna algoritmu tal-bniedem tal tiddividi l-phone ktieb fil nofs, irrepeti, irrepeti, irrepeti, sal I issib xi ħadd bħal Mike Smith, jekk huwa tabilħaqq fil-ktieb tat-telefon. Imma I tip ta użati dak I ser sejħa approċċ iterattiv ħafna hawn, b'mod partikolari avviż linja 8 u l-linja 11. Dawk huma evidenza ta 'iterattiv approċċ, approċċ looping, għaliex dan huwa eżattament l-imġieba li jinduċu. Dawk il-linji kemm jgħidu mur linja tlieta, u inti tista 'tip ta' jaħsbu ta 'dak fil tiegħek għajnejn moħħ bħala loop. Huwa tghidlek biex tmur lura up pass tlieta u rrepeti, għal darb'oħra, u għal darb'oħra, u għal darb'oħra. Imma dak jekk aħna lieva idea ewlenija hawnhekk li aħna ma l-aħħar darba, u jissimplifikaw linja 8 u linja 11 u l-ġirien tagħhom bħala biss dan, bl-isfar. Mhuwiex fundamentalment tqassir l pseudocode ħafna, imma hija bidla fundamentali tal in-natura ta algoritmu tiegħi. Dak li jien issa tgħid fil-pass 7, fil-pass 10, huwa ta 'tiftix għal Mike bl-istess mod eżatt, iżda biss fil-xellug nofs jew il-nofs tal-lemin. Allura fi kliem ieħor, jekk I tibda minn pass wieħed, pick up ktieb tat-telefon, miftuħa għall middle tal-ktieb tat-telefon, tħares lejn l-ismijiet, jekk Smith hija fost isem, is-sejħa Mike, inkella jekk Smith tkun qabel fil-ktieb, pass seba tfittxija għal Mike fil nofs tax-xellug tal-ktieb. Iżda dan it-tip ta jħoss simili huwa li jħallu me jiddendlu, right? Fil isfar, huwa istruzzjoni, imma kif do I tfittxija għall Mike fil-xellug nofs il-ktieb tat-telefon? Fejn nista 'jkollhom algoritmu li magħhom I tista 'tfittex għal xi ħadd bħal Mike Smith? Ukoll, huwa tluq magħna fil-wiċċ. I jistgħu litteralment jużaw l-istess eżatt programm effettivament tmur sal-quċċata darb'oħra u ri-running l-istess linji ta 'kodiċi. Allura anke jekk dan għandu jħossu bħal daqsxejn ta 'definizzjoni ċiklika fejn int twieġeb xi ħadd huwa mistoqsija bi ftit tip ta 'tistaqsi l-istess kwistjoni mill-ġdid, bħal għaliex, għaliex, għaliex? Ir-realtà hija għaliex aħna ħadthom hard kodifikati koppja ta 'linji speċjali, pass 4, li hija jekk, u 12 pass, li huwa effettivament fergħa ieħor, għaliex għandna dawk il-miżuri stopgap, dan algoritmu se jintemm jekk irridu isibu Mike, jew jekk aħna ma. Iżda fil-pass 7 u 10 issa, għandna dak li aħna ser sejħa algoritmu rikursivi. U recursion huwa tabilħaqq idea qawwija thats mind ftit liwi fl-ewwel, li aħna issa jista 'japplika kif ġej. Jingħaqdu sort se jkun l-aħħar tip li nħarsu lejn, għall-inqas fil-klassi formalment. U huwa fundamentalment differenti minn dawk it-tliet aħħar, u ċertament aħħar erbgħa jekk aħna jinkludu bogosort. Hawn il-pseudocode għall tip jingħaqdu. Meta fuq input ta 'elementi n, hekk mogħtija firxa ta 'daqs n, jekk n hija inqas minn 2, ritorn. Allura għaliex għandi li sanità tiċċekkja l-ewwel? X'hemm-implikazzjoni jekk I inti idejn firxa li t-tul n huwa inqas minn 2? Huwa diġà magħżula, ovvjament, id-dritt? Minħabba li l-lista jew għandha element wieħed, li huwa trivially magħżula għaliex dan huwa l-unika ħaġa hemmhekk. Or, huwa ta 'daqs żero li jfisser hemm xejn biex issolvi, hekk min-natura dan huwa magħżul. Hemm biss xejn ħażin hemmhekk. Allura dak hekk imsejjaħ każ bażi tagħna. Dan huwa simili fl-ispirtu għal dak li għamilna ma 'Mike. Jekk l Mike fil-ktieb tat-telefon, jsejjaħħlu. Jekk hu ma jkunx hemm, tagħti up. Huwa hekk imsejħa każ bażi, sabiex tagħmel żgur li dan algoritmu fl-aħħar tal-ġurnata se tieqaf f'ċerti ċirkostanzi. Iżda hawn l-qabża ta 'fidi issa, inkella, sort in-nofs xellugi tal-elementi, imbagħad sort-dritt nofs l-elementi, u mbagħad jingħaqdu in-nofsijiet magħżula. U hawn fejn iħoss simili aħna qed Copping out. Stajt talab li inti sort n elementi, u jien qal, OK, tagħmel dan billi issortjar ix-xellug u l-għażla dritt. Imma I am qal wieħed Ħaġa oħra, u dan hija t-tema ewlenija jidher fil-intwizzjoni s'issa, hemm dan it-tielet pass ta 'għaqda. Liema anki jekk jidher hekk dumb fl-ispirtu, bħal biss jingħaqdu affarijiet flimkien, jidher li jkun pass ewlieni lejn il- mill-ġdid ta 'żewġ problemi li kienu maqsuma finalment nofs. Allura jingħaqdu sort, ejja tagħmel dan, jekk inti taf Humer lili, ma 'wieħed turija aktar, biss hekk li aħna għandna xi numri li jaħdmu magħhom. Nista jiskambjaw tmien stress blalen għal tmien persuni? Kull dritt, kif dwarek tlieta, int erbgħa f'din it-taqsima, ħamsa, sitta, u ejja do 7, 8, come fuq up. OK, yeah OK. Minus 8, hemm immorru, flimkien ma '1. Eċċellenti. Kull dritt come fuq up, ejja malajr jagħtik numri. Numru tnejn, numru tlieta, numru erbgħa, numru b'ħames, sitta, seba ', u tmienja. Jien għamilt tmien korrett dan iż-żmien. OK, sabiex jimxi 'l quddiem jekk inti tista', u ejja sort fl-ordni oriġinali li kellna bieraħ li ħares bħal dan, jekk inti ma mind. U ejja tagħmel dan quddiem il-mejda. Kull dritt, hekk jingħaqdu sort. Dan huwa fejn huwa għaddej biex tikseb it-tip ta 'interessanti, minħabba I jidhru li tkun tagħti myself tant inqas informazzjoni tal-lum. Allura jingħaqdu sort l-ewwel nett fuq l-input ta 'elementi n, u hija ovvjament mhux inqas minn tnejn, huwa tmienja, so I jkollhom xi xogħol aktar x'isir. Allura issa mentalment aħna bħala klassi huma issa fil-fergħa inkella, li jfisser tliet passi. L-ewwel, I jkollhom biex issolvi l- nofs tax-xellug ta 'l-elementi. Allura kif nista tmur dwar kif isir dan? Well, jien ser tip ta ' mentalment jaqsam il-lista hawn, inti ma għandekx fiżikament jimxu, u jien ser tiffoka biss fuq il- nofs tax-xellug ta 'l-elementi hawn. Allura kif nista tmur dwar issortjar lista issa ta 'daqs erba? X'hemm algoritmu tiegħi? Ewwel I jivverifika hu n inqas minn tnejn, l-ebda, so I jipproċedu għall-blokk ieħor ġdid. Sort xellug nofs ta 'elementi. Allura issa u għal darb'oħra, mentalment, u dan huwa fejn inti għandek jakkumulaw ħafna ta ' istorja mentali, jekk inti se. Issa jien issortjar ix-xellug nofs in-nofs xellugi. Kull dritt, hekk issa I call istess jingħaqdu tiegħi issortjar algoritmu, huwa n anqas minn tnejn? Le, huwa tnejn, so I jkollhom biex issolvi in-nofs xellugi, u l-nofs tal-lemin. So here we go, sort l-nofs tax-xellug. Għaliex ma inti biss tieħu pass 'il quddiem. X'hemm isem tiegħek? UDJENZA: Darren. SPEAKER: Dan. Dan żiedet l quddiem. UDJENZA: Darren. SPEAKER: Darren, isir. Ridt ngħid Darren jew Dan? UDJENZA: Darren. SPEAKER: Darren. OK, Darren żiedet quddiem u huwa issa huwa magħżul. U dan huwa kważi pretensjoni inane, id-dritt? I ma verament jidhru li huma kisba xejn, imma ejja tipproċedi. Issa let me sort-dritt nofs mill-elementi. X'hemm isem tiegħek? UDJENZA: Luqa. SPEAKER: Luqa. Come on, pass 'il quddiem. Magħmul, I magħżula Luqa. Il-half xellug issa huwa magħżul u il-half dritt issa huwa magħżul, iżda għal darb'oħra, hemm pass ewlieni hawnhekk. What do I bżonn tagħmel li jmiss? Jingħaqdu l-nofsijiet magħżula. Issa aħna qed tmur li jkollhom biss kulħadd quddiem u lura b'dan il-mod, minħabba I tip ta 'bżonn xi spazju scratch. Huwa kważi simili dawn guys huma fuq mejda, u I bżonn xi kamra biex jiġu mċaqalqa madwar fuq. So I m ser jingħaqdu inti guys billi tħares fil-nofs tax-xellug u l-nofs tal-lemin. U li ovvjament jiġi l-ewwel, nofs tax-xellug jew nofs id-dritt? Allura nofs tal-lemin, so ejja jimxu Luke fuq hawn għall-pożizzjoni oriġinali Darren tal. U issa li jingħaqdu nofs xellug tagħhom fi, Darren għaddej biex jimxu hemm dritt. Allura iħoss bħal kważi effett sort bużżieqa, iżda algoritmu fundamentali tiegħi, differenti ħafna dan iż-żmien. Imma issa s fejn l-affarijiet jiksbu ftit annoying għaliex inti għandek kontrina mentalment fejn ma I leave off. Stajt biss ingħaqdet in-nofsijiet magħżula, li jfisser jien fejn fil algoritmu tiegħi? I jkollhom biex issolvi l-nofs tal-lemin, right? Jekk inti kontrina, litteralment fuq il-video, inti ser tara li aħna ltqajna biex dan punt ta 'Luke u Darren bl-għażil ix-xellug nofs in-nofs xellugi. Imbagħad aħna amalgamata dawk nofsijiet magħżula, li tfisser il-pass li jmiss huwa sort l- nofs tal-lemin tan-nofs tax-xellug. Kull dritt, hekk ejja tagħmel dan aktar malajr. Kull dritt, sitt, jien ser titlob inti issa huma magħżula, come fuq quddiem. X'hemm isem tiegħek? UDJENZA: Adriano. SPEAKER: Adriano. Adriano issa huwa magħżul. U x'hemm isem tiegħek? UDJENZA: Alex. SPEAKER: Alex issa huwa magħżul. Nofs Xellug, nofs tal-lemin, x'inhu l-pass finali? Jingħaqdu. Pretty trivjali, hekk jien ser jingħaqdu f'sitt, tieħu pass lura, tmienja, tieħu pass lura. U issa l-avviż din hija takeaway utli, liema issa huwa veru dwar in-nofs xellugi tal- lista, irrispettivament minn kif bdejna? Huwa magħżula. Issa huwa ma jintgħażlux fl l-iskema ta 'affarijiet kbar, iżda huwa magħżul indipendentement tal-nofs l-ieħor. Issa dak pass am I fuq jekk I iżommu rewinding kif l-istorja bdiet? Issa I jkollhom biex issolvi l-nofs tal-lemin. Allura issa aħna qed mod lura fil il-bidu tal-istorja, u ejja tagħmel dan aktar malajr. So jien ser issolvi l- nofs tal-lemin tal-lista sħiħa. X'hemm-pass li jmiss? Sort in-nofs xellugi tal-nofs tal-lemin. Sort in-nofs xellugi tal- nofs xellug tal-nofs tal-lemin. U x'hemm isem tiegħek? UDJENZA: Omar. SPEAKER: Omar, pass 'il quddiem, isir. Nofs Xellug huwa magħżul. U x'hemm isem tiegħek? UDJENZA: Chris. SPEAKER: Chris, tieħu pass quddiem, inti issa huma magħżula. X'hemm-pass ewlieni issa? Jingħaqdu. Allura wieħed ikun ser jingħaqdu fis-seħħ hawn, jekk inti tista 'tieħu pass lura, u tlieta se tieħu pass lura, jingħaqdu. Allura in-nofs xellugi tal- nofs tal-lemin, issa huwa magħżul. Franchement, dan algoritmu iħoss bħal aħna huma ħela b'mod aktar żmien minn qabel, imma jekk aħna ma dan fil-ħin reali, aħna ser tara x'inhuma l-takeaways se tkun. Issa hawnhekk I am, id-dritt nofs il-nofs tal-lemin, let me imorru quddiem u sort l-nofs tax-xellug. Pass 'il quddiem, x'hemm isem tiegħek? UDJENZA: Ramsey. SPEAKER: Ramsey issa huwa magħżul. X'hemm isem tiegħek? UDJENZA: Marina. SPEAKER: Marina issa hija magħżula bħala ukoll, jekk inti tieħu pass 'il quddiem. Pass Key hawn issa qed jingħaqdu, jien ser ġewwieni minn żewġ listi tiegħi, xellug u lemin. Ta 'ħames se jasal l-ewwel, u seba se jidħlu jmiss. U għal darb'oħra, dan huwa intenzjonat. Il-fatt li dawn qed jieħdu passi 'l quddiem u lura huwa maħsub biex jirrappreżenta dak ma nistgħux tagħmel dan algoritmu fil-post bħala faċilment bħala sort bużżieqa, u sort għażla, u sort inserzjoni fejn aħna biss miżmuma iskambji nies. I litteralment bżonn sort tal-karta scratch li fihom li jpoġġu dawn folks filwaqt I do l-amalgamazzjoni, u mbagħad I tista 'tpoġġi lura fil-post. U li ċavetta għaliex jien jużaw riżorsa ġdida, ispazju, mhux biss ħin. OK, dan huwa aqwa. Nofs Xellug huwa magħżul, nofs tal-lemin hija Issortjati, issa li ċavetta jingħaqdu pass. Kif am I ser jingħaqdu dan? Mela jekk inti ser issegwi tiegħi naħa tax-xellug u tal-lemin, Jien ser punt naħa tax-xellug tiegħi fil-nofs tax-xellug, lemin tiegħi fil-nofs tal-lemin, u issa I għandhom tiddeċiedi pass pass min jgħaqqad. Min ovvjament jiġi l-ewwel? Numru wieħed. Allura ġejjin fuq matul hawn, hawn pad scratch tagħna. Allura issa numru wieħed, u avviż dak I ser tagħmel mal-lemin tiegħi, Jien ser jimxu wieħed tiegħi lemin pass fuq għal punt numru tlieta, u issa I għandhom jagħmlu l-istess deċiżjoni. U fil-fatt stand dritt quddiem tal Luke hawn jekk inti tista ', għaliex dan huwa pad scratch tagħna. Hekk li jiġi jmiss? Għandna Luke ma numru tnejn jew Chris bin-numru tlieta. Ovvjament Luqa, numru tnejn, sabiex inti jiġu hawn. Iżda naħa tax-xellug tiegħi issa se jkun inkrementat punt fuq Darren, u hawn l-muftieħ tieħu bogħod ma tingħaqad, jien ser iżommu tagħmel dan, ovvjament, jekk inti xorta tal jsegwu l-loġika. Iżda l-idejn tiegħi huma qatt se jmorru lura, li jfisser jien biss qatt jiċċaqilqu għal fuq ix-xellug proċess li qed jingħaqdu tiegħi, u li għaddej biex jkun kruċjali għas- analiżi tagħna fi ftit mument. Allura issa ejja finitura dan up malajr. Allura tlieta jiġi jmiss, imbagħad erba jiġi jmiss, u issa ħamsa li jmiss tidħol, allura sitta, u seba ', u mbagħad finalment tmienja. Iħoss bħall-algoritmu slowest s'issa, iżda mhux jekk aħna fil-fatt run fl-istess tip tal-veloċità arloġġ, hekk li jitkellmu, bl-istess timmarka arloġġ bħal qabel. Għaliex? Well, Ejja tagħti tħares lejn ir-riżultat aħħari. Ejja ħa mmorru lura hawn, let me pull up dimostrazzjoni viżwalment ta 'dak li aħna biss għamlet. Zooming fil hawn, fuq din paġna hawn, javżak Firefox li aħna rridu li kju up f'din il-kaxxa, ejja jgħidu sort bużżieqa, li magħhom aħna qed issa sew familjari, sort għażla, li hija ieħor pjuttost wieħed sempliċi, u issa lum sort jingħaqdu, li se jkun jispiċċa climactic tagħna. Ir-raġuni hija ħadet tant itwal hawn mal-bnedmin u lili verbalment hija, ovvjament, jien tispjega kull pass. Imma jekk inti sempliċiment tesegwixxi dan, ħafna bħal għamilna sort bużżieqa u l-għażla sort mhux biss viżwalment, watch kemm kemm aktar effiċjenti dan leveraging ta diviżjoni u conquering jistgħu jiġu meta applikati għal sett ta 'dejta li l- lanqas daqs tmien, iżda anke ħafna, ħafna akbar. I jagħtuk jingħaqdu sort, ġenb ġenb ma 'dawn algoritmi oħra. Dan huwa se tikseb uġigħ malajr, u għat-tmiem mhuwiex partikolarment climactic, huma biss jispiċċaw magħżula. Iżda l-muftieħ jieħdu bogħod hija li ħarsa kif ħafna aktar mgħaġġla jingħaqdu sort kien, sakemm inti taħseb jien biss tip ta 'messing miegħek. Jekk nagħmlu dan finali darba, ejja rikarigu dan, ejja mmorru lura u jagħżlu sort bużżieqa, u biss għall kicks, ejja jagħżlu inserzjoni sort, biss għal miżura tajba. U din id-darba mill-ġdid, ejja jagħżlu sort jingħaqdu u ejja tmexxi effettivament dawn ġenb ma 'ġenb. U m'humiex, fil-fatt, fluke. Dak li stajt effettivament isir huwa stajt maqsum input tiegħi fil nofs, għal darb'oħra, u għal darb'oħra, u għal darb'oħra. U hemm biss hekk bosta drabi inti tista ' jaqsam input tiegħek fis nofsijiet, xellug u lemin. X'hemm-formula li aħna tibqa 'tara li jiddeskrivi l-diviżjoni fil nofs għal darb'oħra, u għal darb'oħra, u għal darb'oħra, u għal darb'oħra? UDJENZA: Log n. SPEAKER: Log n. Iżda mbagħad hemm waħda pass ewlieni ieħor, dan algoritmu mhuwiex log n passi. Jekk kienu log biss n-passi, aħna se tkun l-istess problema bħal qabel fejn ma nistgħux inkunu żgur li kollox magħżula. Inti għandek minimament tħares lejn elementi n biex tkun żgur n elementi huma magħżula, inkella huwa qabża ta 'fidi. Allura huwa log minimament n passi, iżda dak dwar dan il-pass ewlieni amalgamazzjoni fejn I ingħaqdet nofs tax-xellug tiegħi u lemin nofs u mixi madwar l-istadju? Kemm passi huwa li biex jingħaqdu? Huwa n, imma jien ma biss jingħaqdu l-ħin finali. Fuq kull wieħed minn dawk is-sejħiet nested, fuq kull ta 'dawk tgħaqqad nested, I still magħżula. I amalgamata dawn iż-żewġ guys, allura dawn iż-żewġ guys, allura dawn iż-żewġ guys u ibqa 'sejjer hekk. So I ma jingħaqdu mill-ġdid, u għal darb'oħra. Kif ħafna drabi? Hekk kull darba I maqsuma l- lista fil nofs, I ma jingħaqdu. Aqsam il-lista fil nofs, do jingħaqdu. Mela jekk tiddividi l-lista jista 'jsir drabi log n, u l-amalgamazzjoni finalment jieħu n passi, dak li jista 'jkun issa l' fuq marbuta fuq it-tmexxija żmien ta 'algoritmu tagħna? n log n. U fil-fatt, dan huwa dak konna miksuba hawn. Allura l-jħossu li inti tara viżwalment meta dawk it-tliet affarijiet jimxu ma 'ġenb xulxin hija n kwadrat kontra n kwadrat kontra log n n. Liema fundamentalment Ser naraw, mhux biss illum iżda fil-futur, hija ħafna, ħafna aktar mgħaġġla. A round ta 'applause għal dawn guys, I se jippremjahom ma blalen istress. Ejja jaggorna hawn illum, u aħna ser tara inti nhar it-Tnejn.