1 00:00:00,000 --> 00:00:11,460 2 00:00:11,460 --> 00:00:12,250 >> DAVID MALAN: ٹھیک ہے. 3 00:00:12,250 --> 00:00:13,860 CS50 واپس خوش آمدید. 4 00:00:13,860 --> 00:00:16,190 اس ہفتے 8 کے آغاز ہے. 5 00:00:16,190 --> 00:00:21,320 اور یہ کہ مسئلہ سیٹ 5 ختم یاد ایک چیلنج کا ایک تھوڑا سا کے ساتھ. 6 00:00:21,320 --> 00:00:25,210 تو آپ کو آپ کے تمام برآمد سنبھالنے کے درس و تدریس فیلو اور CA کی تصاویر 7 00:00:25,210 --> 00:00:30,480 card.raw فائل میں، آپ اہل ہیں اب ان لوگوں میں سے سب کچھ مل جائے، اور 8 00:00:30,480 --> 00:00:34,510 ایک خوش قسمت فاتح ایک ساتھ گھر چلے جائیں گے ان چیزوں میں سے، چھلانگ لگانے کی تحریک 9 00:00:34,510 --> 00:00:37,450 آپ کو فائنل کے لئے استعمال کر سکتے ہیں کہ آلہ مثال کے طور پر منصوبوں،. 10 00:00:37,450 --> 00:00:39,860 >> یہ ہر سال، کی طرف جاتا ہے creepiness کا تھوڑا سا. 11 00:00:39,860 --> 00:00:43,480 اور تو کیا میں نے ایسا سوچا تھا کہ حصہ ہے آپ کے ساتھ ہے کہ نوٹوں میں سے کچھ 12 00:00:43,480 --> 00:00:47,370 ختم آگے پیچھے چلی گئی دیر کے عملے کی فہرست. 13 00:00:47,370 --> 00:00:51,110 مثال کے طور پر، صرف گزشتہ رات، قیمت کے لئے عملے میں سے ایک سے، unquote 14 00:00:51,110 --> 00:00:55,000 ارکان، "میں صرف ایک طالب علم دستک تھا میرے دروازے پر میرے ساتھ ایک تصویر لینے کے لئے. 15 00:00:55,000 --> 00:00:59,020 Stalkers، میں آپ کو بتا. "شروع ہم منتقل کر دیا گیا تو کافی وضاحتی اور 16 00:00:59,020 --> 00:01:02,830 پر، ایک گھنٹے یا اس کے بعد، "میں تھا طالب علم کے سیکشن کے بعد میرا انتظار کر 17 00:01:02,830 --> 00:01:06,080 اور وہ ہمارے نام اور تصاویر کے تمام تھا کاغذ کے کچھ شیٹس پر. "ٹھیک ہے. 18 00:01:06,080 --> 00:01:09,230 تو منظم کیا ہے، لیکن نہیں ابھی تک تمام کہ عجیب. 19 00:01:09,230 --> 00:01:12,520 >> اس کے بعد، "میں اس ہفتے کے آخر میں شہر سے باہر تھا اور میں واپس مل گیا جب میں وہاں تھا 20 00:01:12,520 --> 00:01:12,630 میری 21 00:01:12,630 --> 00:01:16,740 بیڈروم. "[ہنسی] 22 00:01:16,740 --> 00:01:20,410 DAVID MALAN: ایک عملہ سے پیچھے اگلا، دوسرا اقتباس اراکین کی، "ایک طالب علم میں میرے گھر آئے تھے 23 00:01:20,410 --> 00:01:25,330 4 Somerville آج صبح ہوں. "اگلا عملے، "میں سان میں اپنے ہوٹل میں ملا 24 00:01:25,330 --> 00:01:30,016 فرانسسکو اور ایک طالب علم کے لئے انتظار کر رہا تھا تین DSLRs کے ساتھ لابی سے کم مجھے. " 25 00:01:30,016 --> 00:01:31,510 کیمرے کی قسم. 26 00:01:31,510 --> 00:01:34,980 "میں، عملے اس سمسٹر پر بھی نہیں ہوں لیکن ایک طالب علم میرے گھر میں اس توڑ دیا 27 00:01:34,980 --> 00:01:40,480 پوری بات صبح اور ریکارڈ کیا Google گوگل کے گلاس کے ساتھ "اور پھر آخر میں، 28 00:01:40,480 --> 00:01:43,650 "کم از کم 12 لوگ بیتابی سے تھے میں اپنے سے باہر ہو گیا جب میرے لئے انتظار کر 29 00:01:43,650 --> 00:01:44,800 لمو، اور پھر میں 30 00:01:44,800 --> 00:01:46,970 اٹھی. "ٹھیک ہے. 31 00:01:46,970 --> 00:01:57,690 تو تصاویر کے درمیان، کے طور پر آپ کر سکتے ہیں یاد ہے، اس کے ساتھی آپ کو جو یہاں ہیں 32 00:01:57,690 --> 00:02:01,850 رہنے والے Milo کیلا، کے طور پر جانتے ہو لارین کاروالہو، ہمارے سر کے ساتھ 33 00:02:01,850 --> 00:02:02,905 فیلو تعلیم. 34 00:02:02,905 --> 00:02:05,170 Milo، Milo، یہاں لڑکے آتے ہیں. 35 00:02:05,170 --> 00:02:06,320 Milo. 36 00:02:06,320 --> 00:02:08,650 Milo. 37 00:02:08,650 --> 00:02:12,230 اگر تم برا، وہ بہت، گوگل شیشے پہنا ہے ہم آپ کو اس کے تمام کے بعد دکھاؤنگا. 38 00:02:12,230 --> 00:02:16,190 کیا آپ چاہتے ہیں تو اس Milo ہے اس کے بعد اس کے ساتھ ایک تصویر لے. 39 00:02:16,190 --> 00:02:18,240 آپ باہر دیکھنے کے لئے چاہتے ہیں، تو وہاں سامعین میں. 40 00:02:18,240 --> 00:02:19,430 ٹھیک ہے. 41 00:02:19,430 --> 00:02:20,200 وہ اچھا فوٹیج ہے. 42 00:02:20,200 --> 00:02:22,556 ٹھیک ہے، Milo کیلے. 43 00:02:22,556 --> 00:02:23,941 اوہ، ایسا نہیں ہے. 44 00:02:23,941 --> 00:02:29,020 >> [ہنسی] 45 00:02:29,020 --> 00:02:29,470 >> ٹھیک ہے. 46 00:02:29,470 --> 00:02:34,550 سامنے کیا تو ایک لفظ بھی تو، ہم تبدیلی کے لئے شروع کے طور پر، کیونکہ 47 00:02:34,550 --> 00:02:38,410 اس ہفتے خاص طور پر، ایک میں سی سے کمانڈ لائن پی ایچ پی کے لئے ماحول اور 48 00:02:38,410 --> 00:02:42,720 جاوا سکرپٹ اور SQL اور ایچ ٹی ایم ایل اور سی ایس ایس میں ایک ویب کی بنیاد پر ماحول، ہم ہوں گے 49 00:02:42,720 --> 00:02:44,490 سب کے ساتھ آپ لیس کے لئے زیادہ علم 50 00:02:44,490 --> 00:02:46,010 ممکنہ حتمی منصوبوں. 51 00:02:46,010 --> 00:02:49,240 اس مقصد کی طرف، کورس ایک ہے سیمینار کے انعقاد کی روایت جس میں 52 00:02:49,240 --> 00:02:50,950 tangential موضوعات پر ہیں کورس. 53 00:02:50,950 --> 00:02:54,330 بہت پروگرامنگ اور سے متعلق اے پی پی کی ترقی اور تو آگے، لیکن 54 00:02:54,330 --> 00:02:57,010 لازمی طور پر کی طرف سے کی نہیں کورس کے اپنے نصاب. 55 00:02:57,010 --> 00:03:00,250 >> آپ کو ایک میں دلچسپی ہو سکتا ہے اگر ایسا ہے تو اس سال کے سیمینار کی یا اس سے زیادہ، 56 00:03:00,250 --> 00:03:02,530 cs50.net/seminar میں کریں. 57 00:03:02,530 --> 00:03:06,170 بڑی عمر کے سیمینار ہیں cs50.net/seminars میں. 58 00:03:06,170 --> 00:03:10,620 اور اس سال کے لئے ابھی تک روسٹر پر روبی کے ساتھ حیرت انگیز ویب ایپلی کیشنز پر ہیں 59 00:03:10,620 --> 00:03:13,580 ایک متبادل ہے جس میں ریل، پی ایچ پی کے لئے زبان. 60 00:03:13,580 --> 00:03:14,900 کمپیوٹیشنل لسانیات. 61 00:03:14,900 --> 00:03:18,710 ہے جو iOS، کا تعارف اور آئی فون کے لئے استعمال کیا ہے کہ پلیٹ فارم 62 00:03:18,710 --> 00:03:19,850 رکن کی ترقی. 63 00:03:19,850 --> 00:03:22,890 جاوا سکرپٹ کو ویب اطلاقات کے لئے، ہم کا احاطہ کریں گے کہ، لیکن اس سیمینار میں، تم جاؤ گے 64 00:03:22,890 --> 00:03:24,070 مزید تفصیل میں. 65 00:03:24,070 --> 00:03:27,390 >> موشن کودنا، تو ہم اصل میں کچھ کرنا پڑے گا لیپ موشن سے ہمارے دوستوں میں سے، 66 00:03:27,390 --> 00:03:29,160 کمپنی خود کو، ہمارے ساتھ شامل. 67 00:03:29,160 --> 00:03:31,800 کل، حقیقت میں، فراہم کرنے کے لئے ایک ہاتھ پر سیمینار، اگر 68 00:03:31,800 --> 00:03:33,320 آپ کی دلچسپی کے. 69 00:03:33,320 --> 00:03:38,770 Meteor.js، کے لئے ایک متبادل تکنیک نہیں براؤزر میں جاوا سکرپٹ کا استعمال کرتے ہوئے، 70 00:03:38,770 --> 00:03:39,970 لیکن ایک سرور پر. 71 00:03:39,970 --> 00:03:42,110 بہت زیادہ ہے جو Node.js، کہ رگ میں بھی. 72 00:03:42,110 --> 00:03:43,650 چیکنا ڈیزائن لوڈ، اتارنا Android. 73 00:03:43,650 --> 00:03:46,990 لوڈ، اتارنا Android ایک بہت ہی مقبول متبادل کیا جا رہا ہے iOS اور ونڈوز فون کرنے کے لئے 74 00:03:46,990 --> 00:03:48,790 اور دوسرے موبائل پلیٹ فارم. 75 00:03:48,790 --> 00:03:51,180 اور ویب سلامتی فعال دفاع. 76 00:03:51,180 --> 00:03:54,590 >> تو حقیقت میں، اگر آپ چاہیں تو اس میں مشغول کرنے کے لئے، مجھے دو 77 00:03:54,590 --> 00:03:55,840 اس کا نوٹ بناتے ہیں. 78 00:03:55,840 --> 00:03:57,790 ہم کہتے ہیں کہ بہت خوش ہیں لیپ میں ہمارے دوست 79 00:03:57,790 --> 00:03:59,140 ایک ابتدائیہ ہے جو موشن، - 80 00:03:59,140 --> 00:04:01,300 اس آلہ واقعی صرف آیا چند ماہ پہلے باہر - 81 00:04:01,300 --> 00:04:05,960 کرپا 30 اس طرح کے آلات کے عطیہ کیا ہے بہت سے طالب علم کے طور پر کے لئے کلاس، اگر 82 00:04:05,960 --> 00:04:08,670 اگر آپ ہارڈ ویئر کے قرضے لے چاہوں گا سمسٹر کے اختتام کی طرف اور اس کے لئے اس کا استعمال 83 00:04:08,670 --> 00:04:10,390 ایک حقیقی حتمی منصوبے. 84 00:04:10,390 --> 00:04:11,890 وہ زبانوں کی ایک بڑی تعداد کی حمایت کرتے ہیں. 85 00:04:11,890 --> 00:04:16,040 ان میں سے کوئی بھی اتنی سی، ان میں سے کوئی پی ایچ پی، احساس ان سیمیناروں میں سے ایک یا اس سے زیادہ 86 00:04:16,040 --> 00:04:16,899 دلچسپی کے ثابت ہو سکتا ہے. 87 00:04:16,899 --> 00:04:19,730 اور ان میں سے تمام میں فلمایا جائے گا آپ کے قابل نہیں ہیں کہ اس واقعہ 88 00:04:19,730 --> 00:04:21,380 انسان میں شرکت کرنے کے لئے. 89 00:04:21,380 --> 00:04:25,000 شیڈول کے ذریعے اعلان کیا جائے ہم کمرے جمنا کے طور پر ای میل کریں. 90 00:04:25,000 --> 00:04:28,460 >> اور آخر میں، آپ کے پاس جاؤ تو projects.cs.50.net، یہ ایک ویب سائٹ ہے 91 00:04:28,460 --> 00:04:31,450 ہم دعوت دیتے ہیں ہر سال اس کو برقرار رکھنے کے کمیونٹی، فیکلٹی، کی طرف سے لوگوں 92 00:04:31,450 --> 00:04:36,420 محکموں، ملازمین، اور دونوں CS50 کرنے کے ایک سے باہر میں 93 00:04:36,420 --> 00:04:37,730 منصوبے کے خیالات کی تجویز. 94 00:04:37,730 --> 00:04:39,050 طلبہ تنظیموں کی دلچسپی کے اشیاء. 95 00:04:39,050 --> 00:04:40,600 محکموں کی دلچسپی کے اشیاء. 96 00:04:40,600 --> 00:04:43,990 آپ کو جدوجہد کر رہے ہیں، تو وہاں کی باری ہے کیا آپ کے پاس کے طور پر غیر یقینی صورتحال کے ساتھ 97 00:04:43,990 --> 00:04:46,700 اپنے آپ سے نمٹنے کے لئے چاہوں گا. 98 00:04:46,700 --> 00:04:51,760 >> تو آخری بار ہم نے ایک arguably متعارف زیادہ پیچیدہ آنکڑا ڈھانچہ ہم سے زیادہ ہوتا 99 00:04:51,760 --> 00:04:53,300 گزشتہ ہفتوں میں دیکھا. 100 00:04:53,300 --> 00:04:56,550 ہم خوبصورت arrays کا استعمال کرتے ہوئے کر رہا تھا اگر خوشی کے طور پر ایک مفید 101 00:04:56,550 --> 00:04:58,160 سادہ آنکڑا ڈھانچہ. 102 00:04:58,160 --> 00:05:00,570 پھر ہم ان سے متعارف کرایا جس میں کورس کی فہرست سے منسلک ہوتے ہیں. 103 00:05:00,570 --> 00:05:05,470 اور اس کے لئے میں سے ایک منشا کیا تھا یہ آنکڑا ڈھانچہ متعارف کرانے؟ 104 00:05:05,470 --> 00:05:06,930 جی ہاں؟ 105 00:05:06,930 --> 00:05:07,250 وہ کیا ہے؟ 106 00:05:07,250 --> 00:05:08,080 >> سامعین: متحرک سائز. 107 00:05:08,080 --> 00:05:09,040 >> DAVID MALAN: متحرک سائز. 108 00:05:09,040 --> 00:05:11,890 سرنی میں جبکہ تو، آپ کو کرنا پڑے پیشگی میں اس کے سائز جب معلوم 109 00:05:11,890 --> 00:05:12,740 تم نے اسے مختص. 110 00:05:12,740 --> 00:05:14,380 سے منسلک فہرست میں، تم نہیں معلوم ہے کہ کرنا ہے. 111 00:05:14,380 --> 00:05:17,610 آپ کو زیادہ عام طور پر صرف malloc، یا، کر سکتے ہیں ایک اضافی مختص 112 00:05:17,610 --> 00:05:20,720 نوڈ، تو بات کرنے کے لئے، کسی بھی وقت آپ زیادہ ڈیٹا داخل کرنا چاہتے ہیں. 113 00:05:20,720 --> 00:05:22,670 اور نوڈ کوئی مطلب نہیں پہلے سے مقرر ہے. 114 00:05:22,670 --> 00:05:25,580 یہ صرف بیان ایک عام اصطلاح ہے ہم ہیں کہ کنٹینر کسی قسم 115 00:05:25,580 --> 00:05:29,610 ذخیرہ کرنے کے لئے ہمارے اعداد و شمار کا استعمال کرتے ہوئے ڈھانچے میں اس میں دلچسپی کے کچھ شے، جس 116 00:05:29,610 --> 00:05:31,750 کیس integers ہونا ہو. 117 00:05:31,750 --> 00:05:33,160 >> لیکن ایک tradeoff ہمیشہ ہے. 118 00:05:33,160 --> 00:05:38,070 تو ہم نے اعداد و شمار کے متحرک سائز حاصل ساخت، لیکن ہم کیا قیمت ادا کرتے ہیں؟ 119 00:05:38,070 --> 00:05:40,040 منسلک فہرستوں کی کمی کیا ہے؟ 120 00:05:40,040 --> 00:05:41,006 جی ہاں؟ 121 00:05:41,006 --> 00:05:41,980 >> سامعین: زیادہ میموری کی ضرورت ہے. 122 00:05:41,980 --> 00:05:44,240 >> DAVID MALAN: یہ زیادہ سے زیادہ کی ضرورت ہے میموری، کس طرح؟ 123 00:05:44,240 --> 00:05:46,440 >> سامعین: [اشراوی]. 124 00:05:46,440 --> 00:05:47,050 >> DAVID MALAN: بالکل درست. 125 00:05:47,050 --> 00:05:50,460 تو اب ہم اشارہ کر رہے ہیں اضافی میموری ہم پہلے کہ 126 00:05:50,460 --> 00:05:53,040 ضرورت نہیں تھی، کیونکہ فائدہ ایک سرنی کے، کورس کی، یہ ہے کہ 127 00:05:53,040 --> 00:05:54,860 سب کچھ ملحق، واپس آ گیا ہے واپس کرنے کے لئے واپس کرنے کے لئے، جس میں 128 00:05:54,860 --> 00:05:56,380 آپ بے ترتیب رسائی حاصل ہے. 129 00:05:56,380 --> 00:06:00,710 کیونکہ صرف مربع بریکٹ کا استعمال کرتے ہوئے کی طرف سے سنکیتن، یا اس سے زیادہ تکنیکی پوائنٹر 130 00:06:00,710 --> 00:06:03,580 ریاضی، بہت آسان اس کے علاوہ، آپ کو کسی بھی رسائی حاصل کر سکتے 131 00:06:03,580 --> 00:06:05,700 مسلسل وقت میں عناصر. 132 00:06:05,700 --> 00:06:08,975 اور حقیقت میں، اس کی طرف اشارہ کر کی طرح ہے ہم نے ایک ساتھ ادا کر رہے ہیں کہ ایک اور قیمت 133 00:06:08,975 --> 00:06:09,760 منسلک فہرست. 134 00:06:09,760 --> 00:06:13,890 >> کیا کی رننگ ٹائم کے ساتھ کیا ہوتا تلاش کی طرح کچھ، میں کرنا چاہتے ہیں تو 135 00:06:13,890 --> 00:06:17,270 کچھ قیمت اور اندر تلاش ایک سے منسلک فہرست میں؟ 136 00:06:17,270 --> 00:06:20,290 میری رننگ ٹائم کیا بن جاتا ہے؟ 137 00:06:20,290 --> 00:06:21,560 (ن) کے بڑے اے. 138 00:06:21,560 --> 00:06:24,060 اس کا حل ہے تو؟ 139 00:06:24,060 --> 00:06:25,440 کیا آنکڑا ڈھانچہ حل ہے تو کیا ہوگا؟ 140 00:06:25,440 --> 00:06:28,640 میں بڑی سے بہتر کر سکتے ہیں تلاش کے لئے (ن) کے O؟ 141 00:06:28,640 --> 00:06:31,700 نہیں، کیونکہ بدترین صورت میں یہ طاقت بہت اچھی طرح حل، لیکن تعداد 142 00:06:31,700 --> 00:06:32,950 تم بڑے ہو سکتا ہے کے لئے تلاش کر رہے ہیں. 143 00:06:32,950 --> 00:06:35,370 یہ ہے جس کا نمبر 100، ہو سکتا ہے تمام ہونے کے لئے ہو سکتا ہے 144 00:06:35,370 --> 00:06:36,410 آخر میں جس طرح. 145 00:06:36,410 --> 00:06:39,950 اور تم صرف ایک منسلک تک رسائی حاصل کر سکتے ہیں کی وجہ سے کی طرف سے اس پر عمل درآمد میں فہرست 146 00:06:39,950 --> 00:06:42,690 اس کا پہلا نوڈ کی راہ، آپ ہیں قسمت سے باہر کے بھی قسم کی. 147 00:06:42,690 --> 00:06:47,450 آپ کو پوری بات گزرنا پڑتا ہے پہلے سے پتہ لگانے کے لئے آخری 148 00:06:47,450 --> 00:06:49,150 100 کی طرح ہے کہ بڑی قیمت. 149 00:06:49,150 --> 00:06:51,350 یہ ہے یا اگر تعین کرنے کے لئے نہیں وہاں بھی. 150 00:06:51,350 --> 00:06:55,960 >> تو ہم نے ایک اعداد و شمار میں کیا الگورتھم نہیں کر سکتے ہیں ساخت اس طرح لگتا ہے کہ؟ 151 00:06:55,960 --> 00:06:59,460 ہم بائنری تلاش نہیں کر سکتے، کیونکہ بائنری تلاش کریں ہم تھا کہ ضرورت 152 00:06:59,460 --> 00:07:00,740 بے ترتیب تک رسائی. 153 00:07:00,740 --> 00:07:04,500 ہم صرف مقام سے پر کودنا کر سکتے ہیں پیروی کرنے کے لئے بغیر محل وقوع 154 00:07:04,500 --> 00:07:07,080 شکل میں ان کی روٹی crumbs ان تمام اشارہ ہے. 155 00:07:07,080 --> 00:07:08,300 >> اب، ہم کس طرح اس پر عمل درآمد کیا تھا؟ 156 00:07:08,300 --> 00:07:12,830 ٹھیک ہے، ہم یہاں کی سکرین کو جانا ہو، تو ہم فوری طور پر اس ڈیٹا reimplement کر سکتے ہیں 157 00:07:12,830 --> 00:07:13,440 ساخت - 158 00:07:13,440 --> 00:07:15,670 میری لکھاوٹ تمام ہے کہ نہیں ہے یہاں بہت اچھا، لیکن ہم کوشش کریں گے. 159 00:07:15,670 --> 00:07:22,030 تو typedef struct، اور وہ میں نے کیا میں نے اس بات کو یہاں فون کرنا چاہتے ہیں؟ 160 00:07:22,030 --> 00:07:22,960 گھنڈی. 161 00:07:22,960 --> 00:07:24,580 تو میں نے ہم سے شروع مل جائے گا. 162 00:07:24,580 --> 00:07:27,860 اور اب، کیا کے اندر کرنے کی ضرورت ہے اس اکیلے کے لئے اعداد و شمار کے ڈھانچے 163 00:07:27,860 --> 00:07:28,430 فہرست منسلک؟ 164 00:07:28,430 --> 00:07:29,950 کتنے شعبوں؟ 165 00:07:29,950 --> 00:07:30,450 >> دو تو. 166 00:07:30,450 --> 00:07:31,570 ایک خوبصورت آسان ہے. 167 00:07:31,570 --> 00:07:33,050 (ن) تو INT. 168 00:07:33,050 --> 00:07:35,930 اور ہم، ہم چاہتے ہیں کہ (ن) کچھ بھی کہہ سکتے ہیں ہم ہیں لیکن اگر یہ ایک INT ہونا چاہئے 169 00:07:35,930 --> 00:07:37,660 ints کے لئے ایک سے منسلک فہرست پر عمل درآمد. 170 00:07:37,660 --> 00:07:41,920 اور اب کیا دوسری کرتا ہے میدان ہونا پڑے گا؟ 171 00:07:41,920 --> 00:07:43,460 Struct نوڈ *. 172 00:07:43,460 --> 00:07:50,570 میں struct نوڈ *، اور پھر مجھے کیا کرنا اگر ایسا ہے تو بھی میں چاہتا ہوں جو کچھ بھی اس کال کر سکتے ہیں، 173 00:07:50,570 --> 00:07:53,510 لیکن صرف میں فون کروں گا میں واضح رہنا یہ اگلے، ہم کر رہا ہوں کے طور پر. 174 00:07:53,510 --> 00:07:55,270 اور پھر میں نے اپنی گھوبگھرالی منحنی خطوط وحدانی بند کرتی ہوں. 175 00:07:55,270 --> 00:08:00,700 >> اور اب، آخری بار کے طور پر، میں یہاں نوڈ نیچے رکھو. 176 00:08:00,700 --> 00:08:03,830 لیکن میں اس کا اعلان کر رہا ہوں کہ اگر ایک کے طور پر ہے نوڈ، کیوں میں ایسا ہونے کی وجہ سے پریشان تھے 177 00:08:03,830 --> 00:08:07,320 یہاں struct اعلان میں شبدبہل نوڈ * اگلے، کے طور پر مخالفت کی 178 00:08:07,320 --> 00:08:09,210 اگلے صرف نوڈ * ہے؟ 179 00:08:09,210 --> 00:08:09,904 جی ہاں؟ 180 00:08:09,904 --> 00:08:12,810 >> سامعین: [اشراوی]. 181 00:08:12,810 --> 00:08:14,050 >> DAVID MALAN: بالکل درست. 182 00:08:14,050 --> 00:08:14,530 بالکل ٹھیک. 183 00:08:14,530 --> 00:08:18,320 سی واقعی آپ لفظی لیتا ہے اور کیونکہ صرف نوڈ کی تعریف دیکھتا ہے 184 00:08:18,320 --> 00:08:21,230 یہاں نیچے راستہ، آپ نہیں کر سکتے ہیں اسے یہاں تک حوالہ دیتے ہیں. 185 00:08:21,230 --> 00:08:24,760 تو ہم preemptive اس طرح ہے اس کا اقرار بھی ہے جو یہاں اعلان، 186 00:08:24,760 --> 00:08:25,390 مزید شبدبہل. 187 00:08:25,390 --> 00:08:27,810 Struct نوڈ، کا مطلب ہے کہ اب ہم اس تک رسائی حاصل کر سکتے ہیں 188 00:08:27,810 --> 00:08:29,760 آنکڑا ڈھانچہ کے اندر. 189 00:08:29,760 --> 00:08:33,370 >> اور ایک ایک طرف کے طور پر، یہ ہے کیونکہ ، اب تھوڑا زیادہ ساپیکش بننے 190 00:08:33,370 --> 00:08:36,230 ستارہ تکنیکی یہاں جا سکتے ہیں، یہاں جا سکتے ہیں، یہ کر سکتے ہیں 191 00:08:36,230 --> 00:08:37,179 یہاں تک کہ وسط میں جاتے ہیں. 192 00:08:37,179 --> 00:08:39,890 ہم نے کے لئے سٹائل کے ہدایت نامے میں، اپنایا ہے کورس ڈالنے کے کنونشن 193 00:08:39,890 --> 00:08:42,299 ڈیٹا کا حق اگلے ستارہ قسم، اس معاملے میں، جو 194 00:08:42,299 --> 00:08:43,460 struct نوڈ ہو جائے گا. 195 00:08:43,460 --> 00:08:46,620 لیکن نصابی کتابوں کی ایک بہت میں احساس اور آن لائن حوالہ جات، کیا تم واقعی شاید 196 00:08:46,620 --> 00:08:48,450 دوسری طرف دیکھتا ہوں. 197 00:08:48,450 --> 00:08:52,200 لیکن صرف اس لئے کہ دراصل گے دونوں کا احساس کام کرتے ہیں اور آپ کو صرف ہونا چاہئے 198 00:08:52,200 --> 00:08:52,970 مسلسل. 199 00:08:52,970 --> 00:08:53,580 >> ٹھیک ہے. 200 00:08:53,580 --> 00:08:55,630 لہذا ہمارے اعلان تھا کہ struct نوڈ کی. 201 00:08:55,630 --> 00:08:59,430 لیکن اس وقت ہم زیادہ کر شروع کر دیا نفیس چیزیں. 202 00:08:59,430 --> 00:09:03,410 مثال کے طور پر، ہم نے متعارف کرانے کا فیصلہ ایک ہیش کی میز کی طرح کچھ. 203 00:09:03,410 --> 00:09:08,160 تو یہاں سائز (ن) کے ایک ہیش کی میز ہے (ن) کے لئے چھوڑ سب سے اوپر پر 0 سے حساب سے ترتیب 204 00:09:08,160 --> 00:09:09,690 مائنس نچلے حصے پر 1 چھوڑ دیا. 205 00:09:09,690 --> 00:09:11,640 یہ ایک ہیش ہو سکتا ہے کسی چیز کے لئے میز. 206 00:09:11,640 --> 00:09:15,340 لیکن ہم ان چیزوں کی قسم کی بات کیا کے لئے ایک ہیش کی میز کا استعمال کرتے ہوئے کے بارے میں؟ 207 00:09:15,340 --> 00:09:18,370 کیا محفوظ؟ 208 00:09:18,370 --> 00:09:18,800 >> جاتاہے. 209 00:09:18,800 --> 00:09:20,870 ہم جیسے ناموں کر سکتے ہیں ہم نے پچھلی بار کیا تھا. 210 00:09:20,870 --> 00:09:22,200 اور واقعی، تم کچھ بھی جمع کر سکتے ہیں. 211 00:09:22,200 --> 00:09:24,640 اور ہم نے اس میں دوبارہ نظر آئے گا پی ایچ پی اور جاوا سکرپٹ میں. 212 00:09:24,640 --> 00:09:28,550 ایک ہیش میز سوئس کی ایک اچھی قسم ہے آپ کو ذخیرہ کرنے کے لئے کی اجازت دیتا ہے کہ فوج کی چھری 213 00:09:28,550 --> 00:09:33,690 بہت زیادہ اگر آپ کے اندر جو چاہو اقدار کے ساتھ منسلک کرنے کی چابیاں کی طرف سے. 214 00:09:33,690 --> 00:09:34,770 اقدار کے ساتھ چابیاں. 215 00:09:34,770 --> 00:09:37,800 >> اب اس سادہ صورت میں، ہماری چابیاں صرف نمبرز ہیں. 216 00:09:37,800 --> 00:09:40,380 ہم نے ایک ہیش پر عمل درآمد کر رہے ہیں ایک سرنی کے طور پر ٹیبل. 217 00:09:40,380 --> 00:09:43,500 اور اس طرح کی چابیاں 0 ہیں، 1، 2، اور تو آگے. 218 00:09:43,500 --> 00:09:47,200 اور اس طرح ہم، انسان کے طور پر، آخری فیصلہ کیا تم ہم ہیں تو پتہ ہے کیا، جو ہفتے 219 00:09:47,200 --> 00:09:50,410 سٹور کے نام کرنے جا رہا، ہم صرف منمانے، لیکن خوبصورت معقول حد تک، 220 00:09:50,410 --> 00:09:54,680 فرض کریں کہ ایلس، ایک ایک کا نام، صرف 0 میں حساب سے ترتیب کیا جائے گا. 221 00:09:54,680 --> 00:09:58,030 اور باب، ایک بی کا نام، حساب سے ترتیب کی جائے گی 1 میں، اور تو آگے. 222 00:09:58,030 --> 00:10:02,490 تو ہم، آدانوں کے درمیان ایک تعریفیں تھا جس کے تار ہیں، اور ہیش 223 00:10:02,490 --> 00:10:04,560 تعداد ہیں جو مقامات،. 224 00:10:04,560 --> 00:10:07,740 >> تو یہ عمل عام طور پر کے طور پر جانا جاتا ہے ایک ہیش فنکشن ہے، اور تم واقعی کر سکتے ہیں 225 00:10:07,740 --> 00:10:09,130 اس کوڈ میں لاگو کرتے ہیں. 226 00:10:09,130 --> 00:10:12,080 میں نے ایک ہیش تقریب کو لاگو کرنا چاہتے تھے تو کہ بالکل وہی جو ہم کرتا ہے 227 00:10:12,080 --> 00:10:17,070 صرف آخری بار کی طرف سے بیان کیا، میں شاید کے طور پر لیتا ہے ایک تقریب کا اعلان 228 00:10:17,070 --> 00:10:18,330 مثال کے طور پر ان پٹ - 229 00:10:18,330 --> 00:10:22,190 اور ہم اس پر ایسا یہاں سکرین. 230 00:10:22,190 --> 00:10:26,180 میں نے ایک ہیش لاگو کرنے کے لئے کرنا چاہتا تھا تو تقریب، میں کہتا ہوں کہ ہو سکتا ہے 231 00:10:26,180 --> 00:10:27,410 کچھ اس طرح. 232 00:10:27,410 --> 00:10:29,030 >> یہ ایک INT واپس جا رہا ہے. 233 00:10:29,030 --> 00:10:33,600 یہ ہیش بلایا جائے جا رہا ہے، اور یہ ہے ایک دلیل کے طور پر قبول کرنے کے لئے جا 234 00:10:33,600 --> 00:10:38,920 سٹرنگ، یا ہم، اب زیادہ مناسب ہو سکتا ہے اور چار * کا کہنا ہے کہ ہم اس کے فون کرتا ہوں. 235 00:10:38,920 --> 00:10:43,840 اور پھر اس سب کی تقریب، کیا کرنا ہے آخر میں، ایک INT کی واپسی ہے. 236 00:10:43,840 --> 00:10:45,990 اب، یہ کس طرح کرتا ہے شاید اتنی واضح نہیں. 237 00:10:45,990 --> 00:10:49,510 میں کسی بھی بغیر اس کے نفاذ کے لیے جا رہا ہوں ابھی جانچ پڑتال کی خرابی کی شکل. 238 00:10:49,510 --> 00:10:55,740 میں صرف آنکھ بند کر کے کہنے جا رہا ہوں، واپس ے 0 بریکٹ میں جو کچھ بھی ہے، مائنس، 239 00:10:55,740 --> 00:10:58,850 دو کے دارالحکومت کے ایک نیم وقفہ، کا کہنا ہے کہ. 240 00:10:58,850 --> 00:10:59,960 >> مکمل طور پر توڑا. 241 00:10:59,960 --> 00:11:02,620 یہ درست نہیں ہے کیونکہ ایک، S اتارنا null کیا ہے تو کیا ہوگا؟ 242 00:11:02,620 --> 00:11:04,000 بری چیزوں ہونے جا رہے ہیں. 243 00:11:04,000 --> 00:11:07,940 دو، کیا تو اس میں سب سے پہلے خط نام ایک خط کے دارالحکومت نہیں ہے؟ 244 00:11:07,940 --> 00:11:09,860 تبدیل کرنے والا نہیں ہے باہر کے ساتھ ساتھ یا تو. 245 00:11:09,860 --> 00:11:11,970 یہ ایک چھوٹے خط ہو سکتا ہے یا بالکل نہیں ایک خط. 246 00:11:11,970 --> 00:11:15,520 یہاں بہتر بنانے کے لئے اس لئے مکمل طور پر کمرہ، لیکن یہ بنیادی خیال ہے. 247 00:11:15,520 --> 00:11:19,010 >> ہم کے طور پر زبانی طور پر گزشتہ ہفتے بیان کیا پر ایلس تعریفیں صرف ایک عمل 248 00:11:19,010 --> 00:11:23,360 1 0 اور باب کا اظہار کیا جا سکتا ہے یقینی طور پر زیادہ formulaically سی کے طور پر 249 00:11:23,360 --> 00:11:24,320 یہاں کام کرتے ہیں. 250 00:11:24,320 --> 00:11:28,630 پھر ہیش کہا جاتا ہے، کے طور پر ایک سٹرنگ لیتا ہے ان پٹ، اور پھر کسی نہ کسی طرح کچھ کرتا ہے 251 00:11:28,630 --> 00:11:31,020 ایک آؤٹ پٹ پیدا کرنے کے لئے کہ ان پٹ کے ساتھ. 252 00:11:31,020 --> 00:11:34,130 نہیں ہمارے بلیک باکس کی وضاحت کے برعکس ہم طویل عرصے سے کیا ہے کہ. 253 00:11:34,130 --> 00:11:36,550 میں نے یہ ہو سکتا ہے پتہ نہیں کس طرح ہڈ کے نیچے کام کر رہے ہیں. 254 00:11:36,550 --> 00:11:40,120 >> مسئلہ سیٹ 6، چیلنجز میں سے ایک کے لئے آپ کو فیصلہ کرنے کے لئے کیا ہے 255 00:11:40,120 --> 00:11:41,920 آپ ہیش فنکشن ہو جائے گا؟ 256 00:11:41,920 --> 00:11:45,760 کہ سیاہ کے اندر ہونے جا رہا ہے کیا باکس، اور شاید، یہ ایک ہو جائے گا 257 00:11:45,760 --> 00:11:50,380 تھوڑا سا اس سے زیادہ دلچسپ اور غلطی کرنے کے لئے یقینی طور پر زیادہ سے زیادہ شکار 258 00:11:50,380 --> 00:11:53,180 یہ خاص طور سے زیادہ کی جانچ پڑتال عمل. 259 00:11:53,180 --> 00:11:54,580 >> لیکن مسائل کا حق، پیدا کر سکتے ہیں؟ 260 00:11:54,580 --> 00:11:57,760 ہم اس طرح اس کے طور پر ایک آنکڑا ڈھانچہ ہے تو ایک، مسائل میں سے ایک کیا ہے 261 00:11:57,760 --> 00:12:01,600 آپ کو ڈالنے کے طور پر آپ وقت کے ساتھ ساتھ میں چلا سکتے ہیں میں زیادہ سے زیادہ کے نام 262 00:12:01,600 --> 00:12:02,880 ہیش میز؟ 263 00:12:02,880 --> 00:12:04,630 تم نے صحیح، collisions حاصل؟ 264 00:12:04,630 --> 00:12:07,560 کیا آپ کو ایلس اور ہارون، ہے تو جن کے نام ہوا دو افراد 265 00:12:07,560 --> 00:12:08,190 ایک کے ساتھ شروع کرنے کے لئے؟ 266 00:12:08,190 --> 00:12:11,660 جہاں کہ آپ، سوال جنم لیتا ہے دوسری ایسی کا نام ڈال دیا؟ 267 00:12:11,660 --> 00:12:15,050 >> ٹھیک ہے، تم naively صرف ڈال سکتے ہیں باب سے تعلق رکھتا ہے جہاں، لیکن پھر باب ہے 268 00:12:15,050 --> 00:12:17,300 آپ کو کرنے کی کوشش کریں تو قسم کی مصیبت میں اگلے اس کا نام داخل کریں اور 269 00:12:17,300 --> 00:12:18,240 اس کے لئے کوئی گنجائش نہیں ہے. 270 00:12:18,240 --> 00:12:21,400 تو کیا تم چارلی ہے جہاں باب، ڈال سکتے ہیں اور آپ کو اس بہت جلد تصور کر سکتے ہیں 271 00:12:21,400 --> 00:12:23,020 ایک گندگی کے تھوڑا سا میں devolving. 272 00:12:23,020 --> 00:12:25,600 آخر میں لکیری کچھ، تم کہاں صرف پوری چیز تلاش کرنے کے لئے ہے 273 00:12:25,600 --> 00:12:28,190 ایلس یا باب کے لئے تلاش یا ہارون یا چارلی. 274 00:12:28,190 --> 00:12:33,230 >> تو اس کے بجائے ہم اس کی بجائے صرف، کی تجویز linearly کھلی جگہ کے لئے تحقیقات 275 00:12:33,230 --> 00:12:36,450 اور ہم وہاں کے ناموں plopping ایک fancier نقطہ نظر کی تجویز پیش کی. 276 00:12:36,450 --> 00:12:41,740 ایک کے ساتھ بھی لاگو ایک ہیش کی میز سوچکانکوں کی سرنی، لیکن اعداد و شمار کی قسم 277 00:12:41,740 --> 00:12:44,500 ان سوچکانکوں اب اشارہ تھے. 278 00:12:44,500 --> 00:12:47,360 کیا نوٹیفائر؟ 279 00:12:47,360 --> 00:12:48,730 منسلک فہرستوں کے نوٹیفائر. 280 00:12:48,730 --> 00:12:53,330 >> کیونکہ ایک سے منسلک فہرست ہے کہ یاد واقعی صرف ایک ایک نوڈ پر پوئینٹر، اور 281 00:12:53,330 --> 00:12:57,110 نوڈ ایک اگلے میدان، اور اس نوڈ ہے ایک اگلے میدان ہے، اور تو آگے. 282 00:12:57,110 --> 00:13:00,690 تو اب تم پر اس سرنی کے بارے میں سوچ کر سکتے ہیں ایک ہیش میز کے طور پر کے بائیں ہاتھ کی طرف 283 00:13:00,690 --> 00:13:01,820 ایک سے منسلک فہرست میں کے نتیجے میں. 284 00:13:01,820 --> 00:13:07,000 آپ کو ایک مل جائے تو جس کا فائدہ ہے ایلس اور ہارون کے درمیان تصادم، 285 00:13:07,000 --> 00:13:09,300 آپ کے ساتھ کیا کروں دوسرے ایسے شخص؟ 286 00:13:09,300 --> 00:13:14,150 تم صرف اس سے منسلک یا اس کے آخر، یا اس سے بھی آغاز 287 00:13:14,150 --> 00:13:15,490 اس سے منسلک فہرست میں. 288 00:13:15,490 --> 00:13:17,340 >> اور اصل میں، کے ذریعے صرف نوڈل چلو یہ صرف ایک پل کے لئے. 289 00:13:17,340 --> 00:13:18,640 جہاں سب سے زیادہ احساس کرے گا؟ 290 00:13:18,640 --> 00:13:22,060 میں یلس داخل کریں اور وہ میں ختم ہو جاتی ہے تو پہلی جگہ، تو میں کرنے کی کوشش کریں 291 00:13:22,060 --> 00:13:25,310 ہارون کا نام داخل کریں، اور وہاں ہے ظاہر ہے ایک تصادم، میں ڈال چاہئے 292 00:13:25,310 --> 00:13:27,400 اس کے آغاز میں سے منسلک فہرست میں؟ 293 00:13:27,400 --> 00:13:30,944 یہی وجہ ہے کہ کہ پہلے مقام پر ہے یا آخر میں؟ 294 00:13:30,944 --> 00:13:31,440 >> سامعین: [اشراوی]. 295 00:13:31,440 --> 00:13:31,990 >> DAVID MALAN: ٹھیک ہے. 296 00:13:31,990 --> 00:13:32,490 میں نے شروع میں سنا. 297 00:13:32,490 --> 00:13:33,903 کیوں شروع میں؟ 298 00:13:33,903 --> 00:13:34,750 >> سامعین: [اشراوی]. 299 00:13:34,750 --> 00:13:34,940 >> DAVID MALAN: ٹھیک ہے. 300 00:13:34,940 --> 00:13:36,520 یہ حروف تہجی کے اعتبار ہے، یہ اچھا ہے تو. 301 00:13:36,520 --> 00:13:37,330 یہ ایک اچھی جائیداد ہے. 302 00:13:37,330 --> 00:13:39,335 یہ میرے ممکنہ طور پر کچھ وقت بچا لے گا. 303 00:13:39,335 --> 00:13:43,290 یہ میرے بائنری تلاش کرتے ہیں، لیکن نہیں رکھا جائے میں کم از کم باہر کو توڑنے کے لئے قابل ہو سکتا ہے 304 00:13:43,290 --> 00:13:47,340 مجھے پتہ ہے اگر ایک لوپ کے، اچھی طرح سے، میں راستے میں ہوں ماضی تھے ہارون اس میں ہو گا 305 00:13:47,340 --> 00:13:48,310 منسلک کی فہرست کے مطابق. 306 00:13:48,310 --> 00:13:50,360 میں دیکھ میرا وقت برباد کرنے کی ضرورت نہیں آخر تک پورے راستے. 307 00:13:50,360 --> 00:13:51,530 تاکہ مناسب ہے. 308 00:13:51,530 --> 00:13:54,710 کیوں نہیں تو تم ڈالنے کے لئے چاہتے ہیں کر سکتے میں colliding نام 309 00:13:54,710 --> 00:13:56,660 فہرست کا آغاز؟ 310 00:13:56,660 --> 00:13:57,397 وہ کیا ہے؟ 311 00:13:57,397 --> 00:13:58,680 >> سامعین: [اشراوی]. 312 00:13:58,680 --> 00:14:00,820 >> DAVID MALAN: یہ ایک طویل وقت لگ سکتا ہے فہرست کے آخر تک حاصل کرنے کے لئے. 313 00:14:00,820 --> 00:14:02,490 اور حقیقت میں، اب اور طویل. 314 00:14:02,490 --> 00:14:04,920 آپ داخل مزید نام ہے کہ اے، اب اس کے ساتھ شروع 315 00:14:04,920 --> 00:14:06,280 چین حاصل کرنے کے لئے جا رہی ہے. 316 00:14:06,280 --> 00:14:07,890 اب سے منسلک ہے کہ فہرست حاصل کرنے کے لئے جا رہی ہے. 317 00:14:07,890 --> 00:14:09,420 تو کیا تم واقعی صرف ہو اپنا وقت برباد کر. 318 00:14:09,420 --> 00:14:14,070 شاید آپ کو برقرار رکھنے کے بہتر دور ہو مسلسل اضافے کا وقت، 1 کے بڑے اے، 319 00:14:14,070 --> 00:14:18,470 ہمیشہ colliding نام میں رکھ کر منسلک فہرست کے آغاز، 320 00:14:18,470 --> 00:14:21,230 اور بہت کچھ کے طور پر فکر مند نہیں چھانٹ رہا ہے کے بارے میں. 321 00:14:21,230 --> 00:14:22,600 >> بہترین جواب کیا ہے؟ 322 00:14:22,600 --> 00:14:23,320 یہ واضح ہے. 323 00:14:23,320 --> 00:14:26,140 یہ قسم کے پر انحصار کرتا ہے کیا تقسیم کے پیٹرن کیا ہے، ہے 324 00:14:26,140 --> 00:14:27,850 ناموں کی آپ کو داخل کر رہے ہیں. 325 00:14:27,850 --> 00:14:29,430 یہ ضروری نہیں ہے ایک واضح جواب. 326 00:14:29,430 --> 00:14:33,100 لیکن یہاں پر، پھر، ہے ایک ڈیزائن موقع. 327 00:14:33,100 --> 00:14:37,220 >> تو ہم نے اس کے بعد، اس چیز کی طرف دیکھا جو واقعی میں دوسرے بڑے موقع ہے 328 00:14:37,220 --> 00:14:38,180 P-سیٹ 6. 329 00:14:38,180 --> 00:14:41,770 اور، آپ پہلے سے ہی نہیں ہے، تو احساس ہیش ان دونوں میں Zamyla dives، 330 00:14:41,770 --> 00:14:43,260 میزیں اور مزید تفصیل سے کوشش کرتا ہے،. 331 00:14:43,260 --> 00:14:45,630 اور ویڈیو واک تھرو ہے P-سیٹ رپورٹ میں سرایت. 332 00:14:45,630 --> 00:14:46,590 یہ ایک trie تھا - 333 00:14:46,590 --> 00:14:51,670 T-R-میں E-. اور کے بارے میں دلچسپ کیا تھا یہ کہ رننگ ٹائم تھا 334 00:14:51,670 --> 00:14:59,510 میکسویل کی طرح، ایک نام کے لئے تلاش کی آخری بار، اس کی بڑی اے تھا؟ 335 00:14:59,510 --> 00:15:01,040 وہ کیا ہے؟ 336 00:15:01,040 --> 00:15:01,920 >> سامعین: حروف کی تعداد. 337 00:15:01,920 --> 00:15:02,550 >> DAVID MALAN: حروف کی تعداد. 338 00:15:02,550 --> 00:15:03,210 میں نے دو چیزوں کو سنا. 339 00:15:03,210 --> 00:15:04,630 حروف اور مسلسل وقت کی تعداد. 340 00:15:04,630 --> 00:15:05,540 اس لئے کی کہ پہلی کے ساتھ چلتے ہیں. 341 00:15:05,540 --> 00:15:06,410 حروف کی تعداد. 342 00:15:06,410 --> 00:15:10,195 ٹھیک ہے، یہ آنکڑا ڈھانچہ، یاد، ہے ایک درخت، ایک خاندان کے درخت میں سے ہر ایک کو پسند 343 00:15:10,195 --> 00:15:12,860 جن نوڈس arrays سے بنا رہے ہیں. 344 00:15:12,860 --> 00:15:16,300 اور ان arrays کے اشارہ ہیں اس جیسے دیگر نوڈ، یا ایسی دوسری 345 00:15:16,300 --> 00:15:17,670 درخت میں arrays. 346 00:15:17,670 --> 00:15:22,890 >> پھر ہم اس بات کا تعین کرنا چاہتا تھا تو اگر میکسویل یہاں ہے، چاہے میں جا سکتا ہے 347 00:15:22,890 --> 00:15:26,890 بہت سے اوپر دیئے گئے پہلے سرنی، پر درخت، نام نہاد جڑ، کے سب سے اوپر 348 00:15:26,890 --> 00:15:30,521 پھر trie، اور ایم پوائنٹر کی پیروی، اس کے بعد پھر ایک پوائنٹر، X، 349 00:15:30,521 --> 00:15:31,710 W، E، L، L. 350 00:15:31,710 --> 00:15:34,910 اور پھر میں نے، کوئی خاص نشانی دیکھ کر ایک مثلث کے طور پر یہاں ظاہر. 351 00:15:34,910 --> 00:15:38,480 کوڈ میں آپ کی تجویز ہم دیکھیں گے کہ آپ صرف ہاں کہہ، ایک bool کے طور پر لاگو کیا 352 00:15:38,480 --> 00:15:40,540 یا نہیں، ایک لفظ یہاں روکتا ہے. 353 00:15:40,540 --> 00:15:45,270 >> ویسے، ایک بار ہم M-A-X-W-E-L-L کرنے کے لئے چلے گئے، ہو سکتا، سات جیسا لگتا ہے 354 00:15:45,270 --> 00:15:48,910 آٹھ ہم اسے گزشتہ ایک، آٹھ جانا تو میکسویل تلاش کرنے کے لئے اقدامات. 355 00:15:48,910 --> 00:15:53,050 یا اس کے فون کرتے ہیں لیکن گزشتہ یاد وقت، میں وہاں ہے کہ اگر دلیل دی 356 00:15:53,050 --> 00:15:57,540 ایک حقیقت پسندانہ پر زیادہ سے زیادہ لمبائی لفظ، 40 کچھ عجیب حروف کی طرح، ایک 357 00:15:57,540 --> 00:16:00,810 زیادہ سے زیادہ لمبائی مطلب ایک مسلسل قیمت. 358 00:16:00,810 --> 00:16:05,770 تو واقعی میں، جی ہاں، یہ تکنیکی طور پر بڑا ہے اے لیکن 8 یا 7، یا کشمیر کا بہت بڑا اے کے 359 00:16:05,770 --> 00:16:09,420 کیا پر ایک تبدوست ٹوپی ہے تو کشمیر ہو سکتا ہے، یہ ایک مسلسل ہے. 360 00:16:09,420 --> 00:16:12,080 اور تو اس 1 کے بڑے اے میں ہے دن کے اختتام. 361 00:16:12,080 --> 00:16:13,040 >> نہیں حقیقی دنیا میں. 362 00:16:13,040 --> 00:16:15,960 آپ اصل میں دیکھ کر شروع نہیں جب آپ کے پروگرام کی دوڑ کے طور پر آپ گھڑی. 363 00:16:15,960 --> 00:16:20,690 یہ بالکل ایک سا ہونے جا رہا ہے واقعی مسلسل سے زیادہ سست 364 00:16:20,690 --> 00:16:21,840 ایک قدم کے ساتھ وقت. 365 00:16:21,840 --> 00:16:25,540 یہ سات یا آٹھ مراحل پر ہونے جا رہا ہے لیکن اس کے باوجود کہ بہت، بہت کچھ بہتر ہے 366 00:16:25,540 --> 00:16:30,080 کہ (ن) کے بڑے اے کی طرح ایک الگورتھم سے زیادہ میں کیا ہے کے سائز پر منحصر ہے 367 00:16:30,080 --> 00:16:31,220 آنکڑا ڈھانچہ. 368 00:16:31,220 --> 00:16:34,970 >> یہاں الٹا ہم داخل کر سکتا ہے نوٹس اس میں ایک ملین سے زیادہ کے نام 369 00:16:34,970 --> 00:16:38,170 آنکڑا ڈھانچہ، لیکن کتنے اقدامات اسے تلاش کرنے کے لئے ہمیں لے جا رہا ہے 370 00:16:38,170 --> 00:16:40,480 اس صورت میں میکسویل؟ 371 00:16:40,480 --> 00:16:40,780 کوئی بھی نہیں. 372 00:16:40,780 --> 00:16:41,820 انہوں نے کہا کہ اپرباویت ہے. 373 00:16:41,820 --> 00:16:45,480 اور تاریخ کے لئے، میں ہم نے دیکھا نہیں لگتا ایک اعداد و شمار کے ڈھانچے یا ایک کی ایک مثال 374 00:16:45,480 --> 00:16:48,560 مکمل طور پر تھا کہ الگورتھم بیرونی کی طرف سے اپرباویت 375 00:16:48,560 --> 00:16:50,040 اس طرح کے طرز عمل. 376 00:16:50,040 --> 00:16:51,160 لیکن یہ حیرت انگیز نہیں ہو سکتا. 377 00:16:51,160 --> 00:16:52,900 اس کا واحد حل نہیں ہو سکتا P-سیٹ کے لئے 378 00:16:52,900 --> 00:16:53,570 >> اور یہ نہیں ہے. 379 00:16:53,570 --> 00:16:55,980 یہ اعداد و شمار ضروری نہیں ہے ساخت آپ پر gravitate چاہئے 380 00:16:55,980 --> 00:16:58,220 کیونکہ ہیش میزیں، جیسے tradeoff. 381 00:16:58,220 --> 00:17:00,500 آپ یہاں ادا کی قیمت کیا ہے؟ 382 00:17:00,500 --> 00:17:00,940 میموری. 383 00:17:00,940 --> 00:17:02,890 میرا مطلب ہے، یہ ایک atrocious ہے میموری کی رقم. 384 00:17:02,890 --> 00:17:05,569 اور تم بالکل اسے یہاں نہیں دیکھ سکتے کیونکہ اس تصویر کے مصنف 385 00:17:05,569 --> 00:17:09,420 ظاہر ہے، arrays کے تمام مقطوعہ اور ہم نے ایک کی کے بہت سے دیکھنے اور نہیں کر رہے ہیں 386 00:17:09,420 --> 00:17:12,700 بی اور سی کی اور (ق) کی اور y کی اور Z کی ان arrays میں. 387 00:17:12,700 --> 00:17:13,630 لیکن وہ وہاں ہیں. 388 00:17:13,630 --> 00:17:17,660 >> ان مراکز میں سے ہر ایک مکمل سرنی ہے کچھ 26 یا اس سے زیادہ بائٹس، میں سے ہر ایک کے 389 00:17:17,660 --> 00:17:19,170 جو ایک خط کی نمائندگی کرتا ہے. 390 00:17:19,170 --> 00:17:22,920 ہم مدد کر سکتے ہیں تا کہ ہمارے کیس میں 27، مسئلہ سیٹ میں apostrophes. 391 00:17:22,920 --> 00:17:27,030 یہ آنکڑا ڈھانچہ واقعی ہے، واقعی گھنے اور وسیع. 392 00:17:27,030 --> 00:17:30,880 اور اکیلے اس سست ختم ہو سکتا ہے چیزوں کے نیچے، یا کم از کم آپ کو ایک کی لاگت 393 00:17:30,880 --> 00:17:32,240 بہت زیادہ جگہ. 394 00:17:32,240 --> 00:17:34,020 لیکن پھر ہم نے اپنی طرف متوجہ کر سکتے ہیں یہاں موازنہ. 395 00:17:34,020 --> 00:17:39,190 >> واپس تھوڑی دیر کو یاد ہے، ہم زیادہ سے زیادہ حاصل چھںٹائی میں زیادہ دلچسپ رننگ ٹائم 396 00:17:39,190 --> 00:17:42,880 ہم ضم ترتیب دیں، لیکن قیمت کا استعمال کرتے ہیں تو ہم انضمام کے لئے (ن) کے حصول N لاگ ان کرنے کی ادائیگی 397 00:17:42,880 --> 00:17:46,930 ترتیب دیں ہم خرچ کرتے ہیں اس کی ضرورت اور کیا ریسورس؟ 398 00:17:46,930 --> 00:17:47,690 زیادہ جگہ. 399 00:17:47,690 --> 00:17:50,530 ہم ایک ثانوی سرنی کی ضرورت ، جیسا کہ میں لوگوں کی کاپی 400 00:17:50,530 --> 00:17:51,620 ہم سٹیج پر یہاں کیا. 401 00:17:51,620 --> 00:17:55,880 تو ایک بار پھر، کوئی واضح فاتحین، لیکن صرف ساپیکش ڈیزائن 402 00:17:55,880 --> 00:17:57,710 فیصلے بنایا جائے. 403 00:17:57,710 --> 00:17:58,060 >> ٹھیک ہے. 404 00:17:58,060 --> 00:17:59,130 تو کس طرح اس کے بارے میں؟ 405 00:17:59,130 --> 00:18:02,050 کوئی بھی جو ڈی ہال پہچان؟ 406 00:18:02,050 --> 00:18:02,440 ٹھیک ہے. 407 00:18:02,440 --> 00:18:03,170 تو ہم تینوں ہیں. 408 00:18:03,170 --> 00:18:03,750 Mather ہاؤس. 409 00:18:03,750 --> 00:18:05,070 تو اس Mather کی کھانے کے لئے ہے. 410 00:18:05,070 --> 00:18:09,650 میں نے تمام ڈائننگ ہال ہے شرط لگا سکتا ہوں اس طرح ٹرے کی پوٹ. 411 00:18:09,650 --> 00:18:11,950 اور یہ اصل میں کا نمائندہ ہے ہم نے کچھ 412 00:18:11,950 --> 00:18:13,050 ظاہر ہے پہلے سے ہی دیکھا. 413 00:18:13,050 --> 00:18:14,850 ہم لفظی ایک اسٹیک یہ کہا جاتا. 414 00:18:14,850 --> 00:18:18,970 آپ کی شرائط میں اور اسٹیک، اعداد و شمار کی جاتی ہے جہاں کے کمپیوٹر کی میموری، ہے 415 00:18:18,970 --> 00:18:20,460 افعال کہا جاتا ہے کیا جا رہا ہے جبکہ. 416 00:18:20,460 --> 00:18:23,410 >> مثال کے طور پر چیزوں کو کس طرح جانا کرنے کے لئے احترام کے ساتھ اسٹیک پر 417 00:18:23,410 --> 00:18:27,420 ہم نے بات چیت کی ہے میموری ترتیب گزشتہ ہفتوں میں؟ 418 00:18:27,420 --> 00:18:28,736 وہ کیا ہے؟ 419 00:18:28,736 --> 00:18:29,670 >> سامعین: کام کرتا ہے کرنے کے لئے بلاتا ہے. 420 00:18:29,670 --> 00:18:30,260 >> DAVID MALAN: مجھے افسوس ہے. 421 00:18:30,260 --> 00:18:31,210 >> سامعین: کام کرتا ہے کرنے کے لئے بلاتا ہے. 422 00:18:31,210 --> 00:18:33,590 >> DAVID MALAN: افعال کیلئے کالیں، لیکن خاص طور پر، میں سے ہر ایک کے اندر کیا ہے 423 00:18:33,590 --> 00:18:35,340 ان فریم؟ 424 00:18:35,340 --> 00:18:37,220 چیزوں میں سے کس طرح؟ 425 00:18:37,220 --> 00:18:37,460 جی ہاں. 426 00:18:37,460 --> 00:18:38,500 مقامی متغیر تو. 427 00:18:38,500 --> 00:18:43,080 جب بھی ہم نے کچھ مقامی ذخیرہ کرنے کی ضرورت ایک دلیل کی طرح، یا INT میں، یا INT 428 00:18:43,080 --> 00:18:45,940 TEMP، یا جو کچھ بھی مقامی متغیر، ہم کیا گیا ہے ہے 429 00:18:45,940 --> 00:18:47,210 اسٹیک پر ڈال. 430 00:18:47,210 --> 00:18:49,610 اور ہم نے اسے ایک اسٹیک فون کی وجہ سے کہ layering خیال کی. 431 00:18:49,610 --> 00:18:52,940 حقیقت کے ساتھ میچوں میں سے صرف قسم کو، اس تصور. 432 00:18:52,940 --> 00:18:56,650 >> لیکن یہ باہر کر دیتا ہے ایک اسٹیک بھی کر سکتے ہیں کہ ایک ڈیٹا ڈھانچے کے طور پر دیکھا جا، ایک 433 00:18:56,650 --> 00:19:00,110 ایک سرنی کے متبادل، ایک متبادل ایک سے منسلک فہرست میں. 434 00:19:00,110 --> 00:19:02,770 conceptually زیادہ دلچسپ کچھ اب بھی ہو سکتا ہے 435 00:19:02,770 --> 00:19:06,030 ان میں سے کسی کے استعمال سے عملدرآمد چیزیں، لیکن اس کا ایک مختلف قسم ہے 436 00:19:06,030 --> 00:19:09,140 آنکڑا ڈھانچہ، واقعی، کی حمایت صرف دو آپریشن. 437 00:19:09,140 --> 00:19:11,000 لیکن آپ fancier پر شامل کر سکتے ہیں ان میں سے زیادہ خصوصیات. 438 00:19:11,000 --> 00:19:12,180 لیکن یہ بنیادی باتیں ہیں - 439 00:19:12,180 --> 00:19:13,510 دھکا اور POP. 440 00:19:13,510 --> 00:19:19,240 >> اور ایک اسٹیک کے ساتھ خیال ہے کہ اگر میں نے کے ساتھ یا اس کے بغیر Annenberg، یہاں ہے 441 00:19:19,240 --> 00:19:22,880 ، اگلے دروازے کی طرف سے ایک ٹرے جاننے کے اس پر نمبر 9 کے ساتھ. 442 00:19:22,880 --> 00:19:23,870 تو صرف ایک INT. 443 00:19:23,870 --> 00:19:26,990 اور میں اس کے اعداد و شمار پر آگے بڑھانے کے لئے چاہتے ہیں فی الحال خالی ہے جس کی ساخت،. 444 00:19:26,990 --> 00:19:28,790 یہ اسٹیک کے نچلے حصے پر غور کریں. 445 00:19:28,790 --> 00:19:33,150 میں پر اس نمبر 9 دھکا گے ڈھیر لگانا، اور اب یہ درست ہے. 446 00:19:33,150 --> 00:19:36,040 >> لیکن ایک اسٹیک کے بارے میں دلچسپ بات یہ ہے اب میں آگے بڑھانے کے لئے چاہتے ہیں تو یہ ہے کہ 447 00:19:36,040 --> 00:19:40,210 کچھ دوسری قدر کی طرح 17، اور مجھے دھکا اسٹیک پر اس کے، میں کرنے جا رہا ہوں 448 00:19:40,210 --> 00:19:43,290 ، میں نے ابھی جا رہا ہوں صرف بدیہی چیز حق ڈال کرنے کے لئے ہم کہاں انسانوں 449 00:19:43,290 --> 00:19:45,180 سب سے اوپر پر، یہ ڈال کرنے کے لئے مائل کیا جائے گا. 450 00:19:45,180 --> 00:19:48,850 لیکن اب کیا دلچسپ ہے ، کس طرح میں 9 سال میں حاصل کروں ہے؟ 451 00:19:48,850 --> 00:19:50,670 تم جانتے ہو، میں کچھ کوشش کے بغیر نہیں. 452 00:19:50,670 --> 00:19:54,070 >> تو اس کے بارے میں دلچسپ ہے ایک اسٹیک، اس کے ڈیزائن کی طرف سے ہے 453 00:19:54,070 --> 00:19:56,330 یہ ایک LIFO آنکڑا ڈھانچہ ہے. 454 00:19:56,330 --> 00:19:59,680 بیان کے پاگل طریقہ میں آخری سب سے پہلے باہر. 455 00:19:59,680 --> 00:20:03,280 تو آخری نمبر میں اس وقت 17 سال کی تھی. 456 00:20:03,280 --> 00:20:07,540 میں کچھ مر جانا چاہتے ہیں اگر ایسا ہے تو اسٹیک کے، یہ صرف 17 ہو سکتا ہے. 457 00:20:07,540 --> 00:20:11,890 تو اس کا ایک لازمی حکم ہے یہاں آپریشن، جہاں گزشتہ شے 458 00:20:11,890 --> 00:20:14,260 میں سب سے پہلے ایک ہونا ضروری ہے. 459 00:20:14,260 --> 00:20:16,440 لہذا مخفف، LIFO. 460 00:20:16,440 --> 00:20:19,160 >> تو کیوں اس مفید ہو سکتا ہے؟ 461 00:20:19,160 --> 00:20:22,690 ان کے سیاق و سباق کیا آپ ہوتا ہے جس میں اس طرح کے اعداد و شمار کے ڈھانچے چاہتے ہیں؟ 462 00:20:22,690 --> 00:20:24,810 ٹھیک ہے، یہ یقینی طور پر مفید ہو گیا ہے ایک کمپیوٹر کے اندر. 463 00:20:24,810 --> 00:20:29,050 تو آپریٹنگ سسٹمز واضح طور پر اس کا استعمال پوٹ کے لئے اعداد و شمار کے ڈھانچے کی قسم. 464 00:20:29,050 --> 00:20:32,800 ہم نے بھی اسی خیال دیکھیں گے ویب کے صفحات پر یہ آتی ہے تو. 465 00:20:32,800 --> 00:20:35,890 اس ہفتے کے اور اگلے ہفتے تو اور اس سے آگے، اور آپ کو ویب پر عمل درآمد شروع کرنے کے طور پر 466 00:20:35,890 --> 00:20:39,490 ایک زبان میں صفحات ایچ ٹی ایم ایل، آپ کر سکتے ہیں سے ملاقات کی اصل میں کی طرح ایک آنکڑا ڈھانچہ کا استعمال کرتے ہیں 467 00:20:39,490 --> 00:20:42,690 یہ تعین کرنے کے لئے اگر صفحہ درست شکل ہے. 468 00:20:42,690 --> 00:20:47,170 ہم دیکھیں گے کیونکہ تمام ویب صفحات کو فالو کریں تنظیمی ڈھانچے کا ایک طرح سے، ایک پوٹ کاری 469 00:20:47,170 --> 00:20:52,030 ، دن کے آخر میں، ایک ہو جائے گا ہڈ کے نیچے درخت کا ڈھانچہ. 470 00:20:52,030 --> 00:20:53,620 صرف تھوڑا سا میں اس پر تو زیادہ. 471 00:20:53,620 --> 00:20:56,560 >> لیکن اب کے لئے، کی ایک کے لئے تجویز کرتے ہیں پل، ہم کے بارے میں کیسے جا سکتا ہے 472 00:20:56,560 --> 00:20:58,830 ایک اسٹیک کیا ہے؟ کی نمائندگی 473 00:20:58,830 --> 00:21:03,370 ہم پر عمل درآمد نے مجھے تجویز کرتے ہیں اس طرح کے کوڈ کے ساتھ ایک اسٹیک. 474 00:21:03,370 --> 00:21:07,990 تو ایک اسٹیک اس کے اندر ہونے والا ہے دو چیزیں، ایک سرنی، کہا جاتا ٹرے، 475 00:21:07,990 --> 00:21:09,510 صرف ڈیمو کے ساتھ مسلسل ہو. 476 00:21:09,510 --> 00:21:12,660 اور اس صف میں اشیاء میں سے ہر ایک ایک قسم INT بننے جا رہی ہے. 477 00:21:12,660 --> 00:21:14,740 اور صلاحیت شاید کیا ہے؟ 478 00:21:14,740 --> 00:21:18,796 میں نہیں لکھا ہے کیونکہ یہاں مکمل تعریف. 479 00:21:18,796 --> 00:21:21,535 >> شاید یہ زیادہ سے زیادہ ہے سرنی کے سائز. 480 00:21:21,535 --> 00:21:25,150 اور یہ شاید ایک تیز قرار دیا ہے بعض فائل کے سب سے اوپر کی وضاحت 481 00:21:25,150 --> 00:21:28,450 مسلسل کی طرح کے طور پر کی طرف سے تقاضا صرف بڑے حروف تہجی. 482 00:21:28,450 --> 00:21:32,250 تو کہیں صلاحیت بیان کیا جاتا ہے زیادہ سے زیادہ ممکن سائز کے طور پر. 483 00:21:32,250 --> 00:21:35,590 دریں اثنا، اندر اعداد و شمار کے ڈھانچے کی ایک اسٹیک کے طور پر جانا جاتا ہے وہاں گی 484 00:21:35,590 --> 00:21:38,630 صرف نام سے جانا جاتا ایک عدد صحیح ہونا صرف سائز کے طور پر. 485 00:21:38,630 --> 00:21:43,400 >> اب میں اس کی نمائندگی کرنے کے لئے تھے تو اگر pictorially، کی فرض کرتے ہیں کہ اس 486 00:21:43,400 --> 00:21:48,070 پوری بلیک باکس میرے اسٹیک کی نمائندگی کرتا ہے. 487 00:21:48,070 --> 00:21:50,070 اس کے اندر دو متغیر ہے. 488 00:21:50,070 --> 00:21:54,780 لہذا میں اپنی طرف متوجہ کرنے کے لئے جا رہا ہوں سائز کے طور پر سب سے پہلے. 489 00:21:54,780 --> 00:21:57,420 اور میں جا رہا ہوں دوسرا ایک سرنی کے طور پر اپنی طرف متوجہ کرنے کے لئے. 490 00:21:57,420 --> 00:22:01,060 >> لیکن صرف، چیزوں کو منظم رکھنے کے لئے عام طور پر میں کی طرح ایک سرنی اپنی طرف متوجہ کرے گا 491 00:22:01,060 --> 00:22:04,910 اچھا یہ، لیکن اس کی قسم ہم حقیقت سے مطابقت، یا اگر 492 00:22:04,910 --> 00:22:06,230 ذہنی ماڈل سے ملاتے ہیں. 493 00:22:06,230 --> 00:22:12,880 تو مجھے اس کی بجائے سرنی اپنی طرف متوجہ کرتے ہیں عمودی طور پر، جس میں صرف ایک بار پھر ہے، 494 00:22:12,880 --> 00:22:13,840 مصور کے گاین. 495 00:22:13,840 --> 00:22:16,610 کیا واقعی کوئی فرق نہیں پڑتا ہڈ کے نیچے ہے. 496 00:22:16,610 --> 00:22:20,350 اور ہم، ڈیفالٹ کی طرف سے، کہیں گے کہ صلاحیت تین بننے جا رہی ہے. 497 00:22:20,350 --> 00:22:23,480 لہذا اس مقام 0، یہ ہو جائے گا مقام 1، یہ ہو جائے گا 498 00:22:23,480 --> 00:22:25,740 محل وقوع 2 ہو جائے گا. 499 00:22:25,740 --> 00:22:29,330 >> میں نے ایک گیند کے ساتھ کشیدگی رشوت ہے تو، گے کسی کے آنے اور چلانے کے لئے پسند 500 00:22:29,330 --> 00:22:30,870 صرف ایک لمحے کے لئے یہاں سوار؟ 501 00:22:30,870 --> 00:22:31,960 ٹھیک ہے، سب سے پہلے آپ کے ہاتھ دیکھا. 502 00:22:31,960 --> 00:22:33,950 اپ چلو. 503 00:22:33,950 --> 00:22:36,500 ٹھیک ہے. 504 00:22:36,500 --> 00:22:38,760 تو میں نے یہ سٹیون ہے. 505 00:22:38,760 --> 00:22:40,035 اپ چلو. 506 00:22:40,035 --> 00:22:40,770 ٹھیک ہے. 507 00:22:40,770 --> 00:22:46,760 >> لیکن اب ہم نے ابتدائی طور پر کرنے کے لئے ماضی مان لیں دنیا کی ریاست جہاں میں 508 00:22:46,760 --> 00:22:52,180 صرف ایک اسٹیک کا اعلان کر دیا، اور یہ ہے کیا ہے صلاحیت تین میں سے ہونے جا رہا. 509 00:22:52,180 --> 00:22:54,470 لیکن سائز کا تعین ابھی نہیں کیا گیا ہے. 510 00:22:54,470 --> 00:22:56,100 ٹرے ابھی تعین نہیں کیا گیا ہے. 511 00:22:56,100 --> 00:22:57,300 پہلے سوال کے ایک جوڑے تو. 512 00:22:57,300 --> 00:23:01,310 اور مجھے تم مائک دے دو آپ کر سکتے ہیں تو اس میں زیادہ سرگرمی سے حصہ لینا. 513 00:23:01,310 --> 00:23:05,190 >> تو سائز کے اندر اس وقت کیا ہے وقت میں میں نے کیا ہے اگر 514 00:23:05,190 --> 00:23:09,340 کے ساتھ ایک اسٹیک کا اعلان کر دیا کوڈ کی ایک لائن؟ 515 00:23:09,340 --> 00:23:10,100 >> سٹیون: زیادہ نہیں. 516 00:23:10,100 --> 00:23:12,080 >> DAVID MALAN: ٹھیک ہے، زیادہ نہیں. 517 00:23:12,080 --> 00:23:14,410 ہم، سائز کے اندر کیا ہے جانتے ہو ہم اندر ہے میں کیا جانتے ہیں 518 00:23:14,410 --> 00:23:16,330 یہاں اس سرنی کی؟ 519 00:23:16,330 --> 00:23:18,630 >> سٹیون: بس بے ترتیب کوڈ، ہے نا؟ 520 00:23:18,630 --> 00:23:20,220 بس - 521 00:23:20,220 --> 00:23:23,230 >> DAVID MALAN: جی ہاں، میں جا رہا ہوں اس کوڈ کو فون، لیکن بے ترتیب - 522 00:23:23,230 --> 00:23:23,820 >> سٹیون: اشیاء. 523 00:23:23,820 --> 00:23:28,290 >> DAVID MALAN: بے ترتیب کی طرح چیزیں 524 00:23:28,290 --> 00:23:28,870 >> سٹیون: بٹس. 525 00:23:28,870 --> 00:23:29,530 >> DAVID MALAN: بٹس، ہے نا؟ 526 00:23:29,530 --> 00:23:31,190 ردی کی ٹوکری میں اقدار تو، ہے نا؟ 527 00:23:31,190 --> 00:23:33,470 لہذا 0 اور 1 کی ترتیب. 528 00:23:33,470 --> 00:23:35,920 گزشتہ usages کی باقیات یہ میموری کی. 529 00:23:35,920 --> 00:23:38,150 اور ہم سچ میں پتہ نہیں کیا اقدار ، تو ہم عام طور پر ان کو اپنی طرف متوجہ کر رہے ہیں 530 00:23:38,150 --> 00:23:38,930 سوال نمبروں کے طور پر. 531 00:23:38,930 --> 00:23:41,990 >> ہم شاید ہیں تو سب سے پہلی چیز یہاں کرنا چاہتے ہیں جا - 532 00:23:41,990 --> 00:23:46,630 اور میرے اندر اس میدان دے دو ٹرے - وہاں ایک نام کے. 533 00:23:46,630 --> 00:23:49,540 ہم شاید کیا ابتدا چاہئے سائز کرنا چاہتے ہیں تو ہم پر 534 00:23:49,540 --> 00:23:51,040 یہ اسٹیک کا استعمال کرتے ہوئے شروع کرنے کے؟ 535 00:23:51,040 --> 00:23:53,070 >> سٹیون: ٹرے ذیلی 3 ہے. 536 00:23:53,070 --> 00:23:53,910 >> DAVID MALAN: تو، ٹھیک ہے. 537 00:23:53,910 --> 00:23:56,710 واضح کرنے کے لئے، کی صلاحیت کا اعلان کر دیا ہے کہیں اور تین کے طور پر. 538 00:23:56,710 --> 00:23:58,570 اور یہ کہ میں نے استعمال کیا ہے کیا ہے سرنی مختص. 539 00:23:58,570 --> 00:24:03,535 سائز کا حوالہ دیتے جا رہا ہے کتنے ٹرے اسٹیک پر ہیں. 540 00:24:03,535 --> 00:24:03,880 >> سٹیون: صفر. 541 00:24:03,880 --> 00:24:04,460 >> DAVID MALAN: تو یہ صفر ہونا چاہئے. 542 00:24:04,460 --> 00:24:07,760 لہذا آگے بڑھیں، اور کسی بھی انگلی سے، سائز میں ایک صفر اپنی طرف متوجہ. 543 00:24:07,760 --> 00:24:08,440 ٹھیک ہے. 544 00:24:08,440 --> 00:24:10,920 تو اب، اس کے اندر کیا ہے یہاں، ہم نہیں جانتے. 545 00:24:10,920 --> 00:24:12,160 یہ واقعی صرف ردی کی ٹوکری میں اقدار ہیں. 546 00:24:12,160 --> 00:24:14,800 تو ہم نے سوال نمبر اپنی طرف متوجہ، لیکن کر سکتے ہیں اب کے لئے بورڈ کو صاف رکھنے کے لئے دو کی 547 00:24:14,800 --> 00:24:16,300 اسے کوئی فرق نہیں پڑتا کیونکہ وہاں کیا ہے. 548 00:24:16,300 --> 00:24:19,130 ہم سرنی کی ابتدا کی ضرورت نہیں ہے کچھ بھی کرنے کے لئے، ہم جانتے ہیں کہ کیونکہ اگر 549 00:24:19,130 --> 00:24:23,100 اسٹیک کے سائز صفر ہے، اچھی طرح سے، ہم میں کچھ بھی دیکھ نہیں ہونا چاہئے 550 00:24:23,100 --> 00:24:25,590 ویسے بھی میں اس سرنی اس نقطہ وقت میں. 551 00:24:25,590 --> 00:24:29,970 >> تو اب میں دھکا ہے کہ لگتا ہے اسٹیک پر نمبر 9. 552 00:24:29,970 --> 00:24:33,750 ہم کس طرح کے اعداد و شمار کے ڈھانچے کو اپ ڈیٹ ہونا چاہئے اس بلیک باکس کے اندر؟ 553 00:24:33,750 --> 00:24:35,540 کیا اقدار کو تبدیل کرنے کی ضرورت ہے؟ 554 00:24:35,540 --> 00:24:36,200 >> سٹیون: کے اندر اندر - 555 00:24:36,200 --> 00:24:37,400 سائز؟ 556 00:24:37,400 --> 00:24:37,650 >> DAVID MALAN: ٹھیک ہے. 557 00:24:37,650 --> 00:24:38,770 سائز کیا ہونا چاہئے؟ 558 00:24:38,770 --> 00:24:39,580 >> سٹیون: سائز ایک ہو جائے گا. 559 00:24:39,580 --> 00:24:39,870 >> DAVID MALAN: ٹھیک ہے. 560 00:24:39,870 --> 00:24:41,110 تو سائز ایک بن چاہئے. 561 00:24:41,110 --> 00:24:42,540 تو تم ایک دو طریقوں سے ایسا کر سکتے ہیں. 562 00:24:42,540 --> 00:24:46,920 اب، میں آپ کو دیتا ہوں آپ انگلی ایک صافی ہے. 563 00:24:46,920 --> 00:24:47,260 ٹھیک ہے. 564 00:24:47,260 --> 00:24:49,960 تو اب اپنی انگلی ایک برش ہے. 565 00:24:49,960 --> 00:24:50,330 ٹھیک ہے. 566 00:24:50,330 --> 00:24:52,820 اور اب اور کیا، تبدیل کرنے کے لئے ہے ظاہر ہے، اعداد و شمار کے ڈھانچے میں؟ 567 00:24:52,820 --> 00:24:57,060 >> سٹیون: ہم سے جا رہے ہیں 9 سب سے نیچے تک. 568 00:24:57,060 --> 00:24:57,760 >> DAVID MALAN: 9. 569 00:24:57,760 --> 00:24:58,420 ٹھیک ہے، اچھا ہے. 570 00:24:58,420 --> 00:25:01,550 تو اب بھی میں کیا کوئی فرق نہیں پڑتا محل وقوع ایک یا دو وہ ہو کیونکہ 571 00:25:01,550 --> 00:25:04,520 ردی کی ٹوکری میں اقدار، لیکن ہم پریشان نہیں ہونا چاہئے سائز ہے کیونکہ وہاں لگ 572 00:25:04,520 --> 00:25:07,540 ہمیں بتا کہ صرف پہلا عنصر اصل میں جائز ہے. 573 00:25:07,540 --> 00:25:10,400 تو اب میں فہرست پر 17 دھکا. 574 00:25:10,400 --> 00:25:11,830 کیا اس تصویر کو کیا ہوتا ہے؟ 575 00:25:11,830 --> 00:25:14,720 >> سٹیون: تو دو سائز میں جانے کے لئے جا رہی ہے. 576 00:25:14,720 --> 00:25:15,300 >> DAVID MALAN: ٹھیک ہے. 577 00:25:15,300 --> 00:25:16,070 آپ صافی ہیں - 578 00:25:16,070 --> 00:25:16,810 افوہ. 579 00:25:16,810 --> 00:25:18,026 آپ کو ایک صافی ہیں. 580 00:25:18,026 --> 00:25:18,840 >> سٹیون: صافی. 581 00:25:18,840 --> 00:25:19,720 >> DAVID MALAN: آپ ایک برش ہیں. 582 00:25:19,720 --> 00:25:20,560 >> سٹیون: برش. 583 00:25:20,560 --> 00:25:20,920 >> DAVID MALAN: ٹھیک ہے. 584 00:25:20,920 --> 00:25:21,600 اور کیا؟ 585 00:25:21,600 --> 00:25:22,600 >> پھر اور ہم -: سٹیون 586 00:25:22,600 --> 00:25:22,915 >> DAVID MALAN: ہم 17 دھکیل دیا. 587 00:25:22,915 --> 00:25:24,760 >> سٹیون: ہم ایسا ہے، تو سب سے اوپر پر 17 رہنا - 588 00:25:24,760 --> 00:25:25,710 >> DAVID MALAN: ٹھیک ہے، اچھا ہے. 589 00:25:25,710 --> 00:25:27,040 >> سٹیون: - نیچے چھوڑ. 590 00:25:27,040 --> 00:25:27,530 >> DAVID MALAN: ٹھیک ہے. 591 00:25:27,530 --> 00:25:27,940 یہ آسان ہوتا جا رہا ہے. 592 00:25:27,940 --> 00:25:29,300 میں آپ کو اس وقت مدد کرنے کے لئے نہیں جا رہا. 593 00:25:29,300 --> 00:25:30,510 22 پش. 594 00:25:30,510 --> 00:25:31,720 >> سٹیون: ہوگیا. 595 00:25:31,720 --> 00:25:34,870 ایک صافی بننے. 596 00:25:34,870 --> 00:25:37,340 میں نے ایک برش ہوتا جا رہا ہوں. 597 00:25:37,340 --> 00:25:39,340 اور پھر میں 22 ڈال رہا ہوں. 598 00:25:39,340 --> 00:25:40,100 >> DAVID MALAN: 22. 599 00:25:40,100 --> 00:25:40,620 بہترین. 600 00:25:40,620 --> 00:25:41,380 تو ایک بار. 601 00:25:41,380 --> 00:25:44,280 اب میں آگے بڑھانے کے لئے جا رہا ہوں اسٹیک 26 پر. 602 00:25:44,280 --> 00:25:46,350 >> سٹیون: ؤہ. 603 00:25:46,350 --> 00:25:50,278 ہے بھگوان. 604 00:25:50,278 --> 00:25:52,520 تم سچ میں گارڈ آف مجھے پکڑ لیا. 605 00:25:52,520 --> 00:25:53,703 >> DAVID MALAN: تم نے نہیں اس آنے والے دیکھ رہے ہو؟ 606 00:25:53,703 --> 00:25:55,930 >> سٹیون: میں اس آتے ہوئے نہیں دیکھا. 607 00:25:55,930 --> 00:25:58,756 ہم دوبارہ ابتدائی صلاحیت سکتا ہے؟ 608 00:25:58,756 --> 00:25:59,790 >> DAVID MALAN: یہ ایک اچھا سوال ہے. 609 00:25:59,790 --> 00:26:02,360 تو ہم قسم کی خود پینٹ کیا ہے یہاں ایک کونے میں. 610 00:26:02,360 --> 00:26:06,740 واقعی سٹیون کے لئے اچھی باہر نہیں ہے ہم اس سرنی مختص ہے کیونکہ 611 00:26:06,740 --> 00:26:09,130 statically، تو اندر، بات کرنے کے لئے اعداد و شمار کے ڈھانچے کی. 612 00:26:09,130 --> 00:26:12,170 اور ہم نے بنیادی طور پر مشکل کوڈت ہے یہ سائز تین میں سے ہو. 613 00:26:12,170 --> 00:26:14,170 تو ہم واقعی یہ reallocate نہیں کر سکتے ہیں. 614 00:26:14,170 --> 00:26:20,020 >> ہم ہم، میں واپس چلے گئے تو ٹرے کہ پوائنٹر ہونا بازوضاحتی 615 00:26:20,020 --> 00:26:22,300 پھر ہم پر ہاتھ میموری پر malloc استعمال کرتے ہیں. 616 00:26:22,300 --> 00:26:25,050 کیونکہ ہم سے میموری مل گیا تو malloc کے ذریعے ڈھیر، ہم 617 00:26:25,050 --> 00:26:26,430 تو اسے آزاد کر سکتے ہیں. 618 00:26:26,430 --> 00:26:29,630 لیکن یہ آزاد کرنے سے پہلے، ہم کر سکتے تھے ، میموری کا ایک بڑا حصہ reallocate 619 00:26:29,630 --> 00:26:31,330 پوائنٹر کو اپ ڈیٹ کریں، اور تو آگے. 620 00:26:31,330 --> 00:26:33,500 لیکن اب کے لئے، یہ سچ ہے سب سے بہتر ہم کر سکتے ہیں. 621 00:26:33,500 --> 00:26:36,360 پش اور POP شاید جا رہے ہیں کچھ غلطی کا اشارہ کرنے کے لئے ہے. 622 00:26:36,360 --> 00:26:40,270 >> لہذا مثال کے طور پر، ہماری نفاذ دھکا ایک bool واپس کر سکتے ہیں میں سے کون سا 623 00:26:40,270 --> 00:26:42,390 پہلے سچ، سچ، سچ واپس آئے. 624 00:26:42,390 --> 00:26:48,390 لیکن چوتھی بار، یہ جا رہا ہے مثال کے طور پر، جھوٹی واپس لوٹنے کے لئے. 625 00:26:48,390 --> 00:26:48,540 ٹھیک ہے. 626 00:26:48,540 --> 00:26:49,540 بہت اچھا کیا. 627 00:26:49,540 --> 00:26:50,060 مبارک ہو. 628 00:26:50,060 --> 00:26:52,160 آج تم اپنے کشیدگی گیند کمایا ہے. 629 00:26:52,160 --> 00:26:53,110 >> [تالیاں] 630 00:26:53,110 --> 00:26:54,382 >> سٹیون: آپ کا شکریہ. 631 00:26:54,382 --> 00:26:55,680 >> DAVID MALAN: آپ کا شکریہ. 632 00:26:55,680 --> 00:26:59,740 ٹھیک ہے، تو اتنا نہیں ہو رہا ہے مستقبل کے حوالے سے ایک قدم کے، ہے نا؟ 633 00:26:59,740 --> 00:27:01,410 ہم اس آنکڑا ڈھانچہ قرار دیا. 634 00:27:01,410 --> 00:27:02,320 یہ درست ہے، مجبور کیا گیا ہے؟ 635 00:27:02,320 --> 00:27:03,200 آپریٹنگ سسٹمز کو یہ پسند. 636 00:27:03,200 --> 00:27:06,360 بظاہر ویب، اس کے استعمال کر سکتے ہیں اب بھی اور دیگر ایپلی کیشنز. 637 00:27:06,360 --> 00:27:10,870 لیکن ہم جو کر رہے ہیں کہ ایک بیوکوف کی حد ترتیب دیں کے ہفتے میں دو کی حدود میں واپس 638 00:27:10,870 --> 00:27:12,880 ہم کہاں سائز arrays طے کی ہے. 639 00:27:12,880 --> 00:27:15,010 >> تو اس کے ایک جوڑے بے شک موجود ہیں طریقوں سے ہم اس کو حل کر سکتے ہیں. 640 00:27:15,010 --> 00:27:18,750 ہم کو متحرک، سرنی مختص کر سکتے ہیں میں نے کے طور پر کی طرف سے مشکل یہ کوڈنگ نہیں 641 00:27:18,750 --> 00:27:22,600 یہاں کیا، بلکہ اس کی بجائے دوبارہ اعلان یہ بالکل اسی طرح جیسے میں واضح رہنا 642 00:27:22,600 --> 00:27:23,830 کچھ اس طرح. 643 00:27:23,830 --> 00:27:29,040 INT * ٹرے، فیصلہ نہیں ابھی تک کی صلاحیت پر. 644 00:27:29,040 --> 00:27:35,460 لیکن میں نے کہیں اور اسٹیک اعلان جب اپنے کوڈ میں، میں تو، malloc کہہ سکتے ہیں 645 00:27:35,460 --> 00:27:38,250 کے ایک حصہ کا پتہ ملتا ہے میموری، اور میں تفویض کر سکتے ہیں 646 00:27:38,250 --> 00:27:39,980 ٹرے کرنے کے لئے اس ایڈریس. 647 00:27:39,980 --> 00:27:43,340 >> اور پھر، کیونکہ یہ صرف ایک حصہ ہے میموری، میں مربع استعمال کرنے کے لئے جاری کر سکتے ہیں 648 00:27:43,340 --> 00:27:45,450 ہمیشہ کی طرح راہ میں بریکٹ سنکیتن. 649 00:27:45,450 --> 00:27:49,020 ایک بار پھر، اس قسم کی ہے کیونکہ فعال arrays کے برابر اور 650 00:27:49,020 --> 00:27:50,820 آنے والی میموری کی مقدار واپس malloc سے. 651 00:27:50,820 --> 00:27:53,090 ہم دیگر کے طور پر ایک ہی علاج کر سکتے ہیں پوائنٹر ریاضی کا استعمال کرتے ہوئے یا 652 00:27:53,090 --> 00:27:54,440 مربع بریکٹ سنکیتن. 653 00:27:54,440 --> 00:27:55,660 تو یہ ایک نقطہ نظر ہے. 654 00:27:55,660 --> 00:28:00,120 >> لیکن کس طرح نہیں تو ہم اس کو نافذ کر سکتے ہیں اسی آنکڑا ڈھانچہ، ممکنہ طور پر؟ 655 00:28:00,120 --> 00:28:00,280 ٹھیک ہے؟ 656 00:28:00,280 --> 00:28:04,530 ہم صرف یہ حل مجھے لگتا ہے جیسے ایک ہفتہ پہلے کی طرح مسئلہ. 657 00:28:04,530 --> 00:28:08,860 اس مسئلہ کا حل کیا تھا سٹیون سے ٹکرا گئے ہیں؟ 658 00:28:08,860 --> 00:28:10,370 تو منسلک فہرستوں، ٹھیک ہے. 659 00:28:10,370 --> 00:28:13,410 >> مسئلہ ہم پینٹنگ کر رہے ہیں یہ ہے کہ تو مختص کی طرف سے ایک کونے میں خود 660 00:28:13,410 --> 00:28:17,580 پیشگی بہت کم یاد میں ہے کہ ہم پھر کسی نہ کسی طرح، اچھی طرح سے، سے نمٹنے کے لئے ہے 661 00:28:17,580 --> 00:28:19,880 کیوں صرف اس سے بچنے کے لئے نہیں مکمل طور پر جاری؟ 662 00:28:19,880 --> 00:28:26,170 کیوں صرف ٹرے ایک ہونے کا اعلان نہیں ایک نوڈ، لہذا ایک سے منسلک فہرست، پر پوائنٹر 663 00:28:26,170 --> 00:28:30,740 اور اس کے بعد صرف نئے نوڈ مختص سٹیون ایک فٹ ہونے کے لئے کی ضرورت ہر وقت 664 00:28:30,740 --> 00:28:32,400 اعداد و شمار کے ڈھانچے میں تعداد. 665 00:28:32,400 --> 00:28:34,200 >> تو تصویر کو تبدیل کرنا پڑے گا. 666 00:28:34,200 --> 00:28:38,220 یہ صاف اور کے طور پر بننے والا نہیں ہے تین ints کے صرف ایک سرنی کے طور پر آسان ہے. 667 00:28:38,220 --> 00:28:42,970 اب یہ ایک کے لئے ایک پوائنٹر ہونے جا رہا ہے struct، اور اس struct جا رہا ہے 668 00:28:42,970 --> 00:28:44,830 ایک INT اور ایک اگلے پوائنٹر ہے. 669 00:28:44,830 --> 00:28:47,670 یہ اتنا پوائنٹر کے ذریعے کی قیادت کرنے والا ہے ایک اور ایسی struct کرنے کے لئے 670 00:28:47,670 --> 00:28:48,600 ایک اور ایسی struct. 671 00:28:48,600 --> 00:28:50,560 تو تصویر دراصل گے تھوڑا سا messier ملتا ہے. 672 00:28:50,560 --> 00:28:52,950 اور ہم تیر باندھنے ہوتا ایک دوسرے کے ساتھ سب کچھ. 673 00:28:52,950 --> 00:28:55,280 >> لیکن اس کی وجہ سے، ٹھیک ہے، ٹھیک ہے ہم یہ کس طرح دیکھا ہے. 674 00:28:55,280 --> 00:28:58,180 اور ایک بار آپ کو آرام دہ اور پرسکون ہو جاؤ ایک لنک کی طرح عمل درآمد کچھ 675 00:28:58,180 --> 00:29:01,450 تمہیں کیا کرنا پڑے گا جس کی فہرست، اگر آپ کے ساتھ ایک ہیش میز لاگو کرنے کے لئے انتخاب کرتے ہیں 676 00:29:01,450 --> 00:29:05,120 P-سیٹ 6 کے لئے علیحدہ chaining، آپ کر سکتے ہیں ایک عمارت بلاک، یا ایک کے طور پر اس کا استعمال 677 00:29:05,120 --> 00:29:08,870 جزو، یا شروع میں ایک، بات ضابطے کی، تم، تم ڈال دیا کہ کچھ 678 00:29:08,870 --> 00:29:12,560 آپ کی اپنی پہیلی ٹکڑا پیدا کیا اگر آپ کو دوبارہ استعمال کر سکتے ہیں. 679 00:29:12,560 --> 00:29:17,090 تو tradeoffs، لیکن ممکنہ حل ہم اصل میں اس سے پہلے دیکھا ہے کہ. 680 00:29:17,090 --> 00:29:20,560 >> تو اکثر، آپ کو اس سے ہر دیکھنا یا دو سال میں جب ایپل ریلیز 681 00:29:20,560 --> 00:29:23,060 نئے، اور تمام لوگوں کو پاگل کچھ ایپل کے باہر لائن 682 00:29:23,060 --> 00:29:27,050 ان کے معمولی خریدنے کے لئے ذخیرہ ہارڈویئر پر اپ گریڈ. 683 00:29:27,050 --> 00:29:30,420 میں اس کا کہنا ہے کہ، اس وجہ سے، ٹھیک ہے میں ان لوگوں میں سے ایک ہوں. 684 00:29:30,420 --> 00:29:35,140 تو کس طرح کے اعداد و شمار کے ڈھانچے کی اس حقیقت کی نمائندگی کر سکتے ہیں؟ 685 00:29:35,140 --> 00:29:36,980 >> ٹھیک ہے، کی یہ ایک قطار، ایک لائن کو کال کرتے ہیں. 686 00:29:36,980 --> 00:29:40,270 لہذا برطانوی یہ عام طور پر ایک فون کرے گا قطار ویسے بھی، تو یہ ایک اچھا نام ہے. 687 00:29:40,270 --> 00:29:44,960 اور یہ کہ ایک قطار میں دو آپریشن ہم نے ایک enqueue فون کروں گا کی حمایت کرے گا 688 00:29:44,960 --> 00:29:48,900 آپریشن اور ایک dequeue آپریشن، جس میں ملتے جلتے ہیں 689 00:29:48,900 --> 00:29:50,120 دھکا اور POP کی روح. 690 00:29:50,120 --> 00:29:54,060 اس میں مختلف قسم کی صرف ہے کنونشن، کیا ہم ان کو بلا رہے ہیں. 691 00:29:54,060 --> 00:29:57,680 لیکن کچھ enqueue میں شامل کرنے کا مطلب ہے کہ یا آنکڑا ڈھانچہ اسے ڈالیں. 692 00:29:57,680 --> 00:29:59,570 dequeue اسے دور کرنے کے لئے کا مطلب ہے. 693 00:29:59,570 --> 00:30:05,170 لیکن ایک اسٹیک ایک LIFO کے اعداد و شمار تھی جبکہ ساخت، ایک قطار، ایک سب سے پہلے میں ہے 694 00:30:05,170 --> 00:30:06,740 اعداد و شمار کے ڈھانچے سے باہر سب سے پہلے. 695 00:30:06,740 --> 00:30:10,050 >> آپ کو لائن میں سب سے پہلے شخص ہیں تو اگر آپ کو حاصل کرنے کے لئے پہلا شخص ہو گا 696 00:30:10,050 --> 00:30:12,420 لائن کے باہر اور آپ کے نئے آلہ خریدنے. 697 00:30:12,420 --> 00:30:18,070 یہ لوگ کس طرح پریشان ہو جائے گا کا تصور ایپل بجائے اسٹیک استعمال کیا جاتا ہے تو، کے لئے 698 00:30:18,070 --> 00:30:21,250 مثال کے طور پر، منتخب لاگو کرنے کے لئے اپنے نئے کھلونے سے. 699 00:30:21,250 --> 00:30:24,310 تو قطاروں یقینی طور پر، سمجھ، اور ہم ہر قسم کے بارے میں سوچ کر سکتے ہیں 700 00:30:24,310 --> 00:30:27,480 ایپلی کیشنز، شاید، قطار کے لئے، آپ انصاف چاہتے ہیں خاص طور پر جب. 701 00:30:27,480 --> 00:30:30,040 تو کس طرح ہم ان کو نافذ کر سکتے ہیں ایک ڈیٹا ڈھانچے کے طور پر؟ 702 00:30:30,040 --> 00:30:33,680 >> ٹھیک ہے، میں ہے کہ ہم شاید تجویز یہ اس طرح کرنے کی ضرورت ہے. 703 00:30:33,680 --> 00:30:35,225 تو اب میں نمبرز حاصل کرنے جا رہا ہوں. 704 00:30:35,225 --> 00:30:38,190 تو ہم اس سادہ اور نہیں رکھیں گے ضروری ٹرے کی شرائط میں بات کریں. 705 00:30:38,190 --> 00:30:40,220 کے عوام مل بس کی تعداد ہے. 706 00:30:40,220 --> 00:30:43,760 صلاحیت پھر جا رہا ہے، ٹھیک کرنے میں ہو سکتا ہے کہ لوگوں کی کل تعداد 707 00:30:43,760 --> 00:30:46,900 اس لائن کے طور پر تین یا اس سے دوسرے جو بھی قیمت. 708 00:30:46,900 --> 00:30:50,760 >> لیکن میں میں ٹریک رکھنے کے لئے کی ضرورت ہے تجویز کے سائز کے نہ صرف 709 00:30:50,760 --> 00:30:52,370 قطار، اس میں کتنی چیزیں ہیں. 710 00:30:52,370 --> 00:30:56,310 تو سائز موجودہ سائز، کی صلاحیت ہے زیادہ سے زیادہ سائز ہے. 711 00:30:56,310 --> 00:30:58,540 بس پھر نام کنونشن کی طرف سے. 712 00:30:58,540 --> 00:31:03,680 میں کیوں ایک اضافی INT کے اندر کی ضرورت ہے میں کون ہے کا ٹریک رکھنے کے لئے ایک قطار میں 713 00:31:03,680 --> 00:31:05,365 لائن کے سامنے؟ 714 00:31:05,365 --> 00:31:07,930 715 00:31:07,930 --> 00:31:10,910 میں کیوں اس معاملے میں ایسا کرنے کی ضرورت ہے؟ 716 00:31:10,910 --> 00:31:14,750 717 00:31:14,750 --> 00:31:16,190 >> ٹھیک ہے، اس تصویر کو کس طرح ہے تبدیل کرنے کے لئے جا رہے ہیں؟ 718 00:31:16,190 --> 00:31:19,280 میں شاید سب سے زیادہ دوبارہ استعمال کر سکتے ہیں اس تصویر کی. 719 00:31:19,280 --> 00:31:21,480 مجھ سے آگے بڑھو اور یہاں کیا ہے مٹا دو. 720 00:31:21,480 --> 00:31:24,580 ہم نے اس تھوڑی دیں گے یہاں مختلف نام ہیں. 721 00:31:24,580 --> 00:31:28,930 17 سے چھٹکارا حاصل چلو، چلو چھٹکارا حاصل 9، کی 3 سے چھٹکارا حاصل کر لیں. 722 00:31:28,930 --> 00:31:30,410 اور کی ایک اور چیز شامل ہیں. 723 00:31:30,410 --> 00:31:34,710 میں کا ٹریک رکھنے کے لئے کی ضرورت ہے تجویز فہرست کے سامنے، جس میں صرف یہ ہے 724 00:31:34,710 --> 00:31:35,570 اس کے ساتھ ساتھ ایک INT ہونے جا رہا. 725 00:31:35,570 --> 00:31:36,550 اور ہم اس آسان رکھنے کے لئے جا رہے ہیں. 726 00:31:36,550 --> 00:31:37,740 اب کے لئے کوئی منسلک فہرست. 727 00:31:37,740 --> 00:31:40,900 >> ہم جا رہے ہیں یہ تسلیم کریں گے اس حد کے خلاف اٹھ ٹکرانا. 728 00:31:40,900 --> 00:31:43,720 لیکن میں دیکھنے کے لئے کیا چاہتے ہیں اس وقت کیا ہو؟ 729 00:31:43,720 --> 00:31:47,240 میں آگے بڑھو اور سب سے پہلے تو لگتا ہے انسان لائن میں آتا ہے، اور 730 00:31:47,240 --> 00:31:48,560 یہ تعداد 9 ہے. 731 00:31:48,560 --> 00:31:49,680 ہم کشیدگی گیند ہے. 732 00:31:49,680 --> 00:31:51,330 میں، کا کہنا ہے کہ دو یا تین لوگوں کو چرا سکتا ہوں؟ 733 00:31:51,330 --> 00:31:52,690 ایک، دو، تین؟ 734 00:31:52,690 --> 00:31:53,120 اپ چلو. 735 00:31:53,120 --> 00:31:56,022 حق کے سامنے سے، کیونکہ ہم اس سے ایک فوری تشکیل دیں گے. 736 00:31:56,022 --> 00:31:59,415 >> تم میں سے ہر اب ہونے جا رہا ہے ایپل میں لائن میں ایک پرستار لڑکے. 737 00:31:59,415 --> 00:32:03,970 738 00:32:03,970 --> 00:32:06,210 آپ ایپل ہارڈ ویئر وصول ریکارڈ نہیں رکھا جائے اگرچہ اس کے آخر میں. 739 00:32:06,210 --> 00:32:06,500 ٹھیک ہے. 740 00:32:06,500 --> 00:32:09,430 آپ کی تعداد 9 ہو تو، تم ہو نمبر 17، نمبر 22. 741 00:32:09,430 --> 00:32:12,130 ان کی طرح، صوابدیدی نمبرز ہیں طالب علم کی شناخت یا whatnot. 742 00:32:12,130 --> 00:32:14,550 اور صرف ایک لمحے میں، شروع کرتے ہیں چیزوں کو انہوں نے مزید کہا شروع کرنے کے لئے. 743 00:32:14,550 --> 00:32:16,000 اور میں یہاں اس وقت بورڈ چلانے گے. 744 00:32:16,000 --> 00:32:19,570 >> تو اس معاملے میں، میں initialized ہے سامنے ہونا - 745 00:32:19,570 --> 00:32:22,380 میں اصل میں واقعی پرواہ نہیں کیا سائز صفر ہے کیونکہ سامنے ہے. 746 00:32:22,380 --> 00:32:24,480 تو اس کے ساتھ ساتھ صرف طاقت ایک سوالیہ نشان ہو. 747 00:32:24,480 --> 00:32:26,170 یہ تمام سوال کے نشانات ہیں. 748 00:32:26,170 --> 00:32:29,880 تو اب ہم اصل میں کچھ دیکھنا شروع کر دیں گے لوگوں کی دکان میں استر. 749 00:32:29,880 --> 00:32:33,320 >> تو نمبر 9، تو آپ سب سے پہلے ایک ہو وہاں 5 am پر،، آگے بڑھو اور قطار 750 00:32:33,320 --> 00:32:34,210 یا اس سے قبل رات. 751 00:32:34,210 --> 00:32:34,580 ٹھیک ہے. 752 00:32:34,580 --> 00:32:35,940 تو اب 9 یہاں ہے. 753 00:32:35,940 --> 00:32:37,940 تو 9 کی فہرست کے سامنے ہے. 754 00:32:37,940 --> 00:32:41,440 تو میں نے آگے بڑھو اور اپ ڈیٹ کرنے جا رہا ہوں اس کے موجودہ اعداد و شمار کا سائز 755 00:32:41,440 --> 00:32:44,740 ساخت، اب 0 نہیں کرنے کے لئے لیکن اس کی 1 ہو. 756 00:32:44,740 --> 00:32:47,630 میں میں 9 ڈالنے کے لئے جا رہا ہوں فہرست کے سامنے. 757 00:32:47,630 --> 00:32:51,020 مجھ سے آگے بڑھو اور اسکرین کو ٹاگل کرنے دو تو ہم نے ہمیں یہاں ماضی دیکھ سکتے ہیں. 758 00:32:51,020 --> 00:32:53,220 >> اور اب میں کیا چاہتے ہو سامنے میں ڈال دیا ہے؟ 759 00:32:53,220 --> 00:32:56,240 میں ٹریک رکھنے کے لئے جا رہا ہوں کہ ابھی قطار کے سامنے 760 00:32:56,240 --> 00:32:58,570 0 محل وقوع پر ہے. 761 00:32:58,570 --> 00:33:00,510 آگے کیا ہونے جا رہا ہے کیونکہ؟ 762 00:33:00,510 --> 00:33:03,000 اچھا، مجھے enqueue اب لگتا ہے 17 کے طور پر اچھی طرح سے. 763 00:33:03,000 --> 00:33:04,510 تو وہاں قطار میں ہاپ. 764 00:33:04,510 --> 00:33:07,060 اور پھر دروازے کی طرح سٹور یہاں ہونے جا رہا ہے. 765 00:33:07,060 --> 00:33:08,700 تو اب میں 17 اضافہ کر دیا ہے. 766 00:33:08,700 --> 00:33:10,810 اور ان لوگوں کو بلاک کر رہے ہیں اگرچہ ٹھیک ہے کہ سکرین،، 767 00:33:10,810 --> 00:33:12,300 ہم یہاں اسے دیکھ سکتے ہیں کیونکہ. 768 00:33:12,300 --> 00:33:12,910 معاف کیجئے گا. 769 00:33:12,910 --> 00:33:13,810 >> سامعین: ہم میں منتقل کر سکتے ہیں - 770 00:33:13,810 --> 00:33:14,660 >> DAVID MALAN: نہیں، وہ ٹھیک ہے. 771 00:33:14,660 --> 00:33:16,000 یہ وہاں بہت بڑا ہے. 772 00:33:16,000 --> 00:33:18,580 تو 17 کے اندر قطار کے اب ہے. 773 00:33:18,580 --> 00:33:21,332 میں جس کو اپ ڈیٹ کرنے کی ضرورت ہے کھیتوں اب اگرچہ؟ 774 00:33:21,332 --> 00:33:23,210 ٹھیک ہے، یقینی طور پر سائز. 775 00:33:23,210 --> 00:33:26,430 اور کس طرح سامنے کے بارے میں؟ 776 00:33:26,430 --> 00:33:27,040 ٹھیک ہے، نہیں. 777 00:33:27,040 --> 00:33:30,200 فرنٹ، کو تبدیل نہیں کرنا چاہئے کیونکہ ایک اسٹیک کے برعکس، ہم 778 00:33:30,200 --> 00:33:31,370 شفافیت برقرار رکھنے کے لئے چاہتے ہیں. 779 00:33:31,370 --> 00:33:35,150 9 سب سے پہلے میں آیا تھا اگر ایسا ہے تو ہم 9 چاہتے ہیں لائن کی پہلی باہر ہونا 780 00:33:35,150 --> 00:33:36,420 اور اسٹور میں. 781 00:33:36,420 --> 00:33:37,220 >> اصل میں، کی ہے کہ دیکھتے ہیں. 782 00:33:37,220 --> 00:33:42,235 ہم 22 داخل کرنے سے پہلے، چلو آگے بڑھو اور dequeue 9. 783 00:33:42,235 --> 00:33:42,970 تمہارا نام کیا ہے دوبارہ؟ 784 00:33:42,970 --> 00:33:43,680 >> سامعین: جیک. 785 00:33:43,680 --> 00:33:45,440 >> DAVID MALAN: جیک جا رہا ہے اب dequeued جائے گا. 786 00:33:45,440 --> 00:33:48,050 تو آپ کی دکان میں چلنے کے لئے ملتا ہے. 787 00:33:48,050 --> 00:33:49,880 اور دکھاوا کہ سٹور وہاں ہے. 788 00:33:49,880 --> 00:33:51,970 تو اب کیا ضرورت ہے - ڈیآئٹی-ڈیآئٹی-ڈیآئٹی! 789 00:33:51,970 --> 00:33:53,400 کیا اب ایسا کرنے کی ضرورت ہے؟ 790 00:33:53,400 --> 00:33:54,490 ڈیزائن فیصلہ. 791 00:33:54,490 --> 00:33:56,825 ایسا نہیں ایک برا سنتیں، لیکن - تمہارا نام کیا ہے دوبارہ؟ 792 00:33:56,825 --> 00:33:57,090 >> سامعین: ڈیوڈ. 793 00:33:57,090 --> 00:33:57,500 >> DAVID MALAN: ڈیوڈ. 794 00:33:57,500 --> 00:33:58,810 تب داؤد نے کیا کیا؟ 795 00:33:58,810 --> 00:34:02,590 انہوں نے کہا کہ اعداد و شمار کو درست کرنے کے حل کرنے کی کوشش کر رہا تھا اپنے مقام سے ساخت اور اقدام 796 00:34:02,590 --> 00:34:04,100 جیک کے سابق محل میں. 797 00:34:04,100 --> 00:34:06,740 ہم تیار ہیں اور اگر وہ ٹھیک ہے ایک کے طور پر اس کو قبول کرنے سے 798 00:34:06,740 --> 00:34:08,199 نفاذ تفصیل. 799 00:34:08,199 --> 00:34:11,100 لیکن اس سے پہلے کے اعداد و شمار کو اپ ڈیٹ کرتے ہیں ہم ڈھانچہ ایسا کرنے سے پہلے. 800 00:34:11,100 --> 00:34:14,139 میں نے سب کا خیال پسند نہیں کر رہا ہوں کیونکہ لوگ اس لائن میں منتقل. 801 00:34:14,139 --> 00:34:17,360 >> ڈیوڈ کے ساتھ یہ کرتا ہے تو یہ کوئی بڑی بات نہیں ایک قدم ہے، لیکن پھر میں واپس لگتا ہے 802 00:34:17,360 --> 00:34:20,360 ہم پر آٹھ رضاکاروں تھا جب اسٹیج اور ہم اندراج کی طرح کیا ہے 803 00:34:20,360 --> 00:34:22,600 ہم شروع کرنے کے لئے تھا جہاں ترتیب دیں، سب کے ارد گرد آگے بڑھ رہے ہیں. 804 00:34:22,600 --> 00:34:23,790 یہ ٹھیک ہے، مہنگی مل سکا؟ 805 00:34:23,790 --> 00:34:28,330 یہ بڑی اے کے بارے میں مجھے چاپلوسی کرتا ہے (ن) کے، (ن) کے بڑے اے دوبارہ مربع. 806 00:34:28,330 --> 00:34:30,650 ایسا نہیں لگ رہا ہے ایک مثالی نتائج. 807 00:34:30,650 --> 00:34:32,080 >> تو اس کی صرف اس کی تازہ کاری کرتے ہیں. 808 00:34:32,080 --> 00:34:35,120 تو قطار کا سائز اب کوئی 2 ہے. 809 00:34:35,120 --> 00:34:37,090 اب یہ صرف 1 ہے. 810 00:34:37,090 --> 00:34:40,360 لیکن اب میں کچھ کو اپ ڈیٹ کر سکتے ہیں میں نے پہلے کو اپ ڈیٹ نہیں کیا، 811 00:34:40,360 --> 00:34:41,130 فہرست کے سامنے. 812 00:34:41,130 --> 00:34:45,420 میں صرف یہ کہہ سکتے ہیں، اس مقام 1 ہے؟ 813 00:34:45,420 --> 00:34:49,770 تو اب ہم یہاں ردی کی قیمت ہے ردی کی ٹوکری یہاں قیمت، اور میں ڈیوڈ 814 00:34:49,770 --> 00:34:51,469 یہ ردی کی ٹوکری کے درمیان. 815 00:34:51,469 --> 00:34:54,980 لیکن آنکڑا ڈھانچہ اب بھی برقرار ہے. 816 00:34:54,980 --> 00:34:58,540 >> اور حقیقت میں، میں بھی کرنے کی ضرورت نہیں جیک کی سابق نمبر تبدیل 817 00:34:58,540 --> 00:35:00,460 9، پرواہ کرتا ہے جو اس وجہ سے. 818 00:35:00,460 --> 00:35:04,470 میں اب میں کافی معلومات ہے میں نے وہاں کی ایک شخص میں جانتے ہیں کہ سائز 819 00:35:04,470 --> 00:35:05,030 اس قطار. 820 00:35:05,030 --> 00:35:08,340 اور میں جانتا ہوں کہ اس شخص مقام 1، نہیں 0 پر ہے. 821 00:35:08,340 --> 00:35:09,760 میں گنتی نہیں کر رہا ہوں. 822 00:35:09,760 --> 00:35:11,300 اس کے ساتھ ساتھ 1 تو. 823 00:35:11,300 --> 00:35:13,410 تو آنکڑا ڈھانچہ اب بھی ٹھیک ہے. 824 00:35:13,410 --> 00:35:14,330 >> ٹھیک ہے، آگے کیا ہوگا؟ 825 00:35:14,330 --> 00:35:15,010 چلو enqueue - 826 00:35:15,010 --> 00:35:15,370 تمہارا نام کیا ہے؟ 827 00:35:15,370 --> 00:35:16,160 >> سامعین: Callen. 828 00:35:16,160 --> 00:35:16,580 >> DAVID MALAN: Callen. 829 00:35:16,580 --> 00:35:20,770 کی ایک Callen enqueue کرتے ہیں، اور 22 قطار میں ہے. 830 00:35:20,770 --> 00:35:22,300 تو اب یہاں تبدیل کرنے کے لئے کیا ہے؟ 831 00:35:22,300 --> 00:35:24,380 فرنٹ پر نہیں جا رہا ہے ظاہر ہے، تبدیل. 832 00:35:24,380 --> 00:35:27,160 سائز دوبارہ 2 بننے کے لئے تبدیل کرنے کی جا رہی ہے. 833 00:35:27,160 --> 00:35:31,590 اور 22 یہاں ختم ہو جاتی ہے، 9، اب بھی موجود ہے لیکن یہ مؤثر طریقے سے ایک ہے 834 00:35:31,590 --> 00:35:32,600 اب ردی کی ٹوکری میں قیمت. 835 00:35:32,600 --> 00:35:35,910 یہ صرف جیک ماضی کی باقی ہے. 836 00:35:35,910 --> 00:35:39,200 >> تو اب ایسا ہوتا ہے تو میں کیا کروں میں ڈیوڈ dequeue؟ 837 00:35:39,200 --> 00:35:41,560 ایک آخری آپریشن، dequeue ڈیوڈ. 838 00:35:41,560 --> 00:35:46,070 ہم میں منتقل کر سکتے ہیں، لیکن میں لشکر طیبہ کی تجویز ممکن طور پر چھوٹی سی کے طور پر کام کرتے ہیں. 839 00:35:46,070 --> 00:35:50,280 اب میری آنکڑا ڈھانچہ جاتا ہے 2 سے 1 سائز میں واپس. 840 00:35:50,280 --> 00:35:53,730 لیکن قطار کے سامنے اب 2 بن جاتا ہے. 841 00:35:53,730 --> 00:35:56,640 میں ان کی تعداد کو تبدیل کرنے کی ضرورت نہیں ہے وہ کر رہے ہیں ابھی، کیونکہ 842 00:35:56,640 --> 00:35:58,230 صرف ردی کی ٹوکری میں اقدار. 843 00:35:58,230 --> 00:35:59,720 >> لیکن اب کیا ہو گا؟ 844 00:35:59,720 --> 00:36:03,280 میں، 26 خود enqueue تو؟ 845 00:36:03,280 --> 00:36:05,890 میں یہاں سے تعلق رکھتے ہیں مجھے لگتا ہے جیسے. 846 00:36:05,890 --> 00:36:06,890 تو میں نے enqueued جا رہا ہوں. 847 00:36:06,890 --> 00:36:08,760 تو میں قسم کے یہاں سے تعلق رکھتے ہیں. 848 00:36:08,760 --> 00:36:11,300 اور تم نہیں بہت کرتے ہیں اگرچہ اسٹیج پر ضعف اس کی تعریف کرتے ہیں، 849 00:36:11,300 --> 00:36:15,075 ہم کمرے کی کافی مقدار ہوتی ہے، کیونکہ مجھے ایسا کرنا چاہیے یہاں کھڑا نہیں کیا، کیوں؟ 850 00:36:15,075 --> 00:36:16,290 >> سامعین: آپ حد سے باہر ہیں. 851 00:36:16,290 --> 00:36:16,370 >> DAVID MALAN: ٹھیک ہے. 852 00:36:16,370 --> 00:36:16,940 میں حد سے باہر ہوں. 853 00:36:16,940 --> 00:36:19,330 میں سے باہر حساب سے ترتیب ہے اس سرنی کی حد. 854 00:36:19,330 --> 00:36:23,420 مجھے سچ میں سے ایک میں ہونا چاہئے تین ممکنہ مقامات. 855 00:36:23,420 --> 00:36:25,150 اب، جہاں جانے کے لئے سب سے زیادہ قدرتی ہے؟ 856 00:36:25,150 --> 00:36:27,760 میرے خیال میں ہمیں لیوریجڈ تجویز ایک ہفتے سے ایک چال. 857 00:36:27,760 --> 00:36:30,150 MOD آپریٹر، فی صد. 858 00:36:30,150 --> 00:36:36,850 میں تکنیکی طور پر کھڑا رہا ہوں کیونکہ محل وقوع 3، لیکن میں، 3 MOD صلاحیت کرتے ہیں 859 00:36:36,850 --> 00:36:40,250 تاکہ 3، ایک فیصد علامت، 3 - 860 00:36:40,250 --> 00:36:40,970 صلاحیت 3 ہے. 861 00:36:40,970 --> 00:36:41,720 وہ کیا ہے؟ 862 00:36:41,720 --> 00:36:43,700 باقی تو کیا ہے آپ 3 کی طرف سے 3 تقسیم؟ 863 00:36:43,700 --> 00:36:44,070 0. 864 00:36:44,070 --> 00:36:48,140 >> مجھ سے رکھتا ہے تاکہ جیک تھا جو کہ اصل میں اچھا ہے. 865 00:36:48,140 --> 00:36:50,370 لہذا اب عمل درآمد اس بات کو جا رہا ہے کے 866 00:36:50,370 --> 00:36:51,250 سر میں درد کا تھوڑا سا ہو جائے. 867 00:36:51,250 --> 00:36:53,740 یہ واقعی صرف ایک لائن ہے سر درد کی، کوڈ کی. 868 00:36:53,740 --> 00:36:56,580 لیکن کم سے کم اب ردی کی ٹوکری میں ہے قیمت یہاں، لیکن دو ہے 869 00:36:56,580 --> 00:36:57,910 یہاں جائز ints. 870 00:36:57,910 --> 00:37:04,160 اور میں اب ہم نے کیا دعوی ہے کہ ہم اتنے لمبے وقت تک کے طور پر کرنے کی ضرورت بالکل وہی جو 871 00:37:04,160 --> 00:37:08,600 ہم کیا جیک کی تبدیل قیمت 26 کیا جانا تھا. 872 00:37:08,600 --> 00:37:12,110 >> اب ہم اب بھی کافی معلومات ہے سالمیت کو برقرار رکھنے کے 873 00:37:12,110 --> 00:37:13,060 اس اعداد و شمار کے ڈھانچے کی. 874 00:37:13,060 --> 00:37:17,160 ہم اب بھی طرح کی قسمت سے باہر کے ہیں جب ہم چار یا اس سے زیادہ کل داخل کرنا چاہتے ہیں 875 00:37:17,160 --> 00:37:20,740 عناصر، لیکن میں کم از کم بنانے کے لئے خوبصورت کر سکتے ہیں یہ مسلسل کے موثر استعمال 876 00:37:20,740 --> 00:37:21,740 وقت، حقیقت میں. 877 00:37:21,740 --> 00:37:27,150 میں منتقلی کے بارے میں فکر کرنے کی ضرورت نہیں ڈیوڈ کی جھکاو کے طور پر ہر کسی کو تھا. 878 00:37:27,150 --> 00:37:30,816 >> پوٹ پر کسی بھی سوال کا، یا اس قطار؟ 879 00:37:30,816 --> 00:37:32,184 >> سامعین: وجہ آپ کو معلوم ہے تو آپ کو سائز کی ضرورت ہے 880 00:37:32,184 --> 00:37:34,010 ایک شخص ہے کہاں؟ 881 00:37:34,010 --> 00:37:34,770 >> DAVID MALAN: بالکل درست. 882 00:37:34,770 --> 00:37:38,230 میں سرنی کے سائز کو جاننے کی ضرورت ہے میں کس طرح جاننے کی ضرورت ہے کیونکہ 883 00:37:38,230 --> 00:37:41,940 ان اقدار کے بہت سے جائز ہیں، ڈال کہاں اور تو میں تلاش کر سکتے ہیں کہ 884 00:37:41,940 --> 00:37:42,800 پیچھے اگلا، دوسرا شخص. 885 00:37:42,800 --> 00:37:43,300 بالکل ٹھیک. 886 00:37:43,300 --> 00:37:44,580 سائز ہے - 887 00:37:44,580 --> 00:37:46,360 اصل میں، ہم نے ابھی تک اس کو اپ ڈیٹ نہیں کیا. 888 00:37:46,360 --> 00:37:48,380 میں نے 26 میں اپنے آپ کو شامل کیا. 889 00:37:48,380 --> 00:37:51,760 سائز، اب نہیں 1 ہے، لیکن اس کی 2. 890 00:37:51,760 --> 00:37:57,780 تو اب یہ واقعی مجھے تلاش کرنے میں مدد ملتی ہے فہرست کے سربراہ، جس 0 نہیں ہے، نہیں 891 00:37:57,780 --> 00:37:59,250 1، لیکن اس کی 2 ہے. 892 00:37:59,250 --> 00:38:01,665 فہرست کے سامنے بے شک تعداد 22 ہے. 893 00:38:01,665 --> 00:38:05,120 انہوں نے سب سے پہلے میں آیا، تاکہ وہ کرنا چاہئے کیونکہ مجھ سے پہلے کی دکان میں کی اجازت دی جائے، 894 00:38:05,120 --> 00:38:08,780 اگرچہ ضعف میں کھڑا ہوں قریب دکان. 895 00:38:08,780 --> 00:38:09,220 >> ٹھیک ہے؟ 896 00:38:09,220 --> 00:38:12,410 ان لوگوں کے لئے تعریف کا ایک چکر اور ہم انہیں وہاں سے باہر دونگا. 897 00:38:12,410 --> 00:38:17,090 >> [تالیاں] 898 00:38:17,090 --> 00:38:18,150 >> DAVID MALAN: میں دے سکتے ہیں آپ کی ٹرے رکھنا. 899 00:38:18,150 --> 00:38:20,760 ہم تو کیا ہو گا دیکھ سکتا تھا آپ چاہتے ہیں، لیکن شاید نہیں. 900 00:38:20,760 --> 00:38:21,590 ٹھیک ہے. 901 00:38:21,590 --> 00:38:25,380 تو کیا اب وہ ہمیں چھوڑ کر ہے؟ 902 00:38:25,380 --> 00:38:28,900 ٹھیک ہے، کہ وہاں مجھ سے تجویز کرتے ہیں ہم کر سکتے تھے چند دیگر ڈیٹا کے ڈھانچے 903 00:38:28,900 --> 00:38:33,810 گے کہ ہماری آلے کے کٹ میں اضافہ شروع دراصل کافی، کافی متعلقہ کے طور پر ہونا 904 00:38:33,810 --> 00:38:35,270 ہم ویب چیزیں میں گوتا لگا. 905 00:38:35,270 --> 00:38:38,150 ایک بار پھر، کنکشن کسی قسم کا ہے جو کی شکل میں درختوں پر 906 00:38:38,150 --> 00:38:40,550 ڈوم، دستاویز کہا جاتا ہے کچھ آبجیکٹ ماڈل. 907 00:38:40,550 --> 00:38:42,370 لیکن ہم میں سے زیادہ نظر آئے گا کہ طویل عرصے سے اس سے پہلے. 908 00:38:42,370 --> 00:38:46,260 >> مجھے definitionally تجویز کرتے ہیں کہ ہم اب آپ کے طور پر جانتے ہو کیا درخت فون 909 00:38:46,260 --> 00:38:48,820 ایک خاندان کے درخت، تم کہاں سے زیادہ میں کچھ پرکھا ہے 910 00:38:48,820 --> 00:38:49,790 درخت کی جڑیں. 911 00:38:49,790 --> 00:38:54,480 میں ایک پترستتاتمک یا matriarch درخت کی سب سے اوپر. 912 00:38:54,480 --> 00:38:56,700 ان کی شریک حیات کے بغیر، اس معاملے میں. 913 00:38:56,700 --> 00:39:00,940 لیکن ہم اب ہم فون کروں گا کیا ہے پھانسی پر لٹکا ہے کہ نوڈ ہیں جو بچوں، 914 00:39:00,940 --> 00:39:05,480 بائیں یا دائیں بچے بچے کو بند، یہاں دکھایا گیا کے طور پر تیر. 915 00:39:05,480 --> 00:39:10,490 >> ایک درخت کے اعداد و شمار کے ڈھانچے میں دوسرے الفاظ میں، کمپیوٹر میں، ایک درخت صفر ہے 916 00:39:10,490 --> 00:39:11,480 یا اس سے زیادہ نوڈس. 917 00:39:11,480 --> 00:39:13,500 یہ کم از کم ایک نوڈ ہے تو، اس کی جڑ کہا جاتا ہے. 918 00:39:13,500 --> 00:39:15,700 یہ ضعف جو چیزیں ہے ہم نے سب سے اوپر اپنی طرف متوجہ. 919 00:39:15,700 --> 00:39:20,280 اور یہ کہ نوڈ، کسی بھی دوسرے نوڈ کی طرح کر سکتے ہیں ، صفر، ایک، یا دو، یا تین ہے 920 00:39:20,280 --> 00:39:23,600 یا تاہم بہت سے بچے آنکڑا ڈھانچہ کی حمایت کرتا ہے. 921 00:39:23,600 --> 00:39:29,150 اس صورت میں، جڑ، ذخیرہ قیمت ایک، دو بچے، 2 اور 3 ہے 922 00:39:29,150 --> 00:39:33,020 تو ہم عام طور پر 2 بائیں فون بچے اور 3 بچے کا حق. 923 00:39:33,020 --> 00:39:36,940 >> اور پھر ہم، 5 سے 6 نیچے اترو، اور جب 7، 6 مشرق بچے کو کہا جا سکتا ہے. 924 00:39:36,940 --> 00:39:38,940 آپ چار بچوں، ہے تو یہ مبہم ہو جاتا ہے. 925 00:39:38,940 --> 00:39:42,260 تو ہم نے اس قسم کا استعمال کرتے ہوئے کو روکنے کے زبانی طور پر شارٹ کٹ کی ہے. 926 00:39:42,260 --> 00:39:44,580 لیکن یہ واقعی صرف ایک خاندان کے درخت ہے. 927 00:39:44,580 --> 00:39:48,880 اور یہاں پتیوں کہ نوڈس ہیں خود کوئی اولاد ہے. 928 00:39:48,880 --> 00:39:52,540 انہوں نے درخت کے نیچے اتار پھانسی. 929 00:39:52,540 --> 00:39:56,940 >> تو ہم کس طرح ایک درخت اس کو نافذ کر سکتے ہیں زیادہ سے زیادہ صرف دو بچے ہیں؟ 930 00:39:56,940 --> 00:39:58,410 ہم اسے ایک بائنری درخت کو بلاتا ہوں. 931 00:39:58,410 --> 00:40:00,960 دو پھر اس میں دو معنی بائنری کے ساتھ جیسے کیس،. 932 00:40:00,960 --> 00:40:04,830 اور اس طرح یہ صفر، ایک ہو سکتا ہے زیادہ سے زیادہ یا دو بچوں کو. 933 00:40:04,830 --> 00:40:08,650 >> میرے خیال میں ہمیں نوڈ کو نافذ کہ تجویز کریں گے ایک INT (ن) کے ساتھ اس کی ساخت کے لئے، 934 00:40:08,650 --> 00:40:11,910 اور پھر دو اشارہ، ایک ملاقات کی چھوڑ دیا، ایک حق قرار دیا. 935 00:40:11,910 --> 00:40:14,830 لیکن ان لوگوں کو صرف اچھے ہیں صوابدیدی کنونشنوں. 936 00:40:14,830 --> 00:40:18,170 اور تم، اب خاص طور پر اگر اچھا کیا ہے اس قسم کے ساتھ conceptually جدوجہد 937 00:40:18,170 --> 00:40:21,300 تکرار ہے، یا یہ نہیں تھا سوچا کہ کچھ واقعی ایک حل ہے، 938 00:40:21,300 --> 00:40:23,120 خاص طور پر آپ کر سکتا ہے تو میموری سے باہر چلا رہے ہیں. 939 00:40:23,120 --> 00:40:26,600 ہم نے اعداد و شمار کے بارے میں بات کر رہے ہیں اب وہ ڈھانچے اور اجازت دیتے ہیں کہ یلگوردمز 940 00:40:26,600 --> 00:40:31,030 ہمیں گزرنا اور ان جوڑتوڑ تکرار میں واپس آتا ہے باہر کر دیتا ہے 941 00:40:31,030 --> 00:40:34,240 ایک بہت زیادہ مجبور خوبصورت طریقہ نہیں ہے. 942 00:40:34,240 --> 00:40:38,670 >> میں اس تجویز پر عمل درآمد ہے ایک تلاش تقریب کی. 943 00:40:38,670 --> 00:40:39,870 دو آدانوں کو دیکھتے ہوئے - 944 00:40:39,870 --> 00:40:41,570 تو ایک بلیک باکس کے طور پر اس کے بارے میں سوچنا. 945 00:40:41,570 --> 00:40:46,560 دو آدانوں، (ن)، ایک INT، اور ایک دیئے گئے ایک درخت پر پوائنٹر، ایک کے لئے ایک پوائنٹر 946 00:40:46,560 --> 00:40:50,020 ایک درخت کے نوڈ، یا واقعی جڑ، میں اس تقریب میں واپس آ سکتے ہیں اس دعوے 947 00:40:50,020 --> 00:40:53,530 صحیح یا غلط، اس قدر (ن) اس درخت کے اندر ہے. 948 00:40:53,530 --> 00:40:55,210 >> اس بلیک باکس کے اندر کیا ہے؟ 949 00:40:55,210 --> 00:40:57,440 ٹھیک ہے، چار شاخوں. 950 00:40:57,440 --> 00:40:58,385 سب سے پہلے صرف چیک کرتا ہے. 951 00:40:58,385 --> 00:41:00,490 درخت اتارنا null ہے تو، صرف جھوٹے واپس. 952 00:41:00,490 --> 00:41:04,580 کوئی نوڈ ہے تو پھر (ن) ہے کوئی نمبر ہے، صرف جھوٹے واپس. 953 00:41:04,580 --> 00:41:12,330 آپ کو تلاش کر رہے ہیں، تاہم ن، قیمت تو کے لئے، درخت تیر (ن) سے بھی کم ہے، اور 954 00:41:12,330 --> 00:41:15,180 صرف واضح کرنے کے لئے، یہ جب کا کیا مطلب ہے میں تو درخت اور تیر لکھنا 955 00:41:15,180 --> 00:41:18,150 سنکیتن، N؟ 956 00:41:18,150 --> 00:41:18,690 بالکل ٹھیک. 957 00:41:18,690 --> 00:41:21,970 یہ dereference کا مطلب ہے کہ پوائنٹر درخت سے ملاقات کی. 958 00:41:21,970 --> 00:41:26,750 اس کے اندر پھر وہاں جاؤ، اور نوڈ اور (ن) کہا جاتا ہے اپنے فیلڈ ملتا ہے. 959 00:41:26,750 --> 00:41:30,810 اور پھر تھا کہ اصل (ن) کا آپس میں موازنہ اس کے خلاف تلاش میں منظور کر دیا. 960 00:41:30,810 --> 00:41:35,390 >> ن ن قدر سے کم ہے تو اگر درخت نوڈ اپنے آپ میں، اچھی طرح سے، 961 00:41:35,390 --> 00:41:36,720 اس کا کیا مطلب ہے؟ 962 00:41:36,720 --> 00:41:40,690 کہ پہلی نظر میں کچھ بھی نہیں کا مطلب ہے. 963 00:41:40,690 --> 00:41:40,900 ٹھیک ہے؟ 964 00:41:40,900 --> 00:41:45,560 تم میں سے ایک سرنی ہے جب جیسا اقدار، آپ کو بائنری لاگو کرنے کے لئے پسند کر سکتے ہیں 965 00:41:45,560 --> 00:41:48,290 تقسیم کی ایک شکل کے طور پر تلاش اور فتح. 966 00:41:48,290 --> 00:41:51,790 لیکن ہم نے بنانے کے لئے کیا مفروضہ کی کیا ضرورت تھی بائنری تلاش تمام میں کام کرنے کے لئے 967 00:41:51,790 --> 00:41:54,510 فون بک اور میں پہلے مثال کے طور پر؟ 968 00:41:54,510 --> 00:41:55,530 >> حل کرنے کے لئے کس طرح. 969 00:41:55,530 --> 00:41:59,490 تو کی درخت کی تعریف کو بہتر دو یہاں جو کر سکتے ہیں صرف ایک درخت، نہیں 970 00:41:59,490 --> 00:42:00,880 بچوں کی کسی بھی تعداد ہے. 971 00:42:00,880 --> 00:42:04,700 نہ صرف ایک بائنری درخت، جو کر سکتے ہیں زیادہ سے زیادہ 0، 1، یا 2 ہے. 972 00:42:04,700 --> 00:42:09,700 لیکن ایک بائنری تلاش درخت، یا BST، کے طور پر جس میں صرف ایک کہاوت کی ایک پسند طریقہ ہے 973 00:42:09,700 --> 00:42:15,430 ایسی بائنری درخت ہر نوڈ کی بائیں بچے، موجود تو ہے، 974 00:42:15,430 --> 00:42:16,830 نوڈ سے بھی کم. 975 00:42:16,830 --> 00:42:20,170 اور ہر نوڈ کے حق بچے، موجود ہے، تو بڑا ہے 976 00:42:20,170 --> 00:42:21,740 نوڈ خود سے. 977 00:42:21,740 --> 00:42:25,200 >> تو دوسرے الفاظ میں، اگر آپ کو اپنی طرف متوجہ کرنے کے لئے تھے درخت باہر، نمبروں کی ہیں 978 00:42:25,200 --> 00:42:30,620 احتیاط سے اس طرح متوازن تاکہ اگر اگر آپ روٹ کے طور پر 55 ہے، 33 جا سکتے ہیں 979 00:42:30,620 --> 00:42:33,090 اس کے بائیں طرف یہ 55 سے بھی کم ہے کیونکہ. 980 00:42:33,090 --> 00:42:36,430 77 اس کے حق کی وجہ سے جا سکتے ہیں یہ 55 سے زیادہ ہے. 981 00:42:36,430 --> 00:42:40,750 لیکن اب، ایک ہی تعریف نوٹس یہ زبانی طور پر ایک پنراورتی تعریف ہے 982 00:42:40,750 --> 00:42:42,600 33 کے لئے درخواست ہے. 983 00:42:42,600 --> 00:42:47,610 33 کی بائیں بچے، اس سے کم ہونا چاہیے اور 33 کے حق بچے، 44، ہونا ضروری ہے 984 00:42:47,610 --> 00:42:48,580 اس سے بڑے. 985 00:42:48,580 --> 00:42:51,670 >> تو یہ ایک بائنری تلاش درخت ہے، اور میں تھوڑا سا کا استعمال کرتے ہوئے، کی تجویز 986 00:42:51,670 --> 00:42:53,910 تکرار، اب ہم (ن) کے حاصل کر سکتے ہیں. 987 00:42:53,910 --> 00:42:59,160 (ن) کے اس قدر (ن) سے بھی کم ہے اگر ایسا ہے تو موجودہ نوڈ، میں جا رہا ہوں 988 00:42:59,160 --> 00:43:04,090 آگے اور پنٹ، تو بات ہے، اور صرف جواب کا ہے جو کچھ بھی واپس 989 00:43:04,090 --> 00:43:08,470 پر (ن) کی تلاش درخت کی بائیں بچے. 990 00:43:08,470 --> 00:43:11,370 دوبارہ نوٹس، اس تقریب صرف ایک نوڈ سٹار، ایک کی توقع رکھتا ہے 991 00:43:11,370 --> 00:43:12,780 ایک نوڈ پر پوائنٹر. 992 00:43:12,780 --> 00:43:17,360 تو یقینا میں درخت ایسا صرف کر سکتے ہیں کی قیادت کریں گے جس میں تیر بائیں، 993 00:43:17,360 --> 00:43:18,400 مجھے ایک اور نوڈ کرنے کے لئے. 994 00:43:18,400 --> 00:43:19,480 لیکن اس نوڈ کیا ہے؟ 995 00:43:19,480 --> 00:43:22,820 >> ٹھیک ہے، اس اعلان کے مطابق، بائیں تاکہ صرف، صرف ایک پوائنٹر ہے 996 00:43:22,820 --> 00:43:27,090 میں تلاش تقریب پر گزر رہا ہوں اس کا مطلب ایک مختلف پوائنٹر، یعنی 997 00:43:27,090 --> 00:43:30,750 کی نمائندگی کرتا ہے کہ ایک میرے بائیں بچے کے درخت. 998 00:43:30,750 --> 00:43:36,040 تو اس صورت میں، پوائنٹر، اگر 33 یہ ہمارا نمونہ ان پٹ دریں اثنا، تو ہے 999 00:43:36,040 --> 00:43:40,740 (ن) میں قدر (ن) سے زیادہ ہے درخت میں موجودہ نوڈ، تو میں ہوں 1000 00:43:40,740 --> 00:43:43,370 دوسرے میں آگے اور پنٹ جانے والے سمت اور صرف کا کہنا ہے کہ، مجھے نہیں پتہ 1001 00:43:43,370 --> 00:43:47,280 اس قیمت (ن) کے درخت میں ہے تو جانتے ہیں، لیکن یہ ہے کہ اگر میں جانتا ہوں، اس کے نیچے ہے میری 1002 00:43:47,280 --> 00:43:49,090 حق شاخ، تو بات کرنے کے لئے. 1003 00:43:49,090 --> 00:43:53,120 تو مجھے تلاش تکراری طور پر فون کرنے دو، پھر ایک (ن) گزر رہا ہے، لیکن ایک میں گزر رہا ہے 1004 00:43:53,120 --> 00:43:54,580 میرے دائیں بچے پوائنٹر. 1005 00:43:54,580 --> 00:44:00,020 >> دوسرے الفاظ میں، میں فی الحال ہوں تو 55 میں اور میں 99 کے لئے دیکھ رہا ہوں، مجھے معلوم ہے کہ 99 1006 00:44:00,020 --> 00:44:04,270 میں نے پھاڑ تو، جیسا کہ 55 سے زیادہ ہے فون بک ہفتے قبل اور ہم 1007 00:44:04,270 --> 00:44:07,140 حق چلا گیا، اسی طرح ہم ہیں یہیں پر جانے والا. 1008 00:44:07,140 --> 00:44:11,960 یہ میرا حق میں ہے اور اگر مجھے نہیں معلوم بچے، اور یہ نہیں ہے، 77 ہے، لیکن 1009 00:44:11,960 --> 00:44:13,210 میں نے یہ اس سمت میں ہے. 1010 00:44:13,210 --> 00:44:18,770 تو میں نے، میرے دائیں بچے پر تلاش فون 77، اور کی طرف سے کی تلاش کے اعداد و شمار سے باہر جانے 1011 00:44:18,770 --> 00:44:24,950 وہاں تو اس صوابدیدی میں 99 مثال کے طور پر وہاں اصل میں ہے. 1012 00:44:24,950 --> 00:44:26,900 >> دوسری صورت میں، فائنل میں کیس کیا ہے؟ 1013 00:44:26,900 --> 00:44:28,620 درخت ہے تو شہوت انگیز null ایک کیس ہے. 1014 00:44:28,620 --> 00:44:31,890 (ن) موجودہ نوڈ کی سے کم ہے تو قیمت کا ایک اور معاملہ ہے. 1015 00:44:31,890 --> 00:44:35,120 (ن) موجودہ سے زیادہ ہے تو نوڈ کی قیمت ایک تیسرا معاملہ ہے. 1016 00:44:35,120 --> 00:44:38,250 چوتھی اور آخری کیس کیا ہے؟ 1017 00:44:38,250 --> 00:44:39,480 میں ٹھیک ہے، ہم مقدمات سے باہر ہو؟ 1018 00:44:39,480 --> 00:44:44,690 یہ (ن) میں ہے ہونا ضروری ہے میں پر ہوں کہ موجودہ نوڈ. 1019 00:44:44,690 --> 00:44:49,640 >> میں نے اس نقطہ پر 55 کے لئے تلاش کر رہا ہوں تو اگر کی کہانی میں، اس شاخ 1020 00:44:49,640 --> 00:44:51,780 درخت سچ واپس کردے گا. 1021 00:44:51,780 --> 00:44:55,380 تو کیا یہاں دلچسپ ہے یہ ہے کہ ہم اصل میں، ہفتے کے برعکس ماضی، ہم قسم 1022 00:44:55,380 --> 00:44:56,740 کے دو مقدمات کی بنیاد ہے. 1023 00:44:56,740 --> 00:44:58,300 اور وہ کرنے کی ضرورت نہیں سب سے اوپر تمام ہونا. 1024 00:44:58,300 --> 00:45:01,390 سب سے اوپر ایک بنیاد کیس ہے کیونکہ اگر درخت اتارنا null ہے، ایسا کرنے کی کوئی بات نہیں ہے. 1025 00:45:01,390 --> 00:45:03,410 بس ایک مشکل کوڈت واپس جھوٹے کی قدر. 1026 00:45:03,410 --> 00:45:07,400 >> نیچے شاخ کی طرح ہے پہلے سے طے شدہ، جس کے تحت ہم نے کے لئے کی جانچ پڑتال کی ہے تو 1027 00:45:07,400 --> 00:45:11,550 یہ ہونا چاہئے اگر شہوت انگیز null، ہم نے چیک کیا ہے چھوڑ دیا، لیکن یہ نہیں ہونا چاہئے، ہم نے 1028 00:45:11,550 --> 00:45:14,640 یہ درست ہونا چاہئے اگر جانچ پڑتال کی، لیکن یہ نہیں ہونا چاہئے، واضح طور پر یہ ہونا ضروری ہے 1029 00:45:14,640 --> 00:45:15,870 حق ہم کہاں ہیں. 1030 00:45:15,870 --> 00:45:16,780 ایک بنیاد کیس ہے. 1031 00:45:16,780 --> 00:45:19,920 تو دو پنراورتی مقدمات ہے وسط میں وہاں پھنسے. 1032 00:45:19,920 --> 00:45:21,630 لیکن میں لکھا ہے کر سکتے ہیں یہ کسی بھی ترتیب میں. 1033 00:45:21,630 --> 00:45:24,520 میں صرف اس قسم کی قدرتی محسوس کیا سوچا سب سے پہلے ایک ممکنہ خرابی کی جانچ پڑتال کرنے کے لئے، 1034 00:45:24,520 --> 00:45:28,340 پھر بائیں کو چیک کریں، پھر، ٹھیک ہے چیک کریں آپ نوڈ پر ہیں کہ فرض 1035 00:45:28,340 --> 00:45:30,630 آپ نے واقعی کے لئے تلاش کر رہے ہیں. 1036 00:45:30,630 --> 00:45:36,240 >> تو کیوں اس مفید ہو سکتا ہے؟ 1037 00:45:36,240 --> 00:45:37,910 تو یہ باہر کر دیتا ہے - 1038 00:45:37,910 --> 00:45:42,110 اور مجھے ایک جھلکی پر کود دو یہاں اس ویب میں ہے. 1039 00:45:42,110 --> 00:45:44,920 ہم نہیں ایک کا استعمال کرتے ہوئے شروع کرنے کے لئے جا رہے ہیں پروگرامنگ کے شروع میں زبان کی، لیکن ایک 1040 00:45:44,920 --> 00:45:46,030 مارکاپ زبان. 1041 00:45:46,030 --> 00:45:48,740 ہے ایک ہونے کا ایک مارکاپ زبان پروگرامنگ کی روح یہی 1042 00:45:48,740 --> 00:45:51,715 زبان، لیکن یہ آپ کو نہیں دیتا کی صلاحیت منطقی طور پر اپنے آپ کو ظاہر کرنے کے لئے. 1043 00:45:51,715 --> 00:45:55,070 یہ صرف کرنے کے لئے آپ کی صلاحیت دیتا ہے structurally خود اظہار. 1044 00:45:55,070 --> 00:45:57,960 >> تم کہاں کچھ ڈال کرنا چاہتے ہیں صفحے پر، ویب صفحے؟ 1045 00:45:57,960 --> 00:45:59,200 کیا رنگ آپ کو یہ کرنے کے لئے چاہتے ہیں؟ 1046 00:45:59,200 --> 00:46:00,950 کیا فونٹ سائز اگر آپ اسے بنانے کے لئے چاہتے ہیں؟ 1047 00:46:00,950 --> 00:46:02,970 کیا الفاظ اصل میں تم کرتے ہو ویب صفحے پر چاہتے ہیں؟ 1048 00:46:02,970 --> 00:46:04,060 تاکہ ایک مارکاپ زبان ہے. 1049 00:46:04,060 --> 00:46:07,690 لیکن اس وقت ہم بہت جلد ملواتا ہوں ایک مکمل ہے، جو جاوا سکرپٹ، 1050 00:46:07,690 --> 00:46:08,560 زبان پروگرامنگ. 1051 00:46:08,560 --> 00:46:12,530 syntactically ظہور میں بہت ہی سی کرنے کے لئے، لیکن یہ کچھ کرنا پڑے گا 1052 00:46:12,530 --> 00:46:15,200 اچھا، زیادہ طاقتور، زیادہ صارف دوستانہ خصوصیات. 1053 00:46:15,200 --> 00:46:18,050 >> اور اس پر مایوسی میں سے ایک سمسٹر میں نقطہ ہم کروں گا یہ ہے کہ 1054 00:46:18,050 --> 00:46:22,065 جلد ہی اب تک کم میں ہجے کنندہ کو نافذ دیگر زبانوں کا استعمال کرتے ہوئے کوڈ کی لائنیں 1055 00:46:22,065 --> 00:46:25,580 سی خود کی اجازت دیتا ہے کے مقابلے میں، لیکن وجہ ہے کے لئے ہم جلد ہی سمجھ جاوگی. 1056 00:46:25,580 --> 00:46:27,750 یہ سب سے پہلے اس طرح کی ویب کے صفحے ہو جائے گا. 1057 00:46:27,750 --> 00:46:30,120 یہ مکمل طور پر underwhelming ہو جائے گا ہم بناتے ہیں سب سے پہلے. 1058 00:46:30,120 --> 00:46:31,400 یہ صرف دنیا کو خوش آمدید کہیں گے. 1059 00:46:31,400 --> 00:46:34,010 لیکن تم اسے کبھی نہیں دیکھا ہے تو اس سے پہلے، اس، ایچ ٹی ایم ایل ہے 1060 00:46:34,010 --> 00:46:35,670 ہایپر ٹیکسٹ مارکاپ زبان. 1061 00:46:35,670 --> 00:46:39,310 >> آپ میں ایک خاص مینو کے اختیارات پر جانا ہے تو پر کسی بھی ویب صفحے پر سب سے زیادہ کسی بھی براؤزر، 1062 00:46:39,310 --> 00:46:43,160 انٹرنیٹ، آپ ایچ ٹی ایم ایل کو دیکھ سکتے ہیں کچھ لوگوں کو خط لکھا ہے کہ 1063 00:46:43,160 --> 00:46:44,400 اس ویب صفحہ تخلیق کریں. 1064 00:46:44,400 --> 00:46:47,850 اور یہ شاید کے طور پر نظر نہیں آتا ہے مختصر یا اس کے طور پر کے طور پر صاف. 1065 00:46:47,850 --> 00:46:51,400 لیکن یہ ان کی طرز کی پیروی کریں گے کھلی بریکٹ اور slashes اور 1066 00:46:51,400 --> 00:46:53,660 حروف اور ممکنہ طور پر تعداد. 1067 00:46:53,660 --> 00:46:56,770 >> میں نے آپ کو ایک چھیڑ دے سوچا آپ کرنے کے قابل ہو جائے گا کیا 1068 00:46:56,770 --> 00:46:57,950 CS50 لینے کے بعد. 1069 00:46:57,950 --> 00:47:02,620 مجھے cs.harvard.edu / لوٹنے کے لئے چلتے ہیں، ہمارے اپنے روب Bowden کے ہوم پیج پر. 1070 00:47:02,620 --> 00:47:06,080 انہوں نے کہا کہ ہمارے لئے یہ بنایا ہے. 1071 00:47:06,080 --> 00:47:07,490 تو کیا تم جلد ہی ایسا کر سکیں گے. 1072 00:47:07,490 --> 00:47:10,660 اور بھی، تم نے کیا سنا آج صبح - 1073 00:47:10,660 --> 00:47:12,480 آج صبح تم نے سنا کیا - 1074 00:47:12,480 --> 00:47:13,780 >> [HAMSTER رقص MUSIC] 1075 00:47:13,780 --> 00:47:15,702 >> - you'll اس بنانے کے لئے کے قابل ہو جائے. 1076 00:47:15,702 --> 00:47:16,790 وہ بدھ کے روز ہم سے انتظار کر رہا ہے. 1077 00:47:16,790 --> 00:47:17,791 ہم آپ کو اس کے بعد دیکھیں گے. 1078 00:47:17,791 --> 00:47:22,950 >> [HAMSTER رقص MUSIC] 1079 00:47:22,950 --> 00:47:24,300 DAVID MALAN: اگلے CS50 میں - 1080 00:47:24,300 --> 00:47:31,670