1 00:00:00,000 --> 00:00:01,000 [Powered by Google Translate] [Alt 6] [Ar lean Compordach] 2 00:00:01,000 --> 00:00:04,000 [Rob Bowden] [Ollscoil Harvard] 3 00:00:04,000 --> 00:00:09,000 [Tá sé seo CS50.] [CS50.TV] 4 00:00:09,000 --> 00:00:11,000 >> Is féidir linn a ceann go dtí ár rannóg de na ceisteanna. 5 00:00:11,000 --> 00:00:17,000 Chuir mé an URL as an spás roimh. 6 00:00:17,000 --> 00:00:22,000 An tús don rannóg de na ceisteanna rá- 7 00:00:22,000 --> 00:00:26,000 cosúil nach bhfuil mé go hiomlán unsick é, i gcás ceist an-éasca 8 00:00:26,000 --> 00:00:28,000 díreach cad atá valgrind? 9 00:00:28,000 --> 00:00:30,000 Cad a dhéanann valgrind a dhéanamh? 10 00:00:30,000 --> 00:00:34,000 Duine ar bith ag iarraidh a rá cad a dhéanann valgrind? 11 00:00:34,000 --> 00:00:36,000 [Mac Léinn] Seiceálacha cuimhne leaks. 12 00:00:36,000 --> 00:00:41,000 Yeah, tá valgrind a checker cuimhne ginearálta. 13 00:00:41,000 --> 00:00:44,000 Tá sé, sa deireadh, insíonn tú má tá tú aon leaks cuimhne, 14 00:00:44,000 --> 00:00:49,000 arb é is mó cad tá muid ag úsáid le haghaidh mar gheall ar más mian leat 15 00:00:49,000 --> 00:00:54,000 a dhéanamh go maith sa tacar fhadhb nó más mian leat a 16 00:00:54,000 --> 00:00:59,000 a fháil ar an mbord mór, is gá duit a bhfuil aon leaks cuimhne ar bith, 17 00:00:59,000 --> 00:01:01,000 agus i gcás go bhfuil tú ar sceitheadh ​​cuimhne nach féidir leat a fháil, 18 00:01:01,000 --> 00:01:04,000 freisin a choinneáil i gcuimhne go bhfuil aon uair a osclaíonn tú comhad 19 00:01:04,000 --> 00:01:07,000 agus más rud é nach bhfuil tú dhúnadh, go bhfuil sceitheadh ​​cuimhne. 20 00:01:07,000 --> 00:01:10,000 >> A lán daoine ag lorg roinnt nód nach bhfuil siad ag freeing 21 00:01:10,000 --> 00:01:15,000 nuair i ndáiríre, ní raibh siad a dhúnadh an foclóir sa chéim gcéad. 22 00:01:15,000 --> 00:01:19,000 Insíonn sé chomh maith leat léann má tá aon neamhbhailí nó scríobhann, 23 00:01:19,000 --> 00:01:22,000 rud a chiallaíonn má tá tú iarracht a dhéanamh agus luach a leagtar 24 00:01:22,000 --> 00:01:26,000 go bhfuil níos faide ná deireadh an gcarn agus ní dhéanann sé a tharlóidh do locht seg 25 00:01:26,000 --> 00:01:30,000 ach gabhálacha valgrind é, mar ní ba chóir duit i ndáiríre a bheith ag scríobh ann, 26 00:01:30,000 --> 00:01:33,000 agus mar sin tú nár chóir a bheith cinnte aon cheann de na ach an oiread. 27 00:01:33,000 --> 00:01:38,000 Conas a úsáideann tú valgrind? 28 00:01:38,000 --> 00:01:42,000 Conas a úsáideann tú valgrind? 29 00:01:42,000 --> 00:01:45,000 >> Is ceist ghinearálta 30 00:01:45,000 --> 00:01:49,000 de chineál ar rith sé agus féach ar an aschur. 31 00:01:49,000 --> 00:01:51,000 Is é an t-aschur ollmhór a lán de uaire. 32 00:01:51,000 --> 00:01:54,000 Níl freisin earráidí spraoi nuair a má tá tú rud éigin terribly mícheart 33 00:01:54,000 --> 00:01:59,000 ag tarlú i lúb, ansin beidh sé a rá ar deireadh thiar, "earráidí Bealach an iomarca. 34 00:01:59,000 --> 00:02:03,000 Tá mé ag dul chun stop a chomhaireamh anois. " 35 00:02:03,000 --> 00:02:08,000 Tá sé go bunúsach aschur téacs go bhfuil tú a pharsáil. 36 00:02:08,000 --> 00:02:13,000 Sa deireadh, beidh sé insint duit aon leaks cuimhne go bhfuil tú, 37 00:02:13,000 --> 00:02:16,000 cé mhéad bloic, is féidir a bheith úsáideach mar gheall ar 38 00:02:16,000 --> 00:02:20,000 má tá sé ar cheann unfreed bloc, ansin tá sé de ghnáth níos éasca a fháil 39 00:02:20,000 --> 00:02:23,000 ná mar a unfreed 1,000 bloic. 40 00:02:23,000 --> 00:02:26,000 1,000 bloic unfreed ciallaíonn is dócha nach bhfuil tú ag freeing 41 00:02:26,000 --> 00:02:30,000 do liostaí nasctha go cuí nó rud éigin. 42 00:02:30,000 --> 00:02:32,000 Sin valgrind. 43 00:02:32,000 --> 00:02:35,000 >> Anois, ní mór dúinn ár rannóg de na ceisteanna, 44 00:02:35,000 --> 00:02:38,000 nach gá duit a íoslódáil. 45 00:02:38,000 --> 00:02:41,000 Is féidir leat cliceáil ar mo ainm agus iad a tharraingt suas sa spás. 46 00:02:41,000 --> 00:02:44,000 Anois cliceáil ar dom. 47 00:02:44,000 --> 00:02:46,000 Beidh Athbhreithniú 1 chairn, a tá ag éirí linn ar dtús. 48 00:02:46,000 --> 00:02:55,000 Beidh Athbhreithniú 2 scuaine, agus beidh Athbhreithniú 3 a bheith ar an liosta ina n-aonar nasctha. 49 00:02:55,000 --> 00:02:58,000 Ag tosú amach leis an ár chairn. 50 00:02:58,000 --> 00:03:02,000 Mar a deir sé anseo, tá Stack ar cheann de na is bunúsaí, 51 00:03:02,000 --> 00:03:07,000 struchtúir sonraí bunúsacha na heolaíochta ríomhaireachta. 52 00:03:07,000 --> 00:03:11,000 Is é an sampla an-prototypical 53 00:03:11,000 --> 00:03:13,000 an chairn na tráidirí sa halla bia. 54 00:03:13,000 --> 00:03:16,000 Tá sé go bunúsach aon uair is tú á dtabhairt isteach le Stack, 55 00:03:16,000 --> 00:03:20,000 duine éigin ag dul a rá, "Oh, cosúil le Stack de tráidirí." 56 00:03:20,000 --> 00:03:22,000 Tá tú chairn na tráidirí suas. 57 00:03:22,000 --> 00:03:24,000 Ansin, nuair a théann tú a tharraingt tráidire, 58 00:03:24,000 --> 00:03:31,000 Is é an tráidire sin den chéad uair tá dul tharraing an ceann deireanach a cuireadh ar an chruach. 59 00:03:31,000 --> 00:03:34,000 Deir an chairn freisin-mhaith anseo- 60 00:03:34,000 --> 00:03:37,000 ní mór dúinn an chuid den chuimhne ar a dtugtar an chairn. 61 00:03:37,000 --> 00:03:40,000 Agus cén fáth sé ar a dtugtar an chairn? 62 00:03:40,000 --> 00:03:42,000 >> Mar gheall ar cosúil le struchtúr Stack sonraí, 63 00:03:42,000 --> 00:03:46,000 pushes sé Vox agus frámaí Stack ar an chruach, 64 00:03:46,000 --> 00:03:53,000 i gcás ina bhfuil frámaí chairn cosúil le glao ar leith a chomhlíonadh. 65 00:03:53,000 --> 00:03:57,000 Agus cosúil le Stack, beidh ort i gcónaí a thabhairt ar ais 66 00:03:57,000 --> 00:04:03,000 ó glao feidhm sula féidir leat a fháil síos i frámaí Stack níos ísle arís. 67 00:04:03,000 --> 00:04:08,000 Ní féidir leat a bheith príomh-ghlao barra glaoch foo agus seol ar ais barra go díreach is mó. 68 00:04:08,000 --> 00:04:14,000 Tá sé seo fuair i gcónaí chun leanúint leis an chairn cheart brú agus popping. 69 00:04:14,000 --> 00:04:18,000 Is iad an dá oibríochtaí, mar a dúirt mé, a bhrú agus pop. 70 00:04:18,000 --> 00:04:20,000 Tá na téarmaí uilíoch. 71 00:04:20,000 --> 00:04:26,000 Ba chóir duit a fhios a bhrú agus pop i dtéarmaí cruacha is cuma cén. 72 00:04:26,000 --> 00:04:28,000 Feicfimid scuainí atá de chineál ar éagsúla. 73 00:04:28,000 --> 00:04:32,000 Ní chuireann sé a bheith i ndáiríre ar feadh téarma uilíoch, ach a bhrú agus pop iad uilíoch do cruacha. 74 00:04:32,000 --> 00:04:34,000 Brúigh é a chur díreach ar an chruach. 75 00:04:34,000 --> 00:04:37,000 Pop é a chur as an chairn. 76 00:04:37,000 --> 00:04:43,000 Agus a fheicimid anseo ní mór dúinn ár chairn struct Rialú an, 77 00:04:43,000 --> 00:04:46,000 ionas go mbeidh muid teaghráin ** Char. 78 00:04:46,000 --> 00:04:51,000 Ná fháil scanraithe ag aon **. 79 00:04:51,000 --> 00:04:54,000 Tá sé seo ag dul chun deireadh suas a bheith le sraith de teaghráin 80 00:04:54,000 --> 00:04:58,000 nó le sraith de leideanna chun carachtair, i gcás ina 81 00:04:58,000 --> 00:05:00,000 claonadh leideanna chun carachtair a bheith teaghráin. 82 00:05:00,000 --> 00:05:05,000 Ní chuireann sé a bheith teaghráin, ach anseo, tá siad ag dul a bheith teaghráin. 83 00:05:05,000 --> 00:05:08,000 >> Tá sraith de teaghráin. 84 00:05:08,000 --> 00:05:14,000 Tá méid, rud a léiríonn cé mhéad gnéithe faoi láthair ar an chruach, 85 00:05:14,000 --> 00:05:19,000 agus ansin ní mór dúinn an cumas, a bhfuil conas is féidir go leor gnéithe a bheith ar an chruach. 86 00:05:19,000 --> 00:05:22,000 Ba chóir an toilleadh tús a chur amach mar rud níos mó ná 1, 87 00:05:22,000 --> 00:05:27,000 ach tá an méid dul chun tús a chur amach mar 0. 88 00:05:27,000 --> 00:05:36,000 Anois, tá bunúsach trí bhealaí éagsúla is féidir leat smaoineamh ar chairn. 89 00:05:36,000 --> 00:05:39,000 Bhuel, tá dócha níos mó, ach an dá bhealach is mó atá 90 00:05:39,000 --> 00:05:43,000 is féidir leat a chur chun feidhme ag baint úsáide as eagar, nó is féidir é a chur i bhfeidhm tú ag baint úsáide liosta nasctha. 91 00:05:43,000 --> 00:05:48,000 Tá liostaí Nasctha chineál fánach le cruacha a dhéanamh as. 92 00:05:48,000 --> 00:05:51,000 Tá sé an-éasca a dhéanamh Stack ag baint úsáide as liostaí nasctha, 93 00:05:51,000 --> 00:05:55,000 mar sin anseo, táimid ag dul a dhéanamh Stack arrays úsáid a bhaint as, 94 00:05:55,000 --> 00:05:59,000 agus ansin arrays úsáid a bhaint as, níl freisin dhá bhealach is féidir leat smaoineamh ar é. 95 00:05:59,000 --> 00:06:01,000 Roimhe sin, nuair a dúirt mé ní mór dúinn a cumas an chairn, 96 00:06:01,000 --> 00:06:04,000 ionas gur féidir linn oiriúnach gné ar an chruach. 97 00:06:04,000 --> 00:06:09,000 >> Is é an bealach amháin a d'fhéadfadh sé tarlú chomh luath agus a bhuail tú 10 heilimintí, ansin tú ag déanamh. 98 00:06:09,000 --> 00:06:13,000 D'fhéadfá a fhios agat go bhfuil uachtair cheangal de 10 rudaí ar fud an domhain 99 00:06:13,000 --> 00:06:16,000 riamh go mbainfidh tú a bheith níos mó ná 10 rudaí ar do Stack, 100 00:06:16,000 --> 00:06:20,000 agus sa chás sin is féidir leat a bheith acu uachtair cheangal ar an méid do chairn. 101 00:06:20,000 --> 00:06:23,000 Nó d'fhéadfadh tú do Stack a unbounded, 102 00:06:23,000 --> 00:06:27,000 ach má tá tú ag déanamh le sraith, ciallaíonn sé sin go gach uair amháin bhuail tú 10 eilimintí, 103 00:06:27,000 --> 00:06:29,000 ansin tá tú ag dul a bheith ag fás le 20 heilimintí, agus nuair a bhuail tú 20 eilimintí, 104 00:06:29,000 --> 00:06:33,000 bhfuil tú ag dul a bheith ar do raon ag fás go 30 eilimintí nó eilimintí 40. 105 00:06:33,000 --> 00:06:37,000 Tá tú ag dul go mór chun cur le cumas, a bhfuil cad táimid ag dul a dhéanamh anseo. 106 00:06:37,000 --> 00:06:40,000 Gach uair amháin a bhaint amach againn ar an méid is mó d'ár chairn, 107 00:06:40,000 --> 00:06:46,000 nuair a bhrú rud éigin eile ar aghaidh, tá muid ag dul go mór chun cur le cumas. 108 00:06:46,000 --> 00:06:50,000 Anseo, ní mór dúinn a bhrú dhearbhú mar bhrú bool (ruabhric * str). 109 00:06:50,000 --> 00:06:54,000 Is é str * Char an teaghrán go bhfuil muid ag brú isteach ar an chairn, 110 00:06:54,000 --> 00:06:58,000 agus deir bool díreach cé acu d'éirigh linn nó ar theip. 111 00:06:58,000 --> 00:07:00,000 >> Conas is féidir linn a theipeann? 112 00:07:00,000 --> 00:07:04,000 Cad é an imthoisc amháin gur féidir leat smaoineamh ar 113 00:07:04,000 --> 00:07:07,000 i gcás ina mbeadh orainn a thabhairt ar ais bréagach? 114 00:07:07,000 --> 00:07:09,000 Yeah. 115 00:07:09,000 --> 00:07:12,000 [Mac Léinn] Má tá sé go hiomlán agus táimid ag baint úsáide as cur chun feidhme teoranta. 116 00:07:12,000 --> 00:07:17,000 Yeah, mar sin conas is féidir linn a shainiú-fhreagair sé go 117 00:07:17,000 --> 00:07:23,000 má tá sé go hiomlán agus táimid ag baint úsáide as cur i bhfeidhm bounded. 118 00:07:23,000 --> 00:07:26,000 Ansin, beidh muid ar ais cinnte bréagach. 119 00:07:26,000 --> 00:07:31,000 Chomh luath agus a bhuail muid 10 rudaí sa réimse, ní féidir linn oiriúnach 11, agus mar sin ar ais dúinn bréagach. 120 00:07:31,000 --> 00:07:32,000 Cad a tharlaíonn má tá sé unbounded? Yeah. 121 00:07:32,000 --> 00:07:38,000 Más rud é nach féidir leat a leathnú an eagar ar chúis éigin. 122 00:07:38,000 --> 00:07:43,000 Yeah, mar sin tá cuimhne acmhainn teoranta, 123 00:07:43,000 --> 00:07:51,000 agus diaidh ar ndiaidh, más rud é a choinneáil linn rudaí ag brú isteach ar an chairn arís agus arís eile, 124 00:07:51,000 --> 00:07:54,000 táimid ag dul chun iarracht a leithdháileadh raon níos mó a d'oirfeadh 125 00:07:54,000 --> 00:07:59,000 Is é an cumas níos mó, agus malloc nó cibé táimid ag baint úsáide as ag dul ar ais bréagach. 126 00:07:59,000 --> 00:08:02,000 Bhuel, beidh malloc ar ais null. 127 00:08:02,000 --> 00:08:05,000 >> Cuimhnigh, gach uair amháin leat glaoch riamh malloc, ba chóir duit a sheiceáil a fheiceáil má tá sé 128 00:08:05,000 --> 00:08:12,000 tuairisceáin null nó eile go bhfuil asbhaint cirte. 129 00:08:12,000 --> 00:08:17,000 Ós rud é ba mhaith linn go mbeadh chairn unbounded, 130 00:08:17,000 --> 00:08:21,000 Is é an cás ach táimid ag dul a bheith ag filleadh bréagach má iarracht muid a 131 00:08:21,000 --> 00:08:26,000 acmhainn agus malloc nó cibé tuairisceáin bréagach. 132 00:08:26,000 --> 00:08:30,000 Ansin Bíonn pop aon argóintí, 133 00:08:30,000 --> 00:08:37,000 agus tugann sé an teaghrán atá ar bharr an chairn. 134 00:08:37,000 --> 00:08:41,000 Cibé rud a bhí an chuid is mó le déanaí bhrú ar an chruach cad pop ag filleadh, 135 00:08:41,000 --> 00:08:44,000 agus é a mbainfidh freisin as an chairn. 136 00:08:44,000 --> 00:08:50,000 Agus faoi deara go bhfilleann sé null má tá aon rud ar an chruach. 137 00:08:50,000 --> 00:08:53,000 Tá sé indéanta i gcónaí go bhfuil an chairn folamh. 138 00:08:53,000 --> 00:08:55,000 I Java, má tá tú ag úsáid chun sin, nó teangacha eile, 139 00:08:55,000 --> 00:09:01,000 D'fhéadfadh iarraidh a pop ó chairn folamh bheith ina chúis le eisceacht nó rud éigin. 140 00:09:01,000 --> 00:09:09,000 >> Ach i C, tá nialasach de chineál ar go leor de na cásanna conas a láimhseáil na fadhbanna seo. 141 00:09:09,000 --> 00:09:13,000 Ag filleadh null é an chaoi a bhfuil muid ag dul chun signify go raibh an chairn folamh. 142 00:09:13,000 --> 00:09:16,000 Táimid tar éis soláthar cód a thástáil do Stack ar fheidhmiúlacht, 143 00:09:16,000 --> 00:09:19,000 chur i bhfeidhm a bhrú agus a pop. 144 00:09:19,000 --> 00:09:23,000 Ní Beidh sé seo a lán de chód. 145 00:09:23,000 --> 00:09:40,000 Agam go mbeidh-i ndáiríre, roimh a dhéanann muid go bhfuil, leid, leid- 146 00:09:40,000 --> 00:09:44,000 más rud é nach bhfuil tú ag feiceáil air, nach bhfuil malloc an fheidhm amháin 147 00:09:44,000 --> 00:09:47,000 go leithdháiltear cuimhne ar an gcarn ar do shon. 148 00:09:47,000 --> 00:09:51,000 Tá teaghlaigh de fheidhmeanna leithdháileadh. 149 00:09:51,000 --> 00:09:53,000 Is é an chéad malloc, a bhfuil tú ag úsáid chun. 150 00:09:53,000 --> 00:09:56,000 Ansin, níl calloc, a dhéanann an rud céanna mar malloc, 151 00:09:56,000 --> 00:09:59,000 ach beidh sé náid gach rud amach duit. 152 00:09:59,000 --> 00:10:04,000 Má tá tú ag iarraidh riamh gach rud a shocrú nialasach tar éis mallocing rud éigin 153 00:10:04,000 --> 00:10:06,000 ba chóir duit a úsáid ach calloc sa chéad áit in ionad na scríbhneoireachta 154 00:10:06,000 --> 00:10:09,000 a d'lúb go nialas amach an bloc ar fad de chuimhne. 155 00:10:09,000 --> 00:10:15,000 >> Realloc Is cosúil malloc agus tá a lán de na cásanna speisialta, 156 00:10:15,000 --> 00:10:19,000 ach go bunúsach cad a dhéanann realloc 157 00:10:19,000 --> 00:10:24,000 a thógann sé ar pointeoir go raibh leithdháileadh cheana féin. 158 00:10:24,000 --> 00:10:27,000 Is é Realloc an fheidhm is mian leat a bheith ag tabhairt aird ar anseo. 159 00:10:27,000 --> 00:10:31,000 Bíonn sé pointeoir go raibh ar ais cheana féin ó malloc. 160 00:10:31,000 --> 00:10:35,000 Ligean le rá a iarraidh tú ó malloc a pointeoir de 10 bytes. 161 00:10:35,000 --> 00:10:38,000 Ansin, ina dhiaidh tuigeann tú a raibh tú 20 bytes, 162 00:10:38,000 --> 00:10:42,000 mar sin a ghlaonn tú realloc ar an pointeoir le 20 bytes, 163 00:10:42,000 --> 00:10:47,000 agus beidh realloc chóipeáil go huathoibríoch thar gach rud ar do shon. 164 00:10:47,000 --> 00:10:51,000 Má d'iarr tú díreach malloc arís, mar tá mé bloc de 10 bytes. 165 00:10:51,000 --> 00:10:53,000 Anois, is gá dom a bloc de 20 bytes, 166 00:10:53,000 --> 00:10:58,000 mar sin má malloc mé 20 bytes, ansin tá mé a chóipeáil de láimh thar na 10 bytes ó an chéad rud 167 00:10:58,000 --> 00:11:01,000 isteach sa dara rud agus ansin saor in aisce an chéad rud. 168 00:11:01,000 --> 00:11:04,000 Beidh Realloc láimhseáil ar do shon. 169 00:11:04,000 --> 00:11:11,000 >> Fógra go bhfuil an síniú ag dul a bheith ar neamhní *, 170 00:11:11,000 --> 00:11:15,000 atá ag filleadh ach pointeoir chuig an bloc cuimhne, 171 00:11:15,000 --> 00:11:17,000 ansin neamhní * PTR. 172 00:11:17,000 --> 00:11:22,000 Is féidir leat smaoineamh * neamhní mar pointeoir cineálach. 173 00:11:22,000 --> 00:11:27,000 Go ginearálta riamh, tú ag déileáil le * neamhní, 174 00:11:27,000 --> 00:11:30,000 ach tá malloc comhairimh * neamhní, agus ansin tá sé in úsáid go díreach mar a 175 00:11:30,000 --> 00:11:34,000 seo ag dul i ndáiríre a bheith ina * Char. 176 00:11:34,000 --> 00:11:37,000 An * neamhní roimhe sin a bhí ar ais malloc 177 00:11:37,000 --> 00:11:41,000 tá sé ag dul anois a chur ar aghaidh chuig realloc, agus ansin méid 178 00:11:41,000 --> 00:11:49,000 Is é an líon nua na mbeart is mian leat a leithdháileadh, agus mar sin do chumas nua. 179 00:11:49,000 --> 00:11:57,000 Feicfidh mé a thabhairt duit cúpla nóiméad, agus é a dhéanamh in ár spás. 180 00:11:57,000 --> 00:12:02,000 Tosaigh le Athbhreithniú 1. 181 00:12:16,000 --> 00:12:21,000 Feicfidh mé stad tú tar éis tá súil againn faoi am go leor a bhrú a chur i bhfeidhm, 182 00:12:21,000 --> 00:12:24,000 agus ansin beidh mé a thabhairt duit eile sos pop a dhéanamh. 183 00:12:24,000 --> 00:12:27,000 Ach nach bhfuil sé i ndáiríre an cód i bhfad ar chor ar bith. 184 00:12:27,000 --> 00:12:35,000 Tá an cód an chuid is mó dócha go bhfuil an stuif ag leathnú, leathnú an cumas. 185 00:12:35,000 --> 00:12:39,000 Maith go leor, aon bhrú a dhéanamh go hiomlán, 186 00:12:39,000 --> 00:12:47,000 ach chomh fada agus a bhraitheann tú mar atá tú ar an gcosán ceart, go maith. 187 00:12:47,000 --> 00:12:53,000 >> An bhfuil aon duine aon chód mbraitheann siad compordach le tarraingt mé suas? 188 00:12:53,000 --> 00:12:59,000 Yeah, beidh mé, ach ní duine ar bith a bhfuil aon chód is féidir liom a tharraingt suas? 189 00:12:59,000 --> 00:13:05,000 Maith go leor, is féidir leat tosú, ach amháin é, is cuma cad é? 190 00:13:05,000 --> 00:13:09,000 Mé dearmad i gcónaí go bhfuil céim. 191 00:13:09,000 --> 00:13:15,000 Maith go leor, ag féachaint ar bhrú, 192 00:13:15,000 --> 00:13:18,000 ar mhaith leat a mhíniú do chód? 193 00:13:18,000 --> 00:13:24,000 [Mac Léinn] Gcéad dul síos, mhéadaigh mé an méid. 194 00:13:24,000 --> 00:13:28,000 Buille faoi thuairim mé b'fhéidir ba chóir dom a rá-sin féin, mhéadaigh mé an méid, 195 00:13:28,000 --> 00:13:31,000 agus féach mé má tá sé níos lú ná an acmhainn. 196 00:13:31,000 --> 00:13:36,000 Agus má tá sé níos lú ná an acmhainn, mé a chur leis an eagar atá againn cheana féin. 197 00:13:36,000 --> 00:13:42,000 Agus más rud é nach bhfuil sé, mé a iolrú ar an acmhainn faoi 2, 198 00:13:42,000 --> 00:13:50,000 agus athdháileadh mé an sraith teaghráin chun rud éigin le méid toilleadh níos mó anois. 199 00:13:50,000 --> 00:13:55,000 Agus ansin má theipeann sin, inis mé an t-úsáideoir agus seol ar ais bréagach, 200 00:13:55,000 --> 00:14:04,000 agus má tá sé fíneáil, ansin chuir mé an teaghrán i láthair nua. 201 00:14:04,000 --> 00:14:07,000 >> [Rob B.] Chomh maith leis sin faoi deara a úsáid againn deas bitwise oibreoir anseo 202 00:14:07,000 --> 00:14:09,000 a iolrú faoi 2. 203 00:14:09,000 --> 00:14:11,000 Cuimhnigh, tá athrú chlé ag dul i gcónaí a bheith méadaithe faoi 2. 204 00:14:11,000 --> 00:14:15,000 Tá athrú Ceart roinnt ar 2 chomh fada agus cuimhnigh go bhfuil tú ciallaíonn sé 205 00:14:15,000 --> 00:14:18,000 roinnt de 2 mar atá i slánuimhir roinnt ar 2. 206 00:14:18,000 --> 00:14:20,000 D'fhéadfadh sé a teascadh ar a 1 anseo nó ann. 207 00:14:20,000 --> 00:14:26,000 Ach tá athrú fágtha faoin 1 dul i gcónaí a bheith méadaithe faoi 2, 208 00:14:26,000 --> 00:14:32,000 mura sceite tú an bounds an slánuimhir, agus ansin ní bheidh sé. 209 00:14:32,000 --> 00:14:34,000 A comment taobh. 210 00:14:34,000 --> 00:14:39,000 Is maith liom a dhéanamh-é seo nach bhfuil ag dul a athrú ar an códú aon tslí ar bith, 211 00:14:39,000 --> 00:14:48,000 ach is maith liom a dhéanamh rud éigin mar seo. 212 00:14:48,000 --> 00:14:51,000 Tá sé i ndáiríre ag dul a dhéanamh níos faide sé beagán. 213 00:15:04,000 --> 00:15:08,000 B'fhéidir nach é seo an cás foirfe seo a léiriú, 214 00:15:08,000 --> 00:15:14,000 ach is maith liom a deighleog sé isteach ar na bloic- 215 00:15:14,000 --> 00:15:17,000 ceart go leor, más rud é seo a tharlaíonn má, ansin tá mé ag dul rud éigin a dhéanamh, 216 00:15:17,000 --> 00:15:19,000 agus is é an fheidhm a dhéanamh ansin. 217 00:15:19,000 --> 00:15:22,000 Ní gá dom a scrollbharra ansin mo shúile léir ar an mbealach síos an fheidhm 218 00:15:22,000 --> 00:15:25,000 a fheiceáil cad a tharlaíonn tar éis an duine eile. 219 00:15:25,000 --> 00:15:27,000 Tá sé más rud é seo a tharlaíonn más rud é, ansin mé ar ais díreach. 220 00:15:27,000 --> 00:15:30,000 Tá sé freisin ar an tairbhe deas breise gach rud níos faide ná seo 221 00:15:30,000 --> 00:15:33,000 Tá bhog fágtha anois uair amháin. 222 00:15:33,000 --> 00:15:40,000 Mé a thuilleadh gá a-más rud é in aice leat riamh ridiculously línte fada, 223 00:15:40,000 --> 00:15:45,000 ansin is féidir iad siúd 4 bytes cabhrú, agus freisin go bhfuil an rud éigin níos mó ar chlé, 224 00:15:45,000 --> 00:15:48,000 an lú léigear dar leat más mian-ceart go leor, tá mé le cuimhneamh 225 00:15:48,000 --> 00:15:53,000 Tá mé faoi láthair i lúb agus taobh istigh de taobh istigh eile de do lúb. 226 00:15:53,000 --> 00:15:58,000 Áit ar bith is féidir leat é seo a dhéanamh ar ais láithreach, mé cineál cosúil. 227 00:15:58,000 --> 00:16:05,000 Tá sé go hiomlán roghnach agus nach bhfuiltear ag súil in aon slí. 228 00:16:05,000 --> 00:16:12,000 >> [Mac Léinn] Ar chóir go mbeadh méid - sa riocht theipeann? 229 00:16:12,000 --> 00:16:19,000 Is é an coinníoll theipeann anseo theip orainn realloc, mar sin tá. 230 00:16:19,000 --> 00:16:22,000 Fógra conas sa riocht teip, is dócha, 231 00:16:22,000 --> 00:16:26,000 mura againn stuif saor in aisce ina dhiaidh sin, táimid ag dul i gcónaí a theipeann 232 00:16:26,000 --> 00:16:29,000 is cuma cé mhéad uair a iarracht muid rud éigin a bhrú. 233 00:16:29,000 --> 00:16:32,000 Má choinneáil orainn ag brú, a choinneáil orainn méid incriminteach, 234 00:16:32,000 --> 00:16:36,000 cé nach bhfuil muid ag cur rud ar bith ar an chairn. 235 00:16:36,000 --> 00:16:39,000 De ghnáth, ní féidir linn a incrimint an méid go dtí go 236 00:16:39,000 --> 00:16:43,000 tar éis a mór dúinn a chur go rathúil é ar an chruach. 237 00:16:43,000 --> 00:16:50,000 Ba mhaith linn é a dhéanamh, a rá, bíodh anseo agus anseo. 238 00:16:50,000 --> 00:16:56,000 Agus ansin, in ionad ag rá s.size ≤ acmhainn, tá sé níos lú ná cumas, 239 00:16:56,000 --> 00:17:01,000 ach amháin mar gheall ar bhog muid nuair a bhí gach rud. 240 00:17:01,000 --> 00:17:07,000 >> Agus cuimhnigh, an áit ach amháin go raibh muid ar ais, b'fhéidir, bréagach 241 00:17:07,000 --> 00:17:14,000 Is anseo, áit ar ais realloc nialasach, 242 00:17:14,000 --> 00:17:19,000 agus má tharlaíonn tú chun cuimhneamh ar earráid chaighdeánach, 243 00:17:19,000 --> 00:17:22,000 b'fhéidir go dtiocfadh leat a mheas an gcás seo a áit ar mhaith leat a phriontáil earráid chaighdeánach, 244 00:17:22,000 --> 00:17:26,000 stderr sin fprintf seachas díreach a phriontáil go díreach amach caighdeánach. 245 00:17:26,000 --> 00:17:31,000 Arís, ní go ag súil, ach má tá sé ar earráid, 246 00:17:31,000 --> 00:17:41,000 cineál printf, ansin b'fhéidir gur mhaith leat a dhéanamh é a phriontáil go earráid chaighdeánach ionad amach caighdeánach. 247 00:17:41,000 --> 00:17:44,000 >> Duine ar bith a bheith aon rud eile a thabhairt faoi deara? Tá. 248 00:17:44,000 --> 00:17:47,000 [Mac Léinn] An féidir leat dul thar an [inaudible]? 249 00:17:47,000 --> 00:17:55,000 [Rob B.] Sea, an binariness iarbhír é nó díreach cad é? 250 00:17:55,000 --> 00:17:57,000 [Mac Léinn] sin, tá tú iolrú dó le 2? 251 00:17:57,000 --> 00:17:59,000 [Rob B.] Yeah, go bunúsach. 252 00:17:59,000 --> 00:18:11,000 I talamh dénártha, ní mór dúinn i gcónaí ar ár sraith de digití. 253 00:18:11,000 --> 00:18:22,000 Aistriú an taobh clé de 1 go bunúsach cuireann sé anseo ar an taobh dheis. 254 00:18:22,000 --> 00:18:25,000 Ar ais leis seo, ag cuimhneamh ach go bhfuil gach rud i dénártha 255 00:18:25,000 --> 00:18:28,000 Is cumhachta 2, agus mar sin is ionann 2 a ghabhann leis an 0, 256 00:18:28,000 --> 00:18:30,000 an 2 a ghabhann leis 1, an 2 a ghabhann leis 2. 257 00:18:30,000 --> 00:18:33,000 Trí chur isteach ar 0 go dtí an taobh dheis anois, tá muid ag athrú ach gach rud os a chionn. 258 00:18:33,000 --> 00:18:38,000 Cad a úsáidtear a bheith 2 a ghabhann leis an 0 anois 2 a ghabhann leis an 1, 2 a ghabhann leis 2. 259 00:18:38,000 --> 00:18:41,000 An taobh deas go isteach againn 260 00:18:41,000 --> 00:18:44,000 ag dul gá a bheith 0, 261 00:18:44,000 --> 00:18:46,000 a dhéanann ciall. 262 00:18:46,000 --> 00:18:49,000 Má tá tú iolrú riamh ar roinnt de 2, níl sé ag dul chun deireadh suas corr, 263 00:18:49,000 --> 00:18:54,000 mar sin ba chóir a bheith ar an 2 go dtí an áit 0 0, 264 00:18:54,000 --> 00:18:59,000 agus tá sé seo cad a rabhadh mé leath faoi roimh má dhéanann tú a tharlóidh a athrú 265 00:18:59,000 --> 00:19:01,000 thar líon na píosaí i slánuimhir, 266 00:19:01,000 --> 00:19:04,000 ansin tá an 1 ag dul go dtí deireadh suas ag dul amach. 267 00:19:04,000 --> 00:19:10,000 Sin an imní ach amháin má tharlaíonn leat a bheith ag déileáil le toilleadh i ndáiríre mór. 268 00:19:10,000 --> 00:19:15,000 Ach ag an bpointe sin, ansin tá tú ag déileáil le sraith de na billiúin rudaí, 269 00:19:15,000 --> 00:19:25,000 ní a d'fhéadfadh a oiriúnach i gcuimhne ar aon nós. 270 00:19:25,000 --> 00:19:31,000 >> Anois is féidir linn a fháil chun pop, a bhfuil fiú níos éasca. 271 00:19:31,000 --> 00:19:36,000 D'fhéadfá é a dhéanamh maith má tharlaíonn tú a pop a bunch iomlán, 272 00:19:36,000 --> 00:19:38,000 agus anois tá tú ag leath acmhainn arís. 273 00:19:38,000 --> 00:19:42,000 D'fhéadfaí tú a realloc chun Laghdaigh an méid cuimhne agat, 274 00:19:42,000 --> 00:19:47,000 ach ní gá duit a bheith buartha faoi go bhfuil, mar sin an cás realloc ach amháin ag dul a bheith 275 00:19:47,000 --> 00:19:50,000 ag fás chuimhne, ní crapadh chuimhne, 276 00:19:50,000 --> 00:19:59,000 atá ag dul a dhéanamh Super pop éasca. 277 00:19:59,000 --> 00:20:02,000 Anois scuainí, atá ag dul a bheith cosúil le stoic, 278 00:20:02,000 --> 00:20:06,000 ach an t-ordú go bhfuil tú rudaí a thógáil amach droim ar ais. 279 00:20:06,000 --> 00:20:10,000 Is é an sampla prototypical de scuaine líne, 280 00:20:10,000 --> 00:20:12,000 mar sin buille faoi thuairim mé má bhí tú Béarla, ba mhaith liom a rá 281 00:20:12,000 --> 00:20:17,000 Is sampla prototypical de scuaine scuaine. 282 00:20:17,000 --> 00:20:22,000 Mar sin, cosúil le líne, má tá tú an chéad duine i líne, 283 00:20:22,000 --> 00:20:24,000 bhfuil súil agat a bheith ar an chéad duine amach as an líne. 284 00:20:24,000 --> 00:20:31,000 Má tá tú an duine deireanach sa líne, tá tú ag dul a bheith ar an duine deireanach seirbhísithe. 285 00:20:31,000 --> 00:20:35,000 Glaoch orainn gur patrún FIFO, cé go raibh Stack LIFO patrún. 286 00:20:35,000 --> 00:20:40,000 Tá na focail go leor uilíoch. 287 00:20:40,000 --> 00:20:46,000 >> Cosúil le stoic agus murab ionann agus arrays, scuainí ghnáth ní féidir rochtain a cheadú ar eilimintí i lár. 288 00:20:46,000 --> 00:20:50,000 Anseo, Stack, ní mór dúinn a bhrú agus pop. 289 00:20:50,000 --> 00:20:54,000 Anseo, a tharlóidh dúinn a bheith ar a dtugtar iad a enqueue agus dequeue. 290 00:20:54,000 --> 00:20:58,000 Tá sé cloiste agam ar a dtugtar freisin dóibh athrú agus unshift. 291 00:20:58,000 --> 00:21:02,000 Chuala mé daoine a rá bhrú agus pop do freisin maidir le scuainí. 292 00:21:02,000 --> 00:21:05,000 Tá sé cloiste agam isteach, a bhaint, 293 00:21:05,000 --> 00:21:11,000 mar sin a bhrú agus a pop, má tá tú ag caint faoi stacks, tá tú ag brú agus popping. 294 00:21:11,000 --> 00:21:16,000 Má tá tú ag caint faoi scuainí, d'fhéadfaí tú a roghnaigh na focail is mian leat a úsáid 295 00:21:16,000 --> 00:21:23,000 do chur isteach agus a bhaint, agus níl aon chomhaontú ar cad ba cheart a bheith ar a dtugtar. 296 00:21:23,000 --> 00:21:27,000 Ach anseo, ní mór dúinn enqueue agus dequeue. 297 00:21:27,000 --> 00:21:37,000 Anois, féachann an struct beagnach comhionann leis an struct Stack. 298 00:21:37,000 --> 00:21:40,000 Ach ní mór dúinn súil a choinneáil ar cheann. 299 00:21:40,000 --> 00:21:44,000 Buille faoi thuairim mé a deir sé síos anseo, ach cén fáth nach gá dúinn an ceann? 300 00:21:53,000 --> 00:21:57,000 Is iad na fréamhshamhlacha go bunúsach comhionann a bhrú agus pop. 301 00:21:57,000 --> 00:21:59,000 Is féidir leat smaoineamh ar é mar a bhrú agus pop. 302 00:21:59,000 --> 00:22:08,000 Is é an difríocht amháin pop ag filleadh-ionad an ceann deireanach, tá ar ais ar an gcéad. 303 00:22:08,000 --> 00:22:12,000 2, 1, 3, 4, nó rud éigin. 304 00:22:12,000 --> 00:22:14,000 Agus anseo an tús. 305 00:22:14,000 --> 00:22:17,000 Is é ár scuaine go hiomlán go hiomlán, mar sin níl ceithre ghné ann. 306 00:22:17,000 --> 00:22:21,000 Is é an deireadh ár scuaine faoi láthair 2, 307 00:22:21,000 --> 00:22:24,000 agus anois táimid ag dul a chur isteach i rud éigin eile. 308 00:22:24,000 --> 00:22:29,000 >> Nuair a ba mhaith linn a chur isteach go bhfuil rud éigin eile, cad a rinne muid le haghaidh an leagan Stack 309 00:22:29,000 --> 00:22:36,000 Tá leathnú ár bloc cuimhne. 310 00:22:36,000 --> 00:22:40,000 Cad é an fhadhb atá leis seo? 311 00:22:40,000 --> 00:22:45,000 [Mac Léinn] bogadh tú an 2. 312 00:22:45,000 --> 00:22:51,000 Cad a dúirt mé roimh mar gheall ar an deireadh an scuaine, 313 00:22:51,000 --> 00:22:57,000 ní hionann sin ciall a bhaint as go dtosaíonn muid ag 1, 314 00:22:57,000 --> 00:23:01,000 ansin ba mhaith linn a dequeue 1, ansin dequeue 3, ansin dequeue 4, 315 00:23:01,000 --> 00:23:05,000 ansin dequeue 2, dequeue ansin an gceann seo. 316 00:23:05,000 --> 00:23:08,000 Ní féidir linn úsáid a bhaint as realloc anois, 317 00:23:08,000 --> 00:23:11,000 nó ar a laghad an-, tá tú realloc a úsáid ar bhealach difriúil. 318 00:23:11,000 --> 00:23:15,000 Ach tú nár chóir is dócha a úsáid ach realloc. 319 00:23:15,000 --> 00:23:18,000 Tá tú ag dul a bheith acu a chóipeáil de láimh do chuimhne. 320 00:23:18,000 --> 00:23:21,000 >> Tá dhá fheidhm cuimhne a chóipeáil. 321 00:23:21,000 --> 00:23:25,000 Níl memcopy agus memmove. 322 00:23:25,000 --> 00:23:29,000 Tá mé ag léamh faoi láthair ar na leathanaigh fear a fheiceáil atá ar cheann tú ag dul go dtí gur mian a úsáid. 323 00:23:29,000 --> 00:23:35,000 Maith go leor, memcopy is é an difríocht 324 00:23:35,000 --> 00:23:38,000 go Láimhseálann memcopy agus memmove, ceann an cás i gceart 325 00:23:38,000 --> 00:23:41,000 áit a bhfuil tú a chóipeáil isteach i réigiún a tharlaíonn forluí ar an réigiún 326 00:23:41,000 --> 00:23:46,000 bhfuil tú ag chóipeáil ó. 327 00:23:46,000 --> 00:23:50,000 Ní Memcopy é a láimhseáil. Memmove dhéanann. 328 00:23:50,000 --> 00:23:59,000 Is féidir leat smaoineamh ar an bhfadhb mar- 329 00:23:59,000 --> 00:24:09,000 ligean le rá ba mhaith liom a chóipeáil Guy seo, 330 00:24:09,000 --> 00:24:13,000 na ceithre leis an Guy os a chionn. 331 00:24:13,000 --> 00:24:16,000 Sa deireadh, cad ba cheart an eagar breathnú cosúil le 332 00:24:16,000 --> 00:24:26,000 tar éis an chóip 2, 1, 2, 1, 3, 4, agus ansin roinnt rudaí ag an deireadh. 333 00:24:26,000 --> 00:24:29,000 Ach tá sé seo ag brath ar an ord ina againn a chóipeáil i ndáiríre, 334 00:24:29,000 --> 00:24:32,000 ós rud é más rud é nach bhfuil muid ag smaoineamh ar an bhfíric go bhfuil an réigiún tá muid a chóipeáil isteach 335 00:24:32,000 --> 00:24:35,000 forluí an ceann táimid ag chóipeáil ó, 336 00:24:35,000 --> 00:24:46,000 ansin d'fhéadfadh linn a dhéanamh cosúil le tús anseo, an 2 chóipeáil isteach ar an áit ba mhaith linn dul, 337 00:24:46,000 --> 00:24:52,000 ansin bogadh ar ár leideanna chun cinn. 338 00:24:52,000 --> 00:24:56,000 >> Anois, tá muid ag dul a bheith anseo agus anseo, agus anois ba mhaith linn a chóipeáil 339 00:24:56,000 --> 00:25:04,000 Guy seo thar an Guy agus bogadh ar ár leideanna chun cinn. 340 00:25:04,000 --> 00:25:07,000 Cad é táimid ag dul go dtí deireadh ag dul suas 2, 1, 2, 1, 2, 1 341 00:25:07,000 --> 00:25:10,000 in ionad an 2 cuí, 1, 2, 1, 3, 4 mar gheall ar 342 00:25:10,000 --> 00:25:15,000 2, 1 overrode an 3 bunaidh, 4. 343 00:25:15,000 --> 00:25:19,000 Memmove Láimhseálann sin i gceart. 344 00:25:19,000 --> 00:25:23,000 Sa chás seo, go bunúsach ach i gcónaí úsáid a bhaint as memmove 345 00:25:23,000 --> 00:25:26,000 mar gheall ar láimhseáil i gceart. 346 00:25:26,000 --> 00:25:29,000 Go ginearálta níl aon fheidhm níos measa. 347 00:25:29,000 --> 00:25:32,000 Is é an smaoineamh in áit ag tosú ón tús agus a chóipeáil an mbealach seo 348 00:25:32,000 --> 00:25:35,000 mar a rinne muid ach anseo, a thosaíonn sé ó dheireadh agus cóipeanna i, 349 00:25:35,000 --> 00:25:38,000 agus sa chás sin, ní féidir leat a bheith ina fhadhb. 350 00:25:38,000 --> 00:25:40,000 Níl a cailleadh aon fheidhmíocht. 351 00:25:40,000 --> 00:25:47,000 A úsáid i gcónaí memmove. Ná bíodh imní ort faoi memcopy. 352 00:25:47,000 --> 00:25:51,000 Agus sin an áit a bhfuil tú ag dul a bheith acu chun memmove ar leithligh 353 00:25:51,000 --> 00:26:01,000 an chuid fillte ar fud do scuaine. 354 00:26:01,000 --> 00:26:04,000 Uimh imní mura bhfuil sé déanta go hiomlán. 355 00:26:04,000 --> 00:26:10,000 Tá sé seo níos deacra ná mar chairn, a bhrú pop, agus. 356 00:26:10,000 --> 00:26:15,000 >> Duine ar bith a bheith ar aon chód d'fhéadfadh muid ag obair leis? 357 00:26:15,000 --> 00:26:21,000 Fiú má hiomlán neamhiomlán? 358 00:26:21,000 --> 00:26:23,000 [Mac Léinn] Sea, tá sé go hiomlán easnamhach, cé. 359 00:26:23,000 --> 00:26:27,000 Go hiomlán neamhiomlán Is fíneáil chomh fada is is féidir linn-leat a shábháil an t-athbhreithniú? 360 00:26:27,000 --> 00:26:32,000 Dearmad go gach uair amháin. 361 00:26:32,000 --> 00:26:39,000 Maith go leor, a tharlaíonn neamhaird cad é nuair is gá dúinn chun rudaí a athrú. 362 00:26:39,000 --> 00:26:42,000 Go hiomlán neamhaird a athrú. 363 00:26:42,000 --> 00:26:49,000 Mínigh an cód. 364 00:26:49,000 --> 00:26:54,000 Tá mé ag seiceáil an gcéad de gach má tá an méid níos lú ná an chéad chóip de gach 365 00:26:54,000 --> 00:27:01,000 agus ansin ina dhiaidh sin, tá mé isteach-mé ceann + mhéid, 366 00:27:01,000 --> 00:27:05,000 agus a dhéanamh mé cinnte go wraps sé thart ar acmhainn an eagar, 367 00:27:05,000 --> 00:27:08,000 agus mé isteach an teaghrán nua ag an suíomh. 368 00:27:08,000 --> 00:27:12,000 Ansin mé ag cur an méid agus ar ais fíor. 369 00:27:12,000 --> 00:27:22,000 >> [Rob B.] Tá sé seo cinnte ar cheann de na cásanna sin ina bhfuil tú ag dul a iarraidh a bheith ag baint úsáide as mod. 370 00:27:22,000 --> 00:27:25,000 Aon chineál ar chás má tá tú ag timfhilleadh timpeall, má cheapann tú timfhilleadh timpeall, 371 00:27:25,000 --> 00:27:29,000 Ba chóir go mbeadh an smaoinimh láithreach mod. 372 00:27:29,000 --> 00:27:36,000 Mar leas iomlán a bhaint mear / a dhéanamh do chód líne amháin níos giorra, 373 00:27:36,000 --> 00:27:42,000 thugann tú faoi deara go bhfuil an líne díreach tar éis an ceann seo 374 00:27:42,000 --> 00:27:53,000 ach méid + +, agus mar sin chumasadh tú go bhfuil i líne seo, méid + +. 375 00:27:53,000 --> 00:27:58,000 Anois síos anseo, ní mór dúinn an cás 376 00:27:58,000 --> 00:28:01,000 i gcás nach bhfuil againn cuimhne go leor, 377 00:28:01,000 --> 00:28:05,000 mar sin táimid ag méadú ár n-acmhainn ar 2. 378 00:28:05,000 --> 00:28:09,000 Buille faoi thuairim mé d'fhéadfá a bheith an fhadhb chéanna anseo, ach is féidir linn neamhaird a dhéanamh air anois, 379 00:28:09,000 --> 00:28:13,000 i gcás má theip ort a mhéadú do chumas, 380 00:28:13,000 --> 00:28:18,000 ansin tá tú ag dul a iarraidh a laghdú do chumas ag 2 arís. 381 00:28:18,000 --> 00:28:24,000 Eile is ea an nóta gearr díreach mar is féidir leat a dhéanamh + =, 382 00:28:24,000 --> 00:28:30,000 féidir leat a dhéanamh freisin <<. 383 00:28:30,000 --> 00:28:43,000 Is féidir le beagnach aon rud is ionann agus dul os comhair, + =, | =, & =, << =. 384 00:28:43,000 --> 00:28:52,000 Tá Carachtar * nua ár bloc nua de chuimhne. 385 00:28:52,000 --> 00:28:55,000 Oh, thar anseo. 386 00:28:55,000 --> 00:29:02,000 >> Cad a dhéanann daoine smaoineamh ar an gcineál ár bloc nua de chuimhne? 387 00:29:02,000 --> 00:29:06,000 [Mac Léinn] Ba chóir a thabhairt ** ruabhreac. 388 00:29:06,000 --> 00:29:12,000 Ag smaoineamh ar ais go dtí ár struct suas anseo, 389 00:29:12,000 --> 00:29:14,000 teaghráin cad tá muid ag athdháileadh. 390 00:29:14,000 --> 00:29:21,000 Táimid ag déanamh a stóráil ar fad dinimiciúil nua do na heilimintí sa scuaine. 391 00:29:21,000 --> 00:29:25,000 Cad táimid ag dul a bheith a shannadh do teaghráin cad tá muid ag mallocing ceart anois, 392 00:29:25,000 --> 00:29:30,000 agus mar sin tá nua ag dul a bheith ina ** ruabhreac. 393 00:29:30,000 --> 00:29:34,000 Tá sé seo ag dul a bheith le sraith de teaghráin. 394 00:29:34,000 --> 00:29:38,000 Ansin, cad é an cás faoina táimid ag dul a thabhairt ar ais bréagach? 395 00:29:38,000 --> 00:29:41,000 [Mac Léinn] Ar chóir dúinn a bheith ag déanamh an * Char? 396 00:29:41,000 --> 00:29:44,000 [Rob B.] Sea, glaoch maith. 397 00:29:44,000 --> 00:29:46,000 [Mac Léinn] Cad é sin? 398 00:29:46,000 --> 00:29:49,000 [Rob B.] Theastaigh uainn a dhéanamh ar mhéid * ruabhreac mar go bhfuil muid a thuilleadh- 399 00:29:49,000 --> 00:29:53,000 go mbeadh sé seo a bheith i ndáiríre fadhb an-mhór toisc go mbeadh deachúlach (ruabhric) a 1. 400 00:29:53,000 --> 00:29:55,000 Tá Is uimhir Char * ag dul a bheith 4, 401 00:29:55,000 --> 00:29:58,000 mar sin a lán de amanna nuair a bhíonn tú ag déileáil le ints, 402 00:29:58,000 --> 00:30:01,000 claonadh a bhíonn tú a fháil amach le sé mar gheall ar mhéid na slánuimhir agus méid * o 403 00:30:01,000 --> 00:30:04,000 ar chóras 32-giotán ag dul a bheith ar an rud céanna. 404 00:30:04,000 --> 00:30:09,000 Ach anseo, is féidir MÉID a (Char) agus deachúlach (ruabhric *) ag dul anois a bheith ar an rud céanna. 405 00:30:09,000 --> 00:30:15,000 >> Cad é an staid nuair a fhilleann muid bréagach? 406 00:30:15,000 --> 00:30:17,000 [Mac Léinn] Nua Eolas faoin margadh saothair. 407 00:30:17,000 --> 00:30:23,000 Yeah, má tá nua faoin margadh saothair, ar ais dúinn bréagach, 408 00:30:23,000 --> 00:30:34,000 agus tá mé ag dul le caith síos anseo- 409 00:30:34,000 --> 00:30:37,000 [Mac Léinn] [inaudible] 410 00:30:37,000 --> 00:30:39,000 [Rob B.] Yeah, is é seo fíneáil. 411 00:30:39,000 --> 00:30:46,000 D'fhéadfá a dhéanamh ceachtar 2 uair acmhainn nó 1 athrú acmhainne agus ansin leag sé síos anseo nó cibé. 412 00:30:46,000 --> 00:30:52,000 Beidh muid é a dhéanamh mar a bhí againn uirthi. 413 00:30:52,000 --> 00:30:56,000 Cumas >> = 1. 414 00:30:56,000 --> 00:31:08,000 Agus riamh tá tú ag dul a bheith buartha faoi chailliúint an 1 ar siúl 415 00:31:08,000 --> 00:31:12,000 mar gheall ar d'fhág tú bhog faoin 1, is é sin an 1 ar siúl gá gur 0, 416 00:31:12,000 --> 00:31:16,000 sin ceart aistriú faoin 1, tá tú fós ag dul a bheith fíneáil. 417 00:31:16,000 --> 00:31:19,000 [Mac Léinn] An bhfuil gá duit a dhéanamh go roimh ais? 418 00:31:19,000 --> 00:31:29,000 [Rob B.] Sea, a dhéanann an fíor aon chiall. 419 00:31:29,000 --> 00:31:36,000 >> Anois, glacadh againn ag dul chun deireadh suas ar ais fíor go deireadh. 420 00:31:36,000 --> 00:31:39,000 An bealach táimid ag dul a dhéanamh ar na memmoves, 421 00:31:39,000 --> 00:31:45,000 ní mór dúinn a bheith cúramach leis an gcaoi a ndéanaimid iad. 422 00:31:45,000 --> 00:31:50,000 An bhfuil aon duine aon mholtaí maidir le conas a dhéanann muid iad? 423 00:32:17,000 --> 00:32:21,000 Seo ár tús. 424 00:32:21,000 --> 00:32:28,000 Níl dul thairis, ba mhaith linn tús a chur ag an tús arís 425 00:32:28,000 --> 00:32:35,000 rudaí a chóipeáil agus a i ó ann, 1, 3, 4, 2. 426 00:32:35,000 --> 00:32:41,000 Conas a dhéanann tú sin? 427 00:32:41,000 --> 00:32:52,000 Gcéad dul síos, tá mé chun breathnú ar an leathanach fear do memmove arís. 428 00:32:52,000 --> 00:32:57,000 Memmove é, a ordú na n-argóintí i gcónaí tábhachtach. 429 00:32:57,000 --> 00:33:01,000 Ba mhaith linn ár gceann scríbe chéad, an dara foinse, an tríú méid. 430 00:33:01,000 --> 00:33:06,000 Tá a lán de na feidhmeanna a athrú fhoinse agus an ceann scríbe. 431 00:33:06,000 --> 00:33:11,000 Is nós le Ceann Scríbe, foinse a bheith comhsheasmhach beagán. 432 00:33:17,000 --> 00:33:21,000 Bog, cad é a sheoladh ar ais? 433 00:33:21,000 --> 00:33:27,000 Tuairisceáin sé pointeoir go dtí an sprioc, ar chúis ar bith b'fhéidir gur mhaith leat go. 434 00:33:27,000 --> 00:33:32,000 Is féidir liom pictiúr a léamh, ach ba mhaith linn chun bogadh isteach ár gceann scríbe. 435 00:33:32,000 --> 00:33:35,000 >> Cad é ár gceann scríbe ag dul a bheith? 436 00:33:35,000 --> 00:33:37,000 [Mac Léinn] Nua. 437 00:33:37,000 --> 00:33:39,000 [Rob B.] Tá, agus i gcás ina bhfuil chóipeáil againn ó? 438 00:33:39,000 --> 00:33:43,000 Is é an chéad rud a táimid ag chóipeáil seo 1, 3, 4. 439 00:33:43,000 --> 00:33:50,000 Cad é an-seo 1, 3, 4. 440 00:33:50,000 --> 00:33:55,000 Cad é an seoladh seo a 1? 441 00:33:55,000 --> 00:33:58,000 Cad é an seoladh an 1? 442 00:33:58,000 --> 00:34:01,000 [Mac Léinn] [inaudible] 443 00:34:01,000 --> 00:34:03,000 [Rob B.] Ceann + seoladh an chéad eilimint. 444 00:34:03,000 --> 00:34:05,000 Conas is féidir linn a fháil ar an chéad eilimint sa eagar? 445 00:34:05,000 --> 00:34:10,000 [Mac Léinn] Ciú. 446 00:34:10,000 --> 00:34:15,000 [Rob B.] Sea, q.strings. 447 00:34:15,000 --> 00:34:20,000 Cuimhnigh, anseo is é ár ceann 1. 448 00:34:20,000 --> 00:34:24,000 Darn é. I mo thuairimse, ach tá sé magically- 449 00:34:24,000 --> 00:34:29,000 Anseo, is é ár ceann 1. Tá mé ag dul a athrú ar mo dath freisin. 450 00:34:29,000 --> 00:34:36,000 Agus is é anseo teaghráin. 451 00:34:36,000 --> 00:34:41,000 Seo, is féidir linn a scríobh ceachtar sé mar a rinne muid thar anseo 452 00:34:41,000 --> 00:34:43,000 le ceannairí + q.strings. 453 00:34:43,000 --> 00:34:51,000 A lán daoine a scríobh freisin agus q.strings [ceann]. 454 00:34:51,000 --> 00:34:55,000 Níl sé seo i ndáiríre ar bith níos lú éifeachtach. 455 00:34:55,000 --> 00:34:58,000 D'fhéadfá smaoineamh ar é mar atá tú dereferencing é agus ansin dul ar an seoladh, 456 00:34:58,000 --> 00:35:04,000 ach tá an tiomsaitheoir ag dul go dtí é a aistriú leis an méid a bhí againn roimh aon nós, q.strings + ceann. 457 00:35:04,000 --> 00:35:06,000 Slí amháin nó slí is mian leat chun smaoineamh ar é. 458 00:35:06,000 --> 00:35:11,000 >> Agus cé mhéad bytes ar mian linn a chóipeáil? 459 00:35:11,000 --> 00:35:15,000 [Mac Léinn] Cumas - ceann. 460 00:35:15,000 --> 00:35:18,000 Cumas - ceann. 461 00:35:18,000 --> 00:35:21,000 Agus ansin d'fhéadfaí tú a scríobh i gcónaí, mar shampla 462 00:35:21,000 --> 00:35:23,000 chun an figiúr amach más rud é go ceart. 463 00:35:23,000 --> 00:35:26,000 [Mac Léinn] Caithfidh sé a bheith roinnte ar 2 ansin. 464 00:35:26,000 --> 00:35:30,000 Yeah, mar sin buille faoi thuairim mé féidir linn a úsáid méid. 465 00:35:30,000 --> 00:35:35,000 Tá muid go fóill méid arb éard í- 466 00:35:35,000 --> 00:35:39,000 ag baint úsáide as méid, ní mór dúinn méid is ionann agus 4. 467 00:35:39,000 --> 00:35:42,000 Is é ár méid 4. Is é ár ceann 1. 468 00:35:42,000 --> 00:35:46,000 Ba mhaith linn a chóipeáil ar na 3 eilimint. 469 00:35:46,000 --> 00:35:54,000 Sin é an sanity seiceáil go size - ceann i gceart 3. 470 00:35:54,000 --> 00:35:58,000 Agus ag teacht ar ais anseo, mar a dúirt muid roimh, 471 00:35:58,000 --> 00:36:00,000 más rud é a úsáid le linn acmhainn, ansin ba mhaith linn a roinnt ar 2 472 00:36:00,000 --> 00:36:04,000 mar tá muid tar éis fás cheana féin ar ár gcumas, mar sin ina ionad sin, táimid ag dul méid a úsáid. 473 00:36:11,000 --> 00:36:13,000 Go cóipeanna an chuid sin. 474 00:36:13,000 --> 00:36:18,000 Anois, ní mór dúinn a chóipeáil an chuid eile, an chuid atá fágtha ó thús. 475 00:36:18,000 --> 00:36:28,000 >> Sin an dul chun memmove i cad seasamh? 476 00:36:28,000 --> 00:36:32,000 [Mac Léinn] Plus size - ceann. 477 00:36:32,000 --> 00:36:38,000 Sea, mar sin ní mór dúinn a chóipeáil cheana féin i méid - bytes ceann, 478 00:36:38,000 --> 00:36:43,000 agus mar sin nuair ba mhaith linn a chóipeáil na bearta atá fágtha is nua 479 00:36:43,000 --> 00:36:48,000 agus ansin méid lúide-maith, líon na mbeart atá déanta againn cheana féin a chóipeáil isteach 480 00:36:48,000 --> 00:36:52,000 Agus ansin i gcás ina bhfuil chóipeáil againn ó? 481 00:36:52,000 --> 00:36:54,000 [Mac Léinn] Q.strings [0]. 482 00:36:54,000 --> 00:36:56,000 [Rob B.] Sea, q.strings. 483 00:36:56,000 --> 00:37:02,000 D'fhéadfadh muid a dhéanamh ceachtar & q.strings [0]. 484 00:37:02,000 --> 00:37:05,000 Tá sé seo i bhfad níos lú coitianta ná seo. 485 00:37:05,000 --> 00:37:14,000 Má tá sé ag dul ach a bheith 0, ansin beidh tú claonadh a bhíonn le q.strings fheiceáil. 486 00:37:14,000 --> 00:37:16,000 Sin an áit a bhfuil muid ag chóipeáil ó. 487 00:37:16,000 --> 00:37:18,000 Cé mhéad bytes dhéanamh ní mór dúinn a d'fhág a chóipeáil? >> [Mac Léinn] 10. 488 00:37:18,000 --> 00:37:20,000 Ceart. 489 00:37:20,000 --> 00:37:25,000 [Mac Léinn] An bhfuil muid ag a iolrú 5 - 10 uair an méid de na bearta nó rud éigin? 490 00:37:25,000 --> 00:37:30,000 Yeah, mar sin tá sé seo i gcás-cad go díreach atá chóipeáil againn? 491 00:37:30,000 --> 00:37:32,000 [Mac Léinn] [inaudible] 492 00:37:32,000 --> 00:37:34,000 Cad é an cineál an rud táimid ag chóipeáil? 493 00:37:34,000 --> 00:37:36,000 [Mac Léinn] [inaudible] 494 00:37:36,000 --> 00:37:41,000 Yeah, sin an * s Char go bhfuil muid ag cóipeáil, níl a fhios againn i gcás ina bhfuil sin ag teacht as. 495 00:37:41,000 --> 00:37:47,000 Bhuel, nuair a bhíonn siad ag dírithe, cosúil leis an teaghráin, ní mór dúinn deireadh suas ag brú sé isteach ar an scuaine 496 00:37:47,000 --> 00:37:49,000 nó enqueuing ar an scuaine. 497 00:37:49,000 --> 00:37:51,000 I gcás ina mbeidh sin a thagann as, ní mór dúinn aon smaoineamh. 498 00:37:51,000 --> 00:37:56,000 Ní mór dúinn ach súil a choinneáil ar an * s Char féin. 499 00:37:56,000 --> 00:38:00,000 Nílimid ag iarraidh a chóipeáil size - bytes ceann. 500 00:38:00,000 --> 00:38:03,000 Ba mhaith linn a chóipeáil size - ceann s * Char, 501 00:38:03,000 --> 00:38:11,000 mar sin táimid ag dul chun méadú seo trí deachúlach (ruabhric *). 502 00:38:11,000 --> 00:38:17,000 Same síos anseo, ceann * Is uimhir (Char *). 503 00:38:17,000 --> 00:38:24,000 >> [Mac Léinn] Cad mar gheall ar [inaudible]? 504 00:38:24,000 --> 00:38:26,000 An ceart anseo? 505 00:38:26,000 --> 00:38:28,000 [Mac Léinn] No, faoi bhun, an méid - ceann. 506 00:38:28,000 --> 00:38:30,000 [Rob B.] an ceart anseo? 507 00:38:30,000 --> 00:38:32,000 Uimhríochtúil phointeora. 508 00:38:32,000 --> 00:38:35,000 Conas a uimhríochtúil pointeoir ag dul ag obair is 509 00:38:35,000 --> 00:38:40,000 multiplies sé go huathoibríoch ag an méid den chineál go bhfuil muid ag déileáil le. 510 00:38:40,000 --> 00:38:46,000 Díreach mar thar anseo, nua + (size - ceann) 511 00:38:46,000 --> 00:38:56,000 é go díreach comhionann & [size - ceann] nua 512 00:38:56,000 --> 00:39:00,000 go dtí go táimid ag súil go a bheith ag obair i gceart, 513 00:39:00,000 --> 00:39:04,000 ós rud é má tá muid ag déileáil le sraith slánuimhir, ansin ní dhéanaimid innéacs int- 514 00:39:04,000 --> 00:39:07,000 nó má tá sé ar mhéid an 5 agus is mian leat an ghné 4ú, ansin innéacs muid isteach ar an 515 00:39:07,000 --> 00:39:10,000 slánuimhir eagar [4]. 516 00:39:10,000 --> 00:39:14,000 Tá tú don't-[4] * méid slánuimhir. 517 00:39:14,000 --> 00:39:21,000 Go Láimhseálann sé go huathoibríoch, agus sa chás seo 518 00:39:21,000 --> 00:39:29,000 Tá literally comhionann, mar sin an chomhréir scriosaidh 519 00:39:29,000 --> 00:39:34,000 tá sé ag dul ach a bheith athraithe go dtí seo chomh luath agus is tú a thiomsú. 520 00:39:34,000 --> 00:39:38,000 Sin rud éigin is gá duit a bheith cúramach go 521 00:39:38,000 --> 00:39:42,000 nuair a bhíonn tú ag cur méid - ceann 522 00:39:42,000 --> 00:39:45,000 bhfuil tú ag cur ní amháin beart. 523 00:39:45,000 --> 00:39:53,000 Tá tú ag cur amháin * ruabhreac, is féidir a bheith ar cheann mbeart nó cibé. 524 00:39:53,000 --> 00:39:56,000 >> Ceisteanna eile? 525 00:39:56,000 --> 00:40:04,000 Maith go leor, tá dequeue ag dul a bheith níos éasca. 526 00:40:04,000 --> 00:40:11,000 Feicfidh mé a thabhairt duit nóiméad a chur i bhfeidhm. 527 00:40:11,000 --> 00:40:18,000 Ó, agus buille faoi thuairim mé é seo an staid chéanna ina 528 00:40:18,000 --> 00:40:21,000 cad é an cás enqueue, má táimid enqueuing null, 529 00:40:21,000 --> 00:40:24,000 b'fhéidir ba mhaith linn a láimhseáil é, b'fhéidir nach bhfuil againn. 530 00:40:24,000 --> 00:40:27,000 Ní bheidh muid é a dhéanamh arís anseo, ach is ionann ár gcás chairn. 531 00:40:27,000 --> 00:40:34,000 Má enqueue againn faoin margadh saothair, d'fhéadfadh muid ag iarraidh a neamhaird a thabhairt air. 532 00:40:34,000 --> 00:40:40,000 Duine ar bith go bhfuil roinnt cód is féidir liom a tharraingt suas? 533 00:40:40,000 --> 00:40:45,000 [Mac Léinn] Tá mé díreach tar éis dequeue. 534 00:40:45,000 --> 00:40:56,000 Is Leagan 2 go-maith. 535 00:40:56,000 --> 00:40:59,000 Ba mhaith leat a mhíniú? 536 00:40:59,000 --> 00:41:01,000 [Mac Léinn] Ar dtús, a dhéanann tú cinnte go bhfuil rud éigin sa scuaine 537 00:41:01,000 --> 00:41:07,000 agus go bhfuil an méid dul síos ag 1. 538 00:41:07,000 --> 00:41:11,000 Ní mór duit é sin a dhéanamh, agus ansin leat filleadh ar an ceann 539 00:41:11,000 --> 00:41:13,000 agus ansin bogadh an ceann suas 1. 540 00:41:13,000 --> 00:41:19,000 Maith go leor, mar sin tá cás cúinne ní mór dúinn a bhreithniú. Yeah. 541 00:41:19,000 --> 00:41:24,000 [Mac Léinn] Má tá do cheann ar an ghné dheireanach, 542 00:41:24,000 --> 00:41:26,000 ansin nach mian leat ceann a chur in iúl lasmuigh den eagar. 543 00:41:26,000 --> 00:41:29,000 >> Yeah, mar sin amas chomh luath agus is ceann deireadh ár sraith, 544 00:41:29,000 --> 00:41:35,000 nuair dequeue againn, ba chóir ár ceann a modded ar ais go dtí 0. 545 00:41:35,000 --> 00:41:40,000 Ar an drochuair, ní féidir linn é sin a dhéanamh in aon chéim amháin. 546 00:41:40,000 --> 00:41:44,000 Buille faoi thuairim mé ar an mbealach gur mhaith liom a shocrú is dócha go bhfuil sé 547 00:41:44,000 --> 00:41:52,000 tá sé seo dul chun bheith ina * ruabhreac, cad tá muid ag filleadh, 548 00:41:52,000 --> 00:41:55,000 is cuma cad ba mhaith do ainm athraitheach a bheith. 549 00:41:55,000 --> 00:42:02,000 Ansin ba mhaith linn a mod ceann ag ár n-acmhainn 550 00:42:02,000 --> 00:42:10,000 agus seol ar ais ansin ret. 551 00:42:10,000 --> 00:42:14,000 A lán daoine anseo a d'fhéadfadh siad a dhéanamh- 552 00:42:14,000 --> 00:42:19,000 seo an cás seo a leanas-you'll a fheiceáil daoine a dhéanamh má tá ceann 553 00:42:19,000 --> 00:42:29,000 níos mó ná cumas, an bhfuil ceann - acmhainne. 554 00:42:29,000 --> 00:42:36,000 Agus tá go obair ach timpeall cad é mod. 555 00:42:36,000 --> 00:42:41,000 Is é Ceann mod = cumas i bhfad níos glaine 556 00:42:41,000 --> 00:42:51,000 de timfhilleadh timpeall ná mar a bheadh ​​ceann níos mó ná ceann acmhainne - acmhainne. 557 00:42:51,000 --> 00:42:56,000 >> Ceisteanna? 558 00:42:56,000 --> 00:43:02,000 Maith go leor, is é an rud deireanach ní mór dúinn d'fhág ár liosta nasctha. 559 00:43:02,000 --> 00:43:07,000 D'fhéadfá a bheith in úsáid le cuid de na iompar liosta nasctha más rud é go raibh tú 560 00:43:07,000 --> 00:43:11,000 nasctha liostaí i do táblaí hash, más rud é go raibh tú tábla hash. 561 00:43:11,000 --> 00:43:15,000 Liom a mholadh go láidir a dhéanamh tábla hash. 562 00:43:15,000 --> 00:43:17,000 D'fhéadfá a bheith déanta cheana féin trie, 563 00:43:17,000 --> 00:43:23,000 ach tá iarracht a níos deacra. 564 00:43:23,000 --> 00:43:27,000 Go teoiriciúil, tá siad asymptotically níos fearr. 565 00:43:27,000 --> 00:43:30,000 Ach ach breathnú ar an mbord mór, 566 00:43:30,000 --> 00:43:35,000 agus iarracht riamh a dhéanamh níos fearr, agus tabharfaidh siad suas cuimhne níos mó. 567 00:43:35,000 --> 00:43:43,000 Gach rud a dhéanann iarracht faoi chríochnaíonn suas a bheith níos measa le haghaidh obair níos mó. 568 00:43:43,000 --> 00:43:49,000 Tá sé cad é réiteach David MALAN s i gcónaí 569 00:43:49,000 --> 00:43:56,000 Tá sé i gcónaí post a réiteach trie, agus a ligean ar a fheiceáil áit a bhfuil sé. 570 00:43:56,000 --> 00:44:00,000 Cad a bhí sé faoi, David J? 571 00:44:00,000 --> 00:44:06,000 'S Sé # 18, mar sin ní go terribly olc, 572 00:44:06,000 --> 00:44:09,000 agus déanann go ag dul a bheith ar cheann de na fearr is féidir leat smaoineamh ar 573 00:44:09,000 --> 00:44:17,000 nó iarracht ar cheann de na fearr de trie. 574 00:44:17,000 --> 00:44:23,000 Nach bhfuil sé fiú a réiteach bunaidh? 575 00:44:23,000 --> 00:44:29,000 Dar liom an claonadh a réitigh trie a bheith níos mó sa réimse seo a bhaineann le húsáid RAM. 576 00:44:29,000 --> 00:44:33,000 >> Téigh síos go dtí an barr an-, agus tá sé RAM úsáid i na digití aonair. 577 00:44:33,000 --> 00:44:36,000 Téigh síos i dtreo an ghrinnill, agus ansin a thosaíonn tú ag féachaint ar iarracht 578 00:44:36,000 --> 00:44:41,000 nuair a gheobhaidh tú úsáid RAM go hiomlán ollmhór, 579 00:44:41,000 --> 00:44:45,000 agus tá iarracht a níos deacra. 580 00:44:45,000 --> 00:44:53,000 Ní go hiomlán fiú é ach taithí oideachais má rinne tú amháin. 581 00:44:53,000 --> 00:44:56,000 Is é an rud deireanach ar ár liosta nasctha, 582 00:44:56,000 --> 00:45:04,000 agus na trí rudaí, stacks, scuainí, agus liostaí nasctha, 583 00:45:04,000 --> 00:45:09,000 aon rud sa todhchaí a dhéanann tú riamh san eolaíocht ríomhaireachta 584 00:45:09,000 --> 00:45:12,000 Beidh glacadh leis go bhfuil tú cur amach ar na rudaí seo. 585 00:45:12,000 --> 00:45:19,000 Tá siad ach tábhacht bhunúsach do gach rud. 586 00:45:19,000 --> 00:45:25,000 >> Liostaí Nasctha, agus anseo againn é a bheith ar liosta ina n-aonar ceangailte ag dul a bheith ar ár chur i bhfeidhm. 587 00:45:25,000 --> 00:45:34,000 Cad a dhéanann nasctha ina n-aonar chiallaíonn seachas doubly nasctha? Tá. 588 00:45:34,000 --> 00:45:37,000 [Mac Léinn] Léiríonn sé ach an pointeoir eile seachas na leideanna, 589 00:45:37,000 --> 00:45:39,000 cosúil leis an cheann roimhe sin é agus an ceann tar éis dó. 590 00:45:39,000 --> 00:45:44,000 Yeah, mar sin i bhformáid pictiúr, cad a rinne mé díreach tar éis? 591 00:45:44,000 --> 00:45:48,000 Tá mé dhá rud. Tá mé pictiúr agus pictiúr. 592 00:45:48,000 --> 00:45:51,000 I bhformáid pictiúr, ár liostaí nasctha ina n-aonar, 593 00:45:51,000 --> 00:45:57,000 dosheachanta, tá roinnt de chineál pointeoir chuig ceann ár liosta, 594 00:45:57,000 --> 00:46:02,000 agus ansin, laistigh de ár liosta, ní mór dúinn ach threo, 595 00:46:02,000 --> 00:46:05,000 agus b'fhéidir seo pointí nialasach. 596 00:46:05,000 --> 00:46:08,000 Tá sé seo ag dul a bheith do líníocht tipiciúil de liosta gceann agus ina gceann nasctha. 597 00:46:08,000 --> 00:46:14,000 Tá liosta doubly nasctha, is féidir leat dul ar gcúl. 598 00:46:14,000 --> 00:46:19,000 Má tá mé a thabhairt duit aon nód ar an liosta, ansin is féidir leat a fháil gá go 599 00:46:19,000 --> 00:46:23,000 aon nód eile ar an liosta má tá sé liosta doubly nasctha. 600 00:46:23,000 --> 00:46:27,000 Ach má fhaigheann mé tú an nód tríú ar an liosta agus tá sé ina liosta ina n-aonar nasctha, 601 00:46:27,000 --> 00:46:30,000 aon bhealach bhfuil tú ag dul riamh a fháil chun an nóid chéad agus an dara. 602 00:46:30,000 --> 00:46:34,000 Agus tá buntáistí agus na detriments, agus ceann amháin soiléir 603 00:46:34,000 --> 00:46:42,000 Tá tú i chun méid níos mó, agus tá tú súil a choinneáil ar an áit ina bhfuil na rudaí seo dírithe anois. 604 00:46:42,000 --> 00:46:49,000 Ach táimid cúram ach thart ar nasctha ina n-aonar. 605 00:46:49,000 --> 00:46:53,000 >> Tá roinnt rudaí táimid ag dul a bheith acu a chur i bhfeidhm. 606 00:46:53,000 --> 00:47:00,000 Do nód struct Rialú an, slánuimhir i: struct nód * eile; nód. 607 00:47:00,000 --> 00:47:09,000 Ba cheart go mbeadh Rialú an a dhó i do intinn. 608 00:47:09,000 --> 00:47:14,000 Ba chóir Tráth na gCeist 1 a buíochas a thabhairt Rialú an de nód liosta nasctha, 609 00:47:14,000 --> 00:47:18,000 agus ba chóir duit a bheith in ann Scribble láithreach síos 610 00:47:18,000 --> 00:47:22,000 gan smaoineamh fiú faoi. 611 00:47:22,000 --> 00:47:27,000 Buille faoi thuairim mé ceisteanna lánúin, cén fáth go bhfuil ag teastáil uainn struct anseo? 612 00:47:27,000 --> 00:47:32,000 Ní féidir Cén fáth a rá linn * nód? 613 00:47:32,000 --> 00:47:35,000 [Mac Léinn] [inaudible] 614 00:47:35,000 --> 00:47:38,000 Yeah. 615 00:47:38,000 --> 00:47:44,000 An rud amháin a shainmhíníonn nód mar rud 616 00:47:44,000 --> 00:47:47,000 Is é an Rialú an féin. 617 00:47:47,000 --> 00:47:55,000 Ach mar an phointe seo, nuair a bhíonn muid de chineál ar parsáil tríd an sainmhíniú nód struct, 618 00:47:55,000 --> 00:48:01,000 ní mór dúinn críochnaithe ár Rialú an fóill, mar sin ós rud é nach bhfuil an Rialú an críochnaithe, 619 00:48:01,000 --> 00:48:05,000 Ní nód ann. 620 00:48:05,000 --> 00:48:12,000 Ach struct ní nód, agus an nód i anseo, 621 00:48:12,000 --> 00:48:14,000 fhéadfaí é seo a dtugtar freisin aon rud eile. 622 00:48:14,000 --> 00:48:16,000 D'fhéadfaí é seo a dtugtar n. 623 00:48:16,000 --> 00:48:19,000 D'fhéadfadh sé a bheith ar a dtugtar nód liosta nasctha. 624 00:48:19,000 --> 00:48:21,000 D'fhéadfadh sé a bheith ar a dtugtar rud ar bith. 625 00:48:21,000 --> 00:48:26,000 Ach ní mór an nód struct ar a dtabharfar an rud céanna leis an nód struct. 626 00:48:26,000 --> 00:48:29,000 Cad a ghlaonn tú é seo tar éis a bheith anseo freisin, 627 00:48:29,000 --> 00:48:32,000 agus mar sin freagraí go chomh maith leis an dara pointe ar an gceist 628 00:48:32,000 --> 00:48:37,000 agus sin an fáth-a lán de uaire nuair a fheiceann tú structs agus typedefs de structs, 629 00:48:37,000 --> 00:48:42,000 Feicfidh tú a fheiceáil structs gan ainm gcás ina mbainfidh tú a fheiceáil ach struct Rialú an, 630 00:48:42,000 --> 00:48:47,000 chur i bhfeidhm foclóir struct,, nó cibé. 631 00:48:47,000 --> 00:48:51,000 >> Cén fáth anseo dhíth orainn nód a rá? 632 00:48:51,000 --> 00:48:54,000 Cén fáth nach féidir é a bheith ina struct gan ainm? 633 00:48:54,000 --> 00:48:56,000 Tá sé beagnach an freagra céanna. 634 00:48:56,000 --> 00:48:58,000 [Mac Léinn] Ní mór duit chun tagairt a dhéanamh dó laistigh den struct. 635 00:48:58,000 --> 00:49:04,000 Yeah, laistigh den struct, is gá duit a tharchur chuig an struct féin. 636 00:49:04,000 --> 00:49:10,000 Mura bhfuil tú a thabhairt ar an struct ainm, má tá sé struct gan ainm, ní féidir leat tagairt a dhéanamh dó. 637 00:49:10,000 --> 00:49:17,000 Agus anuas ach ní a laghad-na Ba chóir go mbeadh gach simplí beagán, 638 00:49:17,000 --> 00:49:20,000 agus ba chóir dóibh cabhrú leat a bhaint amach má tá tú seo a scríobh síos 639 00:49:20,000 --> 00:49:24,000 go bhfuil tú ag déanamh rud éigin mícheart mura mbíonn na cineál rudaí ciall a bhaint as. 640 00:49:24,000 --> 00:49:28,000 Last ach ní a laghad, cén fáth nach é seo a bheith * nód struct? 641 00:49:28,000 --> 00:49:34,000 Cén fáth nach féidir sé ach a struct nód seo chugainn? 642 00:49:34,000 --> 00:49:37,000 [Mac Léinn] phointeora ar an struct eile. 643 00:49:37,000 --> 00:49:39,000 Sin gan dabht cad ba mhaith linn. 644 00:49:39,000 --> 00:49:42,000 D'fhéadfadh riamh Cén fáth go mbeadh sé nód struct seo chugainn? 645 00:49:42,000 --> 00:49:50,000 Cén fáth a bhfuil sé a bheith struct nód * chugainn? Yeah. 646 00:49:50,000 --> 00:49:53,000 [Mac Léinn] Tá sé cosúil le lúb gan teorainn. 647 00:49:53,000 --> 00:49:55,000 Yeah. 648 00:49:55,000 --> 00:49:57,000 [Mac Léinn] Bheadh ​​sé go léir i gceann. 649 00:49:57,000 --> 00:50:02,000 Yeah, ach smaoineamh ar conas ba mhaith linn a dhéanamh ar mhéid nó rud éigin. 650 00:50:02,000 --> 00:50:08,000 Tá méid struct bunúsach + nó - roinnt patrún anseo nó ann. 651 00:50:08,000 --> 00:50:15,000 Tá sé seo ag dul go bunúsach a bheith ar suim na méideanna de na rudaí sa struct. 652 00:50:15,000 --> 00:50:18,000 An ceart anseo, gan athrú rud ar bith, tá an méid dul a bheith éasca. 653 00:50:18,000 --> 00:50:24,000 Tá Méid an nód struct ag dul a bheith méid i méid + de seo chugainn. 654 00:50:24,000 --> 00:50:27,000 Tá Méid mé ag dul a bheith 4. Tá Méid an chéad dul a bheith 4. 655 00:50:27,000 --> 00:50:30,000 Tá Méid an nód struct ag dul a bheith 8. 656 00:50:30,000 --> 00:50:34,000 Más rud é nach bhfuil againn an *, ag smaoineamh ar deachúlach, 657 00:50:34,000 --> 00:50:37,000 ansin is féidir MÉID a (i) ag dul a bheith 4. 658 00:50:37,000 --> 00:50:43,000 Méid na nód struct bhfuil seo chugainn ag dul a bheith méid i + méid nód struct eile 659 00:50:43,000 --> 00:50:46,000 + Méid i méid + de nód struct seo chugainn. 660 00:50:46,000 --> 00:50:55,000 Bheadh ​​sé ina athchúrsáil éigríochta de nóid. 661 00:50:55,000 --> 00:51:00,000 Seo é an fáth go bhfuil sé seo conas a bhfuil rudaí a bheith. 662 00:51:00,000 --> 00:51:03,000 >> Arís, memorize cinnte go bhfuil, 663 00:51:03,000 --> 00:51:06,000 nó ar a laghad a thuiscint go leor gur féidir leat a bheith in ann a 664 00:51:06,000 --> 00:51:12,000 chúis tríd an méid a ba cheart dó breathnú cosúil le. 665 00:51:12,000 --> 00:51:14,000 Na rudaí táimid ag dul a iarraidh a chur i bhfeidhm. 666 00:51:14,000 --> 00:51:18,000 Má fad na liosta- 667 00:51:18,000 --> 00:51:21,000 d'fhéadfaí tú a cheat agus a choinneáil thart ar 668 00:51:21,000 --> 00:51:24,000 fad domhanda nó rud éigin, ach ní táimid ag dul a dhéanamh sin. 669 00:51:24,000 --> 00:51:28,000 Táimid ag dul a chomhaireamh fad an liosta. 670 00:51:28,000 --> 00:51:34,000 Tá Táimid tar éis, mar sin go bunúsach cosúil le cuardach, 671 00:51:34,000 --> 00:51:41,000 ionas go mbeidh muid liosta nasctha de slánuimhreacha a fheiceáil má tá sé seo slánuimhir ar an liosta nasctha. 672 00:51:41,000 --> 00:51:44,000 Réamhcheangail ag dul a chur isteach ag tús an liosta. 673 00:51:44,000 --> 00:51:46,000 Iarcheangail ag dul a chur isteach ag an deireadh. 674 00:51:46,000 --> 00:51:53,000 Insert_sorted ag dul a chur isteach sa suíomh curtha in eagar ar an liosta. 675 00:51:53,000 --> 00:52:01,000 Glacann chineál Insert_sorted de riamh a d'úsáid tú réamhcheangal nó iarcheangal ar bhealaí dona. 676 00:52:01,000 --> 00:52:09,000 >> Insert_sorted nuair a bhíonn tú i bhfeidhm insert_sorted- 677 00:52:09,000 --> 00:52:13,000 ligean le rá ní mór dúinn ár liosta nasctha. 678 00:52:13,000 --> 00:52:18,000 Tá sé seo cad tá sé faoi láthair cosúil le, 2, 4, 5. 679 00:52:18,000 --> 00:52:24,000 Ba mhaith liom a chur isteach i 3, chomh fada is a bheidh an liosta féin curtha in eagar cheana féin, 680 00:52:24,000 --> 00:52:27,000 tá sé éasca a fháil i gcás ina mbaineann 3. 681 00:52:27,000 --> 00:52:29,000 Tosóidh mé ag 2. 682 00:52:29,000 --> 00:52:32,000 Maith go leor, tá 3 níos mó ná 2, agus mar sin ba mhaith liom a choinneáil ag dul. 683 00:52:32,000 --> 00:52:35,000 Ó, is é 4 ró-mhór, mar sin tá a fhios agam 3 ag dul chun dul i idir 2 agus 4, 684 00:52:35,000 --> 00:52:39,000 agus tá mé a shocrú leideanna agus go léir stuif sin. 685 00:52:39,000 --> 00:52:43,000 Ach más rud é nach raibh againn a úsáid go docht insert_sorted, 686 00:52:43,000 --> 00:52:50,000 Is maith a ligean ach a rá réamhcheangal mé 6, 687 00:52:50,000 --> 00:52:55,000 ansin tá mo liosta nasctha ag dul a bheith leis seo. 688 00:52:55,000 --> 00:53:01,000 Déanann sé ciall ar bith anois, agus mar sin le haghaidh insert_sorted, is féidir leat glacadh leis go díreach 689 00:53:01,000 --> 00:53:04,000 go bhfuil an liosta in eagar, cé ann oibríochtaí 690 00:53:04,000 --> 00:53:09,000 is féidir a chur faoi deara nach é a bheith curtha in eagar, agus go bhfuil sé. 691 00:53:09,000 --> 00:53:20,000 Aimsigh cabhrach isteach-sin, sin iad na rudaí is mó go bhfuil tú ag dul a bheith acu a chur i bhfeidhm. 692 00:53:20,000 --> 00:53:24,000 >> Chun anois, nóiméad a ghlacadh fad a dhéanamh Tá agus, 693 00:53:24,000 --> 00:53:30,000 agus ba chóir dóibh siúd a bheith réasúnta tapaidh. 694 00:53:41,000 --> 00:53:48,000 Beagnach am dúnta, agus mar sin aon duine aon rud d'fhad bhfuil nó? 695 00:53:48,000 --> 00:53:50,000 Tá siad ag dul a bheith beagnach mar an gcéanna. 696 00:53:50,000 --> 00:53:57,000 [Mac Léinn] Fad. 697 00:53:57,000 --> 00:54:01,000 A ligean ar a fheiceáil, athbhreithniú. 698 00:54:01,000 --> 00:54:04,000 Maith go leor. 699 00:54:12,000 --> 00:54:15,000 Ba mhaith leat a mhíniú? 700 00:54:15,000 --> 00:54:21,000 [Mac Léinn] mé a chruthú ach nód pointeoir agus é a thúsú sa chéad, a bhfuil ár athróg domhanda, 701 00:54:21,000 --> 00:54:27,000 agus ansin mé ag seiceáil a fheiceáil má tá sé null mar sin ní féidir liom a fháil locht seg agus 0 ar ais má tá sin an cás. 702 00:54:27,000 --> 00:54:34,000 Seachas sin, tá mé lúb tríd, súil a choinneáil ar laistigh slánuimhir 703 00:54:34,000 --> 00:54:38,000 cé mhéad uair a bhí mé rochtain ar an chéad bhall eile ón liosta 704 00:54:38,000 --> 00:54:43,000 agus i bhfeidhmiú incrimint céanna rochtain a fháil ar chomh maith go eilimint iarbhír, 705 00:54:43,000 --> 00:54:47,000 agus ansin mé a dhéanamh go leanúnach ar an seic a fheiceáil má tá sé faoin margadh saothair, 706 00:54:47,000 --> 00:54:56,000 agus má tá sé faoin margadh saothair, ansin aborts sé agus díreach ar ais ar an líon de na gnéithe mé rochtain. 707 00:54:56,000 --> 00:55:01,000 >> [Rob B.] An bhfuil aon duine aon tuairimí ar rud ar bith? 708 00:55:01,000 --> 00:55:06,000 Breathnaíonn sé seo cirte fíneáil ciallmhar. 709 00:55:06,000 --> 00:55:10,000 [Mac Léinn] Ní dóigh liom go mór duit an nód == null. 710 00:55:10,000 --> 00:55:13,000 Yeah, mar sin má nód == 0 ais null. 711 00:55:13,000 --> 00:55:18,000 Ach má nód == null ansin é seo-OH, tá ceist cirte. 712 00:55:18,000 --> 00:55:23,000 Bhí sé ach tá tú ag filleadh i, ach níl sé i raon feidhme ceart anois. 713 00:55:23,000 --> 00:55:30,000 Ní mór duit ach slánuimhir i, mar sin i = 0. 714 00:55:30,000 --> 00:55:34,000 Ach má tá nód nialasach, ansin ag dul i gcónaí a bheith 0, 715 00:55:34,000 --> 00:55:39,000 agus táimid ag dul a thabhairt ar ais 0, mar sin tá an cás seo comhionann. 716 00:55:39,000 --> 00:55:48,000 Is ea an rud is coiteann do choinneáil ar an dearbhú 717 00:55:48,000 --> 00:55:51,000 taobh istigh den nód le haghaidh lúb. 718 00:55:51,000 --> 00:55:54,000 D'fhéadfá a rá-ó, uimh. 719 00:55:54,000 --> 00:55:56,000 A ligean ar é a choimeád mar seo. 720 00:55:56,000 --> 00:55:59,000 Ba mhaith liom a chur dócha slánuimhir i = 0 anseo, 721 00:55:59,000 --> 00:56:05,000 ansin nód * nód = chéad uair i anseo. 722 00:56:05,000 --> 00:56:11,000 Agus is é seo is dócha conas-a fháil haitheantas coibhneasta an anois. 723 00:56:11,000 --> 00:56:14,000 Is dócha conas ba mhaith liom a scríobh sé. 724 00:56:14,000 --> 00:56:21,000 D'fhéadfá freisin-ag féachaint ar sé mar seo. 725 00:56:21,000 --> 00:56:25,000 Sé seo do struchtúr lúb ar dheis anseo 726 00:56:25,000 --> 00:56:30,000 Ba chóir go mbeadh beagnach nádúrtha a thabhairt duit mar do slánuimhir i = 0 727 00:56:30,000 --> 00:56:33,000 Tá mé níos lú ná fad eagar i + +. 728 00:56:33,000 --> 00:56:38,000 Más rud é go conas tú iterate thar eagar, is é seo conas tú iterate thar liosta nasctha. 729 00:56:38,000 --> 00:56:45,000 >> Ba chóir go mbeadh an dara cineál ag pointe áirithe. 730 00:56:45,000 --> 00:56:50,000 Agus sin san áireamh, tá sé seo ag dul a bheith beagnach an rud céanna. 731 00:56:50,000 --> 00:56:57,000 Tá tú ag dul go dtí mhaith a iterate thar liosta nasctha. 732 00:56:57,000 --> 00:57:02,000 Más rud é an nód-I bhfuil aon smaoineamh cad é an luach ar a dtugtar. 733 00:57:02,000 --> 00:57:04,000 Nód i. 734 00:57:04,000 --> 00:57:15,000 Má tá an luach ag an nód = ais i fíor, agus go bhfuil sé. 735 00:57:15,000 --> 00:57:18,000 Fógra go bhfuil an t-aon bhealach táimid ar ais riamh bréagach 736 00:57:18,000 --> 00:57:23,000 Is é má táimid iterate ar an liosta iomlán nasctha agus ní ar ais fíor, 737 00:57:23,000 --> 00:57:29,000 ionas go mbeidh ar cad a dhéanann seo. 738 00:57:29,000 --> 00:57:36,000 Mar taobh nótaí againn nach mbeidh a fháil is dócha go gceangal nó réamhcheangal. 739 00:57:36,000 --> 00:57:39,000 >> Nóta deiridh tapaidh. 740 00:57:39,000 --> 00:57:52,000 Má fheiceann tú an eochairfhocal statach, mar sin a ligean le rá statach slánuimhir count = 0, 741 00:57:52,000 --> 00:57:56,000 ansin a dhéanann muid count + +, is féidir leat smaoineamh bunúsach é mar athróg domhanda, 742 00:57:56,000 --> 00:58:00,000 cé a dúirt mé díreach tar éis nach bhfuil sé seo conas a táimid ag dul fad a chur i bhfeidhm. 743 00:58:00,000 --> 00:58:06,000 Tá mé ag déanamh seo anseo, agus ansin comhaireamh + +. 744 00:58:06,000 --> 00:58:11,000 Aon slí is féidir linn dul isteach i nód i ár liosta nasctha táimid ag ár n-incriminteach a chomhaireamh. 745 00:58:11,000 --> 00:58:15,000 Is é an pointe seo cad a chiallaíonn an eochairfhocal statach. 746 00:58:15,000 --> 00:58:20,000 Má bhí mé díreach tar éis líon slánuimhir = 0 a bheadh ​​athróg rialta domhanda d'aois. 747 00:58:20,000 --> 00:58:25,000 Cad iad na modhanna líon statach slánuimhir é go bhfuil sé athróg domhanda do chomhad seo. 748 00:58:25,000 --> 00:58:28,000 Tá sé dodhéanta do roinnt comhad eile, 749 00:58:28,000 --> 00:58:34,000 Is maith smaoineamh ar pset 5, más rud é go bhfuil tú tosaithe. 750 00:58:34,000 --> 00:58:39,000 Tá tú araon speller.c, agus tá tú dictionary.c, 751 00:58:39,000 --> 00:58:42,000 agus má tá tú a dhearbhú ach an rud domhanda, ansin ní i speller.c 752 00:58:42,000 --> 00:58:45,000 Is féidir teacht i dictionary.c agus vice versa. 753 00:58:45,000 --> 00:58:48,000 Tá athróga domhanda inrochtana comhad ar bith. C, 754 00:58:48,000 --> 00:58:54,000 ach tá athróg statach amháin a bheidh rochtain ó laistigh de na comhaid féin, 755 00:58:54,000 --> 00:59:01,000 sin taobh istigh de spell checker nó taobh istigh de dictionary.c, 756 00:59:01,000 --> 00:59:06,000 Is é an cineál seo conas ba mhaith liom a dhearbhú mo athróg do mhéid mo eagar 757 00:59:06,000 --> 00:59:10,000 nó an méid mo líon na bhfocal san fhoclóir. 758 00:59:10,000 --> 00:59:15,000 Ós rud é nach bhfuil mé ag iarraidh a dhearbhú athróg domhanda go bhfuil duine ar bith a rochtain, 759 00:59:15,000 --> 00:59:18,000 I ndáiríre ach cúram faoi do mo gcríoch féin. 760 00:59:18,000 --> 00:59:21,000 >> Is é an rud go maith faoi seo chomh maith leis an stuif imbhualadh ar fad ainm. 761 00:59:21,000 --> 00:59:27,000 Má iarracht éigin comhad eile a úsáid athróg domhanda ar a dtugtar líon, théann rudaí an-, an-mícheart, 762 00:59:27,000 --> 00:59:33,000 mar sin coimeádann seo nicely rudaí sábháilte, agus gan ach is féidir leat rochtain a fháil air, 763 00:59:33,000 --> 00:59:38,000 agus is féidir aon duine eile, agus má dhearbhaíonn duine eile a athróg domhanda ar a dtugtar líon, 764 00:59:38,000 --> 00:59:43,000 ansin ní bheidh sé isteach ar do athróg statach a dtugtar count. 765 00:59:43,000 --> 00:59:47,000 Sin a bhfuil statach. Tá sé athróg comhad domhanda. 766 00:59:47,000 --> 00:59:52,000 >> Ceisteanna ar rud ar bith? 767 00:59:52,000 --> 00:59:59,000 Gach leagan síos. Fodhlíthe. 768 00:59:59,000 --> 01:00:03,000 [CS50.TV]