[Ag seinm ceoil] PROFESSOR: Gach ceart. Is é seo an CS50 agus tá sé seo deireadh na seachtaine trí. Mar sin, tá muid anseo inniu, ní i Sanders Pictiúrlann, ina ionad sin i Leabharlann Weidner. Taobh istigh a bhfuil stiúideo ar a dtugtar Hauser Stiúideo, nó linn a rá Studio H, nó déanfaidh say-- againn má bhain tú sult as go joke, tá sé i ndáiríre as classmate, Mark, ar líne, a mhol an oiread via Twitter. Anois cad atá fionnuar faoi bheith anseo i stiúideo Tá go bhfuil mé ag timpeallaithe ag na glas ballaí, scáileán glas nó chromakey, mar a déarfá, rud a chiallaíonn go CS50 ar fhoireann léiriúcháin, unbeknownst liom ceart anois, d'fhéadfadh a bheith ag cur dom an chuid is mó aon áit ar domhan, le haghaidh níos fearr nó níos measa. Anois cad atá amach romhainn, fadhb atá leagtha dhá bhfuil i do lámha ar feadh an tseachtain seo, ach le fadhb a leagtar trí an tseachtain seo chugainn, a bheidh tú ag dúshlán le an cluiche mar a thugtar air de 15, an bhfabhar páirtí d'aois go go dtiocfadh leat a thabhairt chun cuimhne ag fáil mar leanbh a bhfuil a bunch iomlán uimhreacha is féidir a sleamhnán suas, síos, chlé agus ar dheis, agus níl bearna amháin laistigh den bhfreagra, ina bhfuil tú Is féidir le sleamhnán i ndáiríre leis na píosaí bhfreagra. I ndeireadh na dála gheobhaidh tú an bhfreagra i roinnt ord randamach leath, agus is é an sprioc a shórtáil sé, bharr go bun, chlé go deas, ó cheann léir ar an mbealach suas tríd 15. Ar an drochuair, le cur chun feidhme beidh sé agat ar láimh ag dul a bheith bogearraí bunaithe, ní fisiciúil. Tá tú ag dul iarbhír a bheith acu chun scríobh cód lena is féidir le mac léinn nó úsáideoir imirt an cluiche de 15. Agus go deimhin, ar an hacker eagrán de chluiche de 15, go mbainfidh tú a bheith ina dhúshlán a chur i bhfeidhm, ní hamháin ar an imirt an scoil d'aois cluiche, ach an réiteach de, a chur chun feidhme mód dia, sin a labhairt, go hiarbhír réitíonn an bhfreagra don duine, ar fáil dóibh le leid, tar éis leid, tar éis leid. Mar sin, níos mó ar an tseachtain seo chugainn. Ach go bhfuil an méid atá amach romhainn. Chun anois chun cuimhne go bhfuil níos luaithe an tseachtain seo bhí againn an cliffhanger, más maith leat, trína an chuid is fearr bhí á dhéanamh againn sórtáil Bhí ciallmhar ina cheangal uachtair mór o de n cearnógach. I bhfocail eile, mboilgeog a shórtáil, saghas roghnú, a chur isteach a shórtáil, gach ceann acu, cé go difriúil i gcur chun feidhme, chineachadh isteach i n cearnógach ag rith am i gcás an-is measa. Agus muid glacadh leis go ginearálta go an cás an-is measa do shórtáil tá sé ar cheann go bhfuil do ionchur go hiomlán ar gcúl. Agus go deimhin, thóg sé go leor le roinnt céimeanna a chur i bhfeidhm gach ceann de na halgartaim. Anois ag deireadh an-an ranga chun cuimhne, i gcomparáid le linn mboilgeog saghas i gcoinne saghas roghnú in aghaidh duine eile go dtugtar againn merge sórtáil ag an am, agus molfaidh mé go bhfuil sé ag cur leas a bhaint as ceacht ón tseachtain náid, scoilt agus conquer. Agus ar bhealach a bhaint amach de shaghas éigin logartamach am ag rith ar deireadh thiar, in ionad an rud éigin go amháin chearnach. Agus nach bhfuil sé go leor logartamach, tá sé le beagán níos mó ná sin. Ach má tá tú chun cuimhne ó rang, go raibh sé i bhfad, i bhfad níos tapúla. A ligean ar ghlacadh le breathnú ar nuair a d'fhág muid amach. Bubble saghas versus roghnú saghas versus merge sórtáil. Anois, tá siad ar fad ag rith, i teoiric, ag an am céanna. Is é an LAP ag rith ag an luas céanna. Ach is féidir leat a bhraitheann cé chomh leadránach seo ag dul go han-tapa a bheith, agus díreach cé chomh tapa, nuair instealladh linn a le beagán de halgartaim seachtain náid ar, is féidir linn rudaí dlús a chur. Mar sin, Breathnaíonn an saghas marc iontach. Conas is féidir linn a ghiaráil é, d'fhonn chun uimhreacha shórtáil níos tapúla. Bhuel a ligean ar smaoineamh ar ais chun comhábhar go bhfuil muid Bhí ar ais i seachtain náid, go de cuardach do dhuine i leabhar gutháin, agus a thabhairt chun cuimhne go bhfuil an pseudocode go mhol muid, via féidir linn teacht duine éigin cosúil Mike Smith, d'fhéach sé rud beag mar seo. Anois a chur le breathnú go háirithe ag líne 7 agus 8, agus 10 agus 11, a d'fhéadfadh go lúb, trína choinnigh muid dul ar ais ar líne 3 arís, agus arís, agus arís. Ach casadh sé amach gur féidir linn féachaint ar an algartam, anseo i pseudocode, beagán níos hiomlánaíoch. Go deimhin, cad tá mé ag lorg ag anseo ar an scáileán, Is algartaim do chuardach le haghaidh Mike Smith i measc roinnt sraith de leathanaigh. Agus go deimhin, d'fhéadfadh muid a shimpliú seo algartam sna línte 7 agus 8, agus 10 agus 11 a rá ach seo, a Tá i láthair mé anseo i buí. I bhfocail eile, más rud é Mike Smith níos luaithe sa leabhar, ní mór dúinn ar chéim a shonrú ar chéim anois conas a théann a fháil dó. Ní chuirimid bhfuil a shonrú chun dul ar ais go dtí an líne 3, cén fáth nach bhfuil muid ach ina ionad sin, a rá, níos ginearálta, cuardach Mike sa leath clé den leabhar. Go contrártha, má tá Mike iarbhír níos déanaí sa leabhar, cén fáth nach bhfuil muid ag ceanglófar ach cuardaigh comharthaí athfhriotail don Mike sa leath cheart an leabhar. I bhfocail eile, nach bhfuil cén fáth muid díreach saghas Punt chun muid féin ag rá, cuardach Mike sa fo-thacar den leabhar, agus é a fhágáil go dtí ár atá ann cheana féin algartam a insint dúinn conas a chuardach le haghaidh Mike i go leath clé den leabhar. I bhfocail eile, ár n- Oibríonn algartam bíodh sé leabhar gutháin ar an tiús, den tiús, nó aon tiús ar bith. Mar sin, is féidir linn hathchúrsach shainmhíniú an algartam. I bhfocail eile, ar an scáileán anseo tá, algartaim do chuardach le haghaidh Mike Smith i measc na leathanaigh ar leabhar teileafóin. Mar sin, i gcomhréir 7 agus 10, a ligean ar ach a rá go díreach. Agus úsáid mé an téarma seo faoi láthair ó shin, agus go deimhin, recursion Is é an buzzword do anois, agus tá sé próiseas seo de ag déanamh rud éigin timthriallach ag ar bhealach ag baint úsáide as cód go bhfuil tú cheana féin, agus ag iarraidh é arís, agus arís, agus arís. Anois tá sé ag dul a bheith tábhachtach go bhfuil muid ar bhealach bun amach, agus nach é sin a dhéanamh infinitely fada. Seachas sin táimid ag dul chun tá go deimhin, lúb gan teorainn. Ach a ligean ar féach an féidir linn a fháil ar iasacht an smaoineamh seo de recursion, ag déanamh rud éigin arís agus arís agus arís eile, chun an fhadhb an fhadhb sórtáil trí merge saghas, go léir an níos éifeachtaí. Mar sin, mé a thabhairt duit merge sórtáil. A ligean ar ghlacadh le breathnú. Mar sin, tá anseo pseudocode, le a d'fhéadfadh muid a chur i bhfeidhm sórtáil, baint úsáide as an algartam a dtugtar merge sórtáil. Agus tá sé go leor ach seo. Ar ionchur na n-eilimintí n, i bhfocail eile, má tá tú tugadh n-eilimintí agus uimhreacha agus litreacha nó is cuma cad é an t-ionchur, má tá tú ag a tugadh eilimintí n, más rud é Is n níos lú ná 2, ach ar ais. Ceart? Toisc má tá n lú ná 2, go Ciallaíonn sé sin go mo liosta na n-eilimintí ceachtar de mhéid 0 nó 1, agus sa dá de na cásanna sin fánach, Tá an liosta curtha in eagar cheana. Mura bhfuil aon liosta, tá sé curtha in eagar. Agus má tá liosta de fhad 1, tá sé curtha in eagar ar ndóigh. Mar sin, ní mór don algartam amháin chun i ndáiríre rud éigin suimiúil a dhéanamh, má tá dhá cheann nó níos mó gnéithe a tugadh dúinn. Mar sin, a ligean ar breathnú ar an draíocht sin. Eile shórtáil an leath clé den heilimintí, ansin shórtáil an leath ceart na n-eilimintí, ansin chumasadh leis an leath curtha in eagar. Agus cad atá de chineál ar aigne lúbthachta anseo é, nach bhfuil mé i ndáiríre cosúil go bhfuil a dúirt tú rud ar bith ach go fóill, ceart? Gach Tá a dúirt mé é, tugtar liosta de n-eilimintí, a shórtáil an leath chlé, ansin an leath ceart, ansin merge an leatha curtha in eagar, ach áit a bhfuil an anlann rúnda iarbhír? Cá bhfuil an algartam? Bhuel casadh sé amach go bhfuil na dhá líne an chéad, a shórtáil ar chlé leath na n-eilimintí, agus saghas ceart leath na n-eilimintí, Tá glaonna recursive, mar a déarfá. Tar éis an tsaoil, ag an pointe in am, an gcaithfidh mé algartaim lena dtí shórtáil a bunch iomlán na n-eilimintí? Yes. Tá sé ceart anseo. Tá sé ceart anseo ar an scáileán, agus mar sin is féidir liom a úsáid go sraith chéanna de chéimeanna a shórtáil an leath clé, agus is féidir liom an leath ceart. Agus go deimhin, arís, agus arís. Mar sin, ar bhealach nó eile, agus beidh muid go luath seo a fheiceáil, an draíocht merge sórtáil neadaithe sa mhéid is go deiridh an- líne, a chumasc na leatha sórtáilte. Agus is cosúil go cothrom iomasach. Ghlacann tú dhá leath, agus tú, bhealach, iad a chumasadh le chéile, agus beidh orainn a fheiceáil seo go nithiúil i láthair. Ach tá sé seo algartam iomlán. Agus a ligean ar a fheiceáil go díreach cén fáth. Bhuel is dócha go bhfuil léargas tugtha ar na gcéanna ocht heilimintí anseo ar an scáileán, ceann trí ocht, ach tá siad in ord is cosúil gcruthaíonn sé randamach. Agus is é an sprioc ar láimh a shórtáil na heilimintí sin. Bhuel conas is féidir liom dul faoi a dhéanamh ag baint úsáide as, arís, merge sórtáil, mar atá in aghaidh an pseudocode? Agus arís, ingrain seo i d'intinn, ar feadh nóiméad ach. Is é an chéad chás deas fánach, má tá sé níos lú ná 2, ach ar ais, níl aon obair atá le déanamh. Mar sin, i ndáiríre níl ach trí céimeanna a choinneáil i ndáiríre i gcuimhne. Arís, agus arís, tá mé dul go dtí mhaith a bheith acu a shórtáil an leath clé, shórtáil an leath ceart, agus ansin uair amháin a n- dhá leath atá curtha in eagar, Ba mhaith liom iad a chumasadh le chéile i liosta sórtáilte amháin. Mar sin a choinneáil sin san áireamh. Mar sin, tá anseo ar an liosta bunaidh. A ligean ar chóireáil seo mar eagar, mar a thosaigh muid chun i seachtain dhá, a bhfuil bloc tadhlach de chuimhne. Sa chás seo, ina bhfuil ocht uimhreacha, cúl le cúl le cúl. Agus a ligean ar iarratas a dhéanamh anois merge sórtáil. Mar sin ba mhaith liom an chéad a shórtáil an leath clé den liosta seo, agus a ligean ar, dá bhrí sin, ag díriú ar 4, 8, 6, agus 2. Anois, conas is féidir liom dul faoi sórtáil liosta de mhéid 4? Bhuel tá mé chun smaoineamh ar anois sórtáil an taobh clé den leath chlé. Arís, a ligean ar athchasadh le haghaidh nóiméad ach. Má tá an pseudocode seo, agus tá mé ag a tugadh ocht heilimintí, 8 Is léir níos mó ná nó cothrom le 2. Mar sin, leis nach bhfuil an chéad chás i bhfeidhm. Mar sin, a shórtáil ocht heilimintí, mé an chéad shórtáil an leath clé na n-eilimintí, ansin mé a shórtáil an leath ceart, ansin chumasadh mé an dhá leath curtha in eagar, gach ceann de na méid 4. OK. Ach má tá tú díreach dúradh liom, a shórtáil an leath chlé, atá anois ar mhéid 4, conas is féidir liom a shórtáil an leath chlé? Bhuel má tá mé ionchur cheithre ghné, I shórtáil ar dtús ar an taobh clé dhá, ansin an dá ceart, agus ansin mé iad a chumasc le chéile. Mar sin arís, bíonn sé beagán ar aigne lúbthachta cluiche anseo, toisc go bhfuil tú, de chineál ar, a cuimhnigh áit a bhfuil tú ar an scéal, ach ag deireadh an lae, tugadh aon roinnt gnéithe, ba mhaith leat ar dtús a shórtáil an leath chlé, ansin an leath ceart, ansin chumasadh iad le chéile. A ligean ar tús a chur a dhéanamh go díreach. Seo an t-ionchur ocht eilimintí. Anois, tá muid ag féachaint ar an leath clé anseo. Conas is féidir liom a shórtáil ceithre ghné? Bhuel mé shórtáil ar dtús leis an leath chlé. Anois, conas is féidir liom a shórtáil an leath chlé? Bhuel tá mé tugadh dhá ghné. Mar sin, a ligean ar a shórtáil an dá ghné. Is 2 níos mó ná nó cothrom le 2, ar ndóigh. Mar sin, nach bhfuil an chéad chás i bhfeidhm. Mar sin, tá mé anois a shórtáil ar an taobh clé leath de na dhá ghné. An leath chlé, ar ndóigh, tá, ach 4. Mar sin, conas is féidir liom a shórtáil liosta de ghné amháin? Bhuel anois, chás sin bonn speisialta suas barr, mar a déarfá feidhm,. 1 níos lú ná 2, agus mo tá liosta de na go deimhin de mhéid 1. Mar sin, mé ar ais díreach. Ní féidir liom aon ní a dhéanamh. Agus go deimhin, breathnú ar an méid Tá mé dhéanamh, tá 4 curtha in eagar cheana. Cosúil Tá mé cheana go páirteach rathúil anseo. Anois is cosúil go de chineál ar dúr a éileamh, ach tá sé fíor. Is 4 liosta de mhéid 1. Tá sé seo curtha in eagar cheana. Sin an leath clé. Anois mé a shórtáil an leath ceart. Is é mo ionchur eilimint amháin, 8 dul céanna, curtha in eagar cheana. Dúr, freisin, ach arís, an bunphrionsabal ag dul chun ligean dúinn a thógáil anois ar bharr seo go rathúil. 4 curtha in eagar, 8 Tá curtha in eagar, anois cad a bhí go chéim dheireanach? Mar sin, an tríú agus an ceann deireanach céim, aon am a bhfuil tú ag sórtáil liosta, chun cuimhne, a chumasc an dá leath, na láimhe clé agus an ceart. Mar sin a ligean ar a dhéanamh go díreach. Is é mo leath chlé, ar ndóigh, 4. Is é mo leath ceart 8. Mar sin, a ligean ar é seo a. An Chéad mé ag dul a leithdháileadh roinnt cuimhne breise, go mbeidh mé ionadaíocht a dhéanamh anseo, mar ach le sraith tánaisteach, go mór go leor a d'oirfeadh seo. Ach is féidir leat a shamhlú a leathnú go dronuilleog an fad iomlán, más gá dúinn níos déanaí. Conas is féidir liom a ghlacadh 4 agus 8, agus chumasadh iad siúd dhá liosta de mhéid 1 le chéile? Anseo, freisin, simplí go leor. 4 Tagann dtús, ansin a thagann 8. Toisc más mian liom a shórtáil na leath chlé, ansin an leath ceart, agus ansin chumasadh iad siúd dá leath le chéile, in ord sórtáilte, 4 Tagann dtús, ansin a thagann 8. Mar sin, is cosúil a bheith ag déanamh dul chun cinn, fiú cé nach bhfuil déanta agam aon obair iarbhír. Ach cuimhnigh áit a bhfuil muid sa scéal. Chuir muid ar dtús ocht heilimintí. Curtha in eagar muid an leath chlé, a bhfuil 4. Ansin curtha in eagar muid an leath clé an leath chlé, a bhí 2. Agus anseo táimid ag dul. Táimid ag déanamh leis sin céim. Mar sin má tá muid curtha in eagar an D'fhág leath de 2, anois táimid ag a shórtáil an leath ceart 2. Dá bhrí sin tá an leath ceart 2 dá luach anseo, 6 agus 2. Mar sin, a ligean ar ghlacadh anois ionchur de mhéid 2, agus a shórtáil an leath chlé, agus ansin an leath ceart, agus ansin iad a chumasc le chéile. Bhuel conas is féidir liom a shórtáil liosta de mhéid 1, ina bhfuil ach an uimhir 6? Tá mé ag déanamh cheana. Tá an liosta sin de mhéid 1 curtha in eagar. Conas is féidir liom a shórtáil liosta de méid 1, an leath sin ar a dtugtar ceart. Bhuel sé, freisin, tá curtha in eagar cheana. Is í an uimhir 2 amháin. Mar sin, anois tá mé dhá leath, ar chlé agus ceart, is gá dom a chumasadh iad le chéile. Lig dom a thabhairt mé féin a roinnt spás breise. Agus chuir 2 i ann, ansin 6 i ann, rud a sórtáil an liosta sin, chlé agus ar dheis, agus a chumasc le chéile, ar deireadh thiar. Mar sin, tá mé i gcruth beagán níos fearr. Níl mé ag déanamh, mar gheall ar go soiléir 4, 8, 2, Níl an 6 an ordú deiridh gur mhaith liom. Ach tá mé anois dhá liosta de mhéid 2, go Tá an dá, faoi seach, a bheith curtha in eagar. Mar sin anois má athchasadh tú i d'intinn ar súl, i gcás ina raibh a fhágann dúinn? Thosaigh mé le ocht heilimintí, ansin mé whittled sé síos go dtí an leath clé de 4, ansin an leath clé de 2, agus ansin an leath ceart 2, Chríochnaigh mé, dá bhrí sin, sórtáil ar an taobh clé leath de 2, agus ar an leath ceart 2, mar sin cad é an tríú agus an ceann deireanach céim anseo? Caithfidh mé a chumasadh le chéile dhá liosta de mhéid 2. Mar sin, a ligean ar dul ar aghaidh. Agus ar an scáileán anseo, a thabhairt dom roinnt chuimhne breise, cé go go teicniúil, faoi deara go Tá mé Fuair ​​bunch iomlán de bán spáis suas barr ansin. Más mian liom a bheith go háirithe spás éifeachtach ciallmhar, Raibh mé in ann tús a chur díreach ag gluaiseacht na heilimintí anonn 's anall, barr agus bun. Ach amháin ar mhaithe le soiléire amhairc, Tá mé ag dul chun é a chur síos thíos, chun rudaí a choinneáil deas agus glan. Mar sin, tá fuair mé dhá liosta de mhéid 2. Tá an chéad liosta 4 agus 8. Tá an dara liosta 2 agus 6. A ligean ar chumasadh iad siúd le chéile in ord sórtáilte. 2, ar ndóigh, tagann an chéad, ansin 4, ansin 6, ansin 8. Agus anois is cosúil a bheith ag fáil áit éigin suimiúil. Anois tá mé curtha in eagar leath de na liosta, agus coincidentally, tá sé na huimhreacha go léir, fiú, ach go is é, go deimhin, ach chomhtharlú. Agus tá mé curtha in eagar anois ar an taobh clé leath, agus mar sin go bhfuil sé 2, 4, 6, agus 8. Ní dhéanfaidh aon ní atá as ord. Go mothaíonn cosúil le dul chun cinn. Anois mothaíonn sé cosúil Tá mé ag caint go deo anois, mar sin cad fós le feiceáil más rud é seo Tá algartam, go deimhin, níos éifeachtaí. Ach táimid ag dul tríd sé Super methodically. A ríomhaire, ar ndóigh, Bheadh ​​é a dhéanamh mar sin. Mar sin, áit a bhfuil muid? Thosaigh muid le hocht heilimintí. Curtha in eagar mé an leath clé den 4. Is cosúil mé a dhéanamh leis sin. Mar sin, anois tá an chéad chéim eile a shórtáil an leath ceart 4. Agus an chuid seo is féidir linn dul trí níos beag go tapa, cé go bhfuil tú fáilte roimh athchasadh nó sos, ach smaoineamh trí sé ag do luas féin, ach cad atá againn anois deis a dhéanamh ar an algartam céanna cruinn ar cheithre uimhreacha éagsúla. Mar sin, a ligean ar dul ar aghaidh, agus díriú ar an leath ceart, a bhfuil muid anseo. An leath clé den leath ceart, agus anois an leath clé den taobh clé leath an leath ceart, agus conas a shórtáil liosta de mhéid 1 ina bhfuil ach an uimhir 1? Tá sé seo déanta cheana féin. Conas is féidir liom a dhéanamh mar an gcéanna do liosta de mhéid 1 ina bhfuil ach 7? Tá sé seo déanta cheana féin. Céim a trí ar an leath sin Tá a chumasadh na dhá ghné isteach i liosta nua de mhéid 2, 1 agus 7. Ná cosúil go bhfuil déanta go léir obair shuimiúil go bhfuil i bhfad. A ligean ar a fheiceáil cad a tharlóidh ina dhiaidh sin. Curtha in eagar mé díreach tar éis an leath clé den leath ceart ar mo ionchur bunaidh. Anois, a ligean ar a shórtáil an ceart leath, ina bhfuil 5 agus 3. A ligean ar breathnú arís ar an taobh clé leath, curtha in eagar, leath ceart, curtha in eagar, agus chumasadh dá chéile, i roinnt spás breise, 3 Tagann dtús, ansin a thagann 5. Agus mar sin anois, ní mór dúinn a curtha in eagar an leath clé den leath ceart ar an bhfadhb bunaidh, agus an leath ceart an leath ceart ar an bhfadhb bunaidh. Cad é an tríú agus an ceann deireanach Céim? Bhuel a chumasadh leis na dhá leath le chéile. Mar sin, lig dom mé féin a fháil ar roinnt spás breise, ach, arís, mé D'fhéadfadh a bheith ag baint úsáide as an spás suas barr spártha. Ach táimid ag dul a choinneáil ar simplí sé amhairc. Lig dom a chumasadh i anois 1, agus ansin 3, agus ansin 5, agus ansin 7. Dá bharr sin imeacht uaim anois leis an leath do cheart an fhadhb a bunaidh go curtha in eagar go foirfe. Mar sin, cad a fós? Dar liom mé a choinneáil ag rá an rudaí céanna arís, agus arís, ach sin léiríonn an Ós rud é go bhfuil muid ag baint úsáide as athchúrsáil. An próiseas ag baint úsáide as algartam arís, agus arís, ar fho-thacar níos lú de an fhadhb bunaidh. Mar sin, tá mé ar chlé curtha in eagar anois leath na faidhbe bunaidh. Tá mé leath sórtáilte ceart ar an bhfadhb bunaidh. Cad é an tríú agus an ceann deireanach céim? Ó, tá sé chumasc. Mar sin, a ligean ar é sin a dhéanamh. A ligean ar a leithdháileadh roinnt breise chuimhne, ach mo dhia, táimid ag D'fhéadfadh a chur in áit ar bith anois. Ní mór dúinn mórán spáis sin ar fáil le linn, ach beidh orainn a choinneáil simplí é. In ionad dul ar ais agus amach lenár gcuimhne bunaidh, a ligean ar a dhéanamh ach é amhairc síos anseo thíos, a chríochnú suas chumasc an leath chlé agus an leath ceart. Mar sin, trí chumasc, cad is gá dom a dhéanamh? Ba mhaith liom a chur ar na gnéithe in ord. Mar sin, ag féachaint ar an leath clé, Feicim go bhfuil an chéad uimhir 2. Ag amharc ar an leath ceart, Feicim an chéad uimhir Is é 1, mar sin ar ndóigh a Uimhir ar mhaith liom a pluck amach, agus a chur chéad uair i mo liosta deiridh? Ar ndóigh, 1. Anois is mian liom a iarraidh an cheist sin céanna. Ar an leath chlé, tá mé fós fuair an uimhir 2. Ar an leath ceart, Tá mé an uimhir 3. Cé acu ceann mé ag iarraidh a roghnú? Ar ndóigh, uimhir 2 Agus anois faoi deara na n-iarrthóirí Tá 4 ar chlé, 3 ar an gceart. A ligean ar, ar ndóigh, a roghnú 3. Anois, tá na n-iarrthóirí 4 ar thaobh na láimhe clé, 5 ar dheis. Againn, ar ndóigh, a roghnú 4. 6 ar chlé, 5 ar dheis. Againn, ar ndóigh, a roghnú 5. 6 ar chlé, 7 ar dheis. Roghnaigh muid 6, agus ansin dúinn roghnú 7, agus ansin roghnaigh muid 8. Voila. Mar sin, líon mór de na focail níos déanaí, táimid ag Tá curtha in eagar an liosta de ocht ngné isteach i liosta de amháin trí ocht, go méadú le gach céim, ach cé mhéad uair a rinne sé dúinn a dhéanamh sin. Bhuel tá mé d'aon ghnó rudaí atá leagtha amach go pictiúrtha anseo, ionas gur féidir linn de chineál ar fheiceáil nó buíoch as an roinn i conquering ar sin ag tarlú. Go deimhin, má fhéachann tú ar ais ar an éis, Tá d'fhág mé gach ceann de na línte poncaithe , is féidir leat sealbhóirí ar siúl i, de chineál ar, féach, in ord droim ar ais, má tá tú de chineál ar breathnú ar ais i Stair anois, mo liosta bunaidh Tá, ar ndóigh, de mhéid 8. Agus ansin roimhe, bhí mé ag déileáil le dhá liosta de mhéid 4, agus ansin ceithre liostaí de mhéid 2, agus ansin ocht liostaí de mhéid 1. Mar sin, cad a dhéanann seo, cineál, i gcuimhne duit de? Bhuel, go deimhin, aon cheann de na halgartaim tá muid d'fhéach sé ar go dtí seo nuair a muid deighilt, agus a roinnt, agus a roinnt, choinneáil ag rudaí arís, agus arís torthaí, sa smaoineamh ginearálta. Agus mar sin tá rud éigin logartamach ar siúl anseo. Agus nach bhfuil sé go leor de logáil n, ach níl comhpháirt logartamach leis an méid atá déanta againn ach. Anois, a ligean ar breathnú ar conas go bhfuil iarbhír. Mar sin, logáil isteach ar n, arís bhí am ag rith mór, nuair a rinne muid rud éigin cosúil le cuardaigh dénártha, mar a tugaimid anois é, an straitéis scoilt agus conquer via a fuair muid Mike Smith. Anois go teicniúil. Sin bonn logáil 2 de n, fiú cé go i bhformhór na ranganna math, Is 10 de ghnáth ar an mbonn go glacadh leis tú. Ach eolaithe ríomhaireachta beagnach i gcónaí smaoineamh agus labhairt i dtéarmaí bonn 2, mar sin againn go ginearálta ach a rá logáil isteach n, in ionad bonn logáil 2 de n, ach tá siad díreach amháin agus an céanna i saol na ríomhaireachta eolaíocht, agus mar leataobh, níl fachtóir tairiseach difríocht idir an dá, mar sin tá sé MOOT ar aon nós, ar chúiseanna níos foirmiúla. Ach do anois, cad cúram dúinn faoi ​​go bhfuil an sampla seo. Mar sin a ligean dtarlóidh sé nach mbeidh-shampla, ach ag a laghad a úsáid a bhaint as sampla de na huimhreacha ar láimh mar seiceáil sanity, más maith leat. Mar sin roimhe bhí an fhoirmle bonn logáil 2 de n, ach cad é n sa chás seo. Bhí mé uimhreacha n bunaidh, nó 8 de líon bunaidh go sonrach. Anois tá sé ina beagán tamaill, ach tá mé go leor cinnte go bhfuil bonn logáil 2 de luach 3 8, agus go deimhin, cad atá deas mar gheall go bhfuil go 3 go díreach an líon uaireanta gur féidir leat a roinnt liosta de fhad 8 arís, agus arís, agus arís, go dtí go bhfuil tú d'fhág le liostaí de ach méid 1. Ceart? 8 théann chuig 4, téann go dtí 2, théann chuig 1, agus sin léiríonn go díreach pictiúr a bhí againn ach nóiméad ó shin. Mar sin, a sanity beag seiceáil mar a áit Tá an logarithm i gceist i ndáiríre. Mar sin anois, cad eile atá i gceist anseo? n. Mar sin, faoi deara go bhfuil gach am scoilt mé an liosta, cé gur i ord droim ar ais i stair anseo, bhí mé ag déanamh go fóill rudaí n. Go céim chumasc ag teastáil go Teagmháil liom gach ceann de na huimhreacha, d'fhonn dul in olcas sé isteach a suíomh cuí. Mar sin, cé go bhfuil an airde seo Tá léaráid ar mhéid logáil n de n nó 3, go sonrach, i bhfocail eile, Rinne mé trí rannán anseo. Cé mhéad obair a rinne mé go cothrománach feadh an chairt gach uair? Bhuel, rinne mé n céimeanna ag obair, mar má tá mé Fuair ​​ceithre eilimintí agus ceithre ghné, agus is gá dom iad a chumasadh le chéile. An gá dom dul trí na ceithre agus na ceithre, ar deireadh thiar a chumasadh iad ar ais isteach ocht heilimintí. Má os a fuair mé ocht mhéara thar anseo, nach féidir liom, agus ocht fingers-- sorry-- Má tá mé Fuair ​​ceithre mhéara thar anseo, a dhéanfaidh mé, ceithre mhéara thar anseo, a is féidir liom, ansin go bhfuil an gcéanna Mar shampla mar a rinneadh cheana, más féidir liom tá ocht mhéara cé i iomlán, ar féidir liom, de chineál ar, a dhéanamh. Is féidir liom a dhéanamh go díreach anseo, ansin is féidir liom cinnte merge gach ceann de na liostaí de mhéid 1 le chéile. Ach tá mé cinnte chun breathnú ag gach eilimint díreach uair amháin. Dá bhrí sin tá an airde an phróisis logáil n, an leithead an phróisis seo, mar a déarfá, Is n, mar sin cad is cosúil a bheith acu, i ndeireadh na dála, is é am ag rith de mhéid n uair logáil n. I bhfocail eile, roinnte muid a an liosta, logáil isteach n amanna, ach gach uair a rinne muid go, bhí againn chun teagmháil gach ceann de na heilimintí d'fhonn a chumasadh iad go léir le chéile, a Bhí tharla n chéim, ionas go mbeidh muid n amanna logáil n, nó mar a bheadh ​​eolaí ríomhaireachta a rá, asymptotically, a a bheadh ​​an focal mór chun cur síos ar an uachtair faoi ​​cheangal ar am ag rith, táimid ag reáchtáil i o mór de logáil n am, mar a déarfá. Anois tá sé seo suntasach, mar gheall ar cuimhne cad iad na hamanna ag rith le saghas mboilgeog, agus roghnú a shórtáil, agus a chur isteach a shórtáil, agus fiú roinnt eile atá ann, n cearnógach a bhí áit a raibh muid ag. Agus is féidir leat, de chineál ar, féach ar seo anseo. Má n cearnógach tá amanna léir n n, ach anseo ní mór dúinn n amanna logáil n, agus tá a fhios againn cheana féin ón tseachtain náid, is logáil n, an logartamach, Is fearr ná rud éigin líneach. Tar éis an tsaoil, chun cuimhne an pictiúr leis an dearg agus buí agus na línte glas a tharraing muid, an Bhí líne logartamach glas i bhfad níos ísle. Agus dá bhrí sin, i bhfad níos fearr agus níos tapúla ná na línte buí agus dearg díreach, n uair logáil n é sin, go deimhin níos fearr, ná amanna n n, nó n cearnógach. Mar sin, is cosúil go bhfuil aithin an merge algartam saghas a ritheann i bhfad am níos tapúla, agus go deimhin, sin an fáth, níos luaithe an tseachtain seo, nuair Chonaic muid go comórtas idir mboilgeog saghas, saghas roghnú, agus chumasadh a shórtáil, merge sórtáil i ndáiríre, bhuaigh i ndáiríre. Agus go deimhin, ní raibh muid ag fanacht fiú do shórtáil mboilgeog agus saghas roghnaithe Críoch. Anois, a ligean ar ghlacadh pas amháin eile ag an, ó beagán níos thaobh foirmiúil, ach i cás, resonates seo níos fearr ná an plé ar leibhéal níos airde. Mar sin, tá anseo an algartam arís. A ligean ar a iarraidh sinn féin, cad é an t-am ag rith Is halgartaim seo céimeanna éagsúla? A ligean ar é a roinnt ina an chéad cás agus an dara cás. An MÁ agus an ELSE I gcás MÁ, MÁ tá n lú ná 2, ach ar ais. Mothaíonn cosúil le am tairiseach. Tá sé, de chineál ar, cosúil le dhá chéim, MÁ tá n lú ná 2, ar ais ansin. Ach mar a dúirt muid ar an Luan, am tairiseach, nó mór o de 1, Is féidir a bheith dhá chéim, trí céimeanna, fiú 1,000 céimeanna. Cad é ábhair go bhfuil sé líon de shíor céimeanna. Mar sin, an buí aibhsithe pseudocode anseo ritheann i, beidh muid ag glaoch air, am tairiseach. Mar sin, níos foirmeálta, agus táimid ag dul to-- seo Beidh an méid a táimid ag ar bhonn foirmiúil an ceart now-- T n, an t-am ag rith de fadhb a thógann somethings n mar ionchur, ionann mór o amháin, MÁ tá n lú ná 2. Mar sin tá sé ag brath ar sin. Mar sin, a bheith soiléir, MÁ bhfuil n níos lú ná 2, ní mór dúinn liosta an-ghearr, ansin an t-am ag rith, T n, inarb ionann n agus 1 nó 0, sa chás an-sonrach, tá sé ach ag dul a bheith am tairiseach. Tá sé seo ag dul a ghlacadh ar cheann chéim, dhá chéim, is cuma cad. Tá sé ina líon seasta de céimeanna. Sin ní mór an chuid juicy a surely i an cás eile sa pseudocode. An cás ELSE. Sórtáil leath clé na n-eilimintí, saghas ceart leath na n-eilimintí, merge leatha sórtáilte. Cá fhad a mhaireann gach ceann de na céimeanna a ghlacadh? Bhuel, más rud é an reáchtáil am chun eilimintí n shórtáil is é, a ligean ar ghlaoch air an- cineálach, T n, ansin sórtáil na láimhe clé leath de na heilimintí is é, de chineál ar, cosúil le rá, T de n roinnt ar 2, agus mar an gcéanna sórtáil an leath ceart na n-eilimintí, is é cineál, cosúil le rá, T de n roinnte 2, agus ansin chumasc na leath curtha in eagar. Bhuel má fuair mé roinnt roinnt gnéithe anseo, cosúil le ceithre, agus roinnt uimhir na n-eilimintí anseo, cosúil le ceithre, agus tá mé a chumasadh gach ceann de na ceithre i, agus gach ceann de na ceithre i, ceann i ndiaidh a chéile, ionas go mbeidh ar deireadh thiar tá mé ocht heilimintí. Mothaíonn sé cosúil go mór o céimeanna n? Má tá fuair mé n mhéara agus gach ceann de Tá iad a chumasc i bhfeidhm, sin cosúil le céimeanna n eile. Mar sin, go deimhin formulaically, is féidir linn a chur in iúl seo, cé gur scarily beag ar dtús amharc, ach tá sé rud éigin go gabhálacha go díreach loighic. An t-am ag rith, T n, MÁ n níos mó ná nó cothrom le 2. Sa chás seo, an cás ELSE é, T de n arna roinnt ar 2, móide T N roinnt ar 2, móide mór o n, roinnt líon líneach céimeanna, b'fhéidir go díreach n, b'fhéidir 2 uair n, ach tá sé garbh, ord na n. Mar sin, go, freisin, conas is féidir linn in iúl seo a formulaically. Anois, ní bheadh ​​a fhios agat seo mura atá tú a thaifeadadh sé i d'intinn, nó breathnú sé suas sa chúl an téacsleabhar, go D'fhéadfadh go mbeadh beagán cheat bileog ag an deireadh, ach tá sé seo, go deimhin, ag dul go dtí a thabhairt dúinn mór o de n logáil n, mar gheall ar an atarlú a tú ag féachaint ar anseo ar an scáileán, má rinne tú i ndáiríre sé amach, le líon gan teorainn de samplaí, nó an raibh tú é formulaically, a bheadh ​​agat a fheiceáil go bhfuil an, mar gheall ar an fhoirmle seo é féin Athchúrsach, le t de n mó ná rud éigin ar an gceart, agus t N os a chionn ar an taobh clé, is féidir é seo a chur in iúl i ndáiríre, ar deireadh thiar, dul chomh mór de n logáil n. Más rud é nach cinnte, go fíneáil do anois, ach a ghlacadh ar an chreideamh, go bhfuil go, go deimhin, cad é mar thoradh go atarlú a, ach tá sé seo ach beagán níos mó de Cur chuige matamaitice a lorg ag an am ag rith de merge sórtáil bunaithe ar a pseudocode ina n-aonar. Anois, a ligean ar ghlacadh le beagán de breather ó gach ceann de sin, agus a chur le breathnú ar seanadóir iar áirithe, a D'fhéadfadh cuma an eolas beag, a shuigh síos le Eric Google Schmidt, tamall ó shin, le haghaidh agallaimh ar an stáitse, i os comhair a bunch iomlán de na daoine, ag caint ar deireadh thiar faoi ábhar, go leor ar an eolas anois. A ligean ar ghlacadh le breathnú. ERIC SCHMIDT: Anois Seanadóir, tá tú anseo ag Google, agus is maith liom chun smaoineamh ar an uachtaránacht mar agallaimh poist. Anois, tá sé deacair a post mar uachtarán a fháil. UACHTARÁN Obama: Ceart. ERIC SCHMIDT: Agus tá tú ag dul a dhéanamh [inaudible] anois. Tá sé deacair freisin chun post a fháil ag Google. UACHTARÁN Obama: Ceart. ERIC SCHMIDT: tá ceisteanna againn, agus iarr muid ár n-iarrthóirí ceisteanna, agus tá sé seo ar cheann ó Larry Schwimmer. UACHTARÁN Obama: OK. ERIC SCHMIDT: Cad é? Tú guys a cheapann mé ag kidding? Tá sé ceart anseo. Cad é an bealach is éifeachtaí chun shórtáil a slánuimhreacha milliún 32 giotán? UACHTARÁN Obama: Well-- ERIC SCHMIDT: Uaireanta, b'fhéidir Tá brón orm, maybe-- UACHTARÁN Obama: No, no, no, no, no, think-- mé ERIC SCHMIDT: Ní Sin it-- UACHTARÁN Obama: I smaoineamh, Sílim go bhfuil an mboilgeog Bheadh ​​saghas a bheith ar an bealach mícheart chun dul. ERIC SCHMIDT: Come on. Cé a dúirt leis seo? OK. Ní raibh mé an eolaíocht ríomhaireachta on-- UACHTARÁN Obama: Tá muid fuair ár spiairí i ann. PROFESSOR: Gach ceart. A ligean ar a fhágáil taobh thiar dúinn anois an domhan teoiriciúil de halgartaim san anailís asymptotic de, agus seol ar ais go dtí roinnt topaicí ó sheachtain nialas agus ceann amháin, agus tús a bhaint roinnt rothaí oiliúna, más maith leat. Ionas go dtuigeann tú i ndáiríre ar deireadh thiar ón talamh aníos, cad atá dul ar thíos an cochall, nuair a dhéanann tú scríobh, a thiomsú, agus cláir a fhorghníomhú. Athghairm go háirithe, go raibh sé seo an chéad chlár C d'fhéachamar ar, a Canonical, clár simplí de shaghas, réasúnta ag labhairt, wherein, priontaí sé, Dia duit an Domhain. Agus a thabhairt chun cuimhne go bhfuil a dúirt mé, ar an bpróiseas Téann go cód foinse trí go díreach seo. Tú i do cód foinse, pas sé trí tiomsaitheoir, cosúil le Clang, agus a thagann amach cód réad, go D'fhéadfadh breathnú mar seo, nialais agus cinn go bhfuil an ríomhaire LAP, lárnach aonad próiseála nó inchinn, ar deireadh thiar a thuigeann. Casadh sé amach go bhfuil go bhfuil beagán de oversimplification, go bhfuil muid anois i seasamh a tease seachas a thuiscint cad atá i ndáiríre dul ar thíos an cochall gach uair a ritheann tú Clang, nó níos ginearálta, gach uair a dhéanann tú clár, ag baint úsáide as a dhéanamh agus CF 50 IDE. Go háirithe, rudaí mar seo a ghintear ar dtús, nuair a dhéanann tú a thiomsú ar dtús do chlár. I bhfocail eile, nuair a dhéanann tú ghlacadh do cód foinse agus a thiomsú é, cad atá an chéad á aschur ag Clang tá rud éigin ar a dtugtar cód tionól. Agus go deimhin, tá sé go díreach mar seo. Rith mé a ordú ag an orduithe níos luaithe. Caipiteal Fleasc Clang s hello.c, agus chruthaigh sé seo comhad as dtugtar dom hello.s, taobh istigh a raibh go díreach na hábhair, agus níos beag thuas agus beagán níos mó faoi bhun, ach tá mé a chur ar an juiciest eolas anseo ar an scáileán. Agus má fhéachann tú go dlúth, feicfidh tú eochairfhocail ar a laghad roinnt ar an eolas. Tá mó ag barr againn. Táimid tar éis a printf síos i lár. Agus ní mór dúinn freisin Dia duit ar domhan cúlslais n i Sleachta síos thíos. Agus gach rud eile i anseo Tá treoracha leibhéal an-íseal go dtuigeann an ríomhaire LAP. Treoracha LAP a bogadh cuimhne timpeall, go teaghráin ualach ó chuimhne, agus ar deireadh thiar, a phriontáil rudaí ar an scáileán. Anois, cad a tharlaíonn cé tar éis tá an cód cóimeála ghintear? I ndeireadh na dála, a dhéanann tú, go deimhin, fós a ghiniúint cód réad. Ach na céimeanna a bhfuil i ndáiríre ag dul ar thíos an cochall cuma beagán níos mó cosúil le seo. Thiocfaidh chun bheith Foinse cód cód cóimeála, a thiocfaidh chun bheith ansin cód réad, agus tá na focail bhfeidhm anseo go bhfuil, nuair a dhéanann tú a thiomsú do cód foinse, amach a thagann cód cóimeála, agus ansin nuair assemble tú do chód cóimeála, amach a thagann cód réad. Anois tá Clang Super sofaisticiúla, ar nós a lán de na tiomsaitheoirí, agus a dhéanann sé gach ceann de na céimeanna seo le chéile, agus a dhéanann sé ní gá go aschur ar bith idirmheánach comhaid gur féidir leat a fheiceáil fiú. Tiomsaíonn sé ach rudaí, a bhfuil an téarma ginearálta go cur síos ar an bpróiseas ar fad. Ach más mian leat i ndáiríre a bheith ar leith, níl a lán níos mó ar siúl ann chomh maith. Ach a ligean ar a mheas freisin anois go fiú clár sin Super simplí, hello.c, ar a dtugtar feidhm. Iarr sé printf. Ach ní raibh mé ag scríobh printf, go deimhin, a thagann le c, mar a déarfá. Tá sé ina dtagann aisghlaoch feidhm go dhearbhú i io.h caighdeánach, a Is comhad header, a Is ábhar beidh muid i ndáiríre Léim isteach níos doimhne roimh i bhfad. Ach tá comhad header in éineacht ghnáth ag comhad cód, comhad cód foinse, mar sin i bhfad mar ar ann io.h. caighdeánach Éigin ó shin, duine éigin, nó someones, scríobh freisin comhad a dtugtar io.c caighdeánach, i a na sainmhínithe iarbhír, nó implementations de printf, agus bunches na feidhmeanna eile, Scríobhtar i ndáiríre. Mar sin ós rud é go, má mheasann muid ag anseo ar thaobh na láimhe clé, hello.c, go nuair a le tiomsú, tugann dúinn hello.s, fiú amháin más rud Ní Clang bodhraigh a shábháil in áit is féidir linn a fheiceáil, agus go cód cóimeála Faigheann chéile i hello.o, a is é, go deimhin, an t-ainm réamhshocraithe a tugadh aon uair is tú a chur le chéile foinse chódú i cód réad, ach nach bhfuil réidh go leor é a fhorghníomhú go fóill, mar gheall ar céim eile Tá a tharlóidh, agus tá ag tarlú ar feadh na beaga anuas seachtaine, b'fhéidir unbeknownst duit. Go sonrach áit éigin i CS50 IDE, agus tá sé seo, freisin a bheidh, a bheith ina giotán de oversimplification ar feadh nóiméad, go bhfuil, nó go raibh ar am, comhad a dtugtar io.c caighdeánach, go bhfuil duine éigin le chéile i io.s caighdeánach nó an choibhéis, go bhfuil duine éigin le chéile ansin i io.o caighdeánach, nó casadh sé amach i comhad beagán difriúil bhformáid is féidir a bheith difriúil comhad síneadh ar fad, ach go teoiriciúil agus choincheapa de, go díreach Bhí na céimeanna a tharlóidh i bhfoirm éigin. Cé acu is a rá, go bhfuil anois nuair atá mé clár scríobh, hello.c, a deir go díreach, Dia duit ar domhan, agus tá mé ag baint úsáide as duine eile cód cosúil le printf, a bhí uair amháin ar am, i gcomhad ar a dtugtar io.c caighdeánach, ansin ar bhealach tá mé a chur ar mo cód réad, mo nialais agus cinn, agus an duine sin rud cód, nó nialais agus cinn, agus ar bhealach iad a nascadh le chéile i comhad deiridh amháin, ar a dtugtar Dia duit, go Tá gach ceann de na nialais agus cinn ó mo fheidhm is mó, agus gach ceann de na nialais agus na cinn le haghaidh printf. Agus go deimhin, is é sin an próiseas seo caite ar a dtugtar, ag nascadh do chód réad. An t-aschur a Is comhad inrite. Mar sin, i cothroime, ar an deireadh an lae, rud ar bith Tá athrú ó sheachtain amháin, nuair a muid an chéad thosaigh na cláir a thiomsú. Go deimhin, tá seo ar fad a bhí ag tarlú thíos an cochall, ach anois tá muid i riocht nuair is féidir againn i ndáiríre tease seachas na céimeanna éagsúla. Agus go deimhin, ag an deireadh ar an lá, tá muid fós d'fhág le nialais agus cinn, a i ndáiríre ar segue mór anois chun cumas eile de C, go ní tá muid go raibh a ghiaráil is dóichí go dtí seo, ar a dtugtar oibreoirí bitwise. I bhfocail eile, go dtí seo, ag am ar bith tá muid Déileáiltear le sonraí i C nó athróg i C, a bhí againn rudaí cosúil carachtair agus flótaí agus orlach agus longs agus doubles agus a leithéidí, ach Tá gach ceann de na ar a laghad ocht giotán. Riamh tá muid fós in ann a ionramháil giotán aonair, cé an giotán aonair, táimid ag fhios is féidir, ionadaíocht a dhéanamh 0 agus 1. Anois tharlaíonn sé go raibh i C, tú Is féidir le rochtain ar giotán aonair a fháil, má tá a fhios agat an error, a cheapadh chun a fháil orthu. Mar sin a ligean ar ghlacadh le breathnú ag oibreoirí bitwise. Mar sin, sa phictiúr tá anseo le roinnt siombailí a tá muid, de chineál ar, saghas, feiceáil roimh. Feicim an ampersand, ingearach barra, agus roinnt daoine eile chomh maith, agus a thabhairt chun cuimhne go ampersand ampersand Tá rud éigin atá feicthe againn roimh. An t-oibreoir loighciúil AGUS, áit a bhfuil tú dhá cheann acu le chéile, nó an loighciúil NÓ oibreoir, áit a bhfuil tú Tá dhá barraí ingearacha. Oibreoirí bitwise, a beidh orainn féach feidhmiú ar giotán-aonar, ach úsáid a bhaint as ampersand amháin, barra ingearach amháin, an tsiombail carait Tagann seo chugainn, an beag tilde, agus ansin ar chlé lúibín chlé lúibín, nó lúibín ceart lúibín ceart. Gach ceann de na bhfuil bríonna éagsúla. Go deimhin, a ligean ar ghlacadh le breathnú. A ligean ar dul aois ar scoil inniu, agus úsáid scáileán tadhaill ó yesteryear, ar a dtugtar bord bán. Agus seo gclár bán ag dul chun ligean dúinn roinnt siombailí simplí go leor a chur in iúl, nó in áit roinnt foirmlí simplí go leor, gur féidir linn ansin ar deireadh thiar ghiaráil, d'fhonn rochtain a fháil ar an duine aonair giotán laistigh de chlár C. I bhfocail eile, a ligean ar é seo a. A ligean ar chéad caint ar feadh nóiméad faoi ampersand, a bhfuil an bitwise AGUS oibreoir. I bhfocail eile, tá sé seo oibreoir a ligeann dom go bhfuil athróg na láimhe clé de ghnáth, agus athróg na láimhe deise, nó luach aonair, go má táimid AGUS iad le chéile, tugann dom toradh deiridh. Mar sin, cad is féidir liom a chiallaíonn? Más rud é i gclár, tá tú athróg go siopaí ar cheann de na luachanna, nó a ligean ar choinneáil simplí, agus díreach scríobh amach nialais agus cinn ina n-aonar, anseo conas a oibríonn an t-oibreoir ampersand. Tá 0 ampersand 0 ag dul a comhionann 0. Anois cén fáth go bhfuil sin? Tá sé an-chosúil leis Nathanna Boole, go atá againn a pléadh go dtí seo. Má cheapann tú tar éis an tsaoil, is é an 0 bréagach, is é 0 bréagach, bréagach agus bréagach é sin, mar atá againn a pléadh loighciúil, chomh bréagach. Mar sin, linn a fháil 0 anseo chomh maith. Má ghlacann tú 0 ampersand 1, go maith go bhfuil, freisin, ag dul a bheith 0, mar gheall ar seo léiriú na láimhe clé a bheith fíor nó 1, bheadh ​​gá é a bheith fíor agus fíor. Ach anseo ní mór dúinn bréagach agus fíor, nó 0 agus 1. Anois arís, má tá muid 1 ampersand 0, gur, freisin, ag dul a bheith 0, agus má tá muid 1 ampersand 1, ar deireadh a dhéanamh ní mór dúinn a 1 giotán. Mar sin, i bhfocail eile, nach bhfuil muid ag déanamh aon rud suimiúil le oibreoir seo ach go fóill, an oibreoir ampersand. Tá sé an bitwise AGUS oibreoir. Ach is iad seo na comhábhair via inar féidir linn a dhéanamh rudaí suimiúla, mar beidh orainn a fheiceáil go luath. Anois, a ligean ar breathnú ar ach an amháin barra ingearach thar anseo ar an gceart. Má tá mé 0 giotán agus mé NÓ sé leis, an bitwise NÓ oibreoir, 0 giotán eile, go bhfuil dul a thabhairt dom 0. Má ghlacaim le 0 beagán agus NÓ sé le le 1 giotán, ansin tá mé ag dul a fháil 1. Agus go deimhin, ach le haghaidh soiléireacht, lig dom dul ar ais, ionas go mbeidh mo barraí ingearacha Ní cearr le haghaidh 1 s. Lig dom a athscríobh gach ceann mo 1 tá beagán níos mó go soiléir, ionas go mbeidh muid ar aghaidh a fheiceáil, má tá mé Tá a 1 NÓ 0, tá go dul chun bheith ina 1, agus má tá mé 1 NÓ 1 go, freisin, ag dul a bheith ina 1. Mar sin, is féidir leat a fheiceáil go loighciúil go bhfuil an NÓ behaves oibreoir an-difriúil. Tugann sé seo dom 0 NÓ 0 thugann dom 0, ach Tugann gach teaglaim eile dom 1. Mar sin, fada agus a bhfuil mé amháin 1 sa foirmle, is é an toradh ag dul a bheith 1. I gcodarsnacht leis an AND oibreoir, an ampersand, ach amháin má tá mé dhá 1 sa chothromóid, is féidir liom a fháil i ndáiríre 1 amach. Anois níl roinnt eile oibreoirí chomh maith. Is é ceann acu beagán níos mó i gceist. Mar sin, lig dom dul ar aghaidh agus a scriosadh seo saor in aisce le roinnt spáis. Agus a ligean ar ghlacadh le breathnú ar an siombail carait, ar feadh nóiméad ach. Tá sé seo de ghnáth carachtar is féidir leat cineál ar do Shift ghabháltas méarchlár agus ansin ar cheann de na huimhreacha ar bharr na craoibhe ar do Poist méarchlár. Mar sin, is é seo an eisiach NÓ oibreoir, eisiach OR. Mar sin, chonaic muid díreach an t-oibreoir OR. Is é seo an eisiach NÓ oibreoir. Cad é i ndáiríre an difríocht? Bhuel a ligean ar breathnú díreach ag an fhoirmle, agus úsáid mar chomhábhair ar deireadh thiar. 0 XOR 0. Tá mé ag dul a rá go bhfuil i gcónaí 0. Sin an sainmhíniú ar XOR. Tá 0 XOR 1 ag dul a bheith 1. Tá 1 XOR 0 ag dul a bheith 1, agus tá 1 XOR 1 ag dul a bheith? Mícheart? Nó ceart? Níl a fhios agam. 0. Anois, cad atá ar siúl anseo? Bhuel smaoineamh ar an ainm an oibreora seo. Eisiach NÓ, sa chaoi is an ainm, cineál le fios,, Tá an freagra amháin a dul a bheith a 1 má tá na hionchuir eisiach, go heisiach difriúil. Mar sin, tá anseo na hionchuir na céanna, mar sin tá an t-aschur 0. Seo iad na hionchuir na céanna, mar sin tá an t-aschur 0. Seo iad na haschuir atá difriúil, siad Tá eisiach, agus mar sin tá an t-aschur 1. Mar sin tá sé an-chosúil leis AGUS, tá sé an-chosúil, nó in áit tá sé an-chosúil leis NÓ, ach amháin ar bhealach eisiach. Tá sé seo ar cheann a thuilleadh 1, toisc go bhfuil muid dhá 1 s, agus ní go heisiach, ach duine amháin acu. Ceart go leor. Cad mar gheall ar na cinn eile? Bhuel an tilde, Idir an dá linn, tá i ndáiríre deas agus simplí, buíochas le Dia. Agus tá sé seo unary oibreoir, rud a chiallaíonn tá sé i bhfeidhm ar ach ionchur amháin, oibreann amháin, mar a déarfá. Gan chlé agus ar ceart. I bhfocail eile, má tá tú i tilde ar 0, beidh an freagra a bheith ar an os coinne. Agus má tá tú i tilde de 1, an freagra a bheidh ann ar an os coinne. Dá bhrí sin tá an t-oibreoir tilde ar bhealach de negating le beagán, nó flipping le beagán ó 0 go 1, nó 1-0. Agus duilleoga go dúinn ar deireadh a bhfuil ach dhá oibreoir deiridh, an mar a thugtar air athrú ar chlé, agus an mar a thugtar air oibreoir athrú ceart. A ligean ar ghlacadh le breathnú ar an gcaoi sin an obair. An t-oibreoir athrú ar chlé, scríofa le dhá lúibíní uillinn mar sin, oibríonn mar seo a leanas. Más rud é mo ionchur, nó mo oibreann, ar an taobh clé Tá oibreoir athrú go leor ach a 1. Agus mé ag insint ansin an ríomhaire a D'fhág athrú go 1, a rá seacht n-áiteanna, Is é an toradh mar cé mé ghlacadh go 1, agus é a bhogadh seacht n-áiteanna go dtí an chlé, agus de réir réamhshocraithe, táimid ag dul chun glacadh leis go an spás do cheart ag dul a bheith padded le nialais. I bhfocail eile, d'fhág 1 Tá athrú 7 ag dul a thabhairt dom go 1, agus ina dhiaidh 1, 2, 3, 4, 5, 6, 7 nialais. Mar sin, ar bhealach, is féidir leat a dtógfaidh sé roinnt beag cosúil le 1, agus é a dhéanamh soiléir sé i bhfad i bhfad, i bhfad níos mó ar an mbealach seo, ach táimid ag dul i ndáiríre a fheiceáil cur chuige níos cliste chun é ina ionad sin, chomh maith, Ceart go leor. Sin é ar feadh seachtain trí. Beidh le feiceáil tú an chéad uair eile. Bhí sé seo CS50. [Ag seinm ceoil] Cainteoir 1: Bhí sé ag an snack barra ithe sundae fudge te. Bhí sé go léir ar fud a aghaidh. Tá sé ag caitheamh go seacláide cosúil le féasóg Cainteoir 2: Cad é atá tú? Cainteoir 3: Hmmm? Cad? Cainteoir 2: An raibh tú díreach snámh dúbailte? Tumtha tú dhá oiread an tslis. Cainteoir 3: Gabh mo leithscéal. Cainteoir 2: tumtha tú an sliseanna, tú Thóg a bite, agus tumtha tú arís. Cainteoir 3: Cainteoir 2: Mar sin, go bhfuil cosúil le cur an ceart béal ar fad sa snámh. An chéad uair eile a ghlacann tú le sliseanna, ach snámh sé aon uair amháin, agus deireadh a chur leis. Cainteoir 3: Tá a fhios agat cad, Dan? Snámh tú ar an mbealach gur mian leat a snámh. Feicfidh mé snámh ar an mbealach gur mhaith liom a snámh.