[MIZIK jwe] Pwofesè: Tout dwa. Sa a se CS50 ak sa a se nan fen semèn twa. Se konsa, nou ap isit la jodi a, pa nan Sanders Teyat, olye pou nan Weidner Bibliyotèk. Anndan nan ki se yon estidyo li te ye tankou Hauser Studio, oswa pou nou di Studio H, osinon nou say-- si ou te jwi ki blag, li la aktyèlman soti nan kondisip klas, Mak, sou entènèt, ki sijere kòm anpil atravè Twitter. Koulye a, sa ki nan fre sou yo te isit la nan yon estidyo se ke mwen te antoure pa sa yo vèt mi yo, yon ekran vèt, oubyen chromakey, se konsa pale, ki vle di ke CS50 nan ekip pwodiksyon, ensu m ' kounye a, ta ka mete m 'ki pi nenpòt kote nan mond lan, pou pi bon oswa pou vin pi mal. Kounye a ki sa bay manti devan, pwoblèm mete de se nan men ou pou semèn sa a, Men, se avèk pwoblèm mete twa sa a ap vini semèn, ou pral defye ak jwèt la sa yo rele nan 15, yon favè fin vye granmoun pati ki ou ta ka sonje k ap resevwa tankou yon timoun ki gen yon pakèt antye nan nimewo ki ka glise leve, desann, kite la ak dwa, ak gen nan yon sèl espas nan devinèt la, nan kote ou ka aktyèlman glise moso sa yo devinèt. Alafen ou resevwa sa a devinèt nan kèk lòd semi o aza, ak objektif yo se yo sòt li, anwo jouk anba, gòch a dwat, ki soti nan yon sèl tout wout la moute nan 15. Malerezman, aplikasyon an ou pral gen nan men a pwal lojisyèl baze sou, pa fizikman. Ou ap aktyèlman pral fè yo ekri Kòd ak ki yon elèv oswa yon itilizatè ka jwe jwèt la nan 15. Apre sa, an reyalite, nan HACKER la edisyon an jwèt la 15, ou pral yon defi aplike, pa sèlman ap jwe nan lekòl sa a fin vye granmoun jwèt, men pito rezoud nan nan li, mete ann aplikasyon mòd bondye, se konsa pale, ki aktyèlman rezoud devinèt la pou imen an, lè yo bay yo ak allusion, apre allusion, apre yo fin allusion. Se konsa, plis sou sa semèn pwochèn. Men, sa a sa ki bay manti devan yo. Pou kounye a raple se bonè nan semèn sa nou te gen cliffhanger sa a, si ou pral, kijan pi bon an nou te fè klasman ki gen bon konprann se te yon mare anwo nan gwo o nan n okib. Nan lòt mo, sòt jarèt, sòt seleksyon, sòt ensèsyon, tout nan yo, pandan y ap diferan nan aplikasyon yo, dekonsantre nan yon n okib kouri tan nan ka a trè pi mal la. Apre sa, nou asime ke jeneralman ka a trè pi mal la pou klasman se youn ki entrain ou yo konplètman bak. Ak tout bon, li te pran byen yon kèk etap aplike chak nan algoritm sa yo. Koulye a, nan fen anpil nan klas sonje, nou konpare sòt jarèt kont sòt seleksyon kont yon lòt ke nou rele sòt unifye nan moman an, ak mwen pwopoze ke li nan pran avantaj de yon leson nan semèn zewo, separe ak konkeri. Ak yon jan kanmenm akonplisman kèk kalite logaritmik kouri tan finalman, olye pou yo yon bagay sa a, se piman kwadratik. Epi li pa byen logaritmik, li nan yon ti jan pi plis pase sa. Men, si ou sonje soti nan klas, li te anpil, anpil pi vit. Se pou nou pran yon gade nan ki kote nou te kite la. Sòt jarèt kont seleksyon sòt kont sòt unifye. Koulye a, yo ap tout kouri, nan teyori, nan menm tan an. CPU a ap kouri nan vitès la menm. Men, ou ka santi ki jan raz sa a se trè byen vit ale nan vin, ak jis konbyen vit, lè nou enjekte yon ti jan nan algoritm semèn zewo a, nou ka pi vit bagay yo. Se konsa, make sòt sanble dwòl. Ki jan nou ka ogmante li, yo nan lòd sòt nimewo pi vit. Oke kite a panse tounen nan yon engredyan ke nou te gen tounen nan semèn zewo, sa yo ki an pou chèche yon moun nan yon liv telefòn, ak raple se nan pseudocode ke nou pwopoze yo, via ki nou ka jwenn yon moun tankou Mike Smith, gade yon ti kras yon bagay tankou sa a. Koulye a, pran yon gade an patikilye nan liy 7 ak 8, ak 10 ak 11, ki pwovoke ki bouk, annakò ak sa nou te kenbe pral tounen nan liy 3 ankò, e ankò, e ankò. Men, li sanble ke nou ka wè sa a algorithm, isit la nan pseudocode, yon ti kras plis holistic. An reyalite, ki sa mwen 'ap chache a isit la sou ekran an, se yon algorithm pou pou chèche Mike Smith nan mitan kèk seri paj. Ak tout bon, nou te ka senplifye sa a algorithm nan sa yo liy 7 ak 8, ak 10 ak 11 a jis di sa a, ki mwen te prezante isit la nan jòn. Nan lòt mo, si Mike Smith se pi bonè nan liv la, nou pa bezwen presize etap pa etap kounye a ki jan yo ale jwenn li. Nou pa gen ou presize pou tounen nan liy 3, poukisa pa fè sa nou jis olye de sa, di, plis jeneralman, rechèch pou Mike nan la gòch mwatye nan liv la. Kontrèman, si Mike se aktyèlman pita nan liv la, poukisa yo pa nou jis site unquote rechèch pou Mike nan mwatye nan dwa nan liv la. Nan lòt mo, poukisa pa fè sa nou jis sòt de punt nan tèt nou konsa: rechèch pou Mike nan sa a sou nan liv la, epi kite li nan nou ki deja egziste algorithm fè nou konnen ki jan pou fè rechèch pou Mike nan ke mwatye gòch nan liv la. Nan lòt mo, nou an algorithm travay si li nan yon liv telefòn nan epesè sa a, nan sa a epesè, oswa nenpòt ki epesè tou. Se konsa, nou kapab recursive defini sa a algorithm. Nan lòt mo, sou mòn lan ekran isit la, se yon algorithm pou pou chèche Mike Smith nan mitan paj sa yo nan yon liv telefòn. Se konsa, nan liy 7 ak 10, se pou yo jis di egzakteman sa. Apre sa, mwen sèvi ak sa a tèm yon ti moman de sa, ak tout bon, rkursyon se buzzword a pou kounye a, ak li nan pwosesis sa a a fè yon bagay yon jan kanmenm pa conjoncture lè l sèvi avèk kòd ki ou deja genyen, ak rele l 'ankò, e ankò, e ankò. Koulye a, li k ap pase yo ka enpòtan ke nou yon jan kanmenm anba soti, epi yo pa fè sa enfiniman lontan. Sinon nou ap ale nan gen tout bon yon bouk enfini. Men, kite a wè si nou ka prete ide sa a nan yon rkursyon, fè yon bagay ankò e ankò e ankò, yo rezoud pwoblèm nan klasman atravè unifye sòt yo, tout plis la avèk efikasite. Se konsa, mwen ba ou rantre sòt. Se pou nou pran yon gade. Se konsa, isit la se pseudocode, ak ki nou te ka aplike klasman, lè l sèvi avèk sa a algorithm rele sòt unifye. Lè li nan byen tou senpleman sa a. Sou opinyon nan eleman n, nan lòt mo, si w ap bay n eleman ak nimewo ak lèt oswa kèlkeswa sa D 'a se, si w ap bay eleman n, si n se mwens pase 2, jis retounen. Dwa? Paske si n se mwens pase 2, ki vle di ke lis mwen an nan eleman se swa nan gwosè 0 oswa 1, ak nan tou de nan sa yo ka trivial, se lis la deja klase. Si pa gen okenn lis, li la Ranje. Men, si gen nan yon lis ki gen longè 1, li nan evidamman Ranje. Se konsa, algorithm a sèlman bezwen yo reyèlman fè yon bagay enteresan, si nou gen de oubyen plis eleman bay yo ban nou. Se konsa, kite pou yo gade nan majik la lè sa a. Lòt Bagay sòt mwatye nan bò gòch nan eleman yo, Lè sa a, sòt mwatye nan dwa nan eleman, Lè sa a, rantre mwatye yo Ranje. Ak sa ki nan kalite lide koube isit la, se ke mwen pa fè sa vrèman sanble yo te di nou anyen jis ankò, dwa? Tout sa mwen te di se, yo bay yon lis ki gen N eleman, sòt mwatye nan bò gòch, Lè sa a, mwatye nan dwa, lè sa a rantre mwatye yo Ranje, Men, kote sòs la sekrè aktyèl? Ki kote se algorithm a? Oke li sanble ke de liy sa yo premye, sòt kite mwatye nan eleman, ak sòt mwatye nan dwa eleman, se apèl repetitif, se konsa pale. Apre yo tout, nan nivo sa a pwen nan tan, èske mwen gen yon algorithm ak ki sòt yon pakèt antye nan eleman? Wi. Li nan dwa isit la. Li nan dwa isit la sou ekran an, ak pou m ka sèvi ak sa seri menm nan etap sòt mwatye nan bò gòch, ke mwen kapab mwatye a dwat. Ak tout bon, ankò, e ankò. Se konsa, yon jan kanmenm oswa lòt, epi nou pral byento wè sa a, majik la nan sòt unifye se entegre nan ke trè final liy, fusion mwatye yo Ranje. Epi sa sanble san patipri entwisyon. Ou pran de mwatye, epi ou, yon jan kanmenm, rantre yo ansanm, epi n ap wè sa a konkrètman nan yon moman. Men, sa a se yon algorithm konplè. Li kite yo wè egzakteman poukisa. Oke ta kwè ke nou ap bay sa yo menm uit eleman isit la sou ekran an, youn nan uit, men yo ap yo nan lòd w pèdi o aza. Ak objektif la nan men se sòt eleman sa yo. Oke ki jan yo kapab mwen ale sou fè li lè l sèvi avèk, ankò, rantre sòt, tankou pou chak pseudocode sa a? Epi ankò, sa a nan ankre lide ou, pou jis yon ti moman. Ka a premye se trè trivial, si li nan mwens pase 2, jis retounen, gen nan pa gen travay yo dwe fè. Se konsa, reyèlman gen nan jis twa etap sa yo reyèlman kenbe nan tèt ou. Yon fwa ankò, e ankò, mwen se ale nan vle gen sòt mwatye nan bò gòch, sòt mwatye nan dwa, Lè sa a, yon fwa yo ak de mwatye yo ranje, Mwen vle rantre yo ansanm nan yon sèl lis Ranje. Se konsa, kenbe sa nan tèt ou. Se konsa, isit la nan lis orijinal la. Se pou yo trete sa a kòm yon etalaj, menm jan nou te kòmanse nan semèn de, ki se yon blòk vwazen nan memwa. Nan ka sa a, ki gen uit nimewo, tounen nan tounen nan do. Li kite yo kounye a aplike sòt unifye. Se konsa, mwen premye vle sòt mwatye nan gòch nan lis sa a, e kite yo, Se poutèt sa, konsantre sou 4, 8, 6, ak 2. Koulye a, ki jan mwen ale sou Fouye yon lis nan gwosè 4? Oke mwen gen yo kounye a konsidere Fouye kite nan mwatye a gòch. Yon lòt fwa ankò, se pou yo remonte sèlman pou moman yon. Si pseudocode a se sa a, ak mwen bay uit eleman, 8 se evidamman pi gwo pase oswa egal a 2. Se konsa, avèk ka a an premye pa aplike. Se konsa, yo sòt uit eleman, m 'premye sòt mwatye nan gòch nan eleman, lè sa a mwen sòt mwatye nan dwa, lè sa a mwen rantre de mwatye yo Ranje, yo chak nan gwosè 4. OK. Men, si ou te jis te di m ', sòt nan gòch mwatye, ki se kounye a nan gwosè 4, ki jan mwen sòt mwatye nan bò gòch? Oke si mwen gen yon D 'nan kat eleman, M 'premye sòt bò gòch la de, Lè sa a, de nan dwa, ak Lè sa a mwen rantre yo ansanm. Se konsa, ankò, li vin yon ti jan nan yon lide koube jwèt isit la, paske ou, kalite, gen sonje kote ou se nan istwa a, men nan fen jounen an, bay nenpòt ki kantite eleman, ou premye vle sòt nan mwatye gòch, lè sa a mwatye nan dwa, Lè sa a, rantre yo ansanm. Se pou nou kòmanse fè egzakteman sa. Isit la nan D 'a nan uit eleman. Koulye a, nou ap chèche a mwatye nan bò gòch isit la. Kouman pou mwen sòt kat eleman? Oke m 'premye sòt mwatye nan bò gòch. Koulye a, ki jan mwen sòt mwatye nan bò gòch? Oke Mwen te bay de eleman. Se konsa nou sòt de eleman sa yo. 2 se pi gran pase oswa egal a 2, nan kou. Se konsa, ki ka premye pa aplike. Se konsa, mwen kounye a gen yo sòt bò gòch la mwatye nan de eleman sa yo. Mwatye nan bò gòch, nan kou, se jis 4. Se konsa, ki jan mwen sòt yon lis yon sèl eleman? Oke kounye a, ki ka baz espesyal moute tèt, se konsa pale, aplike. 1 se mwens pase 2, ak mwen lis se vre nan gwosè 1. Se konsa, mwen jis retounen. Mwen pa fè anyen. Ak tout bon, gade nan ki sa mwen te fè, 4 se deja klase. Fè tankou mwen se deja pasyèlman siksè isit la. Kounye a ke sanble kalite estipid nan reklamasyon, men li se vre. 4 se yon lis ki gen yon gwosè 1. Li nan deja klase. Sa a mwatye nan bò gòch. Koulye a, mwen sòt mwatye a dwat. D 'mwen se yon sèl eleman, 8 Menm jan an tou, ki deja Ranje. Stupid, tou, men ankò, prensip debaz sa a ki pral pèmèt nou kounye a bati sou tèt nan sa a avèk siksè. 4 Ranje, 8 se Klase, kounye a sa ki te ke dènye etap? Se konsa, twazyèm ak dènye etap la, nenpòt tan w ap Fouye yon lis, sonje, te rantre de mwatye yo, bò gòch la ak bò dwat la. Se konsa, kite a fè egzakteman sa. Mwatye gòch mwen an se, nan kou, 4. Mwatye dwat mwen se 8. Se konsa nou fè sa. Premye mwen pral asiyen kèk memwa adisyonèl, ke mwen pral reprezante isit la, kòm jis yon etalaj segondè, sa a, se gwo ase nan anfòm sa a. Men, ou ka imajine pwolonje ki rektang longè a tout antye, si nou bezwen plis pita. Kouman pou mwen pran 4 ak 8, ak rantre sa yo de lis nan gwosè 1 ansanm? Isit la, tou, trè senp. 4 vini anvan, lè sa a vini 8. Paske si mwen vle sòt nan mwatye gòch, lè sa a mwatye nan dwa, ak Lè sa a rantre moun de mwatye ansanm, yo nan lòd Ranje, 4 vini anvan, lè sa a vini 8. Se konsa, nou sanble yo dwe fè pwogrè, menm si mwen pa te fè nenpòt ki travay vrè. Men, sonje kote nou ye nan istwa a. Nou orijinal te pran uit eleman. Nou Ranje mwatye nan bò gòch, ki se 4. Apre sa, nou Ranje mwatye nan bò gòch nan mwatye a gòch, ki te 2. Ak isit la nou ale. Nou ap fè ak ki etap. Se konsa, si nou te Ranje a kite mwatye nan 2, kounye a nou gen sòt mwatye nan dwa nan 2. Se konsa, mwatye nan dwa nan 2 se de valè sa yo isit la, 6 ak 2. Se konsa, kite pou nou kounye a pran yon D 'nan gwosè 2, ak sòt mwatye nan bò gòch, ak Lè sa mwatye nan dwa, ak Lè sa a rantre yo ansanm. Oke ki jan mwen sòt yon lis nan gwosè 1, ki gen jis nimewo a 6? Mwen deja fè. Se lis sa yo ki an gwosè 1 Ranje. Kouman pou mwen sòt yon lòt lis gwosè 1, sa yo rele dwa mwatye a. Oke li, tou, se deja klase. Nimewo a 2 se pou kont li. Se konsa, koulye a, mwen gen de mwatye, kite la ak dwa, mwen bezwen rantre yo ansanm. Kite m 'bay tèt mwen kèk espas siplemantè. , Li mete 2 nan la, Lè sa a, 6 nan la, kidonk Fouye ke lis, yo kite ak dwa, ak fusion li ansanm, finalman. Se konsa, mwen se nan ti kras pi bon fòm. Mwen pa fè, paske klèman 4, 8, 2, 6 se pa kòmann-nan final la ke mwen vle. Men, mwen kounye a gen de lis nan gwosè 2, ki te tou de, respektivman, te Ranje. Se konsa, kounye a si ou remonte nan la tèt ou grenn je, ki ki t 'kite nou? Mwen te kòmanse ak wit eleman, lè sa a mwen amenwize li desann nan mwatye a gòch nan 4, Lè sa a, mwatye nan gòch nan 2, ak Lè sa a, mwatye nan dwa nan 2, Mwen fini, Se poutèt sa, Fouye bò gòch la mwatye nan 2, ak mwatye nan dwa nan 2, se konsa sa ki nan twazyèm ak dènye etap la isit la? Mwen gen yo rantre ansanm de lis nan gwosè 2. Se konsa nou ale pi devan. Yo, epi sou ekran an isit la, bay m 'kèk memwa adisyonèl, menm si teknikman, remake ke mwen te te resevwa yon pakèt antye nan espas moute tèt vid la. Si m 'vle yo dwe espesyalman espas efikas gen bon konprann, Mwen te kapab jis kòmanse deplase eleman yo retounen ak lide, tèt ak anba. Men, jis pou klè vizyèl, Mwen pral mete l 'desann anba a, kenbe bagay sa yo bèl ak pwòp. Se konsa, mwen te gen de lis nan gwosè 2. Lis la premye gen 4 ak 8. Lis la dezyèm gen 2 ak 6. Se pou yo rantre moun ansanm nan Ranje lòd. 2, nan kou, vini an premye, Lè sa a, 4, Lè sa a, 6, Lè sa a, 8. Epi, koulye a nou yo sanble yo dwe resevwa yon kote ki enteresan. Koulye a, mwen te Ranje mwatye nan la lis, ak azar, li nan tout nimewo yo menm, men sa se, tout bon, jis yon konyensidans. Apre sa, mwen kounye a gen Ranje bò gòch la mwatye, se konsa ke li la 2, 4, 6, ak 8. Pa gen anyen nan parèt nan lòd. Sa santi l tankou pwogrè. Koulye a, li santi l tankou mwen te te pale pou tout tan kounye a, Se konsa, sa rete yo dwe wè si sa a algorithm se, tout bon, pi efikas. Men, nou ap ale atravè tout li super metodikman. Yon òdinatè, nan kou, ta fè l 'tankou sa. Se konsa, kote nou ye? Nou te kòmanse ak wit eleman. Mwen Ranje mwatye nan gòch nan 4. Mwen sanble yo dwe fè ak sa. Se konsa, kounye pwochen etap la se yo sòt mwatye nan dwa nan 4. Apre sa, pati sa a nou ka ale atravè yon ti kras plis byen vit, menm si ou ap Byenveni nan remonte oswa pran yon poz, jis panse a li nan pwòp vitès ou, men sa ki nou genyen kounye a se yon opòtinite yo fè egzak algorithm a menm sou kat diferan chif yo. Se konsa nou ale pi devan, epi konsantre sou mwatye nan dwa, ki nou yo isit la. Mwatye nan gòch nan ki dwat mwatye, e kounye a, nan gòch mwatye nan bò gòch la mwatye nan ke mwatye dwa, ak ki jan mwen sòt yon lis nan gwosè 1 ki gen jis nimewo a 1? Li nan deja fè. Kouman pou mwen fè menm bagay la pou yon lis nan gwosè 1 ki gen jis 7? Li nan deja fè. Etap twa pou mwatye sa a Lè sa a, se rantre de eleman sa yo nan yon lis nouvo nan gwosè 2, 1 ak 7. Pa sanble yo te fè tout ke anpil travay ki enteresan. Se pou nou wè sa ki rive kap vini an. Mwen jis Ranje mwatye nan gòch nan la dwat mwatye nan opinyon orijinal mwen. Koulye a, kite a sòt dwat a mwatye, ki gen 5 ak 3. Se pou nou ankò gade nan bò gòch la mwatye, Ranje, mwatye dwa, Ranje, ak rantre sa yo de ansanm, nan kèk espas adisyonèl, 3 ki vini anvan, lè sa a vini 5. Se konsa, kounye a, nou te Ranje a gòch mwatye nan mwatye nan dwa nan pwoblèm nan orijinal la, ak mwatye nan dwa nan mwatye nan dwa nan pwoblèm nan orijinal la. Ki sa ki nan twazyèm ak dènye Etap la? Oke rantre moun de mwatye yo ansanm. Se konsa, kite m 'jwenn tèt mwen kèk plis espas, men, ankò, mwen ta ka lè l sèvi avèk rezèv espas moute ki tèt. Men, nou ap ale nan kenbe li senp vizyèlman. Kite m 'rantre nan kounye a 1, ak Lè sa a, 3, ak Lè sa a 5, ak Lè sa a 7. Kidonk kite m 'koulye a ak nan dwat mwatye nan pwoblèm nan orijinal ki nan parfe Ranje. Se konsa, sa ki rete? Mwen santi mwen tankou mwen kenbe li di nan bagay menm ankò, e ankò, men sa a meditativ de a reyalite ke nou ap lè l sèvi avèk rkursyon. Pwosesis la nan lè l sèvi avèk yon algorithm ankò, e ankò, sou pi piti a ansanbl pwoblèm nan orijinal la. Se konsa, mwen kounye a gen yon bò gòch Ranje mwatye nan pwoblèm nan orijinal la. Mwen gen yon dwa mwatye Ranje nan pwoblèm nan orijinal la. Ki sa ki nan twazyèm ak dènye etap la? Oh, li nan fusion. Se konsa nou fè sa. Se pou yo asiyen kèk plis memwa, men bondye mwen, nou te kapab mete l 'nenpòt kote kounye a. Nou gen anpil espas ki disponib yo ban nou, men nou pral kenbe l 'senp. Olye pou yo ale retounen lakay yo epi ansanm ak memwa orijinal nou an, kite yo jis fè l ' vizyèlman desann isit la anba a, a fini moute nan fusion gòch mwatye ak mwatye nan dwa. Se konsa, pa fusion, ki sa mwen bezwen fè? Mwen vle pran eleman yo nan lòd. Se konsa, gade nan mwatye a gòch, Mwen wè nimewo a premye se 2. Mwen gade nan mwatye a dwat, Mwen wè nimewo a premye se 1, se konsa evidamman ki Nimewo fè mwen vle rache soti, epi li mete an premye nan lis final mwen an? Natirèlman, 1. Koulye a, mwen vle mande kesyon sa a menm. Sou mwatye nan bò gòch, mwen te toujou te resevwa nimewo a 2. Sou mwatye nan dwa, Mwen te gen nimewo a 3. Ki yon sèl mwen vle yo chwazi? Natirèlman, nimewo 2 kounye a remake kandida yo yo 4 sou bò gòch la, 3 sou bò dwat la. Se pou nou, nan kou, chwazi 3. Koulye a, kandida yo yo se 4 sou bò goch la, 5 sou bò dwat la. Nou, nan kou, chwazi 4. 6 sou bò gòch la, 5 sou bò dwat la. Nou, nan kou, chwazi 5. 6 sou bò gòch la, 7 sou bò dwat la. Nou chwazi 6, ak lè sa a nou chwazi 7, ak Lè sa a nou chwazi 8. Vwala. Se konsa, yon nimewo gwo nan mo pita, nou te Ranje lis sa a nan uit eleman nan yon lis ki gen yon sèl nan uit, ki nan ogmante ak chak etap, men ki jan anpil tan te fè li pran nou nan fè sa. Oke mwen te fè espre Laid bagay sa yo soti pictorially isit la, se konsa ke nou kapab kalite wè oswa apresye divizyon an nan viktwa sa a te pase. Vreman vre si ou gade tounen nan reveye an, Mwen te kite tout nan liy pwentiye an sa yo nan moun ki gen plas, ou kapab, kalite, wè, nan do lòd, si ou kalite gade tounen nan istwa kounye a, lis orijinal mwen se, nan kou, nan gwosè 8. Lè sa a, deja, mwen te fè fas ak de lis nan gwosè 4, ak Lè sa a kat bay lis gwosè 2, ak Lè sa a uit lis nan gwosè 1. Se konsa, sa fè sa a, kalite, fè ou sonje nan? Oke, tout bon, nenpòt nan algoritm yo nou te gade konsa byen lwen kote nou divize, ak divize, ak divize, kenbe li te gen bagay sa yo ankò, epi ankò, rezilta yo nan lide jeneral sa a. Se konsa, gen nan yon bagay logaritmik ale sou isit la. Epi li pa byen boutèy demi lit plen n, men gen nan yon eleman logaritmik nan sa nou te jis fè. Koulye a, kite a konsidere ki jan ki aktyèlman se. Se konsa, ouvri sesyon nan n, ankò te yon tan kouri gwo, lè nou te fè yon bagay tankou rechèch binè, menm jan nou kounye a rele l ', separe ak konkeri estrateji nan via nou te jwenn Mike Smith. Koulye a, teknikman. Sa a boutèy demi lit baz 2 nan n, menm menm si nan pifò klas matematik, 10 se nòmalman baz la ke ou asime. Men, syantis òdinatè prèske toujou panse ak pale an tèm de baz 2, se konsa nou jeneralman jis di boutèy demi lit plen n, olye pou yo boutèy demi lit baz 2 nan n, men yo ap egzakteman yon la ak menm nan mond lan nan òdinatè syans, ak kòm yon sou kote, gen nan yon faktè konstan diferans ki genyen ant de a, se konsa li a Moot de tout fason, pou plis rezon fòmèl. Men, pou kounye a, ki sa nou pran swen sou se egzanp sa a. Se konsa nou pa pwouve pa egzanp, men nan pi piti sèvi ak yon egzanp nan nimewo ki nan men kòm yon chèk saniti, si ou pral. Se konsa, deja fòmil la te baz boutèy demi lit 2 nan n, men ki sa ki n nan ka sa a. Mwen te gen nimewo N orijinal, oswa 8 ki gen nimewo orijinal espesyalman. Koulye a, li te gen yon ti kras ti tan, men mwen trè asire w ke boutèy demi lit baz 2 ki gen valè nan 8 se 3, ak tout bon, sa ki nan bèl sou se sa ki ki 3 se egzakteman kantite fwa ke ou ka divize yon lis nan longè 8 ankò, e ankò, e ankò, jiskaske ou ap kite ak lis nan jis gwosè 1. Dwa? 8 ale nan 4, ale nan 2, ale nan 1, e ke sa a meditativ nan egzakteman sa foto nou te gen jis yon ti moman de sa. Se konsa, yon ti kras saniti tcheke kòm nan kote logaritm a se aktyèlman enplike nan sa. Se konsa, kounye, ki lòt bagay ki enplike isit la? n. Se konsa, remake ke chak fwa mwen fann lis la, kwake yo nan lòd ranvèse nan istwa isit la, mwen te toujou ap fè n bagay sa yo. Sa etap mande pou fusion Mwen manyen chak youn nan nimewo yo, yo nan lòd yo glise l 'nan kote ki apwopriye li yo. Se konsa, menm si wotè a nan sa a dyagram se nan gwosè boutèy demi lit n nan n oswa 3, espesyalman, nan lòt mo, M 'te fè twa divizyon isit la. Ki kantite travay mwen te fè orizontal ansanm tablo sa a chak fwa? Oke, m 'te fè n etap nan travay, paske si mwen te te resevwa kat eleman ak kat eleman, ak mwen bezwen rantre yo ansanm. Mwen bezwen yo ale nan sa yo kat ak sa yo kat, finalman rantre yo tounen nan uit eleman. Si Kontrèman Mwen te gen wit dwèt sou isit la, ki mwen pa fè sa, ak wit fingers-- sorry-- Si m 'te te resevwa kat dwèt sou isit la, ki m 'fè, kat dwèt sou isit la, ki m 'fè, Lè sa a, sa a, se menm bagay la tou egzanp tankou anvan, si m 'fè gen uit dwèt menm si nan total, nan Tanp kote mwen kapab, kalite, fè. Mwen kapab egzakteman fè isit la, Lè sa a, mwen kapab sètènman rantre tout nan sa yo bay lis nan gwosè 1 ansanm. Men, mwen sètènman gen gade nan chak eleman egzakteman yon fwa. Se konsa, wotè a nan pwosesis sa a se boutèy demi lit n, lajè a nan pwosesis sa a, se konsa pale, se n, Se konsa, sa nou sanble gen, finalman, se yon tan kouri nan gwosè n fwa boutèy demi lit n. Nan lòt mo, nou divize lis, boutèy la N fwa, men chak fwa nou te fè sa, nou te gen ou manyen chak youn nan eleman yo yo nan lòd yo rantre yo tout ansanm, ki te N etap, konsa nou gen n fwa boutèy demi lit n, oswa kòm yon syantis òdinatè ta ka di, asenptotik, ki ta dwe pawòl Bondye a gwo a dekri anwo a mare sou yon tan kouri, nou ap kouri nan yon gwo o nan boutèy n tan, se konsa pale. Koulye a, sa a se enpòtan, paske sonje sa fwa yo kouri te ak sòt jarèt, ak seleksyon sòt, ak sòt ensèsyon, e menm yon kèk lòt moun ki egziste, n okib te kote nou te nan. Epi ou ka, kalite, wè sa a isit la. Si n okib se evidamman n fwa n, men isit la nou gen n fwa boutèy demi lit n, epi nou deja konnen soti nan semèn zewo, ki n boutèy demi lit, logaritmik a, se pi bon pase yon bagay lineyè. Apre yo tout, sonje foto a ak wouj la ak jòn nan ak liy yo vèt ke nou te trase, nan vèt liy logaritmik te pi ba. Se poutèt sa, pi bon ak pi vit pase liy ki dwat jòn ak wouj, N fwa boutèy demi lit n se, tout bon, pi bon pase fwa n N, oswa n okib. Se konsa, nou sanble yo gen idantifye yon unifye algorithm sòt ki kouri nan anpil pi vit tan, ak tout bon, Se poutèt sa, pi bonè semèn sa a, lè nou te wè ki konpetisyon ant ti wonn sòt, sòt seleksyon, ak rantre sòt, rantre sòt reyèlman, reyèlman te genyen. Ak tout bon, nou pa t 'menm tann pou sòt jarèt ak sòt seleksyon fini. Koulye a, kite a pran yon lòt pas nan nivo sa a, ki soti nan yon yon ti kras plis pèspektiv fòmèl, jis nan ka, sa a rezonans pi bon pase sa diskisyon nivo ki pi wo. Se konsa, isit la nan algorithm a ankò. Se pou nou mande tèt nou: ki lè a kouri se nan sa a algoritm divès kalite etap? Se pou yo divize l 'nan premye a ka epi ka-a dezyèm fwa. SI a ak LÒT la Nan ka a SI, SI n se mwens pase 2, jis retounen. Santi l tankou tan konstan. Li nan, kalite, tankou de etap, SI n se mwens pase 2, lè sa a retounen. Men, jan nou te di nan Lendi, tan konstan, oswa gwo o nan 1, kapab de etap, twa etap, menm 1,000 etap. Sa ki enpòtan se ke li nan yon PO konstan nan etap. Se konsa, jòn la make pseudocode isit la kouri nan, nou pral rele l ', konstan tan. Se konsa, plis fòmèlman, ak nou ap ale to-- sa a yo pral nan ki pwen nou formalizra dwa sa-a now-- T nan n, tan an kouri nan yon pwoblèm ki pran nouvote N kòm D ', egal gwo o nan yon sèl, SI n se mwens pase 2. Se konsa, li kondisyonèl sou sa. Se konsa, yo dwe klè, SI n se mwens pase 2, nou gen yon lis trè kout, lè sa a tan an kouri, T nan n, kote n se 1 oswa 0, nan ka sa a trè espesifik, li nan jis pral fè tan konstan. Li nan ale nan pran yon sèl etap, de etap, kèlkeswa sa. Li se yon nimewo fiks de etap. Se konsa, pati nan juicy dwe siman dwe nan lòt ka a nan pseudocode la. Ka a lòt bagay. Triye gòch mwatye nan eleman, sòt dwat mwatye nan eleman, rantre mwatye Ranje. Konbyen tan chak nan sa yo etap pran? Bon, si kouri a lè yo sòt eleman n se, se pou yo rele li trè generic, T nan n, Lè sa a, Fouye bò gòch la mwatye nan eleman yo se, kalite, tankou li di: T nan n divize pa 2, ak Menm jan an tou klasman mwatye nan dwa nan eleman ki, kalite, tankou li di: T nan n divize 2, ak Lè sa a fusion mwatye yo Ranje. Oke si mwen te gen kèk kantite eleman isit la, tankou kat, ak kèk nimewo nan eleman isit la, tankou kat, epi mwen te gen rantre chak nan sa yo kat nan, ak chak nan sa yo kat nan, yon sèl apre lòt la, se konsa ke finalman mwen gen uit eleman. Li santi l tankou sa a, se gwo o nan etap n? Si mwen te gen n dwèt ak chak nan yo gen yo dwe fizyone nan plas, sa a, se tankou yon lòt etap n. Se konsa, tout bon formulaically, nou ka eksprime sa a, kwake yon ti kras nan premye scarily gade, men li se yon bagay ki kaptire egzakteman sa lojik. Lè a kouri, T nan n, SI N gen plis pouvwa pase oswa egal a 2. Nan ka sa a, ka a LÒT, se T nan n divize pa 2, plis T nan n divize pa 2, plis gwo o nan n, gen kèk Nimewo lineyè nan etap, petèt egzakteman N, petèt 2 fwa n, men li la apeprè, lòd a n. Se konsa, ki, tou, se ki jan nou kapab eksprime sa a formulaically. Koulye a, ou pa ta konnen sa a sof si ou te anrejistre l 'nan tèt ou, oswa gade l 'kanpe nan la tounen nan yon liv, ki ka gen yon ti kras tronpe fèy nan fen a, men sa a se, tout bon, ale nan ban nou yon gwo o nan n boutèy demi lit n, paske repetition nan ki w ap wè isit la sou ekran an, si ou aktyèlman te fè li soti, ak yon nonb infini nan egzanp, oswa ou te fè li formulaically, ou ta wè ke sa a, paske sa a fòmil tèt li se repetitif, ak t nan N plis pase yon bagay sou bò dwat la, ak t nan n plis pase sou bò gòch la, sa a kapab aktyèlman ap eksprime, finalman, tankou gwo ale nan boutèy demi lit n n. Si ou pa konvenki, sa se amann pou kounye a, jis pran sou konfyans nan Bondye, ki sa a, se, tout bon, ki sa sa repetition mennen nan, men sa a se jis yon ti jan plis nan yon apwòch matematik kap nan moman an kouri nan sòt unifye ki baze sou pseudocode li yo pou kont li. Koulye a, kite a pran yon ti jan nan yon rpo soti nan tout de sa, ak pran yon gade nan yon sèten ansyen senatè, ki moun ki ta ka gade yon ti kras yo konnen yo, ki te chita sou tab ansanm ak Eric Google la Schmidt, kèk tan de sa, pou yon entèvyou sou sèn, nan devan yon pakèt antye nan moun, ap pale finalman sou yon sijè, ki a trè kounye a yo konnen yo. Se pou nou pran yon gade. Eric Schmidt: Koulye a, Senatè, w ap isit la nan Google, ak mwen renmen panse a nan prezidans kòm yon entèvyou travay. Koulye a, li difisil yo ka resevwa yon travay kòm prezidan. Prezidan Obama: Dwa. Eric Schmidt: Epi w ap pral fè [fèbl] kounye a. Li la tou difisil jwenn yon travay nan Google. Prezidan Obama: Dwa. Eric Schmidt: Nou gen kesyon, epi nou poze kesyon kandida nou an, ak yon sèl sa a se soti nan Larry Schwimmer. Prezidan Obama: OK. Eric Schmidt: Ki sa? Ou nèg panse mwen plèzantri? Li nan dwa isit la. Ki sa ki se fason ki pi efikas yo sòt yon milyon nonm antye relatif 32 ti jan? Prezidan Obama: Well-- Eric Schmidt: Pafwa, petèt mwen regrèt, maybe-- Prezidan Obama: Non, pa gen okenn, pa gen okenn, pa gen okenn, pa gen okenn, mwen panse Eric Schmidt: Sa a pa l-- Prezidan Obama: Mwen panse, mwen panse ke ti wonn nan sòt ta dwe mal yon fason a ale. Eric Schmidt: Vini non sou. Ki moun ki te di l 'sa a? OK. Mwen pa t 'syans nan òdinatè on-- Prezidan Obama: Nou te te resevwa espyon nou an nan la. Pwofesè: Tout dwa. Se pou nou kite dèyè nou kounye a nan mond teyorik nan algoritm nan analiz la asenptotik ladan l ', yo epi retounen nan kèk sijè soti nan semèn zewo ak yon sèl, ak kòmansman yo retire kèk wou fòmasyon, si ou pral. Se konsa, ke ou reyèlman konprann finalman soti nan tè a leve, sa ki nan ale sou anba kapo a, lè ou ekri, konpile, ak egzekite pwogram yo. Sonje byen an patikilye, ke sa a te C pwogram nan premye nou te gade, yon kanonyal, pwogram senp nan kalite, relativman pale, dans, li simagri, Alo Mondyal la. Apre sa, Sonje byen, mwen te di, pwosesis la ki kòd sous ale nan se egzakteman sa a. Ou pran kòd sous ou, pase li nan yon du, tankou sonnen, ak soti vini Kòd objè, ki ta ka gade tankou sa a, zewo ak moun yo ki CPU òdinatè a la, santral inite pwosesis oswa nan sèvo, finalman konprann. Li sanble ke sa a, se yon ti jan nan yon Senplifikasyon, ke nou ap kounye a nan yon pozisyon yo toumante apa a konprann ki sa vrèman te ale sou anba kapo a chak fwa ou kouri Rezone, oswa plis jeneralman, chak fwa ou fè yon pwogram, lè l sèvi avèk fè ak CF 50 IDE. An patikilye, bagay tankou sa a se premye pwodwi, lè w ou fèk konpile pwogram ou an. Nan lòt mo, lè ou pran kòd sous ou epi pou konpile li, sa ki nan premye ke yo te outputted pa sonnen se yon bagay ke yo rekonèt kòm Kòd asanble. Ak an reyalite, li sanble egzakteman menm jan ak sa a. Mwen kouri yon lòd nan la liy lòd pi bonè. Hello.c rezone kapital priz la, ak sa a kreye yon dosye pou m 'rele hello.s, andedan nan ki te egzakteman sa sa yo, ak yon ti kras plis pi wo a ak yon ti kras plis anba a, men mwen te mete juiciest nan enfòmasyon isit la sou ekran an. Men, si ou gade ak anpil atansyon, ou ap wè omwen yon kèk mo kle yo konnen yo. Nou gen prensipal nan tèt. Nou te printf desann nan mitan yo. Epi nou gen alo tou mond antislach n nan quotes desann pi ba a. Ak tout lòt bagay nan isit la se enstriksyon nivo ki ba anpil ki CPU òdinatè a nan konprann. Enstriksyon CPU ki trennen memwa alantou li, ki strings chay soti nan memwa, epi finalman, enprime bagay sa yo sou ekran an. Koulye a, sa k ap pase menm si apre sa a se Kòd asanble pwodwi? Alafen, ou fè sa, tout bon, toujou jenere Kòd objè. Men, etap sa yo sa yo ki te reyèlman te ale sou anba kapo a gade yon ti kras pi plis tankou sa a. Sous Kòd vin Kòd asanble, ki Lè sa a vin Kòd objè, ak mo sa yo isit la yo se espyon sa, lè ou konpile kòd sous ou a, soti vini Kòd asanble, ak Lè sa a lè ou rasanble tout pèp Kòd ou, soti vini Kòd objè. Koulye a, rezone se super sofistike, tankou yon bann konpilateur, epi li fè tout nan etap sa yo ansanm, epi li fè sa pa nesesèman pwodiksyon nenpòt entèmedyè dosye ki ou ka menm wè. Li jis compiles bagay sa yo, ki se tèm nan jeneral ki dekri sa a tout pwosesis. Men, si ou reyèlman vle yo dwe patikilye, gen nan yon anpil plis ale sou gen kòm byen. Men, kite a tou konsidere kounye a ke menm ke pwogram super senp, hello.c, rele yon fonksyon. Li rele printf. Men, mwen pa t 'ekri printf, tout bon, ki vini ak c, se konsa pale. Li se yon rapèl fonksyon sa a, se te deklare nan estanda io.h, ki se yon dosye header, ki se yon sijè nou pral aktyèlman plonje nan plis pwofondè anvan lontan. Men, yon dosye header se tipikman akonpaye pa yon dosye kòd, sous dosye kòd, se konsa anpil tankou gen egziste estanda io.h. Nenpòt moman de sa, yon moun, oswa someones, tou te ekri yon dosye rele estanda io.c, nan ki definisyon yo reyèl, oswa en nan printf, ak grap nan lòt fonksyon, yo aktyèlman ekri. Se konsa, bay sa, si nou konsidere gen isit la sou bò gòch, hello.c a, ke lè konpile, ba nou hello.s, menm si Rezone pa anmède ekonomize nan yon kote ki nou ka wè l ', li ke kòd asanble vin reyini nan hello.o, ki se, tout bon, non an default bay nenpòt lè ou konpile sous Kòd nan Kòd objè, men yo pa byen pare al touye li ankò, paske yon lòt etap te rive, e li gen te pase pou kèk ki sot pase a semèn, petèt ensu ba ou. Espesyalman yon kote nan CS50 IDE, ak sa a, tou, pral gen yon ti jan nan yon Senplifikasyon pou yon moman, gen, oswa te sou yon tan, yon dosye rele estanda io.c, ke yon moun konpile nan io.s estanda oswa ekivalan a, Lè sa a, ke yon moun reyini nan estanda io.o, oswa li vire soti nan yon yon ti kras diferan dosye fòma ki ka gen yon diferan ranpli ekstansyon nèt, men nan teyori ak concept, egzakteman moun etap yo te oblije rive nan kèk fòm. Sa vle di, ke kounye a lè m ap ekri yon pwogram, hello.c, ki jis di, alo mond, ak mwen lè l sèvi avèk yon lòt moun nan Kòd tankou printf, ki te yon fwa sou yon tan, nan yon dosye rele estanda io.c, Lè sa a, yon jan kanmenm mwen dwe pran m ' Kòd objè, zewo ak moun yo mwen, ak objè moun sa a Kòd, oswa zewo ak moun yo, ak yon jan kanmenm konekte yo ansanm nan yon sèl dosye final la, rele hello, ki gen tout nan zewo yo ak yo menm soti nan fonksyon prensipal m 'yo, ak tout nan zewo yo ak moun yo pou printf. Ak tout bon, ke pwosesis pase a se rele, ki lye ak Kòd objè ou yo. Pwodiksyon an nan yo ki se yon dosye ègzèkutabl. Se konsa, nan etidye ekite Règleman, nan la fen nan jounen an, pa gen anyen nan te chanje depi semèn yon sèl, lè nou te kòmanse premye konpile pwogram yo. Vreman vre, tout bagay sa yo te gen vini anba kapo machin lan, men kounye a nou ap nan yon pozisyon kote nou kapab aktyèlman toumante apa etap sa yo divès kalite. Ak tout bon, nan fen nan jounen an, nou ap toujou kite avèk zewo ak moun yo, ki se aktyèlman yon gwo seg kounye a nan yon lòt kapasite nan C, ki nou pa te gen ogmante gen plis chans nan dat, li te ye tankou operatè lojik. Nan lòt mo, konsa byen lwen, nenpòt lè nou te te fè fas ak done nan C oswa varyab nan C, nou te gen bagay sa yo tankou charaktèr ak cha ak ins ak fin fou ak double ak renmen an, men tout moun ki gen omwen uit miyèt moso. Nou te pa janm ankò yo te kapab manipile Bits endividyèl, menm si yon ti jan endividyèl, nou konnen, ka reprezante yon 0 ak yon 1. Koulye a, li sanble ke nan C, ou ka jwenn aksè nan Bits endividyèl, si ou konnen sentaks la, ak ki yo ka resevwa nan yo. Se konsa, kite a pran yon gade a operatè lojik. Se konsa, foto isit la se yon senbòl kèk ki nou te, kalite, sòt de, wè anvan. Mwen wè yon comercial, se yon vètikal ba, ak kèk lòt moun kòm byen, ak raple se comercial comercial se yon bagay nou te wè anvan. Operatè a ki lojik e ki, kote ou gen de nan disip yo ansanm, oswa ki lojik la OSWA operatè, kote ou gen de ba vètikal. Operatè lojik, ki nou pral wè opere sou Bits endividyèlman, jis sèvi ak yon comercial sèl, yon sèl ba vètikal, senbòl la Lambda vini kap vini an, ti kras nan tild, ak Lè sa kite bracket kite bracket, oswa bracket dwat dwat bracket. Chak kote sa yo gen siyifikasyon diferan. An reyalite, se pou yo pran yon gade. Ann al lekòl fin vye granmoun jodi a, epi sèvi ak yon ekran taktil soti nan pase, li te ye tankou yon tablo blan. Ak tablo blan sa a ki pral pèmèt nou eksprime sa yo panse kèk senbòl san patipri ki senp, ou pito kèk fòmil san patipri ki senp, ke nou kapab Lè sa a, finalman ogmante, yo nan lòd jwenn aksè nan moun Bits ki nan yon pwogram C. Nan lòt mo, se pou yo fè sa. Se pou nou premye pale pou yon moman sa sou comercial, ki se lojik nan AK operatè. Nan lòt mo, sa a se yon operatè ki pèmèt m 'gen yon varyab kite-men tipikman, ak yon varyab men dwat-ou, oswa yon valè endividyèl, ke si nou AK yo ansanm, ki ban m 'yon rezilta final la. Se konsa, sa m 'vle di? Si nan yon pwogram, ou gen yon varyab ki magazen youn nan valè sa yo, oswa se pou yo kenbe li senp, ak jis ekri soti zewo ak moun yo endividyèlman, isit la nan ki jan operatè a comercial fonksyone. 0 comercial 0 ki pral egal 0. Koulye a, poukisa se sa? Li trè menm jan ak Ekspresyon Boolean, ke nou te diskite konsa byen lwen. Si ou panse apre tout, 0 a se fo, 0 se fo, fo ak fo se, kòm nou te diskite lojikman, tou fo. Se konsa, nou jwenn 0 isit la tankou byen. Si ou pran 0 comercial 1, byen ke, tou, a pwal 0, paske se pou sa ekspresyon gòch-men yo dwe vre oswa 1, li ta bezwen yo dwe vre, se verite. Men, isit la nou gen fo , se verite, oswa 0 ak 1. Koulye a, ankò, si nou gen 1 comercial 0, sa, tou, a pwal 0, epi si nou gen 1 comercial 1, finalman nou gen yon ti jan 1. Se konsa, nan lòt mo, nou pa ap fè anyen ki enteresan ak operatè sa a jis ankò, operatè comercial sa a. Li nan lojik nan AK operatè. Men, sa yo, se engredyan yo via ki nou ka fè bagay sa yo enteresan, menm jan nou pral byento wè. Koulye a, kite pou yo gade nan jis yon sèl la ba vètikal sou isit la sou bò dwat la. Si mwen gen yon ti jan ak mwen 0 OSWA l 'ak, lojik la OSWA operatè, yon lòt ti jan 0, ki k ap pase yo ban m '0. Si m 'pran yon ti jan 0 ak OSWA l' ak yon ti jan 1, Lè sa a, mwen pral jwenn 1. Lè an reyalite, jis pou klè, kite m 'ale tounen, se konsa ke ba vètikal mwen yo pa fè erè pou 1 an. Kite m 'ekri tout nan 1 mwen an yon ti kras plis byen klè, pou nou pwochen wè, si mwen te yon 1 oswa 0, ki k ap pase yo dwe yon 1, epi si mwen gen yon 1 oswa 1 sa, tou, ki pral gen yon 1. Se konsa, ou ka wè lojikman ki OSWA a operatè konpòte li trè yon lòt jan. Sa a ki ban m '0 oswa 0 ki ban m' 0, men tout lòt konbinezon ki ban m '1. Se konsa, lontan ke mwen gen yon sèl 1 nan la fòmil, rezilta a a pwal 1. Nan kontras ak AK nan operatè, comercial a, sèlman si mwen gen de 1 a nan la ekwasyon, mwen aktyèlman jwenn yon soti 1. Koulye a, gen nan yon lòt kèk operatè yo tou. Youn nan yo se yon ti kras patisipe plis. Se pou m 'ale pi devan epi efase sa a yo gratis moute kèk espas. Li kite yo pran yon gade nan nan Lambda senbòl, pou jis yon ti moman. Sa a se tipikman yon pèsonaj ou ka tape sou chanjman klavye kenbe ou ak Lè sa a, youn nan nimewo yo anlè ameriken ou klavye. Se konsa, sa a se san konte nan OSWA operatè, san konte OSWA. Se konsa, nou jis te wè operatè a OSWA. Sa a se san konte nan OSWA operatè. Ki sa ki nan diferans ki genyen aktyèlman? Oke kite a jis gade nan fòmil la, epi sèvi ak sa a kòm engredyan finalman. 0 or 0. Mwen pral di se toujou 0. Sa a definisyon an nan or. 0 or 1 a pwal 1. 1 or 0 a pwal 1, ak 1 or 1 a pwal? Mal? Ou dwa? M pa konnen. 0. Kounye a ki sa ki pwal sou isit la? Oke panse osijè de a non nan operatè sa a. Eksklizif OSWA, se konsa yo nan non, kalite, sijere, se repons la sèlman pral fè yon 1 si entrain yo se san konte, sèlman diferan. Se konsa, isit entrain yo se nan menm, se konsa pwodiksyon an se 0. Isit la yo se nan entrain yo menm, se konsa pwodiksyon an se 0. Isit la yo se rezilta yo ap diferan, yo se san konte, e konsa pwodiksyon an se 1. Se konsa, li trè menm jan ak AK, li trè menm jan an, ou pito li nan trè menm jan ak OSWA, men se sèlman nan yon fason san konte. Yon sèl sa a se pa yon 1, paske nou gen de 1 a, epi yo pa sèlman, jis youn nan yo. Tout dwa. Ki sa ki sou lòt moun yo? Oke tild la, pandan se tan, se aktyèlman bèl ak senp, Erezman. Lè sa a se yon unèr operatè, ki vle di li nan aplike nan yon sèl D ', youn opérande, se konsa pale. Pa nan yon bò gòch ak yon dwat. Nan lòt mo, si ou pran tild a 0, repons lan yo pral opoze an. Men, si ou pran tild nan 1, nan repons pral gen opoze an. Se konsa, operatè a tild se yon fason pou negation yon ti jan, oswa ranvèrsan yon ti jan soti nan 0 a 1, oswa 1 a 0. Epi sa kite nou finalman ak jis de operatè final la, sa yo rele an chanjman gòch, ak nan sa yo rele operatè chanjman dwat. Se pou nou pran yon gade nan ki jan moun travay. Operatè a chanjman bò gòch, ekri ak de parantèz ang tankou sa yo, opere jan sa a. Si D 'm' yo, oswa opérande mwen, sou bò goch la operatè chanjman se byen tou senpleman yon 1. Apre sa, mwen Lè sa a, di òdinatè a nan kite chanjman ke 1, di sèt kote, rezilta a se tankou si m ' pran ki 1, yo epi li deplase li sèt kote nan men nan gòch, ak pa default, nou ap ale nan asime ke espas ki la a dwat a yo pral Matlasye ak zewo. Nan lòt mo, 1 kite chanjman 7 ki pral ban m 'ke 1, ki te swiv pa 1, 2, 3, 4, 5, 6, 7 zewo. Se konsa, nan yon fason, li pèmèt ou pran yon kantite ti tankou 1, epi klèman fè li pi anpil, pi gwo anpil nan fason sa a, men nou ap aktyèlman pral wè apwòch plis entelijan pou li olye de sa, kòm byen, Tout dwa. Sa a li pou semèn twa. Nou pral wè ou pwochen fwa. Sa a te CS50. [MIZIK jwe] Oratè 1: Li te nan ti goute nan bar manje yon sundae fudge cho. Li te gen li tout lòt peyi sou figi l '. Li te mete ke chokola tankou yon bab Oratè 2: Ki sa yo ou ap fè? Oratè 3: Hmmm? Kisa? Oratè 2: Èske ou jis doub tranpe? Ou doub tranpe l 'chip la. Oratè 3: Eskize m '. Oratè 2: Ou tranpe l 'chip a, ou te pran yon mòde, epi ou tranpe l 'ankò. Oratè 3: Oratè 2: Se konsa, sa a, se tankou mete dwat antye bouch ou nan plonje nan. Pwochen fwa ou pran yon chip, jis tranpe l 'yon fwa, epi fini li. Oratè 3: Ou konnen ki sa, lavil Dann? Ou tranpe wout la ke ou vle tranpe. Mwen pral tranpe wout la ke mwen vle tranpe.