1 00:00:00,000 --> 00:00:12,350 >> [Seinm ceoil] 2 00:00:12,350 --> 00:00:13,050 >> ROB BOWDEN: Dia duit. 3 00:00:13,050 --> 00:00:13,640 Tá mé Rob. 4 00:00:13,640 --> 00:00:16,210 Agus a ligean ar an réiteach seo amach. 5 00:00:16,210 --> 00:00:20,070 Mar sin anseo táimid ag dul a chur i bhfeidhm tábla ginearálta. 6 00:00:20,070 --> 00:00:24,090 Feicimid go bhfuil an nód struct ar ár Tá tábla ag dul chun breathnú cosúil le seo. 7 00:00:24,090 --> 00:00:28,710 Mar sin, tá sé ag dul a bheith acu focal ruabhreac sraith de mhéid FAD + 1. 8 00:00:28,710 --> 00:00:32,259 Ná déan dearmad ar an + 1, ós rud é an t-uasmhéid Is é an focal san fhoclóir 45 9 00:00:32,259 --> 00:00:33,130 carachtair. 10 00:00:33,130 --> 00:00:37,070 Agus ansin tá muid ag dul go dtí gá amháin breise carachtar le haghaidh an náid cúlslais. 11 00:00:37,070 --> 00:00:40,870 >> Agus ansin ár hashtable i ngach Tá buicéad ag dul a stóráil ar 12 00:00:40,870 --> 00:00:42,320 liosta nasctha de nóid. 13 00:00:42,320 --> 00:00:44,420 Nach bhfuil muid ag déanamh líneach deacra anseo. 14 00:00:44,420 --> 00:00:48,430 Agus mar sin d'fhonn a nascadh leis an chéad cheann eile eilimint sa buicéad, ní mór dúinn a 15 00:00:48,430 --> 00:00:50,390 nód struct * chugainn. 16 00:00:50,390 --> 00:00:51,110 OK. 17 00:00:51,110 --> 00:00:53,090 Mar sin, go bhfuil an méid Breathnaíonn nód cosúil. 18 00:00:53,090 --> 00:00:56,180 >> Anois tá anseo an dearbhú ár n-hashtable. 19 00:00:56,180 --> 00:00:59,640 Tá sé ag dul a bheith 16,834 buicéid. 20 00:00:59,640 --> 00:01:01,910 Ach ní go bhfuil uimhir ábhar i ndáiríre. 21 00:01:01,910 --> 00:01:05,450 Agus ar deireadh, táimid ag dul a bheith acu ar an méid hashtable domhanda athraitheach, atá 22 00:01:05,450 --> 00:01:07,000 Tá dul chun tús a chur amach mar nialas. 23 00:01:07,000 --> 00:01:10,760 Agus tá sé ag dul súil a choinneáil ar conas a Tá go leor focail i ár foclóir. 24 00:01:10,760 --> 00:01:13,710 >> Mar sin, a ligean ar ghlacadh le breathnú ar ualach. 25 00:01:13,710 --> 00:01:16,390 Fógra go bhfuil ualach, tuairisceáin sé bool. 26 00:01:16,390 --> 00:01:20,530 Tá tú ar ais fíor má bhí sé rathúil luchtaithe, agus bréagach ar shlí eile. 27 00:01:20,530 --> 00:01:23,990 Agus a thógann sé ruabhric CONST * foclóir, a bhfuil an foclóir 28 00:01:23,990 --> 00:01:25,280 gur mhaith linn a oscailt. 29 00:01:25,280 --> 00:01:27,170 Mar sin, go bhfuil an chéad rud táimid ag dul a dhéanamh. 30 00:01:27,170 --> 00:01:29,500 >> Táimid ag dul a fopen an foclóir le haghaidh léamh. 31 00:01:29,500 --> 00:01:31,680 Agus táimid ag dul a bheith acu a dhéanamh cinnte go d'éirigh sé. 32 00:01:31,680 --> 00:01:35,920 Mar sin, má d'fhill sé NULLComment, ansin ní raibh muid rathúil an foclóir a oscailt. 33 00:01:35,920 --> 00:01:37,440 Agus ní mór dúinn a thabhairt ar ais bréagach. 34 00:01:37,440 --> 00:01:41,580 Ach ag glacadh leis go raibh sé go rathúil oscailte, ansin ba mhaith linn a léamh ar an 35 00:01:41,580 --> 00:01:42,400 foclóir. 36 00:01:42,400 --> 00:01:46,450 Mar sin a choinneáil go dtí go bhfaighidh muid roinnt looping chúis a bhriseadh amach as an lúb, 37 00:01:46,450 --> 00:01:47,570 a beidh orainn a fheiceáil. 38 00:01:47,570 --> 00:01:48,920 Mar sin a choinneáil looping. 39 00:01:48,920 --> 00:01:51,780 >> Agus anois táimid ag dul chun malloc nód amháin. 40 00:01:51,780 --> 00:01:54,020 Agus ar ndóigh ní mór dúinn chun aer a sheiceáil arís. 41 00:01:54,020 --> 00:01:58,680 Mar sin, más rud é nach raibh mallocing éireoidh, ansin ba mhaith linn a dhíluchtú ar bith nód go bhfuil muid 42 00:01:58,680 --> 00:02:02,590 a tharla do malloc roimh, dún an foclóir agus seol ar ais bréagach. 43 00:02:02,590 --> 00:02:06,830 Ach neamhaird a bhfuil, ag glacadh leis againn d'éirigh leis, ansin ba mhaith linn a úsáid fscanf 44 00:02:06,830 --> 00:02:12,400 focal amháin a léamh as ár dictionary isteach inár nód. 45 00:02:12,400 --> 00:02:17,940 Mar sin, cuimhnigh go iontráil> focal an ruabhreac Maolán focal de mhéid LENGHTH + 1 46 00:02:17,940 --> 00:02:20,300 go bhfuil muid ag dul a stóráil an focal isteach 47 00:02:20,300 --> 00:02:25,070 >> Mar sin, tá fscanf ag dul a thabhairt ar ais 1, chomh fada mar a bhí sé in ann a go rathúil 48 00:02:25,070 --> 00:02:26,750 Léigh focal as an comhad. 49 00:02:26,750 --> 00:02:30,460 Má tharlaíonn ceachtar earráid, nó dúinn teacht ar an deireadh an chomhaid, sé 50 00:02:30,460 --> 00:02:31,950 Ní bheidh ar ais 1. 51 00:02:31,950 --> 00:02:35,180 Sa chás sin ní chuireann sé ar ais 1, táimid ag dul ar deireadh a bhriseadh amach as 52 00:02:35,180 --> 00:02:37,280 an lúb fad. 53 00:02:37,280 --> 00:02:42,770 Mar sin, a fheicimid go bhfuil nuair a bhíonn againn go rathúil Léigh focal isteach 54 00:02:42,770 --> 00:02:48,270 iontráil> focal, ansin tá muid ag dul go dtí go focal baint úsáide as ár fheidhm hash. 55 00:02:48,270 --> 00:02:49,580 >> A ligean ar ghlacadh le breathnú ar an fheidhm hash. 56 00:02:49,580 --> 00:02:52,430 57 00:02:52,430 --> 00:02:55,610 Mar sin, ní gá duit i ndáiríre a thuiscint seo. 58 00:02:55,610 --> 00:02:59,460 Agus i ndáiríre tharraing muid díreach tar éis seo hash feidhmiú as an idirlíon. 59 00:02:59,460 --> 00:03:04,010 Is é an rud ach ní mór duit a aithint go nglacann an ruabhric CONST * focal. 60 00:03:04,010 --> 00:03:08,960 Mar sin, tá sé ag cur ar shraith mar ionchur, agus filleadh ar an slánuimhir gan síniú mar aschur. 61 00:03:08,960 --> 00:03:12,360 Mar sin, sin uile feidhm hash é, tá sé Bíonn i ionchur agus tugann tú 62 00:03:12,360 --> 00:03:14,490 innéacs isteach sa hashtable. 63 00:03:14,490 --> 00:03:18,530 >> Fógra go bhfuil muid ag moding ag NUM_BUCKETS, ionas go mbeidh luach ar ais 64 00:03:18,530 --> 00:03:21,730 i ndáiríre innéacs isteach sa hashtable agus ní dhéanann innéacs thar an 65 00:03:21,730 --> 00:03:24,320 theorainn an eagar. 66 00:03:24,320 --> 00:03:28,060 Mar sin, ós rud é go fheidhm, táimid ag dul a hash an focal a léamh againn ar an 67 00:03:28,060 --> 00:03:29,390 foclóir. 68 00:03:29,390 --> 00:03:31,700 Agus ansin tá muid ag dul a úsáid go hash a chur isteach ar an 69 00:03:31,700 --> 00:03:33,750 iontráil isteach sa hashtable. 70 00:03:33,750 --> 00:03:38,520 >> Is hash Anois hashtable reatha liosta nasctha sa tábla. 71 00:03:38,520 --> 00:03:41,410 Agus tá sé an-is féidir go bhfuil sé ach NULLComment. 72 00:03:41,410 --> 00:03:44,960 Ba mhaith linn a chur isteach ar ár iontrála ag na tús an liosta seo nasctha. 73 00:03:44,960 --> 00:03:48,600 Agus mar sin táimid ag dul a bheith acu ar ár reatha pointe iontrála ar cad é an hashtable 74 00:03:48,600 --> 00:03:50,380 pointí faoi láthair. 75 00:03:50,380 --> 00:03:53,310 Agus ansin tá muid ag dul a stóráil, sa hashtable ag an 76 00:03:53,310 --> 00:03:55,350 hais, an iontráil reatha. 77 00:03:55,350 --> 00:03:59,320 Mar sin, an dá líne isteach go rathúil an iontráil ag tús na 78 00:03:59,320 --> 00:04:02,260 liosta nasctha ag an innéacs sa hashtable. 79 00:04:02,260 --> 00:04:04,900 >> Nuair a bhíonn muid ag déanamh leis sin, tá a fhios againn go raibh muid focal eile sa 80 00:04:04,900 --> 00:04:07,790 foclóir, agus incrimintí againn arís. 81 00:04:07,790 --> 00:04:13,960 Mar sin, a choinneáil orainn é sin a dhéanamh go dtí go fscanf ar deireadh ar ais rud éigin neamh-1 ag 82 00:04:13,960 --> 00:04:16,950 a pointe cuimhnigh go ní mór dúinn dul isteach saor in aisce. 83 00:04:16,950 --> 00:04:19,459 Mar sin, suas anseo malloced againn iontráil. 84 00:04:19,459 --> 00:04:21,329 Agus iarracht muid rud éigin a léamh as an bhfoclóir. 85 00:04:21,329 --> 00:04:23,910 Agus ní raibh muid ag léamh go rathúil rud éigin as an bhfoclóir, i 86 00:04:23,910 --> 00:04:26,650 chás sin ní mór dúinn saor in aisce leis an iontráil go bhfuil muid riamh a chur i ndáiríre isteach sa 87 00:04:26,650 --> 00:04:29,140 hashtable, agus ar deireadh a bhriseadh. 88 00:04:29,140 --> 00:04:32,750 >> Nuair a briseadh muid amach is gá dúinn a fheiceáil, go maith, raibh muid briseadh amach toisc go 89 00:04:32,750 --> 00:04:34,360 ndearnadh earráid ag léamh as an gcomhad? 90 00:04:34,360 --> 00:04:37,120 Nó an raibh muid ag briseadh amach mar gheall orainn shroich an deireadh an chomhaid? 91 00:04:37,120 --> 00:04:39,480 Má bhí earráid, ansin ba mhaith linn a thabhairt ar ais bréagach. 92 00:04:39,480 --> 00:04:40,930 Toisc nach raibh ualach éireoidh. 93 00:04:40,930 --> 00:04:43,890 Agus sa phróiseas ba mhaith linn a dhíluchtú na bhfocal go léir a léigh muid i, agus 94 00:04:43,890 --> 00:04:45,670 an comhad a dhúnadh foclóir. 95 00:04:45,670 --> 00:04:48,740 >> Ag glacadh leis raibh muid éireoidh, ansin dúinn ach gá fós a dhúnadh ar an bhfoclóir 96 00:04:48,740 --> 00:04:53,040 comhad, agus ar deireadh ar ais fíor ós rud é againn luchtaithe go rathúil ar an bhfoclóir. 97 00:04:53,040 --> 00:04:54,420 Agus sin é do ualach. 98 00:04:54,420 --> 00:04:59,020 Mar sin a sheiceáil anois, tugtar hashtable luchtaithe, Tá dul chun breathnú cosúil le seo. 99 00:04:59,020 --> 00:05:03,140 Mar sin a sheiceáil, tuairisceáin sé bool, a bhfuil dul lena léiriú cé acu an rith 100 00:05:03,140 --> 00:05:07,530 i ruabhric * focal, cibé acu an rith i dteaghrán i ár foclóir. 101 00:05:07,530 --> 00:05:09,890 Mar sin, má tá sé sa bhfoclóir, má tá sé i ár hashtable, 102 00:05:09,890 --> 00:05:11,170 Beidh muid ar ais fíor. 103 00:05:11,170 --> 00:05:13,380 Agus más rud é nach bhfuil sé, beidh muid ar ais bréagach. 104 00:05:13,380 --> 00:05:17,740 >> Mar gheall ar seo a rith i focal, tá muid ag dul go dtí an focal hash. 105 00:05:17,740 --> 00:05:22,110 Anois tá an rud is tábhachtaí a aithint go ualach a fhios againn go bhfuil gach ceann de na 106 00:05:22,110 --> 00:05:23,820 focail táimid ag dul a bheith cás níos ísle. 107 00:05:23,820 --> 00:05:25,820 Ach anseo nach bhfuil muid cinnte. 108 00:05:25,820 --> 00:05:29,510 Má chur orainn le breathnú ar ár n-fheidhm hash, ár n-fheidhm hash iarbhír 109 00:05:29,510 --> 00:05:32,700 Is chásáil ísle gach carachtar an focal. 110 00:05:32,700 --> 00:05:37,940 Mar sin, beag beann ar an caipitlithe de focal, is é ár n-fheidhm hash an tuairisceán 111 00:05:37,940 --> 00:05:42,270 an t-innéacs céanna cibé an Is caipitlithe, mar a bheadh ​​sé a bheith 112 00:05:42,270 --> 00:05:45,280 thoghfar do litreacha beaga go hiomlán leagan den fhocal. 113 00:05:45,280 --> 00:05:46,600 Ceart go leor. 114 00:05:46,600 --> 00:05:49,790 Sin é ár n-innéacs isteach hashtable don fhocal seo. 115 00:05:49,790 --> 00:05:52,940 >> Anois tá sé seo le haghaidh lúb ag dul chun iterate thar an liosta nasctha 116 00:05:52,940 --> 00:05:55,000 go raibh ag an innéacs. 117 00:05:55,000 --> 00:05:59,610 Mar sin, faoi deara againn ag initializing iontráil a chur in iúl leis an innéacs. 118 00:05:59,610 --> 00:06:02,750 Táimid ag dul chun leanúint ar aghaidh cé iontráil! = NULLComment. 119 00:06:02,750 --> 00:06:07,770 Agus cuimhnigh go cothrom le dáta an pointeoir inár iontráil nasctha liosta = iontráil> seo chugainn. 120 00:06:07,770 --> 00:06:14,400 Mar sin, tá ár n-pointe iontrála reatha a an chéad mhír eile ar an liosta nasctha. 121 00:06:14,400 --> 00:06:19,250 >> Mar sin, le haghaidh gach iontrála ar an liosta nasctha, táimid ag dul strcasecmp a úsáid. 122 00:06:19,250 --> 00:06:20,330 Níl sé strcomp. 123 00:06:20,330 --> 00:06:23,780 Toisc arís, ba mhaith linn a rudaí a dhéanamh cás neamh-mhothálach. 124 00:06:23,780 --> 00:06:27,870 Mar sin, úsáidimid strcasecmp a chur i gcomparáid leis an focal ritheadh ​​gur tríd an 125 00:06:27,870 --> 00:06:31,860 fheidhm aghaidh an focal is é sin san iontráil seo. 126 00:06:31,860 --> 00:06:35,570 Má tuairisceáin sé náid, ciallaíonn sé go raibh ar chluiche, agus sa chás sin ba mhaith linn a 127 00:06:35,570 --> 00:06:36,630 ar ais fíor. 128 00:06:36,630 --> 00:06:39,590 Fuair ​​muid go rathúil leis an focal in ár hashtable. 129 00:06:39,590 --> 00:06:43,040 >> Más rud é nach raibh aon rud oiriúnach, ansin tá muid ag dul go dtí lúb arís agus féach ar an 130 00:06:43,040 --> 00:06:43,990 iontráil seo chugainn. 131 00:06:43,990 --> 00:06:47,640 Agus beidh muid ag leanúint ar aghaidh looping cé go Tá iontrálacha sa liosta seo nasctha. 132 00:06:47,640 --> 00:06:50,160 Cad a tharlaíonn má bhriseann muid as seo lúb? 133 00:06:50,160 --> 00:06:55,110 Ciallaíonn sé sin nach raibh againn teacht ar iontráil a mheaitseáil focal seo, agus sa chás sin 134 00:06:55,110 --> 00:07:00,220 táimid ar ais bréagach a chur in iúl go bhfuil ár Ní raibh hashtable bhfuil an focal seo. 135 00:07:00,220 --> 00:07:02,540 Agus sin seiceáil. 136 00:07:02,540 --> 00:07:04,790 >> Mar sin, a ligean ar ghlacadh le breathnú ar an méid. 137 00:07:04,790 --> 00:07:06,970 Tá Anois, méid dul a bheith simplí go leor. 138 00:07:06,970 --> 00:07:11,080 Ós rud é cuimhnigh i ualach, do gach focal fuair muid, incrimintithe muid domhanda 139 00:07:11,080 --> 00:07:12,880 méid hashtable athraitheach. 140 00:07:12,880 --> 00:07:16,480 Mar sin, tá an fheidhm méid dul díreach a thabhairt ar ais an athróg domhanda. 141 00:07:16,480 --> 00:07:18,150 Agus sin é. 142 00:07:18,150 --> 00:07:22,300 >> Anois, ar deireadh, ní mór dúinn a dhíluchtú foclóir nuair a tá gach rud a dhéanamh. 143 00:07:22,300 --> 00:07:25,340 Mar sin, conas a bhfuil muid ag dul a dhéanamh sin? 144 00:07:25,340 --> 00:07:30,440 Ceart anseo tá muid looping thar gach buicéid ár tábla. 145 00:07:30,440 --> 00:07:33,240 Mar sin, tá NUM_BUCKETS buicéid. 146 00:07:33,240 --> 00:07:37,410 Agus do gach liosta nasctha in ár hashtable, táimid ag dul go dtí lúb thar 147 00:07:37,410 --> 00:07:41,070 iomláine ar an liosta nasctha, freeing gach gné. 148 00:07:41,070 --> 00:07:42,900 >> Anois, ní mór dúinn a bheith cúramach. 149 00:07:42,900 --> 00:07:47,910 Mar sin, anseo ní mór dúinn athróg sealadach go bhfuil an pointeoir a stóráil go dtí an chéad cheann eile 150 00:07:47,910 --> 00:07:49,730 eilimint sa liosta nasctha. 151 00:07:49,730 --> 00:07:52,140 Agus ansin táimid ag dul go dtí saor in aisce an eilimint atá ann faoi láthair. 152 00:07:52,140 --> 00:07:55,990 Ní mór dúinn a bheith cinnte a dhéanaimid é seo ós rud é againn Ní féidir ach saor in aisce leis an eilimint atá ann faoi láthair 153 00:07:55,990 --> 00:07:59,180 agus ansin déan iarracht rochtain a fháil ar an pointeoir seo chugainn, ós rud é aon uair amháin atá againn freed sé, 154 00:07:59,180 --> 00:08:00,870 éiríonn an chuimhne neamhbhailí. 155 00:08:00,870 --> 00:08:04,990 >> Mar sin, ní mór dúinn a choinneáil timpeall ar pointeoir go an chéad bhall eile, ansin is féidir linn a saor in aisce ar an 156 00:08:04,990 --> 00:08:08,360 eilimint atá ann faoi láthair, agus ansin is féidir linn a thabhairt cothrom le dáta ár n-eilimint ann faoi láthair a chur in iúl do 157 00:08:08,360 --> 00:08:09,550 an chéad bhall eile. 158 00:08:09,550 --> 00:08:12,800 Beidh muid lúb cé go bhfuil gnéithe sa liosta seo nasctha. 159 00:08:12,800 --> 00:08:15,620 Beidh muid é sin a dhéanamh do gach nasctha liostaí sa hashtable. 160 00:08:15,620 --> 00:08:19,460 Agus nuair a bhfuil déanta againn leis sin, tá muid go hiomlán, á díluchtú an hashtable, agus 161 00:08:19,460 --> 00:08:20,190 táimid ag déanamh. 162 00:08:20,190 --> 00:08:23,200 Mar sin, tá sé dodhéanta do Díluchtaigh a thabhairt ar ais bréagach riamh. 163 00:08:23,200 --> 00:08:26,470 Agus nuair a bhíonn muid a dhéanamh, táimid ag ach ar ais fíor. 164 00:08:26,470 --> 00:08:29,000 >> A ligean ar thabhairt ar an réiteach a try. 165 00:08:29,000 --> 00:08:33,070 Mar sin a ligean ar ghlacadh le breathnú ar an méid ár n- Beidh nód struct cuma mhaith. 166 00:08:33,070 --> 00:08:36,220 Anseo feicimid táimid ag dul a bheith acu bool focal agus nód struct * leanaí 167 00:08:36,220 --> 00:08:37,470 ALPHABET lúibín. 168 00:08:37,470 --> 00:08:38,929 169 00:08:38,929 --> 00:08:42,020 Mar sin, an chéad rud a d'fhéadfadh tú a bheith wondering, is é an fáth ALPHABET 170 00:08:42,020 --> 00:08:44,660 ed a shainmhínítear mar an 27? 171 00:08:44,660 --> 00:08:47,900 Bhuel, cuimhnigh go bhfuil muid ag dul go dtí gá a bheith láimhseáil an uaschamóg. 172 00:08:47,900 --> 00:08:51,910 Mar sin, go bhfuil ag dul a bheith beagán de cás speisialta ar fud an chláir. 173 00:08:51,910 --> 00:08:54,710 >> Anois cuimhneamh conas a trie i ndáiríre oibreacha. 174 00:08:54,710 --> 00:08:59,380 Ligean le rá táimid ag innéacsú an focal "Cait." Ansin, as an fhréamh trie, 175 00:08:59,380 --> 00:09:02,610 táimid ag dul chun breathnú ar na páistí eagar, agus táimid ag dul chun breathnú ar an 176 00:09:02,610 --> 00:09:08,090 innéacs a fhreagraíonn don litir C. Mar sin, beidh a bheith innéacsaithe 2. 177 00:09:08,090 --> 00:09:11,530 Mar sin, ós rud é go, go mbeidh a thabhairt dúinn nód nua. 178 00:09:11,530 --> 00:09:13,820 Agus ansin beidh muid ag obair ón nód. 179 00:09:13,820 --> 00:09:17,770 >> Mar sin, ós rud é go nód, tá muid arís ag dul chun breathnú ar an eagar leanaí. 180 00:09:17,770 --> 00:09:22,110 Agus táimid ag dul chun breathnú ar innéacs náid a fhreagraíonn do an A i cat. 181 00:09:22,110 --> 00:09:27,170 Mar sin, ansin táimid ag dul chun dul go dtí an nód, agus ós rud é go nód táimid ag dul 182 00:09:27,170 --> 00:09:31,090 chun breathnú ar an deireadh tá sé ina fhreagraíonn le T. Agus bogadh ar aghaidh go dtí an nód, 183 00:09:31,090 --> 00:09:35,530 ar deireadh, ní mór dúinn d'fhéach sé go hiomlán tríd ár focal "cat." Agus anois bool 184 00:09:35,530 --> 00:09:40,960 Tá focal ceaptha chun léiriú cé acu tá an focal a tugadh i ndáiríre focal. 185 00:09:40,960 --> 00:09:43,470 >> Mar sin, cén fáth nach gá dúinn chás ar leith? 186 00:09:43,470 --> 00:09:47,700 Bhuel cad an focal "tubaiste" Tá ár foclóir, ach 187 00:09:47,700 --> 00:09:50,150 Ní focal "cat"? 188 00:09:50,150 --> 00:09:54,580 Mar sin, agus ag iarraidh a fheiceáil má tá an focal "cat" Tá i ár foclóir, tá muid 189 00:09:54,580 --> 00:09:59,970 dul chun breathnú go rathúil trí na hinnéacsanna C-A-T sa réigiún nód. 190 00:09:59,970 --> 00:10:04,290 Ach go ach amháin mar gheall tubaiste tharla do nóid ar an mbealach a chruthú 191 00:10:04,290 --> 00:10:07,190 ó C-A-T, léir ar an mbealach a an deireadh an fhocail. 192 00:10:07,190 --> 00:10:12,020 Mar sin, tá bool focal a úsáidtear lena léiriú cé acu an suíomh ar leith 193 00:10:12,020 --> 00:10:14,310 Léiríonn ndáiríre focal. 194 00:10:14,310 --> 00:10:15,140 >> Gach ceart. 195 00:10:15,140 --> 00:10:19,310 Mar sin, anois go bhfuil a fhios againn cad é trie é dul chun breathnú cosúil, a ligean ar breathnú ar an 196 00:10:19,310 --> 00:10:20,730 luchtú fheidhm. 197 00:10:20,730 --> 00:10:24,610 Mar sin, tá ualach ag dul a thabhairt ar ais bool do cibé éirigh linn nó 198 00:10:24,610 --> 00:10:26,720 luchtaithe nár éirigh leis an bhfoclóir. 199 00:10:26,720 --> 00:10:30,460 Agus is é seo ag dul a bheith ar an bhfoclóir go ba mhaith linn a luchtú. 200 00:10:30,460 --> 00:10:33,930 >> Is é sin an chéad rud a táimid a dhéanamh ar oscailt suas go foclóir chun é a léamh. 201 00:10:33,930 --> 00:10:36,160 Agus ní mór dúinn a dhéanamh cinnte Ní raibh muid theipeann. 202 00:10:36,160 --> 00:10:39,580 Mar sin, más rud é nach raibh an foclóir oscail go rathúil, beidh sé ar ais 203 00:10:39,580 --> 00:10:42,400 Eolas faoin margadh saothair, sa chás sin tá muid ag dul a thabhairt ar ais bréagach. 204 00:10:42,400 --> 00:10:47,230 Ach ag glacadh leis go bhfuil sé go rathúil oscail, ansin is féidir linn a léamh i ndáiríre 205 00:10:47,230 --> 00:10:48,220 tríd an bhfoclóir. 206 00:10:48,220 --> 00:10:50,880 >> Mar sin, an chéad rud a táimid ag dul go dtí ag iarraidh a dhéanamh ná ní mór dúinn an 207 00:10:50,880 --> 00:10:52,500 fréimhe athróg domhanda. 208 00:10:52,500 --> 00:10:56,190 Anois tá fréimhe ag dul a bheith ina nód *. 209 00:10:56,190 --> 00:10:59,760 Tá sé an barr ar ár trie go bhfuil muid ag dul a bheith iterating tríd. 210 00:10:59,760 --> 00:11:02,660 Mar sin, an chéad rud a táimid ag dul a iarraidh a dhéanamh ná a leithdháileadh 211 00:11:02,660 --> 00:11:04,140 cuimhne le haghaidh ár fréimhe. 212 00:11:04,140 --> 00:11:07,980 Fógra go bhfuil muid ag baint úsáide as an calloc fheidhm, a bhfuil bunúsach mar an gcéanna 213 00:11:07,980 --> 00:11:11,500 mar an fheidhm malloc, ach amháin tá sé ráthaithe rud go bhfuil a thabhairt ar ais 214 00:11:11,500 --> 00:11:13,180 go hiomlán zeroed amach. 215 00:11:13,180 --> 00:11:17,290 Mar sin, má úsáidtear muid malloc, ba mhaith linn gá a dul tríd gach ceann de na leideanna inár 216 00:11:17,290 --> 00:11:20,160 nód, agus a chinntiú go tá siad ar fad faoin margadh saothair. 217 00:11:20,160 --> 00:11:22,710 Mar sin, beidh calloc a dhéanamh dúinn. 218 00:11:22,710 --> 00:11:26,330 >> Anois, díreach cosúil malloc, ní mór dúinn a dhéanamh cinnte go raibh an leithdháileadh iarbhír 219 00:11:26,330 --> 00:11:27,520 rathúil. 220 00:11:27,520 --> 00:11:29,990 Más rud é ar ais an margadh saothair, ansin dúinn Ní mór a dhúnadh nó a foclóir 221 00:11:29,990 --> 00:11:32,100 comhad agus seol ar ais bréagach. 222 00:11:32,100 --> 00:11:36,835 Mar sin, ag glacadh leis go raibh leithdháileadh rathúil, tá muid ag dul a úsáid nód * 223 00:11:36,835 --> 00:11:40,270 cúrsóir a iterate trí ár trie. 224 00:11:40,270 --> 00:11:43,890 Mar sin, ár n-fréamhacha riamh ag dul a athrú, ach táimid ag dul cúrsóir a úsáid chun 225 00:11:43,890 --> 00:11:47,875 i ndáiríre dul ó nód dtí nód. 226 00:11:47,875 --> 00:11:50,940 >> Mar sin, seo do lúb táimid ag léamh tríd an gcomhad foclóir. 227 00:11:50,940 --> 00:11:53,670 Agus tá muid ag baint úsáide fgetc. 228 00:11:53,670 --> 00:11:56,290 Fgetc ag dul chun grab amháin carachtar as an comhad. 229 00:11:56,290 --> 00:11:59,370 Táimid ag dul chun leanúint ar aghaidh grabbing carachtair cé nach bhfuil muid ag teacht ar an 230 00:11:59,370 --> 00:12:01,570 deireadh an chomhaid. 231 00:12:01,570 --> 00:12:03,480 >> Tá dhá chás ní mór dúinn a láimhseáil. 232 00:12:03,480 --> 00:12:06,610 An chéad, má tá an carachtar Ní raibh líne nua. 233 00:12:06,610 --> 00:12:10,450 Mar sin, tá a fhios againn má bhí sé ina líne nua, ansin tá muid ar tí bogadh ar aghaidh go dtí focal nua. 234 00:12:10,450 --> 00:12:15,240 Ach ag glacadh leis nach raibh sé líne nua, ansin anseo ba mhaith linn a dhéanamh amach an 235 00:12:15,240 --> 00:12:18,380 innéacs táimid ag dul go dtí innéacs isteach in eagar leanaí a 236 00:12:18,380 --> 00:12:19,810 D'fhéach muid ar roimh. 237 00:12:19,810 --> 00:12:23,880 >> Mar sin, mar a dúirt mé cheana, ní mór dúinn a cás speisialta ar an apostrophe. 238 00:12:23,880 --> 00:12:26,220 Fógra táimid ag baint úsáide as an trínártha oibreoir anseo. 239 00:12:26,220 --> 00:12:29,580 Mar sin, táimid ag dul a léamh mar, dá an carachtar léaghthar san bhí 240 00:12:29,580 --> 00:12:35,330 uaschamóg, ansin tá muid ag dul a shocrú innéacs = "ALPHABET" -1, a bheidh 241 00:12:35,330 --> 00:12:37,680 a bheith ar an innéacs 26. 242 00:12:37,680 --> 00:12:41,130 >> Eile, más rud é nach raibh sé apostrophe, tá táimid ag dul a shocrú ar an innéacs 243 00:12:41,130 --> 00:12:43,760 comhionann go c - a. 244 00:12:43,760 --> 00:12:49,030 Mar sin, cuimhnigh ar ais ó p-Leagann roimhe sin, c - tá dul a thabhairt dúinn ar an 245 00:12:49,030 --> 00:12:53,410 seasamh aibítreach de C. Mar sin, má Gurb é C an litir A, beidh sé seo 246 00:12:53,410 --> 00:12:54,700 a thabhairt dúinn innéacs nialas. 247 00:12:54,700 --> 00:12:58,120 Chun an litir B, beidh sé a thabhairt dúinn an t-innéacs 1, agus mar sin de. 248 00:12:58,120 --> 00:13:03,010 >> Mar sin, tugann sé seo dúinn an t-innéacs isteach páistí sraith go ba mhaith linn. 249 00:13:03,010 --> 00:13:08,890 Anois, má tá an t-innéacs margadh saothair faoi láthair i na páistí, ciallaíonn sé sin go nód 250 00:13:08,890 --> 00:13:11,830 Níl ann faoi láthair as an bealach sin. 251 00:13:11,830 --> 00:13:15,160 Mar sin, ní mór dúinn a leithdháileadh ar nód chun an bealach sin. 252 00:13:15,160 --> 00:13:16,550 Sin an méid beidh muid ag déanamh anseo. 253 00:13:16,550 --> 00:13:20,690 >> Mar sin, táimid ag dul a úsáid arís ar an calloc fheidhm, ionas nach bhfuil againn chun 254 00:13:20,690 --> 00:13:22,880 náid amach go léir na leideanna. 255 00:13:22,880 --> 00:13:27,240 Agus ní mór dúinn arís a sheiceáil Ní raibh calloc theipeann. 256 00:13:27,240 --> 00:13:30,700 Más rud é nár calloc theipeann, ansin is gá dúinn gach rud a dhíluchtú, a dhúnadh ár 257 00:13:30,700 --> 00:13:32,820 foclóir, agus seol ar ais bréagach. 258 00:13:32,820 --> 00:13:40,050 Mar sin, ag glacadh leis nach raibh sé theipeann, ansin Beidh sé seo a chruthú leanbh nua dúinn. 259 00:13:40,050 --> 00:13:41,930 Agus ansin beidh muid ag dul go dtí an leanbh. 260 00:13:41,930 --> 00:13:44,960 Beidh ár chúrsóir iterate síos go dtí an leanbh. 261 00:13:44,960 --> 00:13:49,330 >> Anois, más rud é nach raibh sé seo Eolas faoin margadh saothair chun tús a chur leis, ansin is féidir an cúrsóir iterate díreach 262 00:13:49,330 --> 00:13:52,590 síos go dtí an leanbh gan iarbhír rud ar bith a leithdháileadh. 263 00:13:52,590 --> 00:13:56,730 Is é seo an cás nuair a tharla muid an chéad leithdháileadh an focal "cat." Agus 264 00:13:56,730 --> 00:14:00,330 is ionann sin nuair a théann muid a leithdháileadh "Tubaiste," ní dhéanaimid gá a chruthú 265 00:14:00,330 --> 00:14:01,680 nóid haghaidh C-A-T arís. 266 00:14:01,680 --> 00:14:04,830 Siad ann cheana féin. 267 00:14:04,830 --> 00:14:06,080 >> Cad é seo eile? 268 00:14:06,080 --> 00:14:10,480 Is é seo an coinníoll i gcás ina raibh c cúlslais n, áit a raibh c líne nua. 269 00:14:10,480 --> 00:14:13,710 Ciallaíonn sé seo go mór dúinn go rathúil Chríochnaigh focal. 270 00:14:13,710 --> 00:14:16,860 Anois, cad ba mhaith linn a dhéanamh nuair a muid gcrích go rathúil focal? 271 00:14:16,860 --> 00:14:21,100 Táimid ag dul a úsáid réimse focal seo taobh istigh den ár nód an struct. 272 00:14:21,100 --> 00:14:23,390 Is mian linn a shocrú go dtí fíor. 273 00:14:23,390 --> 00:14:27,150 Mar sin, le fios go bhfuil go bhfuil an nód Léiríonn rathúil 274 00:14:27,150 --> 00:14:29,250 focal, focal iarbhír. 275 00:14:29,250 --> 00:14:30,940 >> Anois, a leagtar go dtí fíor. 276 00:14:30,940 --> 00:14:35,150 Ba mhaith linn a athshocrú ár cúrsóir go pointe go dtí tús an trie arís. 277 00:14:35,150 --> 00:14:40,160 Agus ar deireadh, incrimint ár foclóir méid, ó fuair muid an obair eile. 278 00:14:40,160 --> 00:14:43,230 Mar sin, táimid ag dul a choinneáil ag déanamh go bhfuil, léamh i carachtar le carachtar, 279 00:14:43,230 --> 00:14:49,150 a thógáil nóid nua inár trie agus do gach focal san fhoclóir, go dtí go 280 00:14:49,150 --> 00:14:54,020 muid ag teacht ar deireadh C! = Comhadchríoch, ina cás briseadh muid amach as an comhad. 281 00:14:54,020 --> 00:14:57,050 >> Anois, tá dhá chás faoi a d'fhéadfadh muid a bheith buailte difríocht idir na naisc. 282 00:14:57,050 --> 00:15:00,980 Is é an chéad i gcás go raibh earráid léamh as an gcomhad. 283 00:15:00,980 --> 00:15:03,470 Mar sin, má bhí earráid, táimid ag Ní mór a dhéanamh ar an tipiciúil. 284 00:15:03,470 --> 00:15:06,460 Dhíluchtú gach rud, gar an comhad, ar ais bréagach. 285 00:15:06,460 --> 00:15:09,810 Ag glacadh leis nach raibh earráid, go ciallaíonn ach bhuail muid i ndáiríre an deireadh 286 00:15:09,810 --> 00:15:13,750 an comhad, agus sa chás sin, gar dúinn an comhad agus seol ar ais fíor ós rud é againn 287 00:15:13,750 --> 00:15:17,330 foclóir luchtaithe go rathúil isteach inár trie. 288 00:15:17,330 --> 00:15:20,170 >> Mar sin, anois a ligean ar a sheiceáil amach seiceáil. 289 00:15:20,170 --> 00:15:25,156 Ag Breathnú ar an fheidhm sheiceáil, feicimid is é sin seiceáil ag dul a thabhairt ar ais ar bool. 290 00:15:25,156 --> 00:15:29,680 Tuairisceáin sé fíor más rud é an focal go bhfuil sé Tá á rith i ár trie. 291 00:15:29,680 --> 00:15:32,110 Tuairisceáin sé bréagach ar shlí eile. 292 00:15:32,110 --> 00:15:36,050 Mar sin, conas atá tú a chinneadh cé acu tá an focal in ár trie? 293 00:15:36,050 --> 00:15:40,190 >> Feicimid anseo go bhfuil, díreach mar a bhíodh, táimid ag dul cúrsóir a úsáid chun iterate 294 00:15:40,190 --> 00:15:41,970 tríd ár trie. 295 00:15:41,970 --> 00:15:46,600 Anois, anseo táimid ag dul a iterate níos mó ná ár focal ar fad. 296 00:15:46,600 --> 00:15:50,620 Mar sin, iterating thar an focal go bhfuil muid am atá caite, táimid ag dul chun a chinneadh an 297 00:15:50,620 --> 00:15:56,400 innéacs isteach an eagar leanaí a fhreagraíonn do focal lúibín I. Mar sin, seo 298 00:15:56,400 --> 00:15:59,670 ag dul chun breathnú díreach cosúil ualach, i gcás ina má focal [i] 299 00:15:59,670 --> 00:16:03,310 Tá apostrophe, ansin ba mhaith linn a úsáid a bhaint as innéacs "ALPHABET" - 1. 300 00:16:03,310 --> 00:16:05,350 Toisc chinneadh againn go bhfuil sin is é sin nuair a bhíonn muid ag dul a stóráil 301 00:16:05,350 --> 00:16:07,100 uaschamóga. 302 00:16:07,100 --> 00:16:11,780 >> Eile táimid ag dul a úsáid a bhaint as dhá fhocal ísle lúibín I. Mar sin, cuimhnigh go bhfuil an focal is féidir 303 00:16:11,780 --> 00:16:13,920 Tá caipitlithe treallach. 304 00:16:13,920 --> 00:16:17,540 Agus mar sin ba mhaith linn a dhéanamh cinnte go bhfuil muid baint úsáide as leagan litreacha beaga de rudaí. 305 00:16:17,540 --> 00:16:21,920 Agus ansin dealaigh ó go 'a' go uair amháin arís a thabhairt dúinn ar an aibítre 306 00:16:21,920 --> 00:16:23,880 staid an duine sin charachtar. 307 00:16:23,880 --> 00:16:27,680 Mar sin, go bhfuil ag dul a bheith ár n-innéacs isteach an eagar leanaí. 308 00:16:27,680 --> 00:16:32,420 >> Agus anois más rud é go innéacs isteach ar na páistí Tá sraith nialasach, a chiallaíonn go mór dúinn 309 00:16:32,420 --> 00:16:34,990 Is féidir a thuilleadh ar aghaidh iterating síos ár trie. 310 00:16:34,990 --> 00:16:38,870 Más rud é go bhfuil an cás, ní féidir focal seo b'fhéidir a bheith in ár trie. 311 00:16:38,870 --> 00:16:42,340 Ós rud é dá mbeadh sí, a bheadh Ciallaíonn mbeadh cosán 312 00:16:42,340 --> 00:16:43,510 síos go dtí an focal sin. 313 00:16:43,510 --> 00:16:45,290 Agus riamh go mbeadh tú teacht ar null. 314 00:16:45,290 --> 00:16:47,850 Mar sin, ag dréim null, ar ais muid bréagach. 315 00:16:47,850 --> 00:16:49,840 Níl an focal san fhoclóir. 316 00:16:49,840 --> 00:16:53,660 Más rud é nach raibh sé Eolas faoin margadh saothair, ansin tá muid dul chun leanúint ar iterating. 317 00:16:53,660 --> 00:16:57,220 >> Mar sin, táimid ag dul amach ann cúrsóir a chur in iúl go háirithe, 318 00:16:57,220 --> 00:16:59,760 nód ag an innéacs. 319 00:16:59,760 --> 00:17:03,150 Coinneoimid ag déanamh go bhfuil ar fud an focal ar fad, ag glacadh 320 00:17:03,150 --> 00:17:03,950 riamh bhuail muid null. 321 00:17:03,950 --> 00:17:07,220 Ciallaíonn bhí muid in ann a fháil tríd an focal ar fad agus a fháil 322 00:17:07,220 --> 00:17:08,920 nód inár iarracht. 323 00:17:08,920 --> 00:17:10,770 Ach ní táimid ag déanamh go leor go fóill. 324 00:17:10,770 --> 00:17:12,290 >> Nílimid ag iarraidh a thabhairt ar ais ach fíor. 325 00:17:12,290 --> 00:17:14,770 Is mian linn a thabhairt ar ais cúrsóir> focal. 326 00:17:14,770 --> 00:17:18,980 Ós rud é cuimhnigh arís é, "cat" nach bhfuil i ár foclóir, agus "tubaiste" 327 00:17:18,980 --> 00:17:22,935 is é sin, ansin beidh muid a fháil againn go rathúil tríd an focal "cat." Ach cúrsóir 328 00:17:22,935 --> 00:17:25,760 Beidh focal a bheith bréagach agus nach fíor. 329 00:17:25,760 --> 00:17:30,930 Mar sin, táimid ar ais focal cúrsóir a chur in iúl cibé acu é seo nód i ndáiríre focal. 330 00:17:30,930 --> 00:17:32,470 Agus sin é do sheiceáil. 331 00:17:32,470 --> 00:17:34,250 >> Mar sin, a ligean ar a sheiceáil amach méid. 332 00:17:34,250 --> 00:17:37,350 Mar sin, tá an méid dul a bheith éasca go leor ós rud é, cuimhnigh i ualach, tá muid 333 00:17:37,350 --> 00:17:41,430 incriminteach a mhéid foclóir do gach focal a bhíonn againn. 334 00:17:41,430 --> 00:17:45,350 Dá bhrí sin tá an méid ach ag dul chun ar ais méid foclóir. 335 00:17:45,350 --> 00:17:47,390 Agus sin é. 336 00:17:47,390 --> 00:17:50,590 >> Mar sin, ar deireadh ní mór dúinn a dhíluchtú. 337 00:17:50,590 --> 00:17:55,100 Mar sin, Díluchtaigh, táimid ag dul a úsáid feidhm athchúrsach a dhéanamh i ndáiríre go léir 338 00:17:55,100 --> 00:17:56,530 den obair dúinn. 339 00:17:56,530 --> 00:17:59,340 Mar sin, is é ár fheidhm ag dul go dtí ar a dtugtar ar unloader. 340 00:17:59,340 --> 00:18:01,650 Cad é unloader ag dul a dhéanamh? 341 00:18:01,650 --> 00:18:06,580 Feicimid anseo go bhfuil unloader dul chun iterate thar gach ceann de na páistí ag 342 00:18:06,580 --> 00:18:08,410 an nód ar leith. 343 00:18:08,410 --> 00:18:11,750 Agus más rud é nach bhfuil an nód pháiste Eolas faoin margadh saothair, ansin táimid ag dul chun 344 00:18:11,750 --> 00:18:13,730 Díluchtaigh an nód leanbh. 345 00:18:13,730 --> 00:18:18,010 >> Mar sin, tá sé seo duit Díluchtaigh hathchúrsach i ngach ceann dár bpáistí. 346 00:18:18,010 --> 00:18:21,080 Nuair a bhíonn muid cinnte go bhfuil gach ceann dár bpáistí a bheith á díluchtú, ansin dúinn 347 00:18:21,080 --> 00:18:25,210 Is féidir saor in aisce féin, mar sin Díluchtaigh dúinn féin. 348 00:18:25,210 --> 00:18:29,460 Beidh an obair seo go hathchúrsach Díluchtaigh an trie ar fad. 349 00:18:29,460 --> 00:18:32,850 Agus ansin uair amháin go atá déanta, Is féidir linn a thabhairt ar ais ach fíor. 350 00:18:32,850 --> 00:18:34,210 Ní féidir Díluchtaigh theipeann. 351 00:18:34,210 --> 00:18:35,710 Táimid ag freeing ach rudaí. 352 00:18:35,710 --> 00:18:38,870 Mar sin, nuair a bhfuil déanta againn a shaoradh gach rud, ar ais fíor. 353 00:18:38,870 --> 00:18:40,320 Agus sin é. 354 00:18:40,320 --> 00:18:41,080 Is é mo ainm Rob. 355 00:18:41,080 --> 00:18:42,426 Agus bhí an speller. 356 00:18:42,426 --> 00:18:47,830 >> [Seinm ceoil]