1 વક્તા: માતાનો આપું આ ઉકેલ પ્રયાસ. તેથી આપણે શું અમારા પર એક નજર સ્ટ્રક્ટ નોડ આના જેવો દેખાશે. અહીં, અમે અમે હોય રહ્યા છીએ જુઓ Bool શબ્દ અને સ્ટ્રક્ટ નોડ સ્ટાર બાળકો મૂળાક્ષર કૌંસ. તેથી પ્રથમ વસ્તુ તમે આશ્ચર્ય થઈ શકે છે, શા મૂળાક્ષર હેશ 27 વ્યાખ્યાયિત કરવામાં આવે છે? વેલ, અમને જરૂર જઈ રહ્યાં છો યાદ રાખો કે એપોસ્ટ્રોફી સંભાળવા, જેથી કરી કે ખાસ કંઈક જ હશે આ કાર્યક્રમ દરમ્યાન કેસ. ઠીક છે, હવે, યાદ કેવી રીતે Trie ખરેખર કામ કરે છે. માતાનો અમે શબ્દ બિલાડી ઈન્ડેક્સીંગ રહ્યાં છો કહો, પછી અમારી trie રુટ પ્રમાણે, અમે બાળકો જોવા જઈ રહ્યા છો અરે, અને અમે જોવા જઈ રહ્યાં છો પત્ર અનુલક્ષે કે અનુક્રમણિકા સી જેથી ઇન્ડેક્સ બે છે. જેથી, તે અમને આપશે આપવામાં નવી નોડ, અને પછી અમે પડશે કે નોડ કામ કરે છે. જેથી નોડ આપવામાં આવે છે, અમે ફરી એક વખત છો જે બાળકો એરે જોવા જઈ, અને અમે અનુક્રમણિકા શૂન્ય જોવા જઈ રહ્યા છો બિલાડી માં એક અનુલક્ષે છે. તેથી તો અમે તે નોડ પર જવા માટે જઈ રહ્યાં છો, અને તે નોડ આપવામાં આવે છે, અમે રહ્યા છીએ સંકળાય છે ઇન્ડેક્સ જોવા ટી અને તે નોડ પર જતાં, માટે છેલ્લે, અમે સંપૂર્ણપણે ધ્યાન આપવામાં આવે છે અમારા શબ્દ કેટ દ્વારા, અને હવે bool શબ્દ કે શું સૂચવે છે તેવું માનવામાં આવે છે આ આપવામાં શબ્દ ખરેખર એક શબ્દ છે. તેથી શા માટે અમે તે ખાસ કિસ્સામાં જરૂર છે? વેલ, જો શબ્દ આપત્તિ અમારા શબ્દકોશ છે, પરંતુ શબ્દ બિલાડી નથી? તેથી શબ્દ બિલાડી છે તે જોવા માટે જોઈ માં અમારા શબ્દકોશ, અમે રહ્યા છીએ સફળતાપૂર્વક સૂચકાંક દ્વારા જુઓ સી એ ટી અને નોડ સુધી પહોંચી છે, પરંતુ તે છે આપત્તિ થયું માત્ર કારણ કે સી એ ટી ના માર્ગ પર ગાંઠો બનાવવા તમામ શબ્દ સમાપ્ત થાય છે જે રીતે. તેથી bool શબ્દ કે નહીં તે સૂચવતી ઉપયોગ થાય છે આ ચોક્કસ પાંચ ખરેખર એક શબ્દ સૂચવે છે. બધા હક છે, તેથી હવે આપણે જાણીએ છીએ કે તે એક Trie માતાનો જુઓ, જેમ દેખાય રહ્યું છે તો લોડ કાર્ય પર. તેથી લોડ એક bool પાછા જઈ રહ્યું છે કે શું અમે સફળતાપૂર્વક અથવા માટે નિષ્ફળ લોડ શબ્દકોશ અને આ શબ્દકોશમાં કરી રહ્યું છે અમે લોડ કરવા માંગો છો. અમે કરી રહ્યા છીએ તેથી પ્રથમ વસ્તુ ખુલ્લું છે વાંચન માટે કે શબ્દકોશ અપ. આપણે નિષ્ફળ ન હતી તેની ખાતરી કરવા માટે હોય છે, તેથી શબ્દકોશમાં ન હોય તો સફળતાપૂર્વક ખોલવામાં, તે આપશે ના, કે જે કિસ્સામાં અમે રહ્યા છીએ ખોટા આવો. પરંતુ એમ ધારી રહ્યા છીએ કે તે સફળતાપૂર્વક ખોલી, તો પછી અમે ખરેખર વાંચી શકે છે શબ્દકોશમાં દ્વારા. અમે જઈ રહ્યાં છો તેથી પ્રથમ વસ્તુ કરવા માંગો છો અમે આ છે છે વૈશ્વિક ચલ રુટ. હવે, રુટ નોડ સ્ટાર બનવા જઈ રહ્યું છે. તે અમે છો અમારા trie ટોચ છે વારો કરી રહ્યા. અમે કરવા માંગો છો જઈ રહ્યાં છો તેથી પ્રથમ વસ્તુ શા માટે આપણા રુટ માટે મેમરી ફાળવી છે. અમે calloc ઉપયોગ કરી રહ્યાં છો નોંધ કરો કે મૂળભૂત રીતે જ છે, જે કાર્ય, પાંચ Malloc કાર્ય તરીકે, સિવાય કે તે છે કે કંઈક પાછા ખાતરી આપી સંપૂર્ણપણે બહાર zeroed. અમે malloc ઉપયોગ તેથી જો, અમે જરૂર છે માં પોઇન્ટર તમામ મારફતે જાઓ અમારા નોડ અને ખાતરી કરો કે તેઓ બધા નલ છો. તેથી calloc અમારા માટે જ કરશે. હવે, માત્ર malloc જેમ, અમે કરવાની જરૂર છે ફાળવણી ખરેખર છે કે નહીં તેની ખાતરી સફળ. આ નલ પરત, તો પછી અમે અમારા શબ્દકોશ બંધ કરવાની જરૂર છે ફાઇલ અને ખોટા આવો. તેથી ફાળવણી કરવામાં આવી હતી એમ ધારી રહ્યા છીએ સફળ, અમે નોડ ઉપયોગ જઈ રહ્યાં છો ફરી વળવું કર્સર સ્ટાર અમારા trie દ્વારા. તેથી અમારા રુટ બદલવાનો ક્યારેય, પરંતુ અમે કર્સરને ઉપયોગ જઈ રહ્યાં છો ખરેખર ગાંઠ પરથી બીજા ગાંઠ પર જાઓ. બધા હક છે, તેથી આ લૂપ માટે, અમે છે , શબ્દકોશ ફાઈલ વાંચી રહી અને અમે fgetc પર ઉપયોગ કરી રહ્યાં છો. તેથી fgetc એક ગ્રેબ રહ્યું છે ફાઇલમાંથી પાત્ર. અમે પડતો ચાલુ રહ્યા છીએ અક્ષરો અમે પહોંચી નથી જ્યારે આ ફાઈલની અંત છે, તેથી છે અમે નિયંત્રિત કરવા માટે જરૂર છે બે કિસ્સાઓમાં. પ્રથમ રાજ્ય બહા ન હોય તો એક જો તે નવી તો નવી લાઇન, તેથી આપણે જાણીએ છીએ રેખા, તો પછી અમે કરી રહ્યાં છો એક નવો શબ્દ પર ખસેડો. પરંતુ તે પછી, તે એક નવી લાઇન ન હતી એમ ધારી રહ્યા છીએ અહીં, અમે બહાર આકૃતિ માંગો છો અનુક્રમણિકા અમે માં ઇન્ડેક્સ રહ્યા છીએ જે બાળકો એરે કે અમે પહેલાં પર હતા. હું પહેલાં જણાવ્યું હતું કે, તેથી જેમ આપણે જરૂર ખાસ કિસ્સામાં એપોસ્ટ્રોફી. અમે ત્રણ ભાગનું બનેલું ઓપરેટર ઉપયોગ કરી રહ્યાં છો નોંધ કરો અહીં, તેથી અમે વાંચી રહ્યા છીએ આપણે વાંચી પાત્ર હતી જો એપોસ્ટ્રોફી, તો પછી અમે રહ્યા છીએ મૂળાક્ષર બાદ સમાન ઇન્ડેક્સ સેટ 1, જે ઇન્ડેક્સ 26 હશે. બાકી, તે એપોસ્ટ્રોફી ન હોય તો, પછી અમે ઇન્ડેક્સ સેટ રહ્યા છીએ સી ઓછા એક સમાન. તેથી અગાઉના પી સેટ યાદ, સી ઓછા એક ચાલો આપી રહ્યું છે મૂળાક્ષર સી સ્થિતિ, જો આમ હોય સી પત્ર એક આ ઇચ્છા છે અમને અનુક્રમણિકા શૂન્ય આપે છે. પત્ર બી માટે, તે આપશે તેથી અમને ઇન્ડેક્સ 1, અને. તેથી આ અમને માં ઇન્ડેક્સ આપે છે અમે માંગો છો કે બાળકો પણ દર્શાવે છે. હવે, આ ઈન્ડેક્સમાં હાલમાં નલ છે જે બાળકો અરે, એનો અર્થ એ થાય કે નોડ હાલમાં થી અસ્તિત્વમાં નથી કે પાથ, તેથી અમે ફાળવણી કરવાની જરૂર એક કે પાથ માટે નોડ. કે અમે અહીં શું છે. તેથી અમે, ફરીથી, આ calloc ઉપયોગ જઈ રહ્યાં છો કાર્ય અમે ન કરી શકે તે માટે આ પોઇન્ટર તમામ શૂન્ય, અને અમે, ફરીથી, કે calloc તપાસ કરવાની જરૂર છે નિષ્ફળ ન હતી. Calloc નિષ્ફળ ગયા હોય, તો પછી અમે જરૂર બધું અનલોડ કરવા માટે, બંધ અમારા શબ્દકોશ, અને ખોટા આવો. તેથી તે પછી, નિષ્ફળ ન હતી કે એમ ધારી રહ્યા છીએ આ અમારા માટે એક નવી બાળક બનાવશે અને પછી અમે તે બાળક પર જશે. અમારા કર્સર ફરી વળવું કરશે કે બાળક માટે નહીં. હવે, આ સાથે શરૂ કરવા માટે નલ ન હોય તો, પછી કર્સર માત્ર ફરી વળવું કરી શકો છો ખરેખર વગર કે બાળક માટે નીચે કંઈપણ ફાળવણી કરવાની હોય છે. આ અમે પ્રથમ થયું કિસ્સામાં જ્યાં શબ્દ બિલાડી ફાળવવા, અને અમે ફાળવવા માટે જાઓ ત્યારે અર્થ એ થાય કે આપત્તિ, અમે બનાવવા માટે જરૂર નથી ફરીથી સી એ ટી માટે ગાંઠો. તેઓ પહેલેથી જ અસ્તિત્વ ધરાવે છે. ઠીક છે, તેથી આ બાકી શું છે? આ કેચ હતી, જ્યાં સ્થિતિ છે C નવી લાઇન હતી, જ્યાં બેકસ્લેશ n એ,. આ અમે સફળતાપૂર્વક છે કે જે થાય છે એક શબ્દ પૂર્ણ. હવે, આપણે શું કરવા માંગો છો જ્યારે અમે સફળતાપૂર્વક એક શબ્દ પૂર્ણ? અમે આ શબ્દ ક્ષેત્ર ઉપયોગ જઈ રહ્યાં છો અમારા સ્ટ્રક્ટ નોડ ની અંદર. અમે ખરા તરીકે કે સેટ કરવા માંગો છો, કે જેથી આ નોડ સૂચવે છે કે સૂચવે છે એક સફળ શબ્દ એક વાસ્તવિક શબ્દ. હવે, માટે ખરા તરીકે સુયોજિત કરો કે. અમે આ બોલ પર અમારા કર્સર ફરીથી સેટ કરવા માંગો ફરી trie શરૂઆત છે. અને છેલ્લે, અમારા શબ્દકોશ વધારો અમે અન્ય શબ્દ મળી માપ છે. બધા હક છે, તેથી અમે કરી રાખી રહ્યા છીએ કે દ્વારા અક્ષર વાંચન પાત્ર, નવી ગાંઠો બાંધવા અમારા trie અને દરેક શબ્દ માટે શબ્દકોશ, અમે છેલ્લે સી પહોંચે ત્યાં સુધી , કે જે આપણે તોડીએ કિસ્સામાં EOF, બરાબર ફાઇલ બહાર. હવે, બે કેસો હેઠળ છે અમે EOF હિટ છે શકે છે. એક ભૂલ આવી હતી જો પ્રથમ છે ત્યાં તો ફાઈલ માંથી વાંચવા, તેથી ભૂલ, અમે ખાસ શું કરવાની જરૂર , બધું અનલોડ ફાઈલ બંધ, ખોટા આવો. , એક ભૂલ આવી ન હતી એમ ધારી રહ્યા છીએ કે માત્ર અમે ખરેખર ઓવરને હિટ અર્થ એ થાય ફાઇલ, કે જે કિસ્સામાં, અમે બંધ ફાઇલ અને સાચું પરત કારણ અમે સફળતાપૂર્વક શબ્દકોશ લોડ અમારા trie માં. બધા હક છે, તેથી હવે આપણે ચેક જુઓ. આ ચેક કાર્ય પર છીએ, અમે જુઓ ચકાસો કે જે એક bool પાછા જઈ રહ્યું છે. આ શબ્દ તે છે કે જો તે સાચું આપે પસાર થઈ રહી છે અમારા trie છે. તે તો ખોટો આપે છે. તેથી અમે કેવી રીતે તે નક્કી કરવા માટે જતા હોય છે આ શબ્દ અમારા trie છે? અમે અહીં જુઓ કે, પહેલાંની જેમ, અમે ભારપૂર્વક કહેવું કર્સર વાપરવા માટે જઈ રહ્યાં છો અમારા trie દ્વારા. હવે, અહીં, અમે ભારપૂર્વક કહેવું રહ્યા છીએ અમારા સમગ્ર શબ્દ પર. તેથી અમે શબ્દ પર વારો પસાર, અમે નક્કી જઈ રહ્યાં છો ઈન્ડેક્સ બાળકો એરે માં કે શબ્દ કૌંસ હું અનુલક્ષે છે. તેથી આ બરાબર જેમ દેખાય રહ્યું છે લોડ, જ્યાં શબ્દ કૌંસ હું જો એપોસ્ટ્રોફી, તો પછી અમે ઇન્ડેક્સ વાપરવા માંગતા હોવ 1 બાદ મૂળાક્ષર અમે નક્કી કારણ કે અમે રહ્યા છીએ જ્યાં છે apostrophes સંગ્રહવા માટે. બાકી અમે tolower ઉપયોગ જઈ રહ્યાં છો શબ્દ કૌંસ હું. તેથી કરી શકે છે કે શબ્દ યાદ મનસ્વી કેપિટલાઈઝેશન, અને તેથી અમે અમે ઉપયોગ કરી રહ્યાં છો તેની ખાતરી કરવા માંગો છો વસ્તુઓ એક લોઅરકેસ આવૃત્તિ. અને પછી તે નાના થી બાદબાકી એક, ફરી એક વાર, ચાલો આપી મૂળાક્ષર સ્થિતિ કે પાત્ર કુલ. જેથી અમારી અનુક્રમણિકા જ હશે જે બાળકો એરે માં. અને હવે, જો બાળકો માં કે અનુક્રમણિકા એરે નલ છે, કે જે અમે અર્થ એ થાય લાંબા સમય સુધી વારો ચાલુ રાખી શકો છો અમારા trie નીચે. કે આ કેસ છે, આ શબ્દ નથી કરી શકો છો કદાચ અમારા trie હોવી કારણ જો તે , કે જે હશે તેનો અર્થ એ થાય હતા પાથ નીચે કે શબ્દ માટે, અને તમે છો નલ મળે નહીં. તેથી નલ આવી, અમે ખોટા આવો. શબ્દ શબ્દકોશમાંનાં નથી. તે નલ ન હતી, તો પછી અમે રહ્યા છીએ વારો ચાલુ છે, તેથી અમે રહ્યા છીએ કે નિર્દેશ અમારા કર્સર સુધારવા માટે કે અનુક્રમણિકા પર ચોક્કસ નોડ. તેથી અમે સમગ્ર કે કરી રાખવા સમગ્ર શબ્દ. , અમે નલ હિટ ક્યારેય એમ ધારી રહ્યા છીએ કે અર્થ અમે સમગ્ર મારફતે મળી હતી વિશ્વ અને અમારા trie એક નોડ શોધવા માટે, પરંતુ અમે તદ્દન હજુ સુધી કરી નથી. અમે હમણાં જ સાચું પાછા નથી માંગતા. અમે કર્સર ભૂલ શબ્દ પરત કરવા માંગો છો બિલાડી ન હોય તો, કારણ કે, ફરી યાદ અમારા શબ્દકોશ અને આપત્તિ છે પછી અમે સફળતાપૂર્વક દ્વારા મળશે શબ્દ બિલાડી, પરંતુ કર્સર શબ્દ ખોટું અને સાચું નથી રહેશે. તેથી અમે તે દર્શાવવા માટે કર્સર શબ્દ પાછા કે શું આ નોડ ખરેખર એક શબ્દ છે, અને તે ચેક માટે છે. તેથી આપણે કદ બહાર તપાસ. તેથી કદ ખૂબ જ સરળ છે રહ્યું છે થી, લોડ માં યાદ રાખો કે, અમે છો માટે શબ્દકોશ માપ incrementing અમે અનુભવી કે દરેક શબ્દ. તેથી કદ માત્ર પાછા જઈ રહ્યું છે શબ્દકોશ કદ, અને તે છે. બધા હક છે, તેથી છેલ્લે, અમે અનલોડ છે. તેથી અનલોડ, અમે ઉપયોગ જઈ રહ્યાં છો એક ખરેખર બધા શું કરવા યાદ આવવું કાર્ય અમને, તેથી અમારા કાર્ય માટે કામ Unloader કહેવાય રહ્યું છે. શું Unloader કરવા જઈ રહ્યો છે? અમે તે Unloader રહ્યું છે અહીં જુઓ બાળકો બધા ફરી વળવું આ ચોક્કસ નોડ, અને જો બાળક નોડ નલ નથી, તો પછી અમે રહ્યા છીએ બાળક નોડ અનલોડ. તેથી આ પુનરાવર્તિત રહ્યું છે અમારા બાળકો બધા અનલોડ. અમને ખાતરી છે કે છો એકવાર અમારા બાળકો તમામ લોડ કરવામાં આવી છે, તો પછી અમે જાતને મુક્ત છે, તેથી ખુદ અનલોડ કરી શકો છો. તેથી આ પુનરાવર્તિત અનલોડ કરશે સમગ્ર trie, અને પછી તે એક વખત કરવામાં આવે છે, અમે માત્ર સાચું પાછા આવી શકો છો. અનલોડ અમે છો, નિષ્ફળ ન જઈ શકે માત્ર વસ્તુઓ મુક્ત કરીને. તેથી એક વખત અમે મુક્ત કરીને પૂર્ણ કરી બધું સાચું આવો. અને તે છે. મારું નામ રોબ છે, અને આ [અશ્રાવ્ય] હતો.