SPEAKER 1: اجازه دهید به در این راه حل را امتحان کنید. بنابراین اجازه دهید نگاهی به آنچه که ما گره ساختار خواهد شد. در اینجا، ما می بینیم که ما در حال رفتن به یک بولی ورد و یک ستاره گره ساختار کودکان براکت الفبا. بنابراین اولین چیزی که شما ممکن است تعجب، به همین دلیل است که به مخلوط الفبای عنوان 27 تعریف شده است؟ خب، به یاد داشته باشید که ما نیاز به رفتن به به دست زدن به آپوستروف، تا که رفتن به تا حدودی از خاص در طی این برنامه است. OK، در حال حاضر، به یاد داشته باشید که چگونه یک درخت در واقع کار می کند. اجازه دهید بگویم که ما در حال نمایه سازی گربه کلمه، پس از آن از ریشه درخت به ما، ما قصد داریم در کودکان نگاه آرایه، و ما در حال رفتن به در نگاه شاخص که مربوط به نامه C. به طوری که می تواند شاخص دو. با توجه به این، که ما را یک گره جدید، و پس از آن خواهیم کار از آن گره. با توجه به این گره، ما یک بار دیگر هستیم رفتن به در آرایه کودکان نگاه کنید، و ما قصد داریم تا در شاخص صفر نگاه متناظر با در گربه. پس ما به قصد رفتن به آن گره، و با توجه به اینکه گره، ما قصد داریم به در صفحه اول که مربوط نگاه به T. و در حال حرکت به آن گره، در نهایت، ما شده اند به طور کامل نگاه از طریق گربه به حرف ما، و در حال حاضر بولی کلمه قرار است نشان می دهد که آیا این کلمه داده شده است که در واقع یک کلمه. پس چرا ما نیاز داریم که مورد خاص؟ خوب، اگر فاجعه کلمه است در فرهنگ لغت ما، اما گربه کلمه است، نه؟ بنابراین در نگاه تا ببینید که آیا گربه کلمه است در فرهنگ لغت ما، ما قصد داریم به موفقیت از طریق شاخص نگاه C-A-T و رسیدن به یک گره، اما این فقط به این دلیل فاجعه رخ داده به ایجاد گره در راه از C-A-T همه راه را به پایان کلمه است. بنابراین بولی کلمه است که نشان دهد آیا استفاده این محل خاص در واقع نشان می دهد یک کلمه. همه حق است، بنابراین در حال حاضر که ما می دانیم چه درخت به این است که رفتن به مثل، اجازه دهید نگاه در تابع بار. بنابراین بار است که برای بازگشت به بولی برای چه ما با موفقیت و یا فرهنگ لغت ناموفق بارگذاری شده و این است که رفتن به فرهنگ لغت که ما می خواهیم برای بارگذاری. پس اولین چیزی که ما در حال رفتن به آن را باز است تا که فرهنگ لغت برای خواندن. ما باید اطمینان حاصل کنیم که شکست نیست، بنابراین اگر فرهنگ لغت نیست با موفقیت افتتاح شد، از آن باز خواهد گشت نه، که در این صورت ما در حال رفتن به غلط. اما فرض کنید که آن را با موفقیت باز، پس ما در واقع می تواند به عنوان خوانده شده از طریق فرهنگ لغت. پس اولین چیزی که ما در حال رفتن به می خواهیم انجام دهیم این است که ما باید این ریشه متغیر جهانی است. در حال حاضر، ریشه است برای رفتن به یک ستاره گره. این بالای درخت به ما است که ما رفتن به تکرار از طریق. پس اولین چیزی که ما در حال رفتن به می خواهم به انجام شده است اختصاص دادن حافظه برای ریشه های ما. توجه داشته باشید که ما در حال استفاده از Calloc تابع است که در واقع همان به عنوان تابع malloc، به جز آن را تضمین برای بازگشت به چیزی است که به طور کامل zeroed از. بنابراین اگر ما Malloc استفاده می شود، ما را به نیاز رفتن را از طریق تمام اشاره گرها در ما گره و مطمئن شوید که همه آنها پوچ است. بنابراین Calloc خواهد برای ما انجام دهد. در حال حاضر، درست مثل Malloc، ما نیاز به ایجاد شوید که تخصیص در واقع موفق. اگر این بازگشت تهی، پس از آن ما نیاز به بستن فرهنگ لغت ما فایل و غلط. بنابراین با فرض تخصیص شد موفق، ما قصد استفاده از یک گره ستاره مکان نما به تکرار از درخت به ما. بنابراین ریشه ما هرگز به تغییر، اما ما قصد استفاده از مکان نما به در واقع از گره به گره برود. همه حق است، بنابراین در این حلقه، ما خواندن از فایل فرهنگ لغت، و ما با استفاده از در fgetc. بنابراین fgetc است که برای گرفتن یک شخصیت از فایل. ما قصد داریم به ادامه گرفتن شخصیت در حالی که ما نمی رسند انتهای فایل، به طوری که وجود دارد دو مورد ما نیاز داریم که مسئولیت رسیدگی به. اول، اگر شخصیت بود خط جدید، بنابراین ما می دانیم که اگر آن را تازه بود خط، و سپس ما در مورد به هستی حرکت بر روی یک کلمه جدید. اما با فرض آن را یک خط جدید نیست، پس در اینجا، ما می خواهیم به کشف کردن شاخص ما در حال رفتن به صفحه اول به در آرایه کودکان که ما در قبل از نگاه. پس مانند قبل از من گفت، ما نیاز به مورد خاص آپوستروف. توجه کنید که ما در حال استفاده از عملگر سه تایی در اینجا، بنابراین ما قصد داریم به عنوان خوانده شده این که اگر شخصیت ما به عنوان خوانده شده بود آپوستروف، پس از آن ما قصد داریم به تعیین شاخص به منفی الفبای برابر 1، که خواهد بود که شاخص 26. دیگر، اگر آن را در مواقع حذف حرف یا بخشی از کلمه نیست، پس از آن ما قصد داریم به مجموعه ای از شاخص به ج منهای یک برابر است. بنابراین به یاد داشته باشید از مجموعه ص قبلی، ج منهای یک است که به ما می دهد موقعیت حروف الفبا از ج، بنابراین اگر ج نامه A، این اراده است شاخص صفر به ما بدهد. برای حرف B، آن را به من بدهید ما شاخص 1، و غیره. پس این به ما می دهد این شاخص به آرایه کودکان که ما می خواهیم. حال اگر این شاخص در حال حاضر تهی آرایه های کودکان، که بدان معنی است که یک گره در حال حاضر از وجود ندارد این مسیر، بنابراین ما نیاز به اختصاص گره برای این مسیر. این چیزی است که ما در اینجا انجام دهد. بنابراین ما قصد داریم به، دوباره، استفاده از Calloc تابع به طوری که ما لازم نیست به صفر از همه از اشاره گر، و ما، دوباره، نیاز به بررسی است که Calloc شکست نیست. اگر Calloc شکست، پس ما نیاز به خالی کردن همه چیز، نزدیک ما فرهنگ لغت و غلط. بنابراین فرض کنید که آن را شکست نیست، پس این فرزند جدید را برای ما ایجاد، و پس از آن ما خواهد به آن کودک بروید. مکان نما ما تکرار خواهد کرد به پایین که فرزند. حال اگر این تهی برای شروع نیست، سپس مکان نما فقط می توانید تکرار به پایین که کودک در واقع بدون نیاز به اختصاص هر چیزی. این مورد که در آن ما برای اولین بار رخ داده است را به خود اختصاص گربه کلمه، و این بدان معناست که هنگامی که ما به اختصاص فاجعه، ما نیازی به ایجاد گره برای C-A-T دوباره. آنها در حال حاضر وجود دارد. OK، چه خوب، این چیز دیگری است؟ این وضعیت که در آن c است بک اسلش نفر، که در آن c یک خط جدید است. این به این معنی است که ما باید موفقیت یک کلمه کامل شده است. در حال حاضر، آنچه که ما می خواهیم انجام دهیم زمانی که ما با موفقیت انجام شد یک کلمه؟ ما قصد استفاده از این زمینه کلمه در داخل گره ساختار است. ما می خواهیم به مجموعه ای است که تا درست، به طوری که نشان می دهد که این گره را نشان می دهد کلمه موفقیت آمیز یک کلمه واقعی. در حال حاضر، مجموعه ای است که به درست است. ما می خواهیم برای تنظیم مجدد مکان نما ما را به نقطه به ابتدای این درخت دوباره. و در نهایت، افزایش فرهنگ لغت ما اندازه از آنجایی که ما کلمه ای دیگر یافت می شود. همه حق است، بنابراین ما قصد داریم به انجام خواندن در شخصیت های شخصیت، ساخت گره های جدید در درخت به ما و برای هر کلمه در فرهنگ لغت، تا زمانی که ما در نهایت C برسد برابر با EOF، که در این صورت، ما شکستن از فایل. در حال حاضر، دو مورد زیر وجود دارد که ما ممکن است EOF رسید. اول این است که اگر خطایی وجود دارد خواندن از فایل، پس اگر وجود داشت یک خطا، ما نیاز به انجام نمونه خالی کردن همه چیز، بستن فایل، غلط. با فرض خطایی وجود ندارد، که فقط بدان معناست که ما در واقع ضربه آخر فایل، که در این صورت، ما بستن فایل و بازگشت واقعی از ما با موفقیت لود فرهنگ لغت به درخت به ما. همه حق است، پس به را بررسی کنید تیک بزنید. نگاهی به عملکرد، ما را ببینید که ورود به هتل است که برای بازگشت به بولی. این درست میشود اگر این کلمه که آن را گذشت که در درخت به ما است. این تابع غیر این صورت false. پس چگونه می خواهیم برای تعیین اینکه آیا این کلمه در درخت به ما است؟ ما در اینجا می بینیم که، درست مثل قبل، ما قصد داریم به استفاده از مکان نما به تکرار از درخت به ما. در حال حاضر، در اینجا، ما قصد داریم به تکرار بیش از تمام حرف ما. بنابراین شمارش کلمه ما گذشت، ما قصد داریم برای تعیین شاخص در آرایه کودکان که مربوط به کلمه براکت من. پس این است که رفتن به نگاه دقیقا مانند بار، که در آن اگر براکت کلمه من است آپوستروف، پس ما مایل به استفاده از صفحه اول الفبای منهای 1 از آنجا که ما تعیین این جایی است که ما در حال رفتن برای ذخیره آپوستروف. دیگری که ما قصد استفاده از tolower کلمه براکت من. بنابراین به یاد داشته باشید که کلمه ای می تواند داشته خودسرانه حروف بزرگ، و غیره ما می خواهید مطمئن شوید که ما با استفاده از یک نسخه کوچک از چیزهایی است. و بعد از آن حروف کوچک کم به، یک بار دیگر، به ما می دهد موقعیت حروف الفبا از آن شخصیت. به طوری که برای رفتن به صفحه ما در آرایه کودکان. و اکنون، در صورتی که شاخص به کودکان آرایه تهی است، که به معنی ما دیگر نمی تواند ادامه تکرار پایین درخت به ما. اگر چنین است، این واژه را می توانید احتمالا در این درخت ما باشد، چرا که اگر آن شد، که به این معنی خواهد بود وجود دارد مسیر را به آن کلمه، و شما را هرگز تهی روبرو می شوند. بنابراین در مواجهه با تهی، ما غلط. کلمه در فرهنگ لغت نیست. اگر آن بود تهی نیست، پس از آن ما قصد داریم به ادامه تکرار، بنابراین ما در حال رفتن برای به روز رسانی مکان نما ما را به نقطه را به که گره خاص که در آن شاخص. بنابراین ما نگه داشتن انجام است که در سراسر کل کلمه. با فرض اینکه ما هرگز تهی ضربه، که به معنی ما قادر به از طریق تمام دریافت شد جهان و پیدا کردن یک گره در درخت به ما، اما ما هنوز تمام نشده. ما نمی خواهیم که به فقط به راست. ما می خواهیم برای بازگشت به مکان نما را کلمه خطا از آن زمان، به یاد داشته باشید باز هم، اگر گربه است در فرهنگ لغت و فاجعه ما است، پس از آن ما با موفقیت از طریق بدست می آورید گربه کلمه است، اما کلمه ای اشاره گر غلط و درست نخواهد بود. بنابراین ما بازگشت کلمه مکان نما را به نشان می دهد که آیا این گره است که در واقع یک کلمه، و آن را برای چک. بنابراین اجازه دهید بررسی از حجم. بنابراین حجم است که به صورت کاملا آسان از آن زمان، به یاد داشته باشید در بار، ما هستیم افزایش اندازه فرهنگ لغت برای هر کلمه ای که ما روبرو می شوند. بنابراین حجم فقط رفتن برای بازگشت اندازه فرهنگ لغت، و آن نیست. همه حق است، به طوری که در نهایت، ما باید خالی. بنابراین خالی، ما قصد داریم به استفاده از تابع بازگشتی در واقع انجام تمام از کار را برای ما، به طوری عملکرد ما است که به آن می شود Unloader. چه شده است Unloader کاری انجام دهید؟ ما در اینجا می بینیم که Unloader در حال رفتن به تکرار بیش از همه کودکان در این گره خاص، و اگر کودک گره تهی نیست، پس از آن ما قصد داریم به خالی کردن گره فرزند است. پس این است که به صورت بازگشتی خالی کردن همه بچه های ما. هنگامی که ما مطمئن هستیم که هستیم همه بچه های ما اند تخلیه شده است، پس ما می توانیم خودمان را آزاد، پس از خالی کردن خودت هستی. پس از این به صورت بازگشتی خالی خواهد شد کل درخت به، و پس از آن یک بار که انجام شده است، ما فقط می تواند به راست. خالی نمی تواند موفق، ما هستیم فقط آزاد کردن همه چیز. پس یک بار ما در حال انجام آزاد همه چیز، به راست. و آن نیست. نام من راب است و این بود [نامفهوم].