1 00:00:00,000 --> 00:00:12,350 >> [موسیقی بجانا] 2 00:00:12,350 --> 00:00:13,050 >> روب Bowden: ہیلو. 3 00:00:13,050 --> 00:00:13,640 میں روب ہوں. 4 00:00:13,640 --> 00:00:16,210 اور ہم اس کے حل کے باہر جانے دو. 5 00:00:16,210 --> 00:00:20,070 لہذا ہم یہاں لاگو کرنے کے لئے جا رہے ہیں ایک عام میز. 6 00:00:20,070 --> 00:00:24,090 ہم دیکھتے ہیں کہ ہماری struct نوڈ ٹیبل اس طرح نظر آئے جا رہا ہے. 7 00:00:24,090 --> 00:00:28,710 تو یہ ایک چار لفظ ہے جا رہا ہے سائز لمبائی 1 + کی صف. 8 00:00:28,710 --> 00:00:32,259 ، 1 + مت بھولنا کے بعد زیادہ سے زیادہ لغت میں لفظ 45 9 00:00:32,259 --> 00:00:33,130 حروف. 10 00:00:33,130 --> 00:00:37,070 اور پھر ہم ایک اضافی ضرورت کے لئے جا رہے ہیں الٹا سلیش صفر کے لئے کردار. 11 00:00:37,070 --> 00:00:40,870 >> اور پھر ہر میں ہمارے hashtable بالٹی ذخیرہ کرنے کے لئے کی جا رہی ہے ایک 12 00:00:40,870 --> 00:00:42,320 نوڈس کے لنک کی فہرست. 13 00:00:42,320 --> 00:00:44,420 ہم یہاں کی تحقیقات لکیری نہیں کر رہے ہیں. 14 00:00:44,420 --> 00:00:48,430 اور اس حکم میں اگلے سے منسلک کرنے کی بالٹی میں عنصر، ہم ایک کی ضرورت ہے 15 00:00:48,430 --> 00:00:50,390 struct نوڈ * اگلا، دوسرا. 16 00:00:50,390 --> 00:00:51,110 ٹھیک ہے. 17 00:00:51,110 --> 00:00:53,090 تو ہے کہ ایک نوڈ کی طرح لگتا ہے ہے. 18 00:00:53,090 --> 00:00:56,180 >> اب یہاں اعلان ہے ہمارے hashtable کی. 19 00:00:56,180 --> 00:00:59,640 یہ 16.834 بالٹیاں ہے جا رہا ہے. 20 00:00:59,640 --> 00:01:01,910 لیکن اب یہ تعداد واقعی کوئی فرق نہیں پڑتا. 21 00:01:01,910 --> 00:01:05,450 اور آخر میں، ہم جا رہے ہیں عالمی متغیر hashtable سائز، جس 22 00:01:05,450 --> 00:01:07,000 صفر کے طور پر شروع کی جا رہی ہے. 23 00:01:07,000 --> 00:01:10,760 اور یہ کس طرح کا ٹریک رکھنے کے لئے جا رہا ہے بہت سے الفاظ ہماری لغت میں ہیں. 24 00:01:10,760 --> 00:01:13,710 >> تو لوڈ میں ایک نظر ڈالیں. 25 00:01:13,710 --> 00:01:16,390 کہ لوڈ نوٹس، یہ ایک bool واپس. 26 00:01:16,390 --> 00:01:20,530 اس کامیابی کے ساتھ تھا تو آپ حقیقی واپس بھری ہوئی، اور جھوٹے دوسری صورت میں. 27 00:01:20,530 --> 00:01:23,990 اور یہ، ایک CONST چار * ڈکشنری لیتا ہے ڈکشنری ہے جو 28 00:01:23,990 --> 00:01:25,280 ہم کو کھولنے کے لئے چاہتے ہیں. 29 00:01:25,280 --> 00:01:27,170 تو ہے کہ سب سے پہلی چیز ہے ہم کیا کرنے جا رہے ہیں. 30 00:01:27,170 --> 00:01:29,500 >> ہم fopen کی جا رہے ہیں پڑھنے کے لئے ڈکشنری. 31 00:01:29,500 --> 00:01:31,680 اور ہم بنانے کے لئے جا رہے ہیں یہ کامیاب اس بات کا یقین. 32 00:01:31,680 --> 00:01:35,920 یہ نل واپس اگر ایسا ہے تو، پھر ہم نے نہیں کیا کامیابی کے ساتھ ڈکشنری کھولنے. 33 00:01:35,920 --> 00:01:37,440 اور ہم جھوٹے واپس کرنے کی ضرورت. 34 00:01:37,440 --> 00:01:41,580 لیکن اس کامیابی کے ساتھ کیا ہے کہ سنبھالنے کھولیں، تو ہم پڑھنے کے لئے چاہتے ہیں، 35 00:01:41,580 --> 00:01:42,400 ڈکشنری. 36 00:01:42,400 --> 00:01:46,450 ہم نے کچھ جب تک تو looping کے رکھنے کے اس لوپ سے باہر کو توڑنے کے لئے کی وجہ سے، 37 00:01:46,450 --> 00:01:47,570 ہم دیکھیں گے جس میں. 38 00:01:47,570 --> 00:01:48,920 تو looping کے رکھنے کے. 39 00:01:48,920 --> 00:01:51,780 >> اور اب ہم جا رہے ہیں ایک نوڈ malloc کی. 40 00:01:51,780 --> 00:01:54,020 اور یقینا ہم نے کی ضرورت نشر دوبارہ چیک کریں. 41 00:01:54,020 --> 00:01:58,680 تو mallocing کامیاب نہیں ہیں، تو ہم کہ ہم کسی بھی نوڈ اتارنا کرنا چاہتے ہیں 42 00:01:58,680 --> 00:02:02,590 پہلے malloc پر ہوا، بند لغت اور جھوٹے واپس. 43 00:02:02,590 --> 00:02:06,830 لیکن اس کو نظر انداز، سنبھالنے ہم کامیاب، تو ہم fscanf استعمال کرنا چاہتے ہیں 44 00:02:06,830 --> 00:02:12,400 کی طرف سے ایک ایک لفظ پڑھنے کے لئے ہمارے ہمارے نوڈ ڈکشنری. 45 00:02:12,400 --> 00:02:17,940 تو اس اندراج> لفظ یاد چار + 1 سائز LENGHTH کے لفظ بفر 46 00:02:17,940 --> 00:02:20,300 ہم اندر لفظ ذخیرہ کرنے کے لئے جا رہے ہیں 47 00:02:20,300 --> 00:02:25,070 >> تو fscanf جب تک، 1 واپس جا رہا ہے یہ قابل کامیابی تھا 48 00:02:25,070 --> 00:02:26,750 فائل سے ایک لفظ پڑھا ہے. 49 00:02:26,750 --> 00:02:30,460 ایک غلطی یا تو ہوتا ہے، یا ہم فائل کے آخر تک پہنچنے کے، یہ 50 00:02:30,460 --> 00:02:31,950 1 واپس نہیں کرے گا. 51 00:02:31,950 --> 00:02:35,180 یہ، 1 واپس نہیں کرتا ہے، جس صورت میں ہم آخر میں سے باہر کو توڑنے کے لئے جا رہے ہیں 52 00:02:35,180 --> 00:02:37,280 اس دیر لوپ. 53 00:02:37,280 --> 00:02:42,770 تو ہم دیکھتے ہیں کہ ہم کامیابی کے ساتھ ایک بار میں ایک لفظ پڑھا ہے 54 00:02:42,770 --> 00:02:48,270 اندراج> لفظ، پھر ہم اس لئے جا رہے ہیں ہماری ہیش تقریب کا استعمال کرتے ہوئے لفظ. 55 00:02:48,270 --> 00:02:49,580 >> کی پر ایک نظر ڈالیں ہیش تقریب. 56 00:02:49,580 --> 00:02:52,430 57 00:02:52,430 --> 00:02:55,610 تو کیا تم واقعی ضرورت نہیں ہے اس کو سمجھنے کے لئے. 58 00:02:55,610 --> 00:02:59,460 اور اصل میں ہم صرف اس ہیش نکالا انٹرنیٹ سے کام. 59 00:02:59,460 --> 00:03:04,010 آپ کی شناخت کرنے کی ضرورت ہے صرف ایک ہی چیز ہے یہ ایک CONST چار * لفظ لیتا ہے. 60 00:03:04,010 --> 00:03:08,960 تو یہ ان پٹ کے طور پر ایک تار لے، اور ہے پیداوار کے طور پر ایک int اہستاکشرت واپس لوٹنے کے. 61 00:03:08,960 --> 00:03:12,360 تو یہ سب ایک ہیش تقریب ہے، یہ ہے ایک ان پٹ میں لیتا ہے اور آپ کو ایک دیتا ہے 62 00:03:12,360 --> 00:03:14,490 hashtable میں انڈیکس. 63 00:03:14,490 --> 00:03:18,530 >> ہم NUM_BUCKETS کی طرف سے moding کر رہے ہیں، تو وہ قیمت واپس 64 00:03:18,530 --> 00:03:21,730 اصل hashtable میں ایک انڈیکس ہے اور کرتا ہے سے باہر نہیں انڈیکس 65 00:03:21,730 --> 00:03:24,320 صف کی حد. 66 00:03:24,320 --> 00:03:28,060 تو اس تقریب میں، ہم جا رہے ہیں دیا ہم نے پڑھا ہے کہ لفظ ہیش 67 00:03:28,060 --> 00:03:29,390 ڈکشنری. 68 00:03:29,390 --> 00:03:31,700 اور پھر ہم استعمال کرنے کے لئے جا رہے ہیں شامل کرنے کے لئے ہے کہ ہیش 69 00:03:31,700 --> 00:03:33,750 hashtable میں لاگ ان. 70 00:03:33,750 --> 00:03:38,520 >> اب hashtable ہیش موجودہ ہے ٹیبل میں فہرست منسلک. 71 00:03:38,520 --> 00:03:41,410 اور یہ بہت ممکن ہے یہ صرف نل ہے. 72 00:03:41,410 --> 00:03:44,960 ہم پر ہماری اندراج داخل کرنا چاہتے ہیں اس سے منسلک فہرست کے آغاز. 73 00:03:44,960 --> 00:03:48,600 اور اس طرح ہم ہماری موجودہ جا رہے ہیں کیا hashtable کے لئے انٹری پوائنٹ 74 00:03:48,600 --> 00:03:50,380 فی الحال اشارہ. 75 00:03:50,380 --> 00:03:53,310 اور پھر ہم، ذخیرہ کرنے کے لئے جا رہے ہیں میں hashtable میں 76 00:03:53,310 --> 00:03:55,350 ہیش، موجودہ اندراج. 77 00:03:55,350 --> 00:03:59,320 تو یہ دو لائنوں کی کامیابی کے ساتھ داخل کے آغاز میں اندراج 78 00:03:59,320 --> 00:04:02,260 کہ انڈیکس میں منسلک فہرست hashtable میں. 79 00:04:02,260 --> 00:04:04,900 >> ہم نے اس کے ساتھ کیا کر رہے ہیں ایک بار، ہم جانتے ہیں ہم میں ایک لفظ پایا جاتا ہے 80 00:04:04,900 --> 00:04:07,790 ڈکشنری، اور ہم ایک بار پھر اضافہ. 81 00:04:07,790 --> 00:04:13,960 تو ہم کیا کر رکھیں کہ fscanf تک آخر میں غیر 1 کچھ واپس 82 00:04:13,960 --> 00:04:16,950 جس نقطہ یاد ہے کہ ہم اندراج آزاد کرنے کی ضرورت. 83 00:04:16,950 --> 00:04:19,459 تو یہاں ہم ایک اندراج malloced. 84 00:04:19,459 --> 00:04:21,329 اور ہم کچھ پڑھنے کے لئے کی کوشش کی لغت سے. 85 00:04:21,329 --> 00:04:23,910 اور ہم کامیابی کے ساتھ نہیں پڑھا میں لغت سے کچھ، 86 00:04:23,910 --> 00:04:26,650 ہم اندراج کو آزاد کرنے کی ضرورت ہے جس میں کیس ہم اصل میں ڈال کبھی نہیں 87 00:04:26,650 --> 00:04:29,140 hashtable، اور آخر میں توڑ. 88 00:04:29,140 --> 00:04:32,750 >> ہم باہر کو توڑنے کے بعد ہم کو دیکھنے کے لئے کی ضرورت ہے، اچھی طرح سے، ہم کیونکہ وہاں توڑا 89 00:04:32,750 --> 00:04:34,360 ایک خرابی فائل سے پڑھ رہا تھا؟ 90 00:04:34,360 --> 00:04:37,120 یا پھر ہم باہر توڑ دیا کیونکہ ہم فائل کے آخر تک پہنچ گئی؟ 91 00:04:37,120 --> 00:04:39,480 ایک غلطی تو، تھا تو ہم جھوٹے واپس کرنا چاہتے ہیں. 92 00:04:39,480 --> 00:04:40,930 لوڈ کامیاب نہیں ہے. 93 00:04:40,930 --> 00:04:43,890 اور اس عمل میں ہم خالی کرنا چاہتے ہیں ہم میں پڑھا ہے کہ الفاظ، اور 94 00:04:43,890 --> 00:04:45,670 ڈکشنری فائل بند. 95 00:04:45,670 --> 00:04:48,740 >> ہم کامیاب کیا سمجھتے ہوئے، تو ہم صرف اب بھی لغت کو بند کرنے کی ضرورت ہے 96 00:04:48,740 --> 00:04:53,040 فائل، اور آخر میں صحیح واپس آ کے بعد سے ہم کامیابی کے ساتھ ڈکشنری بھری ہوئی. 97 00:04:53,040 --> 00:04:54,420 اور یہ کہ لوڈ کے لئے ہے. 98 00:04:54,420 --> 00:04:59,020 تو اب، ایک بھاری بھرکم hashtable دیا، چیک اس طرح نظر آئے جا رہا ہے. 99 00:04:59,020 --> 00:05:03,140 تو ہے جو، یہ ایک bool واپس، کی جانچ پڑتال منظور چاہے اس بات کی نشاندہی کرنے کے لئے جا 100 00:05:03,140 --> 00:05:07,530 چار * لفظ میں، چاہے وہ منظور تار میں ہماری لغت میں ہے. 101 00:05:07,530 --> 00:05:09,890 ، یہ لغت میں ہے تو یہ ہماری hashtable میں ہے، 102 00:05:09,890 --> 00:05:11,170 ہم سچ واپس آ جائیں گے. 103 00:05:11,170 --> 00:05:13,380 اگر یہ نہیں ہے، ہم جھوٹے واپس آ جائیں گے. 104 00:05:13,380 --> 00:05:17,740 >> اس لفظ میں منظور کو دیکھتے ہوئے، ہم لفظ ہیش کرنے کے لئے جا. 105 00:05:17,740 --> 00:05:22,110 اب تسلیم کرنے کے لئے ایک اہم بات یہ ہے لوڈ میں ہم جانتے تھے کہ اس کے تمام 106 00:05:22,110 --> 00:05:23,820 ہم کم کیس جا رہے ہیں کے الفاظ. 107 00:05:23,820 --> 00:05:25,820 لیکن یہاں ہم اس بات کا یقین نہیں کر رہے ہیں. 108 00:05:25,820 --> 00:05:29,510 ہم اپنے ہیش تقریب پر ایک نظر ڈالیں تو، اصل میں ہمارے ہیش تقریب 109 00:05:29,510 --> 00:05:32,700 کم سانچے ہر ایک کردار ہے لفظ کے. 110 00:05:32,700 --> 00:05:37,940 تو اس سے قطع نظر کے بڑے حروف تہجی کے لفظ، ہماری ہیش تقریب کی واپسی ہے 111 00:05:37,940 --> 00:05:42,270 جو کچھ بھی کے لئے ایک ہی انڈیکس بڑے حروف تہجی یہ ہو گا کے طور پر، ہے 112 00:05:42,270 --> 00:05:45,280 ایک مکمل طور پر چھوٹے کے لئے واپس لفظ کے ورژن. 113 00:05:45,280 --> 00:05:46,600 ٹھیک ہے. 114 00:05:46,600 --> 00:05:49,790 یہ ہماری انڈیکس میں ہے اس لفظ کے لئے hashtable. 115 00:05:49,790 --> 00:05:52,940 >> اب میں لوپ کے لئے یہ جا رہا ہے منسلک فہرست پر iterate 116 00:05:52,940 --> 00:05:55,000 کہ انڈیکس میں تھا. 117 00:05:55,000 --> 00:05:59,610 تو ہم اندراج ابتدا کر رہے ہیں نوٹس اس انڈیکس کی طرف اشارہ. 118 00:05:59,610 --> 00:06:02,750 ہم جاری رکھنے کے لئے جا رہے ہیں اندراج = نل! جبکہ. 119 00:06:02,750 --> 00:06:07,770 اور یاد رکھنا کہ پوائنٹر کو اپ ڈیٹ میں اگلے ہمارے منسلک فہرست اندراج = اندراج>. 120 00:06:07,770 --> 00:06:14,400 تو ہماری موجودہ لاگ ان کرنے کی ضرورت ہے منسلک فہرست میں اگلے آئٹم. 121 00:06:14,400 --> 00:06:19,250 >> تو منسلک فہرست میں ہر اندراج کے لئے، ہم strcasecmp استعمال کرنے کے لئے جا رہے ہیں. 122 00:06:19,250 --> 00:06:20,330 یہ strcomp نہیں ہے. 123 00:06:20,330 --> 00:06:23,780 ایک بار پھر، ہم چاہتے ہیں insensitively چیزوں کیس کرتے ہیں. 124 00:06:23,780 --> 00:06:27,870 تو ہم آپس میں موازنہ کرنے strcasecmp استعمال اس کے ذریعے منظور کیا گیا تھا کہ لفظ 125 00:06:27,870 --> 00:06:31,860 لفظ کے خلاف تقریب کہ اس اندراج میں ہے. 126 00:06:31,860 --> 00:06:35,570 یہ صفر ہے تو، کہ تھا کا مطلب ہم چاہتے ہیں جس صورت میں ایک میچ، 127 00:06:35,570 --> 00:06:36,630 سچ واپس. 128 00:06:36,630 --> 00:06:39,590 ہم نے کامیابی مل گیا ہمارے hashtable میں لفظ. 129 00:06:39,590 --> 00:06:43,040 >> ایک میچ وہاں نہیں تھا، تو ہم ہیں پھر لوپ پر جا کر اور پر نظر 130 00:06:43,040 --> 00:06:43,990 اگلا اندراج. 131 00:06:43,990 --> 00:06:47,640 اور ہم جبکہ وہاں looping کی جاری رکھیں گے اس سے منسلک فہرست میں اندراجات ہیں. 132 00:06:47,640 --> 00:06:50,160 ہم توڑ تو کیا ہوتا لوپ کے لئے اس سے باہر؟ 133 00:06:50,160 --> 00:06:55,110 کہ ہم ایک اندراج کو تلاش نہیں کیا مطلب ہے کہ جس صورت میں، اس لفظ کے ملاپ 134 00:06:55,110 --> 00:07:00,220 ہم اس بات کی نشاندہی کرنے کے لئے جھوٹے واپس کہ ہماری hashtable اس لفظ پر مشتمل نہیں تھا. 135 00:07:00,220 --> 00:07:02,540 اور یہ کہ ایک چیک ہے. 136 00:07:02,540 --> 00:07:04,790 >> تو سائز میں ایک نظر ڈالیں. 137 00:07:04,790 --> 00:07:06,970 اب سائز بہت آسان ہونے جا رہا ہے. 138 00:07:06,970 --> 00:07:11,080 کے بعد سے ہر لفظ کے لئے، لوڈ میں یاد ہم ایک عالمی incremented کیا، مل گیا 139 00:07:11,080 --> 00:07:12,880 متغیر hashtable سائز. 140 00:07:12,880 --> 00:07:16,480 تو سائز تقریب صرف کی جا رہی ہے عالمی متغیر واپس کرنے کے لئے. 141 00:07:16,480 --> 00:07:18,150 اور یہ کہ یہ ہے. 142 00:07:18,150 --> 00:07:22,300 >> اب آخر میں، ہم خالی کرنے کی ضرورت ہے لغت میں سب کچھ کیا ہے ایک بار. 143 00:07:22,300 --> 00:07:25,340 تو ہم کس طرح ایسا کرنے کے لئے جا رہے ہیں؟ 144 00:07:25,340 --> 00:07:30,440 یہاں ہم looping کر رہے ہیں ہماری میز کے تمام بالٹیاں. 145 00:07:30,440 --> 00:07:33,240 تو NUM_BUCKETS بالٹیاں ہیں. 146 00:07:33,240 --> 00:07:37,410 اور میں ہر ایک سے منسلک فہرست کے لئے ہماری hashtable، ہم لوپ کے لئے جا رہے ہیں 147 00:07:37,410 --> 00:07:41,070 لنک کی فہرست کے مکمل طور پر، ہر عنصر آزاد. 148 00:07:41,070 --> 00:07:42,900 >> اب ہم محتاط رہنے کی ضرورت. 149 00:07:42,900 --> 00:07:47,910 تو یہاں ہم ایک عارضی متغیر ہے کہ اگلے پوائنٹر ذخیرہ کرنے ہے 150 00:07:47,910 --> 00:07:49,730 منسلک فہرست میں عنصر. 151 00:07:49,730 --> 00:07:52,140 اور پھر ہم ڈاؤن لوڈ، اتارنا کرنے کے لئے جا رہے ہیں موجودہ عنصر. 152 00:07:52,140 --> 00:07:55,990 ہمیں کے بعد ایسا اس بات کا یقین کرنے کی ضرورت ہے صرف موجودہ عنصر کو آزاد نہیں کر سکتے ہیں 153 00:07:55,990 --> 00:07:59,180 اور پھر اگلے پوائنٹر تک رسائی حاصل کرنے کی کوشش کریں، ایک بار کے بعد ہم نے اسے آزاد کر دیا ہے، 154 00:07:59,180 --> 00:08:00,870 میموری غلط ہو جاتا ہے. 155 00:08:00,870 --> 00:08:04,990 >> تو ہم پر ایک پوائنٹر کے ارد گرد رکھنے کی ضرورت ہے اگلے عنصر، پھر ہم آزاد کر سکتے ہیں 156 00:08:04,990 --> 00:08:08,360 موجودہ عنصر، اور پھر ہم کو اپ ڈیٹ کر سکتے ہیں، کی طرف اشارہ کرنے کے لئے ہماری موجودہ عنصر 157 00:08:08,360 --> 00:08:09,550 اگلے عنصر. 158 00:08:09,550 --> 00:08:12,800 ہم عناصر لوپ ہیں کریں گے جبکہ اس سے منسلک فہرست میں. 159 00:08:12,800 --> 00:08:15,620 ہم سب منسلک لئے کیا کریں گے hashtable کی فہرست میں. 160 00:08:15,620 --> 00:08:19,460 ہم نے اس کے ساتھ کیا کر رہے ہیں اور ایک بار، ہم نے مکمل طور پر hashtable اتارتے، اور 161 00:08:19,460 --> 00:08:20,190 ہم کیا کر رہے ہیں. 162 00:08:20,190 --> 00:08:23,200 تو خالی کے لئے ناممکن ہے کبھی جھوٹے واپس. 163 00:08:23,200 --> 00:08:26,470 اور ہم کیا کر رہے ہیں، تو ہم صرف سچ واپس. 164 00:08:26,470 --> 00:08:29,000 >> اس کا حل ایک کوشش دے. 165 00:08:29,000 --> 00:08:33,070 تو کیا ہمارے پر ایک نظر ڈالیں struct نوڈ طرح نظر آئے گا. 166 00:08:33,070 --> 00:08:36,220 یہاں ہم ایک bool لئے جا رہے ہیں کو دیکھنے کے لفظ اور ایک struct نوڈ * بچوں 167 00:08:36,220 --> 00:08:37,470 بریکٹ کے حروف تہجی. 168 00:08:37,470 --> 00:08:38,929 169 00:08:38,929 --> 00:08:42,020 آپ ہو سکتا ہے تو سب سے پہلی چیز سوچ، کیوں حروف تہجی ہے 170 00:08:42,020 --> 00:08:44,660 ایڈ 27 کے طور پر بیان؟ 171 00:08:44,660 --> 00:08:47,900 ٹھیک ہے، ہم ضرورت کے لئے جا رہے ہیں یاد رکھیں کہ apostrophe کے ہینڈلنگ کی جائے. 172 00:08:47,900 --> 00:08:51,910 تو یہ کسی حد تک ایک کے ہونے جا رہا ہے اس پروگرام میں خصوصی کیس. 173 00:08:51,910 --> 00:08:54,710 >> اب یاد ہے کہ کس طرح ایک trie اصل میں کام کرتا ہے. 174 00:08:54,710 --> 00:08:59,380 ہم لفظ تخکرمن رہے ہیں "بلیوں" پھر trie کے جڑ سے، 175 00:08:59,380 --> 00:09:02,610 ہم بچوں کو دیکھنے کے لئے جا رہے ہیں صف، اور ہم کو دیکھنے کے لئے جا رہے ہیں 176 00:09:02,610 --> 00:09:08,090 خط کے مساوی ہے کہ انڈیکس 2 حساب سے ترتیب ہو جائے گا کہ سی تو. 177 00:09:08,090 --> 00:09:11,530 تو دی ہے، اس سے ہمیں ایک نیا نوڈ دے. 178 00:09:11,530 --> 00:09:13,820 اور پھر ہم اس نوڈ سے کام کریں گے. 179 00:09:13,820 --> 00:09:17,770 >> تو وہ نوڈ دیا، ہم ایک بار پھر رہے ہیں بچوں کی صف کو دیکھنے کے لئے جا رہا. 180 00:09:17,770 --> 00:09:22,110 اور ہم انڈیکس صفر کو دیکھنے کے لئے جا رہے ہیں بلی میں ایک کے مطابق. 181 00:09:22,110 --> 00:09:27,170 تو پھر ہم اس نوڈ پر جانے کے لئے جا رہے ہیں، اور یہ کہ نوڈ دیا ہم جا رہے ہیں 182 00:09:27,170 --> 00:09:31,090 آخر میں تلاش کرنے کے لئے یہ ایک کے مساوی ہے ٹی اور یہ نوڈ پر منتقل کرنے کے لئے 183 00:09:31,090 --> 00:09:35,530 آخر میں، ہم مکمل طور پر دیکھا ہے کے ذریعے ہمارے لفظ "بلی." اور اب bool کے 184 00:09:35,530 --> 00:09:40,960 لفظ چاہے نشاندہی کرنے کے لئے سمجھا جاتا ہے یہ دیا لفظ اصل میں ایک لفظ ہے. 185 00:09:40,960 --> 00:09:43,470 >> تو ہم کیوں اس خاص صورت کی ضرورت ہے؟ 186 00:09:43,470 --> 00:09:47,700 ویسے کیا لفظ "تباہی" ہماری لغت میں ہے، لیکن 187 00:09:47,700 --> 00:09:50,150 لفظ "بلی" نہیں ہے؟ 188 00:09:50,150 --> 00:09:54,580 تو اور دیکھنے کے لئے تلاش کر رہے ہیں تو لفظ "بلی" ہماری لغت میں، ہم کر رہے ہیں 189 00:09:54,580 --> 00:09:59,970 کامیابی کے ذریعے تلاش کرنے کے لئے جا خطے نوڈ میں سوچکانکوں سی اے ٹی. 190 00:09:59,970 --> 00:10:04,290 لیکن یہ صرف اس وجہ سے تباہی راستے میں نوڈس پیدا ہوا 191 00:10:04,290 --> 00:10:07,190 C-A-T کی طرف سے، تمام طریقہ لفظ کے آخر. 192 00:10:07,190 --> 00:10:12,020 تو bool کے لفظ چاہے نشاندہی کرنے کے لئے استعمال کیا جاتا ہے اس مخصوص مقام 193 00:10:12,020 --> 00:10:14,310 اصل میں ایک لفظ کی طرف اشارہ کرتا. 194 00:10:14,310 --> 00:10:15,140 >> ٹھیک ہے. 195 00:10:15,140 --> 00:10:19,310 تو اب ہم یہ trie کے کیا ہے جانتے ہیں کہ کی طرح نظر کے لئے جا رہا، کے دیکھو 196 00:10:19,310 --> 00:10:20,730 تقریب لوڈ. 197 00:10:20,730 --> 00:10:24,610 تو بوجھ ایک bool واپس جا رہا ہے چاہے ہم کامیابی کے ساتھ یا اس کے لئے 198 00:10:24,610 --> 00:10:26,720 ناکام لغت بھری ہوئی. 199 00:10:26,720 --> 00:10:30,460 اور اس ڈکشنری کی جا رہی ہے ہم نے لوڈ کرنا چاہتے ہیں. 200 00:10:30,460 --> 00:10:33,930 >> ہم کیا کرنے ہیں تو سب سے پہلی چیز کھلا ہوا ہے پڑھنے کے لئے کہ لغت اپ. 201 00:10:33,930 --> 00:10:36,160 اور ہم اس بات کو یقینی بنانے کے لئے ہے ہم ناکام نہیں کیا. 202 00:10:36,160 --> 00:10:39,580 لغت میں نہیں تھا اگر ایسا ہے تو کامیابی سے کھول دیا، اس کو واپس کرے گا 203 00:10:39,580 --> 00:10:42,400 شہوت انگیز null، جس صورت میں ہم جھوٹے واپس جا. 204 00:10:42,400 --> 00:10:47,230 لیکن سنبھالنے ہے کہ یہ کامیابی کے ساتھ کھولی، تو اصل میں ہم پڑھ سکتے ہیں 205 00:10:47,230 --> 00:10:48,220 لغت کے ذریعے. 206 00:10:48,220 --> 00:10:50,880 >> ہم جا رہے ہیں تو سب سے پہلی چیز کرنا چاہتے ہیں ہم اس ہے ہے 207 00:10:50,880 --> 00:10:52,500 عالمی متغیر جڑ. 208 00:10:52,500 --> 00:10:56,190 اب جڑ * ایک نوڈ کی جا رہی ہے. 209 00:10:56,190 --> 00:10:59,760 یہ ہم ہیں کہ ہمارے trie کے سب سے اوپر ہے کے ذریعے iterating کر جا رہا. 210 00:10:59,760 --> 00:11:02,660 ہم جا رہے ہیں تو سب سے پہلی چیز ایسا کرنے کے لئے چاہتے ہیں کے لئے مختص ہے 211 00:11:02,660 --> 00:11:04,140 ہماری جڑ کے لئے میموری. 212 00:11:04,140 --> 00:11:07,980 ہم calloc استعمال کرتے ہوئے کر رہے ہیں بنیادی طور پر ایک ہی ہے، جس کی تقریب، 213 00:11:07,980 --> 00:11:11,500 malloc کی تقریب کے طور پر، سوائے یہ ہے ہے کہ کچھ واپس کرنے کے لئے بات کی ضمانت 214 00:11:11,500 --> 00:11:13,180 مکمل طور پر zeroed. 215 00:11:13,180 --> 00:11:17,290 ہم malloc کا استعمال کیا جاتا ہے تو ہم کی ضرورت ہو گی میں اشارہ کے تمام کے ذریعے جانا ہماری 216 00:11:17,290 --> 00:11:20,160 نوڈ، اور اس بات کو یقینی بنانے کے وہ سب کے سب، شہوت انگیز null ہیں. 217 00:11:20,160 --> 00:11:22,710 تو calloc ہمارے لئے ایسا کرے گا. 218 00:11:22,710 --> 00:11:26,330 >> اب صرف malloc کی طرح، ہم کرنے کی ضرورت ہے مختص اصل میں تھا کہ اس بات کا یقین 219 00:11:26,330 --> 00:11:27,520 کامیاب. 220 00:11:27,520 --> 00:11:29,990 اس شہوت انگیز null واپس آئے تو، پھر ہم بند یا ڈکشنری کی ضرورت ہے 221 00:11:29,990 --> 00:11:32,100 فائل اور جھوٹے واپس. 222 00:11:32,100 --> 00:11:36,835 تو وہ مختص کیا گیا تھا سنبھالنے کامیاب، ہم * ایک نوڈ استعمال کرنے کے لئے جا رہے ہیں 223 00:11:36,835 --> 00:11:40,270 ہمارے trie کے ذریعے iterate کرسر. 224 00:11:40,270 --> 00:11:43,890 تو ہماری جڑیں تبدیل کرنے جا رہا ہے کبھی نہیں، لیکن ہم کرسر استعمال کرنے کے لئے جا رہے ہیں 225 00:11:43,890 --> 00:11:47,875 اصل نوڈ سے نوڈ کرنے کے لئے جانا. 226 00:11:47,875 --> 00:11:50,940 >> تو اس میں لوپ کے لئے ہم پڑھ رہے ہیں ڈکشنری فائل کے ذریعے. 227 00:11:50,940 --> 00:11:53,670 اور ہم fgetc استعمال کر رہے ہیں. 228 00:11:53,670 --> 00:11:56,290 Fgetc ایک قبضہ کرنے کے لئے کی جا رہی ہے فائل سے کردار. 229 00:11:56,290 --> 00:11:59,370 ہم پکڑ جاری رکھنے کے لئے جا رہے ہیں حروف ہم تک پہنچنے نہیں جبکہ 230 00:11:59,370 --> 00:12:01,570 فائل کے آخر میں. 231 00:12:01,570 --> 00:12:03,480 >> ہم کو ہینڈل کرنے کی ضرورت ہے دو مقدمات ہیں. 232 00:12:03,480 --> 00:12:06,610 سب سے پہلے، اگر کردار ایک نئی سطر میں نہیں تھا. 233 00:12:06,610 --> 00:12:10,450 تو ہم نے اس وقت، ایک نئی سطر میں تھا تو پتہ ہے ہم ایک نیا لفظ پر منتقل کرنے کے بارے میں ہیں. 234 00:12:10,450 --> 00:12:15,240 لیکن اس وقت، یہ ایک نئی لائن نہیں تھا سنبھالنے یہاں ہم معلوم کرنا چاہتے ہیں 235 00:12:15,240 --> 00:12:18,380 انڈیکس ہم میں انڈیکس کرنے جا رہے ہیں بچوں کی صف میں 236 00:12:18,380 --> 00:12:19,810 ہم نے پہلے دیکھا. 237 00:12:19,810 --> 00:12:23,880 >> تو، میں نے پہلے کہا، ہم کرنے کی ضرورت ہے خصوصی کیس apostrophe کے. 238 00:12:23,880 --> 00:12:26,220 ہم تہرا استعمال کر رہے ہیں نوٹس یہاں آپریٹر. 239 00:12:26,220 --> 00:12:29,580 تو ہم ہیں، کے طور پر اس کو پڑھنے کے لئے جا رہے ہیں ہم میں پڑھا کردار ایک تھا 240 00:12:29,580 --> 00:12:35,330 apostrophe کے، تو ہم قائم کرنے کے لئے جا رہے ہیں انڈیکس = "حروف تہجی" -1، جس میں 241 00:12:35,330 --> 00:12:37,680 انڈیکس 26 ہو جائے. 242 00:12:37,680 --> 00:12:41,130 >> ورنہ، یہ ایک apostrophe کے نہیں تھا، وہاں ہم انڈیکس قائم کرنے کے لئے جا رہے ہیں 243 00:12:41,130 --> 00:12:43,760 C کے برابر ہے - ایک. 244 00:12:43,760 --> 00:12:49,030 تو واپس پہلے P-سیٹ سے یاد، C - A ہمیں دینے کے لئے جا رہا ہے 245 00:12:49,030 --> 00:12:53,410 سی کے حروف تہجی کی پوزیشن تو سی یہ جائے گا، خط ایک ہے 246 00:12:53,410 --> 00:12:54,700 ہم انڈیکس صفر دے. 247 00:12:54,700 --> 00:12:58,120 خط B کے لئے، یہ دے گا تو ہم انڈیکس 1، اور. 248 00:12:58,120 --> 00:13:03,010 >> تو یہ ہمیں میں انڈیکس دیتا ہے ہم چاہتے ہیں کہ بچوں کی صف. 249 00:13:03,010 --> 00:13:08,890 اب اس انڈیکس میں فی الحال خالی ہے بچوں، کا مطلب ہے کہ ایک نوڈ 250 00:13:08,890 --> 00:13:11,830 فی الحال موجود نہیں ہے کہ راستے سے. 251 00:13:11,830 --> 00:13:15,160 تو ہم مختص کرنے کی ضرورت اس راستے کے لئے ایک نوڈ. 252 00:13:15,160 --> 00:13:16,550 یہی وجہ ہے کہ ہم یہاں کیا کریں گے ہے. 253 00:13:16,550 --> 00:13:20,690 >> تو ہم پھر calloc استعمال کرنے کے لئے جا رہے ہیں تقریب، ہم کرنے کی ضرورت نہیں ہے تاکہ 254 00:13:20,690 --> 00:13:22,880 تمام اشارہ صفر. 255 00:13:22,880 --> 00:13:27,240 اور ہم پھر سے چیک کرنے کی ضرورت ہے کہ calloc ناکام نہیں کیا. 256 00:13:27,240 --> 00:13:30,700 calloc میں ناکام رہا تھا، تو ہم نے کی ضرورت سب کچھ اتارنا، بند ہماری 257 00:13:30,700 --> 00:13:32,820 ڈکشنری، اور جھوٹے واپس. 258 00:13:32,820 --> 00:13:40,050 تو یہ تو، ناکام نہیں تھا کہ سنبھالنے یہ ہمارے لئے ایک نئے بچے پیدا کر دے گا. 259 00:13:40,050 --> 00:13:41,930 اور پھر ہم اس بچے کے پاس جائیں گے. 260 00:13:41,930 --> 00:13:44,960 ہمارے کرسر iterate کے گا اس بچے کے نیچے. 261 00:13:44,960 --> 00:13:49,330 >> اب اس کے ساتھ شروع کرنے کے لئے، شہوت انگیز null نہیں تھا، پھر کرسر صرف iterate کے کر سکتے ہیں 262 00:13:49,330 --> 00:13:52,590 اصل کے بغیر بچے کو نیچے کچھ بھی مختص کرنے کے لئے. 263 00:13:52,590 --> 00:13:56,730 یہ ہم سب سے پہلے ہوا، جہاں معاملہ ہے لفظ مختص "بلی." اور 264 00:13:56,730 --> 00:14:00,330 ہم مختص کرنے کی جب کہ اس کا مطلب "تباہی،" ہم پیدا کرنے کے لئے کی ضرورت نہیں ہے 265 00:14:00,330 --> 00:14:01,680 پھر سی اے ٹی کے مراکز. 266 00:14:01,680 --> 00:14:04,830 انہوں نے پہلے ہی موجود ہیں. 267 00:14:04,830 --> 00:14:06,080 >> اور یہ کیا ہے؟ 268 00:14:06,080 --> 00:14:10,480 یہ C تھا جہاں شرط ہے C ایک نئی سطر تھا جہاں الٹا سلیش (ن)،. 269 00:14:10,480 --> 00:14:13,710 یہ ہم نے کامیابی کا مطلب ہے کہ ایک لفظ مکمل. 270 00:14:13,710 --> 00:14:16,860 اب جو ہم کرنا چاہتے ہیں جب ہم کامیابی سے ایک لفظ مکمل؟ 271 00:14:16,860 --> 00:14:21,100 ہم اس لفظ کے میدان میں استعمال کرنے کے لئے جا رہے ہیں ہمارے struct نوڈ کے اندر. 272 00:14:21,100 --> 00:14:23,390 ہم سچ ہے کہ مقرر کرنا چاہتے ہیں. 273 00:14:23,390 --> 00:14:27,150 تو اس کی طرف اشارہ کرتا ہے کہ اس نوڈ ایک کامیاب طرف اشارہ کرتا ہے 274 00:14:27,150 --> 00:14:29,250 لفظ، ایک حقیقی لفظ. 275 00:14:29,250 --> 00:14:30,940 >> اب سچ ہے کہ قائم. 276 00:14:30,940 --> 00:14:35,150 ہم نقطہ پر اپنے کرسر ری سیٹ کرنا چاہتے پھر trie کے آغاز پر. 277 00:14:35,150 --> 00:14:40,160 اور آخر میں، ہماری لغت اضافہ سائز، ہم ایک کام مل گیا کے بعد سے. 278 00:14:40,160 --> 00:14:43,230 تو ہم یہ ہے کہ ایسا رکھنے کے لئے جا رہے ہیں، ، کردار سے کردار میں پڑھنے 279 00:14:43,230 --> 00:14:49,150 ہمارے trie میں نئے مراکز کی تعمیر اور لغت میں، جب تک ہر لفظ کے لئے 280 00:14:49,150 --> 00:14:54,020 ہم آخر میں سی تک پہنچنے = مسل اختتام، جس میں کیس ہم فائل سے باہر توڑ. 281 00:14:54,020 --> 00:14:57,050 >> اب دو مقدمات کے تحت ہیں ہم مسل اختتام متاثر کیا ہے ہو سکتا ہے. 282 00:14:57,050 --> 00:15:00,980 ایک خرابی آگئی تھی تو سب سے پہلے ہے فائل سے پڑھنے کے. 283 00:15:00,980 --> 00:15:03,470 ایک خامی تھی تو، تو ہم عام کرنے کی ضرورت ہے. 284 00:15:03,470 --> 00:15:06,460 بند، سب کچھ اتارنا فائل، جھوٹے واپس. 285 00:15:06,460 --> 00:15:09,810 ، ایک خامی نہیں تھی سمجھتے ہوئے کہ صرف ہم اصل میں کے آخر مارا مطلب 286 00:15:09,810 --> 00:15:13,750 فائل، جس صورت میں، ہم قریب فائل اور صحیح واپس آ کے بعد سے ہم 287 00:15:13,750 --> 00:15:17,330 کامیابی کے ساتھ بھری ہوئی لغت ہمارے trie میں. 288 00:15:17,330 --> 00:15:20,170 >> تو اب چیک چیک کرتے ہیں. 289 00:15:20,170 --> 00:15:25,156 چیک تقریب میں کی تلاش میں، ہم دیکھتے ہیں چیک ایک bool واپس جا رہا ہے. 290 00:15:25,156 --> 00:15:29,680 اس لفظ یہ ہے کہ اگر یہ سچ واپس منظور کیا جا رہا ہے ہمارے trie میں ہے. 291 00:15:29,680 --> 00:15:32,110 یہ دوسری صورت میں جھوٹے واپس. 292 00:15:32,110 --> 00:15:36,050 تو آپ کس طرح کا تعین کر رہے ہیں اس لفظ ہمارے trie میں ہے؟ 293 00:15:36,050 --> 00:15:40,190 >> ہم یہاں دیکھتے ہیں کہ، صرف پہلے کی طرح، ہم iterate کرنے کے لئے کرسر کا استعمال کرنے جا رہے ہیں 294 00:15:40,190 --> 00:15:41,970 ہمارے trie کے ذریعے. 295 00:15:41,970 --> 00:15:46,600 اب یہاں ہم iterate کرنے جا رہے ہیں ہمارے پورے لفظ پر. 296 00:15:46,600 --> 00:15:50,620 تو، ہم نے ماضی ہیں لفظ پر iterating ہم تعین کرنے کے لئے جا رہے ہیں 297 00:15:50,620 --> 00:15:56,400 انڈیکس بچوں صف میں ہے لفظ بریکٹ میں مساوی تو اس 298 00:15:56,400 --> 00:15:59,670 بالکل طرح دیکھنے کے لئے جا رہا ہے لوڈ، کہاں تو لفظ [میں] 299 00:15:59,670 --> 00:16:03,310 ایک apostrophe کے، تو ہم چاہتے ہیں انڈیکس "حروف تہجی" استعمال کرنے کے لئے - 1. 300 00:16:03,310 --> 00:16:05,350 ہم تعین کیونکہ کہ ہم ذخیرہ کرنے کے لئے جا رہے ہیں جہاں ہے 301 00:16:05,350 --> 00:16:07,100 اپوسٹروفاس. 302 00:16:07,100 --> 00:16:11,780 >> ورنہ ہم دو کم لفظ استعمال کرنے کے لئے جا رہے ہیں بریکٹ میں تو اس لفظ یاد کر سکتے ہیں 303 00:16:11,780 --> 00:16:13,920 صوابدیدی بڑے حروف تہجی ہے. 304 00:16:13,920 --> 00:16:17,540 اور اس طرح ہم ہم اس بات کو یقینی بنانا چاہتے ہیں چیزوں کی ایک چھوٹے ورژن کا استعمال کرتے ہوئے. 305 00:16:17,540 --> 00:16:21,920 اور پھر اس 'A' ایک بار سے منہا ہمیں پھر سے حروف تہجی دے 306 00:16:21,920 --> 00:16:23,880 اس کردار کی پوزیشن. 307 00:16:23,880 --> 00:16:27,680 جس سے کہ ہماری انڈیکس جا رہا ہے بچوں صف میں. 308 00:16:27,680 --> 00:16:32,420 >> اور اب اگر بچوں میں اس انڈیکس صف خالی ہے، کہ ہم مطلب 309 00:16:32,420 --> 00:16:34,990 اب کوئی iterating کر جاری رکھ سکتے ہیں ہمارے trie نیچے. 310 00:16:34,990 --> 00:16:38,870 اگر یہ بات ہے، یہ لفظ نہیں کر سکتے ہیں ممکنہ طور پر ہمارے trie میں ہو. 311 00:16:38,870 --> 00:16:42,340 یہ تھے تو اس کے بعد کرے گا ایک راستہ ہو جائے گا مطلب 312 00:16:42,340 --> 00:16:43,510 اس لفظ کے نیچے. 313 00:16:43,510 --> 00:16:45,290 اور تم، شہوت انگیز null کا سامنا نہیں کریں گے. 314 00:16:45,290 --> 00:16:47,850 تو، شہوت انگیز null کا سامنا، ہم جھوٹے واپس. 315 00:16:47,850 --> 00:16:49,840 لفظ لغت میں نہیں ہے. 316 00:16:49,840 --> 00:16:53,660 یہ نل نہیں تھے، تو ہم ہیں iterating کر جاری کی جا رہی. 317 00:16:53,660 --> 00:16:57,220 >> لہذا ہم وہاں کرسر باہر جا رہے ہیں کہ خاص طور پر کی طرف اشارہ 318 00:16:57,220 --> 00:16:59,760 کہ انڈیکس میں نوڈ. 319 00:16:59,760 --> 00:17:03,150 ہم میں یہ ہے کہ ایسا رکھنے پورے لفظ، سنبھالنے 320 00:17:03,150 --> 00:17:03,950 ہم شہوت انگیز null کبھی نہیں مارا. 321 00:17:03,950 --> 00:17:07,220 یہی ہے جو ہم کے ذریعے حاصل کرنے کے قابل تھے کا مطلب پورے لفظ اور تلاش 322 00:17:07,220 --> 00:17:08,920 ہماری کوشش میں ایک نوڈ. 323 00:17:08,920 --> 00:17:10,770 لیکن ہم نے بہت ابھی تک نہیں کر رہے ہیں. 324 00:17:10,770 --> 00:17:12,290 >> ہم صرف سچ واپس نہیں کرنا چاہتے ہیں. 325 00:17:12,290 --> 00:17:14,770 ہم کرسر> لفظ واپس کرنا چاہتے ہیں. 326 00:17:14,770 --> 00:17:18,980 پھر یاد کے بعد سے، "بلی" نہیں ہے ہماری لغت میں، اور "تباہی" 327 00:17:18,980 --> 00:17:22,935 ، پھر ہم کامیابی کے ساتھ ہم مل جائے گا کے ذریعے لفظ "بلی." لیکن کرسر 328 00:17:22,935 --> 00:17:25,760 لفظ جھوٹے اور سچ نہیں ہو جائے گا. 329 00:17:25,760 --> 00:17:30,930 تو ہم اس بات کی نشاندہی کرنے کے لئے کرسر لفظ واپس چاہے اس نوڈ اصل میں ایک لفظ ہے. 330 00:17:30,930 --> 00:17:32,470 اور اس چیک کے لئے ہے. 331 00:17:32,470 --> 00:17:34,250 >> تو سائز چیک کرتے ہیں. 332 00:17:34,250 --> 00:17:37,350 تو سائز کافی آسان ہو جا رہا ہے کے بعد، لوڈ میں یاد، ہم 333 00:17:37,350 --> 00:17:41,430 کے لئے ڈکشنری سائز incrementing ہم کا سامنا ہے کہ ہر لفظ. 334 00:17:41,430 --> 00:17:45,350 سائز تو صرف کی جا رہی ہے ڈکشنری سائز کے واپس. 335 00:17:45,350 --> 00:17:47,390 اور یہ کہ یہ ہے. 336 00:17:47,390 --> 00:17:50,590 >> تو آخر میں ہم خالی ہے. 337 00:17:50,590 --> 00:17:55,100 تو خالی، ہم استعمال کرتے ہیں کرنے کے لئے جا رہے ہیں اصل میں تمام کرنے کے لئے پنراورتی تقریب 338 00:17:55,100 --> 00:17:56,530 ہمارے لئے کام کی. 339 00:17:56,530 --> 00:17:59,340 تو ہماری تقریب کی جا رہی ہے unloader بلایا جائے. 340 00:17:59,340 --> 00:18:01,650 کیا unloader کیا جا رہا ہے؟ 341 00:18:01,650 --> 00:18:06,580 ہم اس unloader جا رہا ہے یہاں دیکھ بچوں کے تمام پر iterate 342 00:18:06,580 --> 00:18:08,410 یہ خاص طور پر نوڈ. 343 00:18:08,410 --> 00:18:11,750 اور بچے نوڈ نہیں ہے شہوت انگیز null، تو پھر ہم جا رہے ہیں 344 00:18:11,750 --> 00:18:13,730 بچے نوڈ اتارنا. 345 00:18:13,730 --> 00:18:18,010 >> تو یہ آپ تکراری طور پر خالی ہے ہمارے بچوں کی تمام. 346 00:18:18,010 --> 00:18:21,080 ہم اس بات کا یقین ہے کہ ہو ایک بار اپنے بچوں کے تمام سامان اتارا گیا ہے، تو ہم 347 00:18:21,080 --> 00:18:25,210 خود آزاد، تو کر سکتے ہیں خود خالی. 348 00:18:25,210 --> 00:18:29,460 یہ تکراری طور پر کام کریں گے پورے trie کے خالی. 349 00:18:29,460 --> 00:18:32,850 اور پھر اس نے کیا کیا ہے ایک بار، ہم صرف سچ واپس آ سکتے ہیں. 350 00:18:32,850 --> 00:18:34,210 اتارنا ناکام نہیں ہو سکتا. 351 00:18:34,210 --> 00:18:35,710 ہم صرف چیزوں کو آزاد کر رہے ہیں. 352 00:18:35,710 --> 00:18:38,870 تو ایک بار ہم نے آزاد کیا کر رہے ہیں سب کچھ، سچ واپس. 353 00:18:38,870 --> 00:18:40,320 اور یہ کہ یہ ہے. 354 00:18:40,320 --> 00:18:41,080 میرا نام روب ہے. 355 00:18:41,080 --> 00:18:42,426 اور اس کے ہجے کنندہ تھا. 356 00:18:42,426 --> 00:18:47,830 >> [موسیقی بجانا]