1 00:00:00,000 --> 00:00:02,740 [Powered by Google Translate] [Solisyon - Set Pwoblèm 5] 2 00:00:02,740 --> 00:00:04,870 [Zamyla Chan - Inivèsite Harvard] 3 00:00:04,870 --> 00:00:07,190 [Sa a se CS50. - CS50.TV] 4 00:00:07,190 --> 00:00:10,400 >> Tout dwa. Hello, tout moun, epi byenveni nan solisyon 5. 5 00:00:10,400 --> 00:00:17,400 >> Pset5 se Misspellings, nan ki nou pral fè yon période-korektè. 6 00:00:17,400 --> 00:00:21,030 Eple-dam yo ekstrèman enpòtan. 7 00:00:21,030 --> 00:00:23,390 Sa a te janm rive ou? 8 00:00:23,390 --> 00:00:27,170 Ou ap travay trè, trè provizyon sou yon papye pou yon echanj kout zam 9 00:00:27,170 --> 00:00:33,120 ak Lè sa a, toujou fini jwenn yon rad lumineux trè tankou yon D oswa yon = D 10 00:00:33,120 --> 00:00:39,390 ak tout paske ou se beke nan liverwurst nan pawòl Bondye a balèn lajè. 11 00:00:39,390 --> 00:00:44,710 Wi, koreksyon piman ou a se yon kesyon de a, fèblès la pli ekstrèm. 12 00:00:44,710 --> 00:00:49,140 Sa a se yon pwoblèm ki afekte mal, elèv yo mal. 13 00:00:49,140 --> 00:00:56,260 Mwen te yon fwa te di pa tòtirè sith klas mwen ke mwen pa janm ta jwenn nan yon kolèg bon. 14 00:00:56,260 --> 00:01:00,250 Epi sa a, tout mwen janm te vle, ki nan tout sa nenpòt jenn ti kabrit vle nan laj m 'yo, 15 00:01:00,250 --> 00:01:04,569 jis jwenn nan yon kolèg bon. 16 00:01:04,569 --> 00:01:12,720 Epi li pa jis nenpòt kòlèg. No mwen te vle pou yo ale nan yon kolèg Legal Ivory. 17 00:01:12,720 --> 00:01:18,360 Se konsa, si mwen pa t 'amelyorasyon, ale ta dwe rèv mwen an ale nan Harvard, 18 00:01:18,360 --> 00:01:22,730 Jale, oswa Prizon - ou konnen, nan prizon, New Jersey. 19 00:01:22,730 --> 00:01:25,170 Se konsa, mwen te resevwa tèt mwen yon période-korektè. 20 00:01:25,170 --> 00:01:29,380 Sa se yon ekstrè ti kras nan youn nan atis pi renmen pawòl mwen pale, Taylor Mali. 21 00:01:29,380 --> 00:01:34,630 Anyway, kòm li te di, enpòtans ki genyen nan gen yon période-korektè a trè enpòtan. 22 00:01:34,630 --> 00:01:39,440 >> Se konsa, byenveni nan solisyon 5, nan ki nou pral pale de pset5: Misspellings, 23 00:01:39,440 --> 00:01:44,300 nan ki nou pral fè anpil pwòp nou an période-korektè. 24 00:01:44,300 --> 00:01:50,880 Bwat zouti pou la pou semèn sa a, kòd la distribisyon, a pwal enpòtan gade nan 25 00:01:50,880 --> 00:01:54,950 jis yo konprann fonksyon ki diferan ki diksyonè ou a pral nan genyen. 26 00:01:54,950 --> 00:02:01,500 Nou ap aktyèlman yo pral gen miltip. C dosye ke ansanm fè pset nou an. 27 00:02:01,500 --> 00:02:05,420 Se konsa, kap nan aspè yo diferan, menm si nou ap aktyèlman pa editing 28 00:02:05,420 --> 00:02:10,770 youn nan dosye yo, speller.c, konnen li montre kouman li travay ak relasyon ak dictionary.c, 29 00:02:10,770 --> 00:02:14,100 ki nou pral ekri, a pwal trè enpòtan. 30 00:02:14,100 --> 00:02:16,970 Espèk nan pset tou gen yon anpil nan enfòmasyon itil 31 00:02:16,970 --> 00:02:21,360 an tèm de bagay sa yo ke ou ka asime, règ ak bagay sa yo tankou sa, 32 00:02:21,360 --> 00:02:24,710 kidonk asire ou li espèk nan pset ak anpil atansyon pou jwenn konsèy. 33 00:02:24,710 --> 00:02:29,310 Men, lè ou gen yon dout nan yon règ oswa yon bagay tankou sa, lè sa a toujou, al gade nan pset espèk a 34 00:02:29,310 --> 00:02:31,550 oswa Diskite sou. 35 00:02:31,550 --> 00:02:34,060 Sa a pset ki pral depann anpil sou endikasyon, 36 00:02:34,060 --> 00:02:37,890 pou nou vle asire ke nou konprann diferans ki genyen ant ajoute zetwal 37 00:02:37,890 --> 00:02:41,680 la devan non konsèy la ak ampersands, ki jan yo libere yo, elatriye 38 00:02:41,680 --> 00:02:47,550 Se konsa, yo te yon mèt nan pwent a pwal trè itil nan sa a seri pwoblèm. 39 00:02:47,550 --> 00:02:50,460 Nou pral gade nan lis lye yon ti jan pi plis, 40 00:02:50,460 --> 00:02:57,790 kote nou gen eleman ke nou rele nœuds ki gen tou de yon valè kòm byen ke konsèy yon 41 00:02:57,790 --> 00:03:02,520 ne nan pwochen, epi konsa esansyèlman ki lye ak eleman diferan youn apre lòt la. 42 00:03:02,520 --> 00:03:07,190 Gen yon kèk opsyon diferan de egzekite diksyonè aktyèl ou yo. 43 00:03:07,190 --> 00:03:13,150 Nou pral gade nan de metòd prensipal yo, ki se tab regle ak Lè sa a, ap eseye. 44 00:03:13,150 --> 00:03:17,660 Nan tou de nan sa yo, yo gen ladan yo kèk kalite nosyon nan yon lis lye 45 00:03:17,660 --> 00:03:20,790 kote ou te eleman lye youn ak lòt. 46 00:03:20,790 --> 00:03:25,640 Se konsa, nou pwal gade sou ki jan ou ka kapab opere alantou lye lis, 47 00:03:25,640 --> 00:03:29,680 kreye yo, navige an tèm de ki jan yo, pou egzanp, insert yon ne nan li 48 00:03:29,680 --> 00:03:32,760 oswa gratis nan tout nœuds yo kòm byen. 49 00:03:32,760 --> 00:03:34,740 An tèm de libere nœuds, sa ki nan vrèman enpòtan 50 00:03:34,740 --> 00:03:37,700 ke chak fwa nou memwa malok, apre sa nou libere li. 51 00:03:37,700 --> 00:03:42,910 Se konsa, nou vle asire ke pa gen okenn konsèy ale unfreed, pou nou pa gen okenn fwit memwa. 52 00:03:42,910 --> 00:03:48,330 Nou pral entwodui yon zouti ki rele Valgrind ki kouri pwogram ou an 53 00:03:48,330 --> 00:03:52,260 ak chèk si tout memwa a ke ou resevwa lajan se lè sa a te libere. 54 00:03:52,260 --> 00:03:59,080 Pset ou a ap sèlman ranpli lè li travay ak li gen fonctionnalités plen, 55 00:03:59,080 --> 00:04:03,990 men tou, Valgrind di ou ke ou pa jwenn kote dlo ap koule memwa. 56 00:04:03,990 --> 00:04:06,690 Finalman, pou sa a pset, mwen reyèlman vle ensiste sou - 57 00:04:06,690 --> 00:04:11,360 Mwen vle di, kòm dabitid, se mwen menm definitivman yon sipòtè nan lè l sèvi avèk plim ak papye pou aparèy televisyon HD pwoblèm ou an, 58 00:04:11,360 --> 00:04:14,840 men pou yon sèl sa a, mwen panse ke plim ak papye a pwal enpòtan sitou 59 00:04:14,840 --> 00:04:19,000 lè ou vle yo fè desen flèch yo bagay sa yo ak konprann ki jan bagay sa yo travay. 60 00:04:19,000 --> 00:04:24,440 Se konsa, definitivman eseye sèvi ak plim ak papye trase bagay sa yo deyò anvan ou jwenn kodaj 61 00:04:24,440 --> 00:04:26,970 paske li te ka jwenn yon ti jan sal. 62 00:04:26,970 --> 00:04:30,700 >> Premyèman, kite yo ale nan lis lye yon ti jan. 63 00:04:30,700 --> 00:04:35,510 Linked lis konpoze de nœuds, kote chak ne te gen yon valè ki asosye ak li, 64 00:04:35,510 --> 00:04:39,810 kòm osi byen yon konsèy ne ki vini apre l '. 65 00:04:39,810 --> 00:04:43,680 Yon koup de bagay sa yo enpòtan ak lis ki ki te lye yo se ke nou bezwen sonje 66 00:04:43,680 --> 00:04:48,810 kote ne premye nou an, se, ak Lè sa a, yon fwa nou konnen ki kote ne an premye se, 67 00:04:48,810 --> 00:04:52,990 ki fason nou kapab jwenn aksè nan ne an ki pwen yo ne premye 68 00:04:52,990 --> 00:04:55,850 ak Lè sa a, yon sèl la apre sa ak youn nan apre sa. 69 00:04:55,850 --> 00:05:00,340 Lè sa a, eleman an dènye nan lye lis ou a se konsèy ki ne la 70 00:05:00,340 --> 00:05:02,340 se toujou ale nan lonje dwèt sou nil. 71 00:05:02,340 --> 00:05:08,230 Lè yon pwen ne nil, lè sa a ou konnen ke ou te rive nan nan fen lis la, 72 00:05:08,230 --> 00:05:12,320 ki ki ne se youn nan dènye jou a, ke pa gen anyen apre sa. 73 00:05:12,320 --> 00:05:16,970 Isit la nan sa a chematikman, ou wè kèk flèch yo se endikasyon yo, 74 00:05:16,970 --> 00:05:20,290 epi li se seksyon nan ble kote valè a ap estoke, 75 00:05:20,290 --> 00:05:24,420 ak Lè sa a, ti bwat la wouj ak konsèy nan li se konsèy ne la 76 00:05:24,420 --> 00:05:27,050 lonje dwèt ne ki vini apre l '. 77 00:05:27,050 --> 00:05:33,730 Se konsa, nou wè isit la, ne la D ta lonje dwèt sou nil paske li se eleman an dènye nan lis la. 78 00:05:33,730 --> 00:05:38,240 >> Se pou yo gade nan ki jan nou ta ka defini yon struct pou yon ne. 79 00:05:38,240 --> 00:05:40,130 Epi depi nou vle gen nœuds miltip, 80 00:05:40,130 --> 00:05:43,180 sa a ki pral vin yon struct tipedèf 81 00:05:43,180 --> 00:05:46,870 nan ki nou pwal gen plizyè sikonstans diferan nan nœuds. 82 00:05:46,870 --> 00:05:50,850 Se konsa, nou defini li kòm yon kalite nouvo done. 83 00:05:50,850 --> 00:05:53,630 Isit la, nou gen yon ne struct tipedèf. 84 00:05:53,630 --> 00:05:56,160 Nan egzanp sa a, nou ap fè fas ak nœuds nonb antye relatif, 85 00:05:56,160 --> 00:06:00,490 konsa nou gen yon nonb antye relatif valè yo te rele ak Lè sa a, nou gen yon lòt konsèy, 86 00:06:00,490 --> 00:06:07,390 ak nan ka sa a, se yon konsèy nan yon ne, konsa nou gen yon ne struct * rele kap vini an. 87 00:06:07,390 --> 00:06:09,520 Lè sa a, nou ap rele sa a ne bagay tout antye. 88 00:06:09,520 --> 00:06:11,110 Asire w ke ou swiv sa a sentaks. 89 00:06:11,110 --> 00:06:17,940 Remake ne se aktyèlman referans moute pi wo a kòm byen ke pi ba a aparèy òtopedik yo Curly. 90 00:06:17,940 --> 00:06:23,400 Lè sa a, nan kenbe tras nan kote ne premye mwen an nan lis sa a lye, 91 00:06:23,400 --> 00:06:29,390 Lè sa a, mwen gen yon konsèy ne rele tèt, e mwen espas malok ase pou gwosè a nan yon ne. 92 00:06:29,390 --> 00:06:36,240 Avi, sepandan, ke tèt se aktyèlman yon konsèy ne tankou yo te opoze a yon ne aktyèl tèt li. 93 00:06:36,240 --> 00:06:40,130 Se konsa, tèt la aktyèlman pa gen nenpòt ki valè, 94 00:06:40,130 --> 00:06:45,590 li sèlman pwen kèlkeswa sa ki ne nan premye nan lye lis mwen an se. 95 00:06:55,080 --> 00:06:58,340 >> Pou jwenn yon sans pi bon nan lye lis, paske li trè enpòtan 96 00:06:58,340 --> 00:07:02,220 nan kenbe tras nan fè asire w ke ou kenbe chèn la, 97 00:07:02,220 --> 00:07:09,990 Mwen renmen panse a li kòm moun ki nan yon liy kenbe men, 98 00:07:09,990 --> 00:07:14,330 kote chak moun ap kenbe men ak yon sèl kap vini an. 99 00:07:14,330 --> 00:07:18,350 Ou pa ka wè nan desen sa a, men fondamantalman yo ap lonje dwèt moun nan pwochen 100 00:07:18,350 --> 00:07:23,760 ki nan chèn yo. 101 00:07:23,760 --> 00:07:29,270 Se konsa, si ou vle Traverse yon lis lye kote moun sa yo - 102 00:07:29,270 --> 00:07:32,830 imajine tout nan moun sa yo yo gen valè ki asosye ak yo 103 00:07:32,830 --> 00:07:36,590 epi tou li lonje dwèt sou moun nan nan pwochen liy la - 104 00:07:36,590 --> 00:07:40,810 si ou vle Traverse lis la lye, pou egzanp, swa edite valè yo 105 00:07:40,810 --> 00:07:42,830 oubyen pou chache yon valè oswa yon bagay tankou sa, 106 00:07:42,830 --> 00:07:48,270 Lè sa a, ou pral vle gen yon konsèy a moun nan espesifik. 107 00:07:48,270 --> 00:07:52,670 Se konsa, nou pwal gen yon kalite done konsèy ne. 108 00:07:52,670 --> 00:07:55,580 Pou sa egzanp, kite a rele l 'kurseur. 109 00:07:55,580 --> 00:07:59,630 Yon lòt fason komen nan non sa a ta ka iterator oswa yon bagay tankou sa 110 00:07:59,630 --> 00:08:05,130 paske li nan iteration sou yo ak aktyèlman ap deplase ki ne li nan lonje dwèt yo. 111 00:08:05,130 --> 00:08:14,410 Sa a isit la yo pral kurseur nou an. 112 00:08:14,410 --> 00:08:20,180 Kurseur nou an pral premye lonje dwèt sou eleman nan premye nan lis nou an. 113 00:08:20,180 --> 00:08:26,910 Se konsa, ki sa nou vle fè se nou ta fondamantalman ap kontinye kurseur a, 114 00:08:26,910 --> 00:08:29,130 deplase li ki sòti bò kote. 115 00:08:29,130 --> 00:08:33,409 Nan ka sa a, nou vle pou avanse pou pi li nan eleman nan pwochen nan lis la. 116 00:08:33,409 --> 00:08:38,480 Avèk ranje, ki sa nou ta fè se nou ta jis di nou ogmante endèks la pa 1. 117 00:08:38,480 --> 00:08:46,020 Nan ka sa a, ki sa nou bezwen fè se aktyèlman jwenn ki moun moun sa a kounye a se montre a, 118 00:08:46,020 --> 00:08:48,930 Epi sa a, pral fè valè kap vini an. 119 00:08:48,930 --> 00:08:53,230 Se konsa, si kurseur se jis yon konsèy ne, lè sa a sa nou vle fè 120 00:08:53,230 --> 00:08:56,320 se nou vle pou li ale nan valè a ki kurseur a ap lonje dwèt yo. 121 00:08:56,320 --> 00:09:01,350 Nou vle jwenn ak sa yo ki ne ak Lè sa a,, yon fwa nou ap nan ki ne, jwenn kote li lonje dwèt yo. 122 00:09:01,350 --> 00:09:05,820 Pou li ale nan ne aktyèl la ki kurseur a ap lonje dwèt a, 123 00:09:05,820 --> 00:09:13,160 anjeneral nou endike li pa (* kurseur). 124 00:09:13,160 --> 00:09:19,160 Sa ta ba ou ne aktyèl la ki kurseur a ap lonje dwèt yo. 125 00:09:19,160 --> 00:09:21,730 Lè sa a, apre sa, ki sa nou vle fè se nou vle gen aksè a 126 00:09:21,730 --> 00:09:25,680 kèlkeswa sa ki valè pwochen ne a se. 127 00:09:25,680 --> 00:09:32,820 Pou fè sa, gen aksè a valè yo andedan nan struct a, nou gen operatè a dot. 128 00:09:32,820 --> 00:09:39,530 Se konsa, Lè sa a, li ta (* kurseur). Vini yo. 129 00:09:39,530 --> 00:09:44,840 Men, sa a se yon ti jan sal an tèm de ki gen parantèz yo ozalantou kurseur la *, 130 00:09:44,840 --> 00:09:56,800 epi pou nou ranplase deklarasyon sa a tout antye ak kurseur>-. 131 00:09:56,800 --> 00:10:02,700 Sa a se yon priz ak Lè sa a, yon siy ki pi konsekan pase, se konsa fè yon flèch. 132 00:10:02,700 --> 00:10:05,840 kurseur-> kap vini an. 133 00:10:05,840 --> 00:10:12,390 Ki aktyèlman ap fè ou jwenn ne a ki pwen yo kurseur a. Sa valè se nan kap vini an. 134 00:10:12,390 --> 00:10:16,790 Se konsa, olye pou yo gen etwal la ak dot la, w ap ranplase sa ak yon flèch. 135 00:10:16,790 --> 00:10:24,820 Dwe pran anpil prekosyon a asire w ke ou eseye itilize sa a sentaks. 136 00:10:33,550 --> 00:10:37,620 >> Kounye a ke nou gen kurseur nou an, si nou vle gen aksè a valè a, 137 00:10:37,620 --> 00:10:40,450 anvan, nou te gen kurseur-> vini yo, 138 00:10:40,450 --> 00:10:46,260 men gen aksè a valè a nan ne an ki kurseur a ap lonje dwèt a, nou jis senpleman di 139 00:10:46,260 --> 00:10:48,070 ne-> valè. 140 00:10:48,070 --> 00:10:53,600 Soti nan gen, li la nan kalite done kèlkeswa sa nou te defini valè ak nœuds yo yo dwe. 141 00:10:53,600 --> 00:10:59,620 Si li nan yon ne Int, lè sa a kurseur-> valè se jis pral fè yon antye relatif. 142 00:10:59,620 --> 00:11:04,870 Se konsa, nou ka fè operasyon sou sa, tcheke egalite, bay li valè diferan, elatriye 143 00:11:04,870 --> 00:11:11,090 Se konsa, Lè sa a, ki sa ou vle fè si ou vle pou avanse pou pi kurseur ou a moun kap vini an, 144 00:11:11,090 --> 00:11:15,270 ou aktyèlman chanje valè la nan kurseur la. 145 00:11:15,270 --> 00:11:19,340 Depi kurseur se yon konsèy ne, ou chanje adrès nan konsèy aktyèl 146 00:11:19,340 --> 00:11:23,890 nan adrès ki nan ne nan pwochen nan lis ou a. 147 00:11:23,890 --> 00:11:28,930 Sa a se jis kèk postal kote ou ta ka rèspèté. 148 00:11:28,930 --> 00:11:31,230 Ki kote mwen gen kòmantè a fè yon bagay, 149 00:11:31,230 --> 00:11:33,850 sa a, se ki kote ou pwobableman pral gen aksè a valè a 150 00:11:33,850 --> 00:11:37,850 oswa fè yon bagay fè ak ki ne espesifik. 151 00:11:37,850 --> 00:11:43,050 Pou yo kòmanse li koupe, mwen di ke kurseur mwen okòmansman 152 00:11:43,050 --> 00:11:48,430 ki pral lonje dwèt sou eleman nan premye nan lis la lye. 153 00:11:48,430 --> 00:11:52,910 Se konsa, moute devan ou, mwen defini li kòm tèt la nan ne an. 154 00:11:52,910 --> 00:11:57,610 >> Kòm mwen mansyone anvan, libere se reyèlman enpòtan. 155 00:11:57,610 --> 00:12:02,440 Ou vle asire w ke ou libere chak eleman nan lis la yon fwa ou te fini ak li. 156 00:12:02,440 --> 00:12:04,940 Lè ou pa bezwen referans nenpòt nan moun sa endikasyon ankò, 157 00:12:04,940 --> 00:12:10,620 ou vle asire w ke ou libere tout moun ki endikasyon. 158 00:12:10,620 --> 00:12:14,460 Men, ou vle fè anpil atansyon isit la nan ke ou vle pou fè pou evite nenpòt fwit memwa. 159 00:12:14,460 --> 00:12:25,080 Si ou gratis yon sèl moun prematireman, lè sa a tout endikasyon yo ki ki pwen ne 160 00:12:25,080 --> 00:12:26,900 yo pral pèdi. 161 00:12:26,900 --> 00:12:32,070 Ale tounen nan egzanp lan moun a fè l 'yon ti jan pi plis segondè kalite bèl avantaj, 162 00:12:32,070 --> 00:12:49,600 kite a gen moun sa yo, eksepte nan ka sa a yo ap plan sou yon lak ak yon mons. 163 00:12:49,600 --> 00:12:53,200 Nou vle asire w ke chak fwa nou libere, nou pa pèdi 164 00:12:53,200 --> 00:12:58,920 ak kite ale nan nenpòt ki nœuds anvan nou te aktyèlman te libere yo. 165 00:12:58,920 --> 00:13:05,730 Pou egzanp, si ou te tou senpleman rele gratis sou nèg sa a isit la, 166 00:13:05,730 --> 00:13:15,350 Lè sa a, li ta dwe libere, men Lè sa a, tout mesye sa yo ta Lè sa a, ap pèdi 167 00:13:15,350 --> 00:13:18,450 epi yo ta flote epi tonbe desann. 168 00:13:18,450 --> 00:13:24,900 Se konsa, nou vle asire w ke olye de sa, nou vle kenbe yon ap mennen nan rès la. 169 00:13:37,630 --> 00:13:42,480 Konsèy tèt nou an, ki pwen eleman nan premye nan lis la. 170 00:13:42,480 --> 00:13:49,990 Li nan kalite tankou yon kòd mare moun a an premye. 171 00:13:52,870 --> 00:13:57,470 Ki sa ki ou ta ka vle fè lè ou libere yon lis ki genyen - 172 00:13:57,470 --> 00:14:04,520 Si ou vle libere eleman nan premye an premye, Lè sa a, ou ka gen yon konsèy tanporè 173 00:14:04,520 --> 00:14:07,370 ki pwen mèt fè tout sa eleman an premye se. 174 00:14:07,370 --> 00:14:11,420 Se konsa, ou gen konsèy tanporè ou lonje dwèt isit la. 175 00:14:11,420 --> 00:14:15,840 Nan fason sa a, nou gen yon kenbe nan ne la an premye. 176 00:14:15,840 --> 00:14:18,930 Lè sa a,, depi nou fè konnen ke ne nan premye yo pral lage, 177 00:14:18,930 --> 00:14:24,890 Lè sa a, nou ka deplase sa a kòd, sa a jete lank, tèt nou an, 178 00:14:24,890 --> 00:14:31,930 aktyèlman lonje dwèt sou tou sa youn nan premye se lonje dwèt yo. 179 00:14:31,930 --> 00:14:38,760 Se konsa, sa a tèt aktyèlman pwen eleman nan dezyèm kounye a. 180 00:14:38,760 --> 00:14:43,980 Koulye a, nou gen dwa libere kèlkeswa sa ki estoke nan tanporèr, 181 00:14:43,980 --> 00:14:53,360 epi pou nou ka efase ke san li mete an danje tout nœuds yo lòt nan lis nou an. 182 00:14:54,140 --> 00:15:05,020 Yon lòt fason ke ou ta ka fè sa ta ka 183 00:15:05,020 --> 00:15:08,650 chak fwa ou jis libere eleman an dènye nan lis la 184 00:15:08,650 --> 00:15:11,010 paske yo ap pa garanti pou pou dwe pwente anyen. 185 00:15:11,010 --> 00:15:15,570 Se konsa, ou te kapab jis libere yon sèl sa a, lè sa a gratis yon sèl sa a, lè sa a gratis sa a youn. 186 00:15:15,570 --> 00:15:21,900 Ki definitivman travay men se yon ti jan pi dousman paske pa nati a nan lis ki ki te lye, 187 00:15:21,900 --> 00:15:24,670 nou pa kapab jis imedyatman Ale nan yon sèl an dènye. 188 00:15:24,670 --> 00:15:28,030 Nou dwe Traverse chak eleman nan lis la lye 189 00:15:28,030 --> 00:15:31,020 ak tcheke si ke yon moun ap lonje dwèt nil, tcheke chak fwa, 190 00:15:31,020 --> 00:15:33,780 ak Lè sa a, yon fwa nou rive nan fen a, Lè sa a, gratis sa. 191 00:15:33,780 --> 00:15:40,270 Si ou te fè pwosesis sa a, ou ta aktyèlman ap tcheke isit la, 192 00:15:40,270 --> 00:15:44,190 tcheke isit la, Lè sa a, tcheke isit la, libere l ', 193 00:15:44,190 --> 00:15:47,470 Lè sa a, pral tounen, tcheke isit la, tcheke isit la, libere l ', 194 00:15:47,470 --> 00:15:49,660 tcheke isit la, ak Lè sa a, libere l '. 195 00:15:49,660 --> 00:15:52,880 Sa pran tan yon ti jan plis. Yeah. 196 00:15:52,880 --> 00:15:59,060 >> [Elèv] li ta kapab pran posib yo fè yon lis lye ki boutik yon konsèy sòti nan fen a? 197 00:15:59,060 --> 00:16:01,320 Sa ta dwe definitivman posib. 198 00:16:01,320 --> 00:16:08,340 Yo repete kesyon an, se li posib gen yon estrikti lis lye 199 00:16:08,340 --> 00:16:12,490 tankou ke ou gen yon konsèy lonje dwèt a nan fen lis la lye? 200 00:16:12,490 --> 00:16:18,090 Mwen ta di sa a, se sa posib, epi chak fwa ke ou insert yon bagay nan lye lis ou a 201 00:16:18,090 --> 00:16:21,470 ou ta gen mete ajou ki konsèy ak bagay sa yo tankou sa. 202 00:16:21,470 --> 00:16:26,640 Ou ta gen yon ke * ne, pou egzanp. 203 00:16:26,640 --> 00:16:29,840 Men, lè w ap mete ann aplikasyon karakteristik sa a, ou gen panse a komès konpwomi-a, 204 00:16:29,840 --> 00:16:32,700 renmen konbyen fwa mwen pral yo dwe iteration sou sa a, 205 00:16:32,700 --> 00:16:36,100 ki jan difisil se li pral fè nan kenbe tras nan ke a kòm byen ke tèt la 206 00:16:36,100 --> 00:16:38,400 kòm byen ke iterator mwen an, epi bagay sa yo tankou sa. 207 00:16:40,730 --> 00:16:42,480 Èske sa -? >> [Elèv] Yeah. 208 00:16:42,480 --> 00:16:48,270 Li posib, men an tèm de desizyon konsepsyon, ou gen peze opsyon yo. 209 00:16:53,850 --> 00:17:01,090 >> Isit la se yon skelèt nan kòd ki ta pèmèt ou libere chak eleman ki nan yon lis lye. 210 00:17:01,090 --> 00:17:05,460 Yon fwa ankò, depi mwen iteration sou yon lis lye, mwen pral vle gen kèk kalite kurseur 211 00:17:05,460 --> 00:17:08,670 oswa iterator. 212 00:17:08,670 --> 00:17:14,640 Nou ap iteration jouk kurseur a se nil. 213 00:17:14,640 --> 00:17:17,640 Ou pa vle répétèr lè kurseur ou a se nil 214 00:17:17,640 --> 00:17:20,579 paske sa vle di ke pa genyen yon anyen nan lis la. 215 00:17:20,579 --> 00:17:25,069 Se konsa, Lè sa a, isit la mwen te fè yon * ne tanporè 216 00:17:25,069 --> 00:17:29,610 lonje dwèt sa m ap konsidere se premye a nan lis mwen an, 217 00:17:29,610 --> 00:17:35,340 ak Lè sa a, mwen demenaje kurseur m 'lan devan 1 ak Lè sa a, gratis tou sa mwen te gen nan depo tanporè a. 218 00:17:38,460 --> 00:17:43,650 >> Koulye a, nou vin jwenn yo mete nan lis lye. 219 00:18:00,200 --> 00:18:09,660 Mwen genyen twa nœuds nan lis lye m 'yo, e kite yo ale ak ka a senp 220 00:18:09,660 --> 00:18:18,970 kote nou vle insert yon lòt ne nan fen lye lis nou an. 221 00:18:18,970 --> 00:18:25,980 Pou fè sa, tout sa nou ta fè se nou ta Traverse 222 00:18:25,980 --> 00:18:32,100 jwenn kote fen aktyèl la nan lis la lye se, se konsa kèlkeswa sa ki ne la lonje dwèt nil - 223 00:18:32,100 --> 00:18:33,850 sa a, se yon sèl sa a - 224 00:18:33,850 --> 00:18:37,260 ak Lè sa a, di, aktyèlman, yon sèl sa a pa a pwal ne nan dènye; 225 00:18:37,260 --> 00:18:39,830 nou ap aktyèlman pral gen yon lòt. 226 00:18:39,830 --> 00:18:46,260 Se konsa, nou ta gen sa a kounye a yon pwen a tou sa nou ap mete. 227 00:18:46,260 --> 00:18:50,080 Se konsa, kounye a moun sa a wouj isit la vin tounen ne an dènye nan lis la lye. 228 00:18:50,080 --> 00:18:56,080 Se konsa, karakteristik la nan ne an dènye nan lis la lye se ke li pwen nil. 229 00:18:56,080 --> 00:19:09,380 Se konsa, Lè sa a, ki sa nou ta dwe fè se mete konsèy sa a Guy wouj nan nil. Gen. 230 00:19:09,380 --> 00:19:25,370 >> Men, sa ki si nou te vle insert yon ne nan ant youn a dezyèm ak twazyèm? 231 00:19:25,370 --> 00:19:28,960 Sa se yon sèl pa byen kòm senp paske nou vle asire 232 00:19:28,960 --> 00:19:34,290 ke nou pa kite ale nan nenpòt ki ne nan lye lis nou an. 233 00:19:34,290 --> 00:19:43,450 Ki sa nou ta dwe fè se asire w ke nou jete lank tèt nou nan chak yon sèl. 234 00:19:43,450 --> 00:19:49,900 Pou egzanp, kite a rele sa a yon sèl dezyèm lan. 235 00:19:49,900 --> 00:19:54,390 Si ou te di ke youn nan dezyèm koulye a pwen sa a yon nouvo 236 00:19:54,390 --> 00:20:02,520 epi ou jis te fè yon konsèy la, Lè sa a, ki ta ka lakòz yo rejte sa a Guy pèdi 237 00:20:02,520 --> 00:20:07,830 paske pa gen nenpòt ki ap mennen nan l '. 238 00:20:07,830 --> 00:20:18,970 Olye de sa - Mwen pral trase sa a ankò. Eskize kapasite atistik m 'yo. 239 00:20:18,970 --> 00:20:26,570 Nou konnen nou pa ka jis konekte dirèkteman 2 nan youn nan nouvo. 240 00:20:26,570 --> 00:20:30,480 Nou dwe asire w ke nou kenbe fèm nan fè yon sèl an dènye. 241 00:20:30,480 --> 00:20:39,200 Ki sa nou ta ka vle fè se gen yon konsèy tanporè 242 00:20:39,200 --> 00:20:42,650 eleman an ki k ap pase yo dwe fen liv sou. 243 00:20:42,650 --> 00:20:45,140 Se konsa, Lè sa a, nou gen yon konsèy tanporè a. 244 00:20:45,140 --> 00:20:50,780 Depi nou konnen ke sa a se yon sèl twazyèm ke yo te kenbe tras nan, 245 00:20:50,780 --> 00:20:53,680 2 kapab kounye a konekte nan yon sèl nouvo nou an. 246 00:20:53,680 --> 00:20:57,490 Men, si sa a nouvo wouj nèg a pwal nan ant 2 ak 3, 247 00:20:57,490 --> 00:21:05,550 Lè sa a, ki sa ki konsèy ke nèg la pral lonje dwèt sou? >> [Elèv] tanperatur. 248 00:21:05,550 --> 00:21:07,490 Tanperatur. Yeah. 249 00:21:07,490 --> 00:21:15,430 Se konsa, Lè sa a, pwochen valè sa a Guy wouj la a pwal tanporèr. 250 00:21:26,090 --> 00:21:33,010 Lè w ap mete nan lis lye, nou te wè ke nou te kapab 251 00:21:33,010 --> 00:21:38,260 fasil ajoute yon bagay nan fen a pa kreye yon etalaj tanporè, 252 00:21:38,260 --> 00:21:42,850 oswa si nou te vle ajoute yon bagay nan mitan an nan etalaj nou an, 253 00:21:42,850 --> 00:21:46,810 Lè sa a, li ta pran yon ti jan plis mélanger alantou. 254 00:21:46,810 --> 00:21:50,240 Si ou vle, pou egzanp, gen yon Ranje lis lye, 255 00:21:50,240 --> 00:21:54,880 Lè sa a, ou gen kalite peze depans sa yo ak benefis yo nan ki 256 00:21:54,880 --> 00:21:59,720 paske si ou vle gen yon etalaj Ranje, ki vle di ke chak fwa ke ou insert nan li, 257 00:21:59,720 --> 00:22:01,630 li pral pran yon ti jan pi plis tan. 258 00:22:01,630 --> 00:22:05,500 Sepandan, si ou vle pita sou, menm jan nou ap jwenn nou pral vle, 259 00:22:05,500 --> 00:22:10,280 rechèch atravè yon lis lye, lè sa a li ta kapab pi fasil si ou konnen ke tout bagay nan lòd. 260 00:22:10,280 --> 00:22:15,340 Se konsa, ou ta ka vle peze depans sa yo ak benefis yo nan sa. 261 00:22:20,150 --> 00:22:27,740 >> Yon lòt fason insert nan yon lis lye se insert nan kòmansman la anpil nan yon lis. 262 00:22:27,740 --> 00:22:34,700 Si nou fè desen jete lank nou yo isit la - sa a se tèt nou yo - 263 00:22:34,700 --> 00:22:40,960 ak Lè sa a, moun sa yo te lye nan li, 264 00:22:40,960 --> 00:22:48,460 ak Lè sa a, nou gen yon ne nouvo yo dwe mete nan kòmansman an, 265 00:22:48,460 --> 00:22:52,590 Lè sa a, sa ki ka nou vle fè? 266 00:22:55,220 --> 00:23:03,580 Ki sa ki ta dwe mal ak jis di mwen vle konekte wouj nan ble a, 267 00:23:03,580 --> 00:23:05,790 paske sa se yon sèl la an premye? 268 00:23:05,790 --> 00:23:08,570 Ki sa ki ta rive isit la? 269 00:23:08,570 --> 00:23:12,130 Tout moun sa yo twa ta jwenn pèdi. 270 00:23:12,130 --> 00:23:14,140 Se konsa, nou pa vle fè sa. 271 00:23:14,140 --> 00:23:21,430 Yon fwa ankò, nou te aprann ke nou bezwen gen kèk kalite konsèy tanporè. 272 00:23:21,430 --> 00:23:34,470 Se pou nou chwazi gen yon pwen tanporè nan sa a Guy. 273 00:23:34,470 --> 00:23:39,640 Lè sa a, nou ka gen ble yon pwen nan tanporè nan 274 00:23:39,640 --> 00:23:43,240 ak Lè sa a, pwen an wouj nan ble a. 275 00:23:43,240 --> 00:23:47,830 Rezon an pou kisa mwen sèvi ak moun isit la se paske nou reyèlman vle visualized 276 00:23:47,830 --> 00:23:53,180 kenbe sou moun epi asire ke nou gen yon ap mennen nan yo 277 00:23:53,180 --> 00:23:57,590 anvan nou kite ale nan yon lòt men oswa yon bagay tankou sa. 278 00:24:05,630 --> 00:24:10,650 >> Kounye a ke nou gen yon sans de lye lis - ki jan nou ta ka kreye yon lis lye 279 00:24:10,650 --> 00:24:15,090 ak kreye estrikti yo pou sa ki gen ladan definisyon an kalite pou yon ne 280 00:24:15,090 --> 00:24:19,060 ak Lè sa a, fè si ke nou gen yon konsèy nan tèt sa a nan lis lye - 281 00:24:19,060 --> 00:24:23,210 yon fwa nou gen sa ki epi nou konnen ki jan yo Traverse atravè yon etalaj, 282 00:24:23,210 --> 00:24:28,200 aksè nan divès eleman, nou konnen ki jan yo insert epi nou konnen ki jan yo libere yo, 283 00:24:28,200 --> 00:24:30,260 Lè sa a, nou ka jwenn nan Misspellings. 284 00:24:30,260 --> 00:24:38,150 Kòm dabitid, nou gen yon seksyon nan kesyon ki pral fè ou jwenn itilize opere avèk lis lye 285 00:24:38,150 --> 00:24:41,750 yo ak estrikti diferan tankou ke moun kap kriye ak pil. 286 00:24:41,750 --> 00:24:46,000 Lè sa a, nou ka deplase ale nan Misspellings. 287 00:24:46,000 --> 00:24:55,170 >> Misspellings gen nan kòd la distribisyon yon koup la dosye ki gen enpòtans. 288 00:24:55,170 --> 00:24:58,850 Premye nou remake ke nou gen sa a makfil isit la, 289 00:24:58,850 --> 00:25:03,040 ki nou pa t vreman rankontre anvan. 290 00:25:03,040 --> 00:25:10,090 Si ou gade anndan folder nan pset5, ou ta remake ke ou gen yon. H ranpli, 291 00:25:10,090 --> 00:25:12,530 Lè sa a, ou gen de. dosye c. 292 00:25:12,530 --> 00:25:18,920 Ki sa sa makfil fè, se anvan, nou ta jis tape fè ak Lè sa a, non an pwogram 293 00:25:18,920 --> 00:25:25,550 ak Lè sa a, nou ta renmen wè tout moun sa yo agiman ak drapo ki te pase nan du a. 294 00:25:25,550 --> 00:25:30,580 Ki sa ki makfil a fè, se pèmèt nou konpile dosye plizyè nan yon fwa 295 00:25:30,580 --> 00:25:34,650 epi pase nan drapo yo ke nou vle. 296 00:25:34,650 --> 00:25:41,300 Isit la nou jis wè gen yon dosye header isit la. 297 00:25:41,300 --> 00:25:43,730 Lè sa a, nou gen aktyèlman de dosye sous. 298 00:25:43,730 --> 00:25:47,520 Nou gen speller.c ak dictionary.c. 299 00:25:47,520 --> 00:25:54,560 Ou ap akeyi l korije makfil a si ou vle. 300 00:25:54,560 --> 00:26:03,310 Remake isit la si ou tape pwòp, Lè sa a, ki sa li fè se aktyèlman retire anyen 301 00:26:03,310 --> 00:26:06,340 ki se nwayo a. 302 00:26:06,340 --> 00:26:09,190 Si ou te resevwa yon fay segmentation, fondamantalman ou jwenn yon pil fatra prensipal yo. 303 00:26:09,190 --> 00:26:13,260 Se konsa, sa a lèd dosye ti kras ap parèt nan lis ou a rele prensipal yo. 304 00:26:13,260 --> 00:26:16,310 Ou pral vle retire sa a fè li netwaye. 305 00:26:16,310 --> 00:26:20,940 Li retire nenpòt dosye ègzekutabl ak. Dosye o. 306 00:26:27,900 --> 00:26:30,220 >> Se pou nou pran yon gade nan dictionary.h. 307 00:26:30,220 --> 00:26:34,410 Sa a di ke li deklare fonctionnalités yon diksyonè a. 308 00:26:34,410 --> 00:26:39,530 Nou gen yon longè maksimòm pou nenpòt ki pawòl nan diksyonè a. 309 00:26:39,530 --> 00:26:45,130 Nou di ke sa a se pral pi long nan pawòl Bondye a posib. Li nan longè 45. 310 00:26:45,130 --> 00:26:48,900 Se konsa, nou pa pwal gen okenn mo ki depase ki longè. 311 00:26:48,900 --> 00:26:50,980 Isit la nou jis gen prototip yo fonksyon. 312 00:26:50,980 --> 00:26:55,290 Nou pa gen aplikasyon aktyèl la paske se sa ki nou ap fè pou sa a pset. 313 00:26:55,290 --> 00:26:59,940 Men, sa ki sa a fè, se depi nou ap fè fas ak pi gwo dosye isit la 314 00:26:59,940 --> 00:27:06,650 ak fonctionnalités sou yon echèl pi gwo, li nan itil gen yon. h dosye 315 00:27:06,650 --> 00:27:11,290 pou ke yon lòt moun li, oswa lè l sèvi avèk kòd ou a ka konprann sa k ap pase sou. 316 00:27:11,290 --> 00:27:17,910 E petèt yo vle aplike eseye si ou te fè tab regle oswa vis vèrsa. 317 00:27:17,910 --> 00:27:21,850 Lè sa a, yo ta di fonksyon chaj m 'yo, 318 00:27:21,850 --> 00:27:26,950 aplikasyon aktyèl la ki pral diferan, men sa a pwototip pa pral chanje. 319 00:27:26,950 --> 00:27:33,280 Isit la nou te tcheke yo, ki retounen vre si yon mo bay pou sa se nan diksyonè a. 320 00:27:33,280 --> 00:27:39,800 Lè sa a, nou gen chaj, ki fondamantalman pran nan yon dosye diksyonè 321 00:27:39,800 --> 00:27:44,360 ak Lè sa a, charj l 'nan kèk estrikti done. 322 00:27:44,360 --> 00:27:47,500 Nou gen gwosè, ki, lè yo rele, retounen gwosè a nan diksyonè ou a, 323 00:27:47,500 --> 00:27:50,310 konbyen mo yo estoke nan li, 324 00:27:50,310 --> 00:27:54,390 ak Lè sa a, debake, ki libere moute tout memwa ke ou ka yo te pran moute 325 00:27:54,390 --> 00:27:57,900 pandan y ap fè diksyonè ou a. 326 00:28:01,070 --> 00:28:03,590 >> Se pou nou pran yon gade nan dictionary.c. 327 00:28:03,590 --> 00:28:10,490 Nou wè ke li sanble anpil menm jan ak dictionary.h, eksepte kounye a li jis gen tout moun sa yo todo nan li. 328 00:28:10,490 --> 00:28:16,980 Se konsa, ki se travay ou. Evantyèlman, ou pral ranpli speller.c ak tout bagay sa yo kòd. 329 00:28:16,980 --> 00:28:21,540 Dictionary.c, lè kouri, se pa sa reyèlman ale nan fè anyen, 330 00:28:21,540 --> 00:28:29,590 pou nou gade nan direksyon pou speller.c wè aplikasyon aktyèl la nan yon korektè a. 331 00:28:29,590 --> 00:28:32,060 Menm si ou pa ap pral koreksyon nenpòt nan sa a kòd, 332 00:28:32,060 --> 00:28:38,050 li enpòtan yo li, konprann lè se chay rele, lè m 'rele chèk, 333 00:28:38,050 --> 00:28:42,350 jis yo konprann, kat li soti, wè ki jan fonksyon an ap travay. 334 00:28:42,350 --> 00:28:49,860 Nou wè ke li nan tcheke pou itilizasyon ki kòrèk la. 335 00:28:49,860 --> 00:28:55,200 Esansyèlman, lè yon moun kouri ortograf, sa a endike ke li la si ou vle 336 00:28:55,200 --> 00:29:00,950 pou yo pou pase nan yon dosye diksyonè paske gen k ap pase yo dwe yon dosye diksyonè default. 337 00:29:00,950 --> 00:29:05,410 Lè sa a, yo gen yo pase nan tèks la yo dwe période-w tcheke yo. 338 00:29:05,410 --> 00:29:11,410 kontra rusage ak tan paske yon pati nan sa a pset ki nou pral fè fas avèk pita 339 00:29:11,410 --> 00:29:14,790 se pa sèlman jwenn yon fonksyone période-korektè k ap travay 340 00:29:14,790 --> 00:29:17,190 men aktyèlman ap resevwa li nan dwe vit. 341 00:29:17,190 --> 00:29:22,040 Se konsa, Lè sa a, ki nan kote rusage ki pral vin pous 342 00:29:22,040 --> 00:29:28,740 Isit la, nou wè rele an premye nan youn nan dosye dictionary.c nou an, ki se chay. 343 00:29:28,740 --> 00:29:34,720 Chaj retounen vre oubyen fo - vre sou siksè, fo sou echèk. 344 00:29:34,720 --> 00:29:41,400 Se konsa, si diksyonè a pa chaje byen, Lè sa a, speller.c a pral retounen 1 ak kite fimen. 345 00:29:41,400 --> 00:29:47,920 Men, si li fè sa chaj byen, Lè sa a, li la pral kontinye. 346 00:29:47,920 --> 00:29:50,740 Nou kontinye, epi nou wè kèk dosye mwen / O isit la, 347 00:29:50,740 --> 00:29:56,210 ki kote l ye pwal yo dwe ki gen rapò ak ouvèti dosye a tèks. 348 00:29:56,210 --> 00:30:04,640 Isit la, ki sa sa a fè, se période-tcheke tout pawòl sèl ki nan tèks la. 349 00:30:04,640 --> 00:30:09,270 Se konsa, sa speller.c ap fè dwa isit la se iteration sou chak nan mo sa yo nan dosye a tèks 350 00:30:09,270 --> 00:30:12,790 ak Lè sa a, tcheke yo nan diksyonè a. 351 00:30:24,680 --> 00:30:32,350 Isit la, nou gen yon Boolean mal ekri ki pral wè si chèk retounen vre oswa ou pa. 352 00:30:32,350 --> 00:30:37,110 Si mo a se aktyèlman nan diksyonè a, Lè sa a, chèk ap retounen vre. 353 00:30:37,110 --> 00:30:39,760 Sa vle di ke pawòl Bondye a se pa sa mal ekri. 354 00:30:39,760 --> 00:30:45,330 Se konsa, mal ekri ta dwe fo, ak sa a, se rezon sa a genyen bang lan gen, endikasyon ki la. 355 00:30:45,330 --> 00:30:56,320 Nou kenbe sou prale a, ak Lè sa a, li kenbe tras nan konbyen mo ki mal ekri 356 00:30:56,320 --> 00:30:58,910 gen nan dosye a. 357 00:30:58,910 --> 00:31:03,870 Li kontinye sou yo ak sou fèmen dosye a. 358 00:31:03,870 --> 00:31:09,250 Lè sa a, isit la, li rapòte konbyen mo ki mal ekri ou te fè. 359 00:31:09,250 --> 00:31:12,680 Li kalkile konbyen tan li te pran chaj diksyonè a, 360 00:31:12,680 --> 00:31:15,080 konbyen tan li te pran yo tcheke li, 361 00:31:15,080 --> 00:31:18,510 konbyen tan li te pran kalkile gwosè a, 362 00:31:18,510 --> 00:31:21,260 ki, kòm n ap ale sou li a, yo ta dwe piti anpil, 363 00:31:21,260 --> 00:31:25,390 ak Lè sa a, konbyen tan li te pran debake diksyonè a. 364 00:31:25,390 --> 00:31:27,700 Isit la moute pi wo a nou wè apèl la ap desann isit la. 365 00:31:27,700 --> 00:31:52,690 Si nou tcheke pou gwosè isit la, 366 00:31:52,690 --> 00:31:59,050 Lè sa a, nou wè ke isit la se apèl la nan gwosè kote li detèmine gwosè a nan diksyonè a. 367 00:32:05,730 --> 00:32:07,100 Awesome. 368 00:32:07,100 --> 00:32:10,920 >> Travay nou an pou sa a pset se aplike chaj, ki pral chaje diksyonè a 369 00:32:10,920 --> 00:32:15,480 done estrikti - kèlkeswa sa ki ou chwazi pou ou, se pou li yon tab regle oswa yon eseye - 370 00:32:15,480 --> 00:32:18,810 avèk mo soti nan dosye a diksyonè. 371 00:32:18,810 --> 00:32:25,290 Lè sa a, ou gen gwosè, ki pral retounen kantite mo nan diksyonè a. 372 00:32:25,290 --> 00:32:29,860 Men, si ou aplike chaj nan yon fason entelijan, Lè sa a, gwosè yo ta dwe trè fasil. 373 00:32:29,860 --> 00:32:33,860 Lè sa a, ou te tcheke yo, ki pral tcheke pou wè si yon mo bay pou sa se nan diksyonè a. 374 00:32:33,860 --> 00:32:38,690 Se konsa, speller.c pase nan yon fisèl, ak Lè sa a, ou gen yo tcheke si wi ou non ke fisèl 375 00:32:38,690 --> 00:32:41,610 ki genyen nan diksyonè ou a. 376 00:32:41,610 --> 00:32:46,750 Remake ke nou jeneralman gen diksyonè estanda, 377 00:32:46,750 --> 00:32:53,020 men nan sa a pset, fondamantalman nenpòt diksyonè ki te pase nan nan nenpòt lang. 378 00:32:53,020 --> 00:32:57,040 Se konsa, nou pa ka jis asime ke pawòl Bondye a se ki andedan li. 379 00:32:57,040 --> 00:33:03,090 Te kapab foutbar nan mo dwe defini nan yon diksyonè sèten ke nou pase pous 380 00:33:03,090 --> 00:33:07,920 Lè sa a, nou te debake, ki libere diksyonè a nan memwa a. 381 00:33:07,920 --> 00:33:11,930 >> Premyèman, mwen ta renmen ale sou metòd la tab regle 382 00:33:11,930 --> 00:33:14,630 sou ki jan nou ta ka aplike nan tout kat moun ki fonksyon, 383 00:33:14,630 --> 00:33:18,650 ak Lè sa a, mwen pral ale sou ap eseye nan metòd, ki jan nou aplike sa yo fonksyon kat, 384 00:33:18,650 --> 00:33:22,720 ak nan pale la fen sou kèk konsèy jeneral lè w ap fè pset la 385 00:33:22,720 --> 00:33:27,870 epi tou li ki jan ou ka kapab itilize Valgrind yo tcheke pou fwit memwa. 386 00:33:27,870 --> 00:33:30,550 >> Se pou nou jwenn nan metòd la tab regle. 387 00:33:30,550 --> 00:33:35,910 Yon tab regle konsiste de yon lis bokit. 388 00:33:35,910 --> 00:33:43,010 Chak valè, chak mo, ki pral antre nan youn nan sa yo bokit. 389 00:33:43,010 --> 00:33:53,200 Yon tab regle depreferans respire distribye tout moun sa yo valè ke w ap pase nan 390 00:33:53,200 --> 00:33:57,160 ak Lè sa a, ranpli yo nan bokit la tankou ke chak bokit 391 00:33:57,160 --> 00:34:02,000 gen sou yon kantite egal valè nan li. 392 00:34:02,000 --> 00:34:09,630 Estrikti a pou yon tab regle, nou gen yon etalaj de lye lis. 393 00:34:09,630 --> 00:34:17,900 Ki sa nou fè se lè nou pase nan yon valè, nou tcheke kote ki valè yo ta dwe fè pati, 394 00:34:17,900 --> 00:34:23,840 ki bokit li fè pati nan, ak Lè sa a, mete l 'nan lis la lye ki asosye avèk bokit. 395 00:34:23,840 --> 00:34:28,199 Isit la, sa m 'genyen se yon fonksyon regle. 396 00:34:28,199 --> 00:34:31,320 Se yon tab int regle. 397 00:34:31,320 --> 00:34:38,540 Se konsa, pou bokit la an premye, nenpòt nonm antye relatif ki anba a 10 ale nan bokit la an premye. 398 00:34:38,540 --> 00:34:42,190 Nenpòt nonm antye relatif pi wo a 10 Men, pi ba a 20 ale nan dezyèm lan, 399 00:34:42,190 --> 00:34:44,179 ak Lè sa a, sou sa ak pou fè. 400 00:34:44,179 --> 00:34:52,370 Pou m ', chak bokit ap reprezante nimewo sa yo. 401 00:34:52,370 --> 00:34:59,850 Sepandan, di m 'te pase nan 50, pou egzanp. 402 00:34:59,850 --> 00:35:07,490 Li parèt kòm si twa nan premye gen yon ran de dis chif yo. 403 00:35:07,490 --> 00:35:12,570 Men, mwen vle yo ki pèmèt tab regle mwen an pran nan nenpòt ki sòt de nonm antye yo, 404 00:35:12,570 --> 00:35:19,860 se konsa Lè sa a, mwen ta gen yo met deyò ansyen lwil tout nimewo pi wo a 30 nan bokit an dènye. 405 00:35:19,860 --> 00:35:26,660 Se konsa, Lè sa a, ki ta lakòz yon kalite tab dezekilib regle. 406 00:35:31,330 --> 00:35:35,640 Repete, yon tab regle se jis yon etalaj de bokit 407 00:35:35,640 --> 00:35:38,590 kote chak bokit la se yon lis lye. 408 00:35:38,590 --> 00:35:43,730 Se konsa, detèmine kote chak valè ale, ki bokit li ale nan, 409 00:35:43,730 --> 00:35:46,260 w ap ale nan vle sa ki rele yon fonksyon regle 410 00:35:46,260 --> 00:35:55,010 ki pran yon valè ak Lè sa a, di sa a valè koresponn ak yon bokit a sèten. 411 00:35:55,010 --> 00:36:00,970 Se konsa, moute anwo a nan egzanp sa a, fonksyon regle m 'te pran chak valè. 412 00:36:00,970 --> 00:36:03,020 Li tcheke si li te mwens pase 10. 413 00:36:03,020 --> 00:36:05,360 Si li te, li ta mete l 'nan bokit la an premye. 414 00:36:05,360 --> 00:36:08,910 Li tcheke si li nan mwens pase 20, mete l 'nan dezyèm lan si se laverite, 415 00:36:08,910 --> 00:36:12,880 chèk si li nan mwens pase 30, ak Lè sa a, mete l 'nan bokit la twazyèm, 416 00:36:12,880 --> 00:36:16,990 ak Lè sa a, tout lòt moun jis tonbe sou bokit nan katriyèm. 417 00:36:16,990 --> 00:36:20,110 Se konsa, chak fwa ou gen yon valè, fonksyon regle ou 418 00:36:20,110 --> 00:36:25,420 pral mete ke valè nan bokit la ki apwopriye yo. 419 00:36:25,420 --> 00:36:32,430 Fonksyon an regle fondamantalman bezwen konnen konbyen bokit ou genyen. 420 00:36:32,430 --> 00:36:37,960 Gwosè regle tablo ou a, ki kantite bokit ou genyen, 421 00:36:37,960 --> 00:36:41,190 ki nan ale nan yon nimewo fiks ki se jiska ou, pou ou pou w deside, 422 00:36:41,190 --> 00:36:43,590 Men, li la pral gen yon nimewo fiks yo. 423 00:36:43,590 --> 00:36:51,840 Se konsa, fonksyon regle ou ap repoze sou ke yo detèmine ki bokit chak kle ale nan 424 00:36:51,840 --> 00:36:54,450 tankou ke li nan respire distribiye. 425 00:36:56,150 --> 00:37:03,820 Menm jan ak aplikasyon nou an lye lis, kounye a chak ne nan tablo a regle 426 00:37:03,820 --> 00:37:07,000 se aktyèlman pral gen yon Char kalite. 427 00:37:07,000 --> 00:37:14,340 Se konsa, nou gen yon etalaj Char rele mo ak Lè sa a, yon lòt konsèy ne nan pwochen, 428 00:37:14,340 --> 00:37:19,010 ki fè sans paske li k ap pase yo dwe yon lis lye. 429 00:37:19,010 --> 00:37:24,350 Sonje lè nou te lye lis, mwen te fè yon * ne rele tèt 430 00:37:24,350 --> 00:37:31,060 ki te lonje dwèt ne nan premye nan lis la lye. 431 00:37:31,060 --> 00:37:34,020 Men, pou regle tab nou an, paske nou gen plizyè lye lis, 432 00:37:34,020 --> 00:37:37,520 ki sa nou vle se nou vle tab regle nou yo kapab tankou, "Ki sa ki se yon bokit?" 433 00:37:37,520 --> 00:37:43,340 Yon bokit se jis yon lis endikasyon ne, 434 00:37:43,340 --> 00:37:50,620 e konsa chak eleman nan bokit la se aktyèlman montre nan lis korespondan li yo lye. 435 00:37:56,180 --> 00:38:01,520 Pou tounen nan sa a chematikman, ou wè sa a bokit yo tèt yo yo se flèch yo, 436 00:38:01,520 --> 00:38:06,980 pa nœuds vrè. 437 00:38:11,680 --> 00:38:16,420 Youn nan pwopriyete esansyèl nan fonksyon regle se yo ke yo ap detèrminist. 438 00:38:16,420 --> 00:38:19,440 Sa vle di ke nenpòt lè ou regle nimewo 2 a, 439 00:38:19,440 --> 00:38:22,270 li ta dwe toujou retounen bokit la menm. 440 00:38:22,270 --> 00:38:26,440 Chak valè sèl ki ale nan fonksyon an regle, si repete, 441 00:38:26,440 --> 00:38:29,690 gen yo ka resevwa endèks la menm. 442 00:38:29,690 --> 00:38:34,210 Se konsa, fonksyon regle ou retounen endèks la nan etalaj la 443 00:38:34,210 --> 00:38:38,530 kote ki valè ki dwe. 444 00:38:38,530 --> 00:38:41,790 Kòm mwen mansyone anvan, se ki kantite bokit fiks, 445 00:38:41,790 --> 00:38:49,630 e konsa endèks ou ke ou retounen gen li dwe mwens pase ki kantite bokit 446 00:38:49,630 --> 00:38:52,680 men pi gran pase 0. 447 00:38:52,680 --> 00:39:00,780 Rezon an pou kisa nou gen fonksyon regle olye pou yo jis yon sèl lis sèl lye 448 00:39:00,780 --> 00:39:09,290 oswa yon sèl etalaj yon sèl se ke nou vle pou kapab Ale nan yon seksyon sèten pi fasil 449 00:39:09,290 --> 00:39:11,720 si nou konnen karakteristik la nan yon valè - 450 00:39:11,720 --> 00:39:14,760 olye pou yo gen nan rechèch atravè diksyonè a tout antye antye, 451 00:39:14,760 --> 00:39:18,320 ke yo te kapab Ale nan yon seksyon sèten nan li. 452 00:39:19,880 --> 00:39:24,440 Fonksyon regle ou a ta dwe pran an kont ki depreferans, 453 00:39:24,440 --> 00:39:28,980 chak bokit gen anviwon menm kantite kle. 454 00:39:28,980 --> 00:39:35,040 Depi tab la regle se yon seri de lye lis, 455 00:39:35,040 --> 00:39:38,480 Lè sa a, bay lis ki ki te lye tèt yo yo ale nan gen plis pase yon ne. 456 00:39:38,480 --> 00:39:43,210 Nan egzanp lan anvan, de nonb diferan, menm si yo pa t 'egal, 457 00:39:43,210 --> 00:39:46,950 lè ache, ta retounen endèks la menm. 458 00:39:46,950 --> 00:39:53,620 Se konsa, lè ou ap fè fas ak mo yo, yon mo lè ache 459 00:39:53,620 --> 00:39:57,450 ta dwe menm valè a regle kòm yon lòt mo. 460 00:39:57,450 --> 00:40:04,140 Sa a ki sa nou rele yon kolizyon, lè nou gen yon ne ki, lè yo ache, 461 00:40:04,140 --> 00:40:09,610 lis la lye nan ki bokit se pa vid. 462 00:40:09,610 --> 00:40:14,180 Teknik sa yo ke nou rele gen lineyè sonde, 463 00:40:14,180 --> 00:40:22,550 ki kote ou ale nan lis la lye ak Lè sa a, jwenn kote ou vle insert ki ne 464 00:40:22,550 --> 00:40:25,520 paske ou gen yon kolizyon. 465 00:40:25,520 --> 00:40:28,070 Ou ka wè ke gen ta kapab yon komès-off isit la, dwa? 466 00:40:28,070 --> 00:40:33,760 Si ou gen yon tab ki piti anpil regle, yon ti kantite bokit, 467 00:40:33,760 --> 00:40:36,380 Lè sa a, w ap ale nan gen yon anpil nan kolizyon. 468 00:40:36,380 --> 00:40:40,460 Men, Lè sa a, si ou fè yon tablo gwo anpil regle, 469 00:40:40,460 --> 00:40:44,110 w ap pwobableman pral pou misyon pou minimize kolizyon yo, 470 00:40:44,110 --> 00:40:47,170 Men, li la pral gen yon gwo anpil done estrikti. 471 00:40:47,170 --> 00:40:49,310 Gen k ap pase yo dwe dezavantaj ki genyen nan sa. 472 00:40:49,310 --> 00:40:51,310 Se konsa, lè w ap fè pset ou a, eseye yo jwe nan 473 00:40:51,310 --> 00:40:54,210 ant petèt fè yon pi piti tab regle 474 00:40:54,210 --> 00:41:02,100 men Lè sa a, konnen ke li la pral pran yon ti jan pi long Traverse eleman yo diferan 475 00:41:02,100 --> 00:41:04,270 nan tout sa yo bay lis lye. 476 00:41:04,270 --> 00:41:09,500 >> Ki sa ki chaj ki pral fè se repekte sou tout mo nan diksyonè a. 477 00:41:09,500 --> 00:41:13,180 Li pase nan yon konsèy nan dosye a diksyonè. 478 00:41:13,180 --> 00:41:18,050 Se konsa, w ap ale nan pran avantaj de dosye a mwen / O fonksyon ke ou metrize nan pset4 479 00:41:18,050 --> 00:41:23,010 ak repekte sou tout mo nan diksyonè a. 480 00:41:23,010 --> 00:41:26,620 Ou vle tout pawòl nan diksyonè a ou kapab vin yon ne nouvo, 481 00:41:26,620 --> 00:41:32,730 ak w ap ale nan mete chak youn nan moun ki nœuds andedan nan estrikti done diksyonè ou a. 482 00:41:32,730 --> 00:41:36,560 Chak fwa ou jwenn yon nouvo mo, ou konnen li pral vin yon ne. 483 00:41:36,560 --> 00:41:46,590 Se konsa, ou ka ale imedyatman ak malok yon konsèy ne pou chak nouvo mo ke w genyen. 484 00:41:46,590 --> 00:41:52,610 Isit la m ap rele new_node ne konsèy m 'ak mwen mallocing ki sa? Gwosè a nan yon ne. 485 00:41:52,610 --> 00:41:59,190 Lè sa a, li fisèl la aktyèl ki sòti nan yon dosye a, paske diksyonè a aktyèlman estoke 486 00:41:59,190 --> 00:42:03,340 pa yon mo ak Lè sa a, yon liy nouvo, ki sa nou ka pran avantaj de 487 00:42:03,340 --> 00:42:06,520 se fskanf fonksyon an, 488 00:42:06,520 --> 00:42:10,280 kote dosye a se dosye a diksyonè ke nou ap pase nan, 489 00:42:10,280 --> 00:42:18,900 se konsa li analysis dosye a pou yon kòd li ansanm ak kote ki fisèl nan agiman an dènye. 490 00:42:18,900 --> 00:42:26,890 Si ou sonje tounen nan youn nan konferans yo, lè nou te ale sou 491 00:42:26,890 --> 00:42:29,320 ak kalite kale kouch yo sou do yo nan bibliyotèk la CS50, 492 00:42:29,320 --> 00:42:33,430 nou te wè yon aplikasyon de fskanf la. 493 00:42:33,430 --> 00:42:37,700 Pou tounen nan fskanf, nou gen dosye a ke nou ap li soti, 494 00:42:37,700 --> 00:42:42,570 nou ap chèche pou yon fisèl nan ki ranpli, ak Lè sa a, nou ap mete li nan 495 00:42:42,570 --> 00:42:48,340 isit la mwen gen new_node-> mo paske new_node se yon konsèy ne, 496 00:42:48,340 --> 00:42:50,380 pa yon ne vrè. 497 00:42:50,380 --> 00:42:57,100 Se konsa, Lè sa a, m ap di new_node, mwen vle pou yo ale nan ne an ke li nan montre 498 00:42:57,100 --> 00:43:01,190 ak Lè sa a, bay ki valè nan mo. 499 00:43:01,190 --> 00:43:08,540 Nou vle Lè sa a, pran mo sa a epi antre li nan tablo a regle. 500 00:43:08,540 --> 00:43:13,750 Reyalize ke nou te fè new_node yon konsèy ne 501 00:43:13,750 --> 00:43:18,230 paske nou ap ale nan vle konnen ki sa adrès sa a nan ne se 502 00:43:18,230 --> 00:43:23,940 lè nou insert l 'nan paske estrikti a nan nœuds yo tèt yo, nan struct a, 503 00:43:23,940 --> 00:43:26,380 se yo ke yo gen yon konsèy nan yon ne nouvo. 504 00:43:26,380 --> 00:43:30,820 Se konsa, Lè sa a, sa ki nan adrès sa a nan ne ale nan lonje dwèt sou? 505 00:43:30,820 --> 00:43:34,550 Sa adrès a pwal new_node. 506 00:43:34,550 --> 00:43:42,140 ki fè sans, poukisa nou ap fè new_node yon * ne tankou yo te opoze a yon ne? 507 00:43:43,700 --> 00:43:45,700 Oke. 508 00:43:45,700 --> 00:43:52,840 Nou gen yon mo. Sa valè se new_node-> mo. 509 00:43:52,840 --> 00:43:55,970 Ki gen pawòl Bondye a soti nan diksyonè a ke nou vle opinyon. 510 00:43:55,970 --> 00:44:00,210 Se konsa, sa nou vle fè se nou vle rele fonksyon regle nou sou sa fisèl 511 00:44:00,210 --> 00:44:03,780 paske fonksyon regle nou an pran nan yon fisèl ak Lè sa a, retounen nou yon nonb antye relatif, 512 00:44:03,780 --> 00:44:12,090 kote ki nonb antye relatif se endèks la kote hashtable nan ki endèks reprezante ki bokit. 513 00:44:12,090 --> 00:44:18,260 Nou vle pran ki endèks ak Lè sa a, ale nan ki endèks nan tablo a regle 514 00:44:18,260 --> 00:44:26,960 ak Lè sa a, sèvi ak ke lis lye nan insert ne la nan new_node. 515 00:44:26,960 --> 00:44:31,950 Sonje ke sepandan ou deside insert ne ou a, 516 00:44:31,950 --> 00:44:34,370 si li nan nan mitan an si ou vle sòt li 517 00:44:34,370 --> 00:44:39,650 oswa nan kòmansman an oswa nan fen a, jis asire w ke ne dènye fwa ou te toujou pwen nil 518 00:44:39,650 --> 00:44:46,730 paske sa se yon fason a sèlman ke nou konnen ki kote eleman nan dènye lye lis nou an se. 519 00:44:50,790 --> 00:44:59,710 >> Si gwosè se yon nonb antye ki reprezante ki kantite mo nan yon diksyonè, diksyonè 520 00:44:59,710 --> 00:45:03,060 Lè sa a, yon fason fè sa a se ke chak fwa gwosè a rele 521 00:45:03,060 --> 00:45:05,840 nou ale nan chak eleman nan tablo regle nou 522 00:45:05,840 --> 00:45:09,410 ak Lè sa a, repekte nan chak lis lye nan tab la regle 523 00:45:09,410 --> 00:45:13,770 ak Lè sa a, kalkile longè a de sa, ogmante 1 kontwa nou yo nan 1. 524 00:45:13,770 --> 00:45:16,580 Men, chak fwa ke gwosè yo rele, ki nan pral pran yon bon bout tan 525 00:45:16,580 --> 00:45:22,120 paske nou pral yo dwe linear sonde chak sèl lis lye. 526 00:45:22,120 --> 00:45:30,530 Olye de sa, li la pral gen yon anpil pi fasil si w kenbe tras nan konbyen mo yo pase pous 527 00:45:30,530 --> 00:45:36,330 Se konsa, Lè sa a, si ou genyen ladan yo yon kontwa nan fonksyon chaj ou 528 00:45:36,330 --> 00:45:42,430 ki dènye enfòmasyon jan sa nesesè, Lè sa a, san preskripsyon, si ou mete l 'nan yon varyab mondyal, 529 00:45:42,430 --> 00:45:44,930 yo pral kapab jwenn aksè nan gwosè. 530 00:45:44,930 --> 00:45:51,450 Se konsa, sa gwosè ta ka tou senpleman fè se nan yon sèl liy, jis retounen valè a vann san preskripsyon, 531 00:45:51,450 --> 00:45:55,500 gwosè a nan diksyonè a, ki ou deja te fè fas ak nan chaj. 532 00:45:55,500 --> 00:46:05,190 Sa a ki sa mwen vle di ke lè m 'te di si ou aplike chaj nan yon fason itil, 533 00:46:05,190 --> 00:46:08,540 Lè sa a, gwosè a pwal trè fasil. 534 00:46:08,540 --> 00:46:11,350 >> Se konsa, kounye a nou jwenn yo tcheke. 535 00:46:11,350 --> 00:46:15,960 Koulye a, nou ap fè fas ak pawòl soti nan dosye a tèks opinyon, 536 00:46:15,960 --> 00:46:19,910 epi pou nou ap pral tcheke si tout moun ki mo D ' 537 00:46:19,910 --> 00:46:22,520 yo aktyèlman nan diksyonè a oswa ou pa. 538 00:46:22,520 --> 00:46:26,520 Menm jan ak Goumen, nou vle pèmèt pou ensansibilite ka. 539 00:46:26,520 --> 00:46:32,110 Ou vle asire w ke tout mo yo ki te pase nan, menm si yo ap melanje ka, 540 00:46:32,110 --> 00:46:37,840 lè yo rele ak compare fisèl, se ekivalan. 541 00:46:37,840 --> 00:46:42,450 Mo yo nan dosye yo tèks diksyonè yo aktyèlman tout miniskil. 542 00:46:42,450 --> 00:46:49,280 Yon lòt bagay se ke ou ka asime ke tout pawòl ki te pase nan, chak fisèl, 543 00:46:49,280 --> 00:46:53,200 a pwal swa alfabetik oswa gen apostrof. 544 00:46:53,200 --> 00:46:58,010 Apostrof pwal gen mo ki valab nan diksyonè nou an. 545 00:46:58,010 --> 00:47:06,470 Se konsa, si ou gen yon mo ak apostwòf S, sa se yon mo reyèl lejitim nan diksyonè ou 546 00:47:06,470 --> 00:47:11,650 ki k ap pase yo dwe youn nan nœuds ki nan tablo regle ou. 547 00:47:13,470 --> 00:47:18,350 Tcheke opere ak si mo a ki egziste, Lè sa a, li la leve yo dwe nan tablo regle nou an. 548 00:47:18,350 --> 00:47:22,210 Si mo a se nan diksyonè a, Lè sa a, tout mo yo nan diksyonè a se nan tablo a regle, 549 00:47:22,210 --> 00:47:26,560 kidonk kite a gade pou mo sa a nan tablo a regle. 550 00:47:26,560 --> 00:47:29,250 Nou konnen ke depi nou aplike fonksyon regle nou 551 00:47:29,250 --> 00:47:38,420 sa yo ki se tout pawòl inik toujou ache menm valè a, 552 00:47:38,420 --> 00:47:43,340 Lè sa a, nou konnen ke olye pou yo chèche nan tab antye nou an tout antye regle, 553 00:47:43,340 --> 00:47:48,310 nou ka aktyèlman jwenn lis ki ki te lye ke mo sa a ta dwe apatni a. 554 00:47:48,310 --> 00:47:51,850 Si li te nan diksyonè a, Lè sa a, li ta nan ki bokit. 555 00:47:51,850 --> 00:47:57,140 Ki sa nou ka fè, si mo se non an nan fisèl nou te pase nan, 556 00:47:57,140 --> 00:48:01,560 nou kapab jis regle mo sa a ak gade nan lis la lye 557 00:48:01,560 --> 00:48:06,410 nan valè a nan hashtable [regle (mo)]. 558 00:48:06,410 --> 00:48:12,410 Soti nan la, sa nou kapab fè se nou gen yon sou pi piti nan nœuds pou fè rechèch pou mo sa a, 559 00:48:12,410 --> 00:48:16,770 ak pou nou ka Traverse lis la lye, lè l sèvi avèk yon egzanp soti nan pi bonè nan solisyon an, 560 00:48:16,770 --> 00:48:24,110 ak Lè sa a, rele fisèl konpare sou pawòl Bondye a tout kote kurseur a ap lonje dwèt a, 561 00:48:24,110 --> 00:48:28,430 mo sa a, ak wè si sa yo konpare. 562 00:48:30,280 --> 00:48:35,110 Tou depan de sou wout la ke ou òganize fonksyon regle ou a, 563 00:48:35,110 --> 00:48:39,260 si li nan Ranje, ou ka kapab retounen fo yon ti jan pi bonè, 564 00:48:39,260 --> 00:48:43,440 Men, si li nan klase, lè sa a ou vle kontinye travèse nan lye lis ou a 565 00:48:43,440 --> 00:48:46,480 jiskaske ou jwenn eleman ki sot pase yo nan lis la. 566 00:48:46,480 --> 00:48:53,320 Men, si ou toujou pa te jwenn mo a pa lè ou te rive nan nan fen lis la lye, 567 00:48:53,320 --> 00:48:56,890 sa vle di mo sa a ou a pa egziste nan diksyonè a, 568 00:48:56,890 --> 00:48:59,410 ak konsa pou pawòl se valab, 569 00:48:59,410 --> 00:49:02,730 ak chèk yo ta dwe retounen fo. 570 00:49:02,730 --> 00:49:09,530 >> Koulye a, nou vini nan debake, kote nou vle libere tout nœuds yo ke nou te malloc'd, 571 00:49:09,530 --> 00:49:14,050 Se konsa gratis nan tout nœuds yo andedan nan tablo regle nou an. 572 00:49:14,050 --> 00:49:20,270 Nou pwal vle repekte sou tout nan lis ki ki te lye ak gratis nan tout nœuds yo nan sa. 573 00:49:20,270 --> 00:49:29,350 Si ou gade pi wo a nan solisyon an egzanp lan kote nou libere yon lis lye, 574 00:49:29,350 --> 00:49:35,140 Lè sa a, ou pral vle repete pwosesis sa a pou chak eleman nan tablo a regle. 575 00:49:35,140 --> 00:49:37,780 Apre sa, m'a ale sou sa a rive sou fen solisyon an, 576 00:49:37,780 --> 00:49:46,600 men Valgrind se yon zouti kote ou ka wè si ou te byen libere 577 00:49:46,600 --> 00:49:53,600 chak ne ke ou te malloc'd oswa tout lòt bagay ke ou te malloc'd, nenpòt konsèy lòt. 578 00:49:55,140 --> 00:50:00,530 Se konsa, sa a, se tab regle, kote nou gen yon nimewo fini nan bokit 579 00:50:00,530 --> 00:50:09,220 ak yon fonksyon regle ki pral pran yon valè ak Lè sa a, bay ki valè nan yon bokit a sèten. 580 00:50:09,220 --> 00:50:13,340 >> Koulye a, nou vini nan ap eseye. 581 00:50:13,340 --> 00:50:18,750 Ap eseye kalite gade tankou sa a, epi mwen pral tou trase soti yon egzanp. 582 00:50:18,750 --> 00:50:25,630 Fondamantalman, ou gen yon etalaj antye nan lèt potansyèl, 583 00:50:25,630 --> 00:50:29,210 ak Lè sa a, chak fwa w ap konstwi yon mo, 584 00:50:29,210 --> 00:50:36,490 ka lèt sa a dwe lye pou yon diksyonè nan yon ranje lajè nan posibilite yo. 585 00:50:36,490 --> 00:50:40,840 Kèk mo kòmanse ak C men Lè sa a, kontinye ak A, 586 00:50:40,840 --> 00:50:42,960 men lòt moun kontinye ak O, pou egzanp. 587 00:50:42,960 --> 00:50:51,090 Yon trye se yon fason pou vizualizan tout konbinezon ki posib pou mo sa yo. 588 00:50:51,090 --> 00:50:59,070 Yon trye ki pral kenbe tras nan sekans nan lèt ki genyen mo, 589 00:50:59,070 --> 00:51:08,280 branch la lè sa nesesè, lè yon moun ka lèt dwe swiv pa yon miltip nan lèt, 590 00:51:08,280 --> 00:51:16,630 ak nan fen a endike nan chak pwen si mo sa a se valid oswa ou pa 591 00:51:16,630 --> 00:51:30,120 paske si w ap òtograf MAT nan mo, MA mwen pa panse ke se yon mo ki valab, men MAT se. 592 00:51:30,120 --> 00:51:37,820 Se konsa, nan trye ou, li ta kapab endike ke apre MAT sa a, se aktyèlman yon mo ki valab. 593 00:51:41,790 --> 00:51:48,590 Chak ne nan trye nou an, ap aktyèlman ale nan genyen yon etalaj de pwent ne, 594 00:51:48,590 --> 00:51:52,970 e nou pral genyen, espesyalman, 27 nan moun ki endikasyon ne, 595 00:51:52,970 --> 00:52:00,550 yonn pou chak lèt ​​nou ekri nan alfabè a kòm byen ke pèsonaj la apostwòf. 596 00:52:00,550 --> 00:52:10,450 Chak eleman nan ki etalaj la tèt li ale nan pwen a yon lòt ne. 597 00:52:10,450 --> 00:52:14,020 Se konsa, si sa ne se nil, si pa gen anyen apre sa, 598 00:52:14,020 --> 00:52:20,550 Lè sa a, nou konnen ke gen nan pa gen lèt pli lwen nan ki sekans mo. 599 00:52:20,550 --> 00:52:26,950 Men, si ke ne se pa nil, sa vle di ke gen plis lèt nan ki sekans lèt. 600 00:52:26,950 --> 00:52:32,160 Lè sa a, Anplis de sa, chak ne endike si li nan karaktè an dènye nan yon mo oswa ou pa. 601 00:52:38,110 --> 00:52:43,170 >> Ann al nan yon egzanp yon trye. 602 00:52:50,500 --> 00:52:58,340 Premye fwa mwen gen plas pou 27 nœuds nan sa a etalaj. 603 00:52:58,340 --> 00:53:03,200 Si mwen gen BAR nan mo - 604 00:53:13,310 --> 00:53:15,370 Si mwen gen BAR nan mo yo epi mwen vle insert ki nan, 605 00:53:15,370 --> 00:53:22,700 lèt la premye se B, kidonk si trye mwen, se yon vid, 606 00:53:22,700 --> 00:53:29,910 B se dezyèm lèt la nan alfabè a, se konsa mwen pral chwazi pou mete sa a isit la nan sa a endèks. 607 00:53:29,910 --> 00:53:33,450 Mwen pral gen B isit la. 608 00:53:33,450 --> 00:53:42,400 B a pwal yon ne ki pwen a yon lòt etalaj nan tout karaktè yo posib 609 00:53:42,400 --> 00:53:45,870 ki ka swiv apre lèt la B. 610 00:53:45,870 --> 00:53:57,610 Nan ka sa a, mwen fè fas ak ba a mo, Se konsa, yon pral ale isit la. 611 00:54:02,000 --> 00:54:08,990 Apre yon, mwen gen lèt R la, se konsa Lè sa a, Yon pwen kounye a nan konbinezon pwòp li yo, 612 00:54:08,990 --> 00:54:15,120 ak Lè sa a, R pral isit la. 613 00:54:15,120 --> 00:54:22,470 BAR se yon mo fin ranpli, kididonk Lè sa a, mwen pral gen R pwen a yon lòt ne 614 00:54:22,470 --> 00:54:33,990 ki di ke mo sa a se valid. 615 00:54:36,010 --> 00:54:40,970 Sa ne se tou pral gen yon etalaj la nœuds, 616 00:54:40,970 --> 00:54:45,260 men sa yo ta kapab nil. 617 00:54:45,260 --> 00:54:49,080 Men, fondamantalman, li kapab kontinye tankou sa. 618 00:54:49,080 --> 00:54:54,250 Sa ap vin yon ti jan pi plis ki klè lè nou ale nan yon egzanp diferan, 619 00:54:54,250 --> 00:54:56,780 Se konsa, jis pote ansanm avè m 'lan. 620 00:54:56,780 --> 00:55:02,050 Koulye a, nou gen BAR andedan nan diksyonè nou an. 621 00:55:02,050 --> 00:55:05,980 Koulye a, di nou gen Baz la mo. 622 00:55:05,980 --> 00:55:12,630 Nou kòmanse avèk B, ak nou deja genyen B kòm youn nan lèt yo ki nan nan diksyonè nou an. 623 00:55:12,630 --> 00:55:15,170 Sa ki swiv ak A. Nou gen yon deja. 624 00:55:15,170 --> 00:55:19,250 Men, Lè sa a, olye de sa, nou gen Z yo. 625 00:55:19,250 --> 00:55:25,490 Se konsa, Lè sa a, yon eleman nan etalaj nou a pwal Z, 626 00:55:25,490 --> 00:55:30,810 e konsa Lè sa a, ki yon sèl ki pral nan pwen a yon lòt fen valab nan mo a. 627 00:55:30,810 --> 00:55:36,930 Se konsa, nou wè ke lè nou kontinye nan B ak Lè sa a, A, 628 00:55:36,930 --> 00:55:43,480 gen de chwa diferan kounye a nan diksyonè nou an pou mo ki kòmanse ak B ak A. 629 00:55:49,650 --> 00:55:57,460 Di nou te vle insert foutbar an mo. 630 00:55:57,460 --> 00:56:05,620 Lè sa a, nou ta fè yon antre nan F. 631 00:56:05,620 --> 00:56:11,320 F se yon ne ki pwen nan yon etalaj antye. 632 00:56:11,320 --> 00:56:22,790 Nou ta jwenn O, ale nan O, O Lè sa a, lyen ki mennen nan yon lis tout antye. 633 00:56:22,790 --> 00:56:35,340 Nou ta gen B ak Lè sa a, kontinye, nou ta gen A ak Lè sa a, R. 634 00:56:35,340 --> 00:56:43,570 Se konsa, Lè sa a, travèrs foutbar tout wout la desann jouk foutbar se yon mo kòrèk. 635 00:56:43,570 --> 00:56:52,590 Se konsa, Lè sa a, sa a ta ka di yon mo ki valab. 636 00:56:52,590 --> 00:57:00,170 Koulye a, di mo pwochen nou yo nan diksyonè a se aktyèlman foo an mo. 637 00:57:00,170 --> 00:57:03,530 Nou ta di F. Sa ki swiv F? 638 00:57:03,530 --> 00:57:06,190 Mwen aktyèlman deja gen yon espas pou O, se konsa mwen pral kontinye. 639 00:57:06,190 --> 00:57:09,150 Mwen pa bezwen fè yon sèl nouvo. Kontinye. 640 00:57:09,150 --> 00:57:15,500 Foo se yon mo ki valab nan sa a diksyonè, se konsa Lè sa a, mwen pral endike 641 00:57:15,500 --> 00:57:21,660 ki se sa ki valid. 642 00:57:21,660 --> 00:57:28,370 Si m 'sispann sekans mwen la, ki ta ka kòrèk. 643 00:57:28,370 --> 00:57:33,050 Men, si nou kontinye sekans nou yo soti nan foo desann nan B 644 00:57:33,050 --> 00:57:39,750 ak jis te gen FOOB, FOOB se pa yon mo, ak ki pa nan endike kòm yon yon sèl ki valid. 645 00:57:47,370 --> 00:57:57,600 Nan yon trye, ou te tout ne endike si li nan yon mo ki valab oswa ou pa, 646 00:57:57,600 --> 00:58:05,840 ak Lè sa a, chak ne tou te gen yon seri 27 endikasyon ne 647 00:58:05,840 --> 00:58:09,520 ki Lè sa a, pwen nan nœuds tèt yo. 648 00:58:09,520 --> 00:58:12,940 >> Isit la se yon fason pou ki jan ou ta ka vle defini sa a. 649 00:58:12,940 --> 00:58:17,260 Sepandan, jis tankou nan egzanp lan tab regle, kote nou te gen yon tèt * ne 650 00:58:17,260 --> 00:58:21,320 pou montre pou nan konmansman an nan lye lis nou an, n ap tou ale nan vle 651 00:58:21,320 --> 00:58:29,150 kèk jan pou konnen ki kote nan konmansman an nan trye nou an se. 652 00:58:29,150 --> 00:58:34,110 Gen kèk rele moun ap eseye pyebwa, ak ki nan kote rasin soti nan. 653 00:58:34,110 --> 00:58:36,910 Se konsa, nou vle rasin pou pyebwa nou yo asire w ke nou rete chita 654 00:58:36,910 --> 00:58:39,570 tout kote trye nou an se. 655 00:58:42,910 --> 00:58:46,300 Nou deja kalite janbe 656 00:58:46,300 --> 00:58:50,240 wout la ou ta ka panse osijè de loading chak mo nan diksyonè a. 657 00:58:50,240 --> 00:58:54,540 Esansyèlman, pou tout pawòl w ap ale nan vle repekte nan trye ou 658 00:58:54,540 --> 00:58:59,590 ak konnen ke chak eleman nan timoun yo - nou te rele li timoun nan ka sa a - 659 00:58:59,590 --> 00:59:04,290 koresponn ak yon lèt diferan, w ap ale nan vle tcheke valè sa yo 660 00:59:04,290 --> 00:59:08,320 nan ki endèks patikilye ki koresponn ak lèt ​​la. 661 00:59:08,320 --> 00:59:11,260 Se konsa, panse tout wout la tounen nan Seza tande kòz ak Vigenere, 662 00:59:11,260 --> 00:59:16,070 konnen ke chak lèt ​​nou ekri ou kapab kalite kat jeyografik tounen nan yon endèks alfabetik, 663 00:59:16,070 --> 00:59:20,690 definitivman A jiska Z a pwal trè fasil a kat nan yon lèt alfabetik, 664 00:59:20,690 --> 00:59:25,200 men malerezman, apostrof yo se tou yon karaktè akseptab nan mo yo. 665 00:59:25,200 --> 00:59:31,650 Mwen pa menm asire ki sa valè a ASCII se, 666 00:59:31,650 --> 00:59:39,250 konsa pou ke si ou vle jwenn yon endèks deside si ou vle li nan dwe youn nan premye 667 00:59:39,250 --> 00:59:44,550 oswa yon sèl nan sot pase yo, ou pral oblije fè yon difisil chèk kode pou sa 668 00:59:44,550 --> 00:59:48,930 ak Lè sa a, mete sa nan, 26 endèks pou egzanp. 669 00:59:48,930 --> 00:59:55,300 Se konsa, Lè sa a, w ap tcheke valè a nan timoun yo [mwen] 670 00:59:55,300 --> 00:59:58,400 kote [mwen] koresponn ak tou sa lèt ou nan. 671 00:59:58,400 --> 01:00:04,110 Si sa a, se nil, sa vle di ke pa genyen yon kounye a nenpòt lèt posib 672 01:00:04,110 --> 01:00:08,150 isu de ki sekans anvan, se konsa w ap ale nan vle malok 673 01:00:08,150 --> 01:00:13,150 epi fè yon ne ak nouvo gen ke timoun yo [mwen] pwen nan li 674 01:00:13,150 --> 01:00:17,890 pou ke ou kreye - lè nou antre yon lèt nan rektang lan - 675 01:00:17,890 --> 01:00:23,680 fè timoun yo ki pa nil epi pwen nan ki ne nouvo. 676 01:00:23,680 --> 01:00:28,340 Men, si sa se pa nil, renmen nan egzanp nou an foo 677 01:00:28,340 --> 01:00:34,570 lè nou te deja gen foutbar, nou ap kontinye, 678 01:00:34,570 --> 01:00:44,010 epi nou pa se tout tan fè yon ne nouvo men pito jis mete is_word vre 679 01:00:44,010 --> 01:00:47,790 nan fen mo sa a. 680 01:00:50,060 --> 01:00:55,340 >> Se konsa, Lè sa a, tankou anvan, paske isit la w ap fè fas ak chak lèt ​​nou ekri nan yon tan, 681 01:00:55,340 --> 01:01:01,470 li pral pi fasil pou ou pou gwosè, olye pou yo gen kalkile 682 01:01:01,470 --> 01:01:06,910 epi ale nan pye bwa an antye ak kalkile konbyen timoun mwen gen 683 01:01:06,910 --> 01:01:10,850 ak Lè sa a, branch koupe, sonje ki jan anpil nan yo ki sou bò gòch ak sou bò dwat la 684 01:01:10,850 --> 01:01:12,850 ak bagay sa yo tankou sa, li la pral gen yon anpil pi fasil pou ou 685 01:01:12,850 --> 01:01:16,220 si ou jis kenbe tras nan konbyen mo w ap ajoute nan 686 01:01:16,220 --> 01:01:18,080 lè w ap fè fas ak chaj. 687 01:01:18,080 --> 01:01:22,630 Se konsa, Lè sa a, ki gwosè fason ka jis retounen yon varyab mondyal de gwosè. 688 01:01:25,320 --> 01:01:28,530 >> Koulye a, nou vin jwenn chèk la. 689 01:01:28,530 --> 01:01:33,920 Estanda menm jan anvan, kote nou vle pèmèt pou ensansibilite ka. 690 01:01:33,920 --> 01:01:40,400 Osi byen, nou asime ke strings yo yo, se sèlman alfabetik karaktè oswa apostrof yo 691 01:01:40,400 --> 01:01:44,000 paske timoun se yon etalaj de 27 tan, 692 01:01:44,000 --> 01:01:48,480 se konsa tout lèt yo nan alfabè an plis apostwòf la. 693 01:01:48,480 --> 01:01:53,800 Pou tcheke sa ki ou pral vle fè se ou pral vle kòmanse nan rasin lan 694 01:01:53,800 --> 01:01:58,440 paske rasin lan ap lonje dwèt sou yon etalaj ki gen 695 01:01:58,440 --> 01:02:01,630 tout lèt yo posib kòmanse nan yon mo. 696 01:02:01,630 --> 01:02:03,680 W ap ale nan kòmanse a, 697 01:02:03,680 --> 01:02:11,590 ak Lè sa a, w ap ale nan tcheke sa a nil valè oswa ou pa, 698 01:02:11,590 --> 01:02:16,490 paske si valè a se nil, ki vle di ke diksyonè a pa gen okenn valè 699 01:02:16,490 --> 01:02:21,480 ki gen lèt sa a nan ki lòd patikilye. 700 01:02:21,480 --> 01:02:24,970 Si nil li a, Lè sa a, ki vle di ke pawòl la se mal ekri touswit. 701 01:02:24,970 --> 01:02:27,110 Men, si li pa nil, lè sa a ou ka kontinye, 702 01:02:27,110 --> 01:02:34,090 di ke lèt premye se yon lèt posib an premye nan yon mo, 703 01:02:34,090 --> 01:02:40,630 Se konsa koulye a, mwen vle tcheke si lèt, dezyèm lan, ki sekans, se nan diksyonè m 'yo. 704 01:02:40,630 --> 01:02:46,540 Se konsa, w ap ale pou yo ale nan endèks la nan timoun yo nan ne an premye 705 01:02:46,540 --> 01:02:50,720 ak tcheke si lèt sa a dezyèm egziste. 706 01:02:50,720 --> 01:02:57,440 Lè sa a, ou repete pwosesis sa a yo tcheke si wi ou non ke sekans a valab oswa pa 707 01:02:57,440 --> 01:02:59,060 nan trye ou a. 708 01:02:59,060 --> 01:03:06,430 Chak fwa timoun yo ne nan ki pwen endèks nil, 709 01:03:06,430 --> 01:03:10,710 ou konnen ke ke sekans pa egziste, 710 01:03:10,710 --> 01:03:16,230 men Lè sa a, si ou rive nan fen ki gen mo a ke ou te antre, 711 01:03:16,230 --> 01:03:20,070 Lè sa a, ou vle tcheke kounye a ke mwen te fin ranpli sa a sekans 712 01:03:20,070 --> 01:03:27,610 epi li te jwenn li nan trye m 'yo, se mo sa a valab oswa ou pa? 713 01:03:27,610 --> 01:03:32,480 Se konsa, lè sa a ou vle tcheke sa, epi ki nan lè si ou te jwenn ke sekans, 714 01:03:32,480 --> 01:03:35,120 Lè sa a, ou vle tcheke si mo sa a se valid oswa ou pa 715 01:03:35,120 --> 01:03:40,290 paske sonje tounen nan ka a anvan ke mwen te trase ki kote nou te gen FOOB, 716 01:03:40,290 --> 01:03:48,410 sa ki te yon sekans ki valab ke nou te jwenn, men pa t yon vrè mo ki valab tèt li. 717 01:03:50,570 --> 01:03:59,000 >> Menm jan tou, pou debake nan ap eseye sa yo ou vle debake tout nœuds yo ki nan trye ou a. 718 01:03:59,000 --> 01:04:04,790 Sorry. Menm jan ak tab yo regle kote nan debake nou libere tout nœuds yo, 719 01:04:04,790 --> 01:04:09,740 nan ap eseye sa yo nou vle tou libere tout nœuds yo. 720 01:04:09,740 --> 01:04:15,000 Debake pral aktyèlman ap travay pi fasil anba nan fon nan tèt 721 01:04:15,000 --> 01:04:19,290 paske sa yo, se esansyèlman lye lis. 722 01:04:19,290 --> 01:04:22,540 Se konsa, nou vle asire ke nou kenbe fèm nan fè tout valè yo a 723 01:04:22,540 --> 01:04:25,700 ak gratis tout nan yo klèman. 724 01:04:25,700 --> 01:04:28,840 Ki sa ki w ap ale nan vle fè si w ap travay ak yon trye 725 01:04:28,840 --> 01:04:35,640 se pou vwayaje pou ale anba a ak gratis ne ki pi ba posib premye 726 01:04:35,640 --> 01:04:39,190 ak Lè sa a, moute al tout moun ki timoun yo ak Lè sa a, gratis tout moun sa yo, 727 01:04:39,190 --> 01:04:43,050 ale leve, li Lè sa a, gratis, elatriye 728 01:04:43,050 --> 01:04:48,790 Kalite tankou fè fas ak kouch nan anba nan trye premye a 729 01:04:48,790 --> 01:04:51,940 ak Lè sa a, moute tèt yon fwa ou te libere tout bagay. 730 01:04:51,940 --> 01:04:56,720 Sa a se yon bon ekzanp de kote repetitif fonksyon ta ka vini an sou la men. 731 01:04:56,720 --> 01:05:03,830 Yon fwa ou te libere kouch nan anba nan trye ou a, 732 01:05:03,830 --> 01:05:08,000 Lè sa a, ou rele debake sou rès la nan li, 733 01:05:08,000 --> 01:05:13,620 fè asire w ke ou libere chak mini - 734 01:05:13,620 --> 01:05:16,410 Ou ka kalite visualized li kòm ap eseye mini. 735 01:05:23,300 --> 01:05:28,990 Se konsa, ou gen rasin ou isit la. 736 01:05:30,840 --> 01:05:35,230 Mwen jis senplifye li Se konsa, mwen pa gen fè desen 26 nan yo. 737 01:05:37,250 --> 01:05:43,770 Se konsa, ou gen sa yo, li Lè sa a, sa yo reprezante sekans nan mo 738 01:05:43,770 --> 01:05:54,620 kote tout moun sa yo ti sèk ti kras yo se lèt ki sekans ki valab lèt yo. 739 01:06:03,040 --> 01:06:07,160 Se pou nou kontinye jis yon ti jan pi plis. 740 01:06:15,110 --> 01:06:25,750 Ki sa ki w ap ale nan vle fè se gratis anba a isit la ak Lè sa a, gratis yon sèl sa a 741 01:06:25,750 --> 01:06:31,640 ak Lè sa a, gratis yon sèl sa a nan pati anba a anvan ou libere yon sèl nan tèt moute isit la 742 01:06:31,640 --> 01:06:38,180 paske si w gratis yon bagay nan nivo nan dezyèm isit la, 743 01:06:38,180 --> 01:06:47,230 Lè sa a, ou aktyèlman ta pèdi sa a valè isit la. 744 01:06:47,230 --> 01:06:54,780 Se poutèt sa li enpòtan nan debake pou yon trye a asire w ke ou libere anba a an premye. 745 01:06:54,780 --> 01:06:59,480 Ki sa ki ou ta ka vle fè se di pou chak ne 746 01:06:59,480 --> 01:07:06,430 Mwen vle debake tout timoun yo. 747 01:07:16,060 --> 01:07:22,140 >> Kounye a ke nou te fin janbe debake pou metòd la tab regle kòm byen ke metòd la trye, 748 01:07:22,140 --> 01:07:27,020 nou pral vle gade nan Valgrind. 749 01:07:27,020 --> 01:07:29,640 Valgrind ou kouri ak kòmandman sa yo. 750 01:07:29,640 --> 01:07:32,700 Ou gen valgrind-V. 751 01:07:32,700 --> 01:07:40,960 W ap tcheke pou tout fwit lè ou kouri ortograf bay tèks sa a sèten 752 01:07:40,960 --> 01:07:46,980 paske ortograf bezwen pran nan yon dosye tèks. 753 01:07:46,980 --> 01:07:52,330 Se konsa, Valgrind pral kouri pwogram ou an, di ou kouman anpil bytes ou resevwa lajan, 754 01:07:52,330 --> 01:07:57,150 konbyen bytes ou libere, epi li pral di ou si ou libere jis ase 755 01:07:57,150 --> 01:07:58,930 oswa si ou pa t 'gratis ase, 756 01:07:58,930 --> 01:08:02,850 oswa pafwa ou ka menm sou-gratis, tankou ne gratis yon ki nan yo te deja te libere 757 01:08:02,850 --> 01:08:05,140 ak se konsa li ap retounen ou erè. 758 01:08:05,140 --> 01:08:11,600 Si ou itilize Valgrind, li pral ba ou kèk mesaj 759 01:08:11,600 --> 01:08:15,970 endike si ou te libere swa mwens pase ase, jis ase, 760 01:08:15,970 --> 01:08:19,609 oswa plis pase fwa ase. 761 01:08:24,370 --> 01:08:30,410 >> Yon pati nan sa a pset, li la si ou vle bay defi Konsèy Administrasyon Big. 762 01:08:30,410 --> 01:08:35,790 Men, lè nou ap fè fas ak sa yo estrikti done 763 01:08:35,790 --> 01:08:40,689 li nan kalite plezi yo wè ki jan byen vit ak ki jan efikas estrikti done ou te kapab. 764 01:08:40,689 --> 01:08:44,490 Èske rezilta fonksyon regle ou a nan yon anpil nan kolizyon? 765 01:08:44,490 --> 01:08:46,300 Oswa se gwosè done ou reyèlman gwo? 766 01:08:46,300 --> 01:08:49,420 li pran yon anpil nan tan yo Traverse? 767 01:08:49,420 --> 01:08:54,800 Nan boutèy la, ortograf, li sorti konbyen tan ou sèvi ak chaj, 768 01:08:54,800 --> 01:08:57,700 yo tcheke, fè gwosè, ak debake, 769 01:08:57,700 --> 01:09:00,720 ak sa moun yo afiche nan Komisyon Konsèy la Big, 770 01:09:00,720 --> 01:09:03,600 ki kote ou ka konpetisyon kont lòt elèv nan klas ou a 771 01:09:03,600 --> 01:09:11,350 ak kèk manm pèsonèl la yo wè moun ki gen pi rapid période-korektè a. 772 01:09:11,350 --> 01:09:14,760 Youn nan bagay ki mwen ta renmen note sou tab yo regle 773 01:09:14,760 --> 01:09:20,470 se ke gen kèk trè senp fonksyon regle ke nou te ka panse a. 774 01:09:20,470 --> 01:09:27,240 Pou egzanp, ou gen 26 bokit yo, ak konsa chak bokit 775 01:09:27,240 --> 01:09:30,200 koresponn ak lèt ​​la an premye nan yon mo, 776 01:09:30,200 --> 01:09:35,229 men sa a pral rezilta nan yon tab bèl dezekilib regle 777 01:09:35,229 --> 01:09:40,979 paske gen yon lot mwens mo ki kòmanse ak X pase kòmanse avèk M, pou egzanp. 778 01:09:40,979 --> 01:09:47,890 Youn nan fason yo ale sou ortograf se si ou vle jwenn tout nan fonctionnalités a lòt desann, 779 01:09:47,890 --> 01:09:53,240 Lè sa a, jis itilize yon senp fonksyon regle pou kapab jwenn kòd ou a kouri 780 01:09:53,240 --> 01:09:58,650 ak Lè sa a, tounen ladan l epi chanje gwosè a nan tab regle ou ak definisyon an. 781 01:09:58,650 --> 01:10:03,430 Gen yon anpil nan resous sou entènèt la pou fonksyon regle, 782 01:10:03,430 --> 01:10:08,250 epi konsa pou sa a pset yo ka pèmèt ou fè rechèch sou fonksyon regle sou entènèt la 783 01:10:08,250 --> 01:10:15,560 pou kèk sijesyon ak enspirasyon osi lontan ke ou asire w ke w site kote ou te resevwa li nan men. 784 01:10:15,560 --> 01:10:22,060 Ou se Byenveni nan gade ak entèprete kèk fonksyon regle ke ou jwenn sou entènèt la. 785 01:10:22,060 --> 01:10:27,460 Retounen nan sa, ou ka kapab wè si yon moun te itilize yon trye 786 01:10:27,460 --> 01:10:31,700 si aplikasyon yo se pi vit pase tab regle ou oswa ou pa. 787 01:10:31,700 --> 01:10:35,290 Ou ka soumèt bay Komisyon Konsèy la Big plizyè fwa. 788 01:10:35,290 --> 01:10:37,660 Li pral anrejistre antre ki pi resan ou a. 789 01:10:37,660 --> 01:10:44,300 Se konsa, petèt ou chanje fonksyon regle ou ak Lè sa a, reyalize ke li la aktyèlman yon anpil pi vit 790 01:10:44,300 --> 01:10:46,780 oswa yon anpil pi dousman pase anvan. 791 01:10:46,780 --> 01:10:50,960 Sa a se yon ti jan nan yon fason amizan. 792 01:10:50,960 --> 01:10:57,190 Genyen toujou 1 oswa 2 anplwaye ki eseye fè diksyonè a plus sa posib, 793 01:10:57,190 --> 01:11:00,210 pou ki nan toujou plezi gade. 794 01:11:00,210 --> 01:11:07,630 >> L 'a pou pset a se ou kouri ortograf ak yon diksyonè si ou vle 795 01:11:07,630 --> 01:11:12,840 ak Lè sa a, yon dosye tèks obligatwa. 796 01:11:12,840 --> 01:11:18,380 Pa default lè ou kouri ortograf ak jis yon dosye tèks yo epi pa presize yon diksyonè, diksyonè 797 01:11:18,380 --> 01:11:24,410 li pral sèvi ak dosye a tèks diksyonè, yon sèl nan gwo 798 01:11:24,410 --> 01:11:27,920 nan dosye a cs50/pset5/dictionaries. 799 01:11:27,920 --> 01:11:32,760 Ke youn gen plis pase 100,000 mo yo. 800 01:11:32,760 --> 01:11:37,950 Yo menm tou yo gen yon diksyonè ti ki te gen konsiderabman mwens mo 801 01:11:37,950 --> 01:11:40,730 ki CS50 te fè pou ou. 802 01:11:40,730 --> 01:11:44,050 Sepandan, ou ka trè fasil jis fè diksyonè pwòp ou a 803 01:11:44,050 --> 01:11:47,150 si ou jis vle yo k ap travay nan egzanp ti - 804 01:11:47,150 --> 01:11:51,140 pou egzanp, si ou vle itilize gdb epi ou konnen valè yo espesifik 805 01:11:51,140 --> 01:11:53,560 ke ou vle tab regle ou a kat soti nan. 806 01:11:53,560 --> 01:12:00,430 Se konsa, ou jis ka fè dosye pwòp tèks ou jis ak BAR, Baz, foo, ak foutbar, 807 01:12:00,430 --> 01:12:04,860 fè sa nan yon dosye tèks, separe sa yo chak avèk 1 liy, 808 01:12:04,860 --> 01:12:12,670 ak Lè sa a, fè dosye pwòp tèks ou ki literalman sèlman gen petèt 1 oswa 2 mo 809 01:12:12,670 --> 01:12:15,950 pou ke ou konnen ekzakteman ki sa pwodiksyon an ta dwe. 810 01:12:15,950 --> 01:12:21,870 Gen kèk nan dosye yo tèks echantiyon ki Komisyon Konsèy la Big lè ou kouri defi pral tcheke pou wè 811 01:12:21,870 --> 01:12:25,580 yo se Gè ak Lapè ak yon Jane roman Austen oswa yon bagay tankou sa. 812 01:12:25,580 --> 01:12:30,450 Se konsa, lè w ap kòmanse soti, li nan yon anpil pi fasil yo fè dosye pwòp tèks ou 813 01:12:30,450 --> 01:12:34,160 ki gen sèlman yon koup nan mo oswa petèt 10 814 01:12:34,160 --> 01:12:38,280 pou ke ou ka predi kisa ki rezilta a yo ta dwe 815 01:12:38,280 --> 01:12:42,880 ak Lè sa a, tcheke li kont ke, se konsa plis nan yon egzanp kontwole. 816 01:12:42,880 --> 01:12:45,820 Se konsa, depi nou ap fè fas ak predi ak desen bagay alantou li, 817 01:12:45,820 --> 01:12:48,690 ankò mwen vle pou ankouraje w sèvi ak plim ak papye 818 01:12:48,690 --> 01:12:50,700 paske li nan reyèlman ale nan ede ou avèk yon sèl sa a - 819 01:12:50,700 --> 01:12:55,620 desen flèch yo, ki jan tab la regle oswa ki jan trye ou sanble, 820 01:12:55,620 --> 01:12:57,980 lè w ap libere yon bagay kote flèch yo prale a, 821 01:12:57,980 --> 01:13:01,730 ou menm ki kenbe sou ase, ou wè nenpòt lyen toudènyeman 822 01:13:01,730 --> 01:13:05,750 ak tonbe nan gwo twou san fon an nan fwit memwa. 823 01:13:05,750 --> 01:13:11,070 Se konsa, tanpri, tanpri eseye trase bagay sa yo deyò anvan menm ou jwenn yo ekri kòd desann. 824 01:13:11,070 --> 01:13:14,520 Trase bagay sa yo deyò pou ke ou konprann ki jan bagay yo ap mache nan travay 825 01:13:14,520 --> 01:13:22,750 paske lè sa a mwen garanti ou pral kouri antre nan mwens muddles konsèy la. 826 01:13:24,270 --> 01:13:25,910 >> Tout dwa. 827 01:13:25,910 --> 01:13:28,780 Mwen vle swete w anpil pi bon an nan chans ak sa a pset. 828 01:13:28,780 --> 01:13:31,980 Li pwobableman youn ki pi difisil. 829 01:13:31,980 --> 01:13:40,360 Se konsa, eseye kòmanse byen bonè, trase bagay sa yo deyò a, trase bagay sa yo deyò, ak bòn chans. 830 01:13:40,360 --> 01:13:42,980 Sa a te solisyon 5. 831 01:13:45,160 --> 01:13:47,000 >> [CS50.TV]