1 00:00:00,000 --> 00:00:10,982 2 00:00:10,982 --> 00:00:11,940 DAVID MALAN: ٹھیک ہے. 3 00:00:11,940 --> 00:00:16,470 تو اس CS50 ہے، اور یہ ہے اب ہفتے میں تین کے آغاز. 4 00:00:16,470 --> 00:00:19,960 >> اب تک، ہم نے اپ تو C میں پروگرام لکھ رہے 5 00:00:19,960 --> 00:00:23,210 کہ ایک چھوٹی سی نظر یہاں کچھ اس طرح. 6 00:00:23,210 --> 00:00:25,470 تو ہم نے ایک جوڑے کی ہے تیز سب سے اوپر شامل. 7 00:00:25,470 --> 00:00:28,490 ہم باطل،، int اہم ہے، اور کیا ہے پھر کچھ وسط میں کیا، 8 00:00:28,490 --> 00:00:30,590 کے اندر کوڈ کے کچھ تھوڑا سا اس تقریب کی. 9 00:00:30,590 --> 00:00:34,170 لیکن اہم حقیقت یہ ہے کہ دیا گیا ہے ہم یہاں باطل کہہ دیا گیا ہے. 10 00:00:34,170 --> 00:00:39,320 تو باطل، اس وقت، مخصوص اس پروگرام، جب چلاتے ہیں، 11 00:00:39,320 --> 00:00:41,300 صرف اس کے نام کے ذریعے چلایا جا سکتا ہے. 12 00:00:41,300 --> 00:00:46,330 آپ کسی بھی دوسرے الفاظ ٹائپ نہیں کر سکتے ہیں یا پروگرام کا نام ہے جب کے بعد تعداد 13 00:00:46,330 --> 00:00:46,830 یہ چل رہا ہے. 14 00:00:46,830 --> 00:00:51,200 تو، مثال کے طور پر پروگرام، تھے خوش نامی ایک فائل میں مرتب، 15 00:00:51,200 --> 00:00:53,480 آپ ./hello کر سکتا ہے، لیکن یہ ہے. 16 00:00:53,480 --> 00:00:56,750 >> صرف ایک ہی طریقہ ہے کہ آپ کر سکتے ہیں اس پروگرام کے لئے ان پٹ فراہم 17 00:00:56,750 --> 00:00:57,960 ایک تقریب بلا کی طرف سے ہے. 18 00:00:57,960 --> 00:00:59,790 مثال کے طور پر، کیا تقریب ہم ابھی تک استعمال کرتے ہوئے کیا گیا ہے 19 00:00:59,790 --> 00:01:00,950 صارف سے ان پٹ حاصل کرنے کے لئے؟ 20 00:01:00,950 --> 00:01:02,117 >> سامعین: تار حاصل. 21 00:01:02,117 --> 00:01:04,700 DAVID MALAN: تار حاصل، یا int حاصل، یا آپ کو دوسروں کے دیکھا ہے، 22 00:01:04,700 --> 00:01:07,630 آپ نے ابھی تک انہیں استعمال نہیں کیا ہے یہاں تک کہ اگر، کی طرح، طویل طویل اور اس طرح حاصل. 23 00:01:07,630 --> 00:01:09,380 لیکن لگتا ہے کہ ہم اصل میں شروع کرنے کے لئے چاہتے ہیں 24 00:01:09,380 --> 00:01:12,760 تھوڑا سا زیادہ ہیں کہ میں لکھنے کے پروگراموں واضح طور سے، تھوڑا زیادہ، ورسٹائل، اور 25 00:01:12,760 --> 00:01:15,090 آپ ہے کہ حکم کی طرح امید ہے، رہا، 26 00:01:15,090 --> 00:01:16,550 ایک تھوڑا سا کے عادی. 27 00:01:16,550 --> 00:01:18,560 سی ڈی کی جگہ ڈراپ باکس کی طرح. 28 00:01:18,560 --> 00:01:20,800 یہ، کورس کے، تبدیلیاں آپ کی ڈائریکٹری، سنبھالنے 29 00:01:20,800 --> 00:01:23,590 آپ جان ہارورڈ کے گھر میں ہیں ڈائریکٹری، آپ ڈراپ باکس کے فولڈر میں. 30 00:01:23,590 --> 00:01:27,380 دریں اثنا، اس طرح ایک کمانڈ ، pset2 نامی ایک نئی ڈائریکٹری پیدا کرتا ہے 31 00:01:27,380 --> 00:01:30,290 آپ ہو سکتا ہے کے طور پر پہلے سے ہی ہے یا جلد ہی کے مسئلہ کے دو مقرر. 32 00:01:30,290 --> 00:01:33,970 بنانے ہیلو، کورس کے، ایک کمانڈ ہے کہ خوش نامی ایک پروگرام بناتا ہے 33 00:01:33,970 --> 00:01:35,770 خوش ڈاٹ سی نامی ایک فائل سے. 34 00:01:35,770 --> 00:01:39,140 اور ان میں سے ہر ایک میں مقدمات، اب، ہم نے کیا ہے 35 00:01:39,140 --> 00:01:43,620 نام نہاد پر ایک دلیل فراہم کرتے ہیں کمانڈ لائن، ٹمٹمانے فوری طور پر، 36 00:01:43,620 --> 00:01:48,540 اس کا جانتا ہے تو کیا کی تعمیر، اور اس کے لئے کہ mkdir پیدا کرنے کے لئے کیا فولڈر جانتا ہے، 37 00:01:48,540 --> 00:01:51,110 اور تو ہے کہ سی ڈی جانتا ہے جہاں آپ جانا چاہتے ہیں. 38 00:01:51,110 --> 00:01:54,720 لیکن اب تک، ہم کہہ رکھنے کہ اہم، آپ ڈیفالٹ تقریب، 39 00:01:54,720 --> 00:01:58,500 ایک باطل اظہار ہے ان قوسین کے اندر، 40 00:01:58,500 --> 00:02:01,250 جو اس کا مطلب ہے کہ کوئی بحث نہیں کر سکتے ہیں. 41 00:02:01,250 --> 00:02:03,240 >> تو آج سے شروع ہونے والے، ہم کیا کرنے جا رہے ہیں 42 00:02:03,240 --> 00:02:06,270 ، ہم شروع کرنے کے لئے جا رہے ہیں ہے یہ بھی طرح چیزوں کی حمایت. 43 00:02:06,270 --> 00:02:08,990 اصل میں، میں اس معاملے، جس سے آپ عام طور پر دستی طور پر ٹائپ نہیں ہے، 44 00:02:08,990 --> 00:02:11,130 یہ کر رہا ہے بنائیں ہمارے لئے، وہاں نہیں ہیں 45 00:02:11,130 --> 00:02:15,840 لیکن ایک ایک، دو، تین اضافی پروگرام کے نام کے بعد ڈور 46 00:02:15,840 --> 00:02:16,850 بجنا. 47 00:02:16,850 --> 00:02:18,240 تو ہم یہ کیسے حاصل کروں؟ 48 00:02:18,240 --> 00:02:20,260 >> ویسے، آج شروع، ہم چاہتے ہیں جہاں معاملات میں 49 00:02:20,260 --> 00:02:22,855 کے ذریعے ان پٹ فراہم کرنے کے لئے کمانڈ لائن سے نام نہاد، 50 00:02:22,855 --> 00:02:24,980 ہم انہوں نے مزید کہا شروع کرنے کے لئے جا رہے ہیں یہاں yellow-- میں کیا ہے 51 00:02:24,980 --> 00:02:30,520 int argc ہے کوما کے ساتھ باطل کی جگہ سٹرنگ argv کھلی بریکٹ بند بریکٹ. 52 00:02:30,520 --> 00:02:32,520 اب یہ دلچسپ ہے وجوہات میں سے ایک جوڑے کے لئے. 53 00:02:32,520 --> 00:02:35,690 ایک، یہ ہمارے لکھنے جا رہا ہے تھوڑا زیادہ متحرک ہیں کہ پروگراموں. 54 00:02:35,690 --> 00:02:37,570 لیکن، زیادہ compellingly، اس کو کھولنے کے لئے جا رہا ہے 55 00:02:37,570 --> 00:02:40,340 کے طور پر اب ایک بات چیت کیا arrays کے کر سکتے ہیں واقعی 56 00:02:40,340 --> 00:02:43,300 کیا ایک تار کے لئے، استعمال کیا جا واقعی ہڈ کے نیچے ہے، 57 00:02:43,300 --> 00:02:47,320 اگلے ہفتے تک ہم ڈائیونگ شروع مشین ہے کہ کس طرح کے طور پر بھی گہرے میں 58 00:02:47,320 --> 00:02:48,590 یہ چیزیں کام کے تمام بنا. 59 00:02:48,590 --> 00:02:51,920 لیکن اب کے لئے، کی طرف متوجہ کرتے ہیں، شاید، ایک تصویر. 60 00:02:51,920 --> 00:02:54,950 >> آپ کو ایک پروگرام لکھ اعلان مرکزی ساتھ 61 00:02:54,950 --> 00:02:58,810 اس طرح میں، اس طرح کے اہم ہے کہ دو دلائل، ایک int لیتا ہے 62 00:02:58,810 --> 00:03:03,233 and-- کیا ڈیٹا کی قسم دوسری دلیل ہے؟ 63 00:03:03,233 --> 00:03:04,529 >> سامعین: صف. 64 00:03:04,529 --> 00:03:05,320 DAVID MALAN: صف. 65 00:03:05,320 --> 00:03:09,170 یہ ایک کی طرح تو یہ پہلی نظر میں لگتا ہے سٹرنگ، لیکن مربع بریکٹ نوٹس. 66 00:03:09,170 --> 00:03:12,760 ہم متعارف آخری بار یاد ایک صف کے تصور. 67 00:03:12,760 --> 00:03:16,210 اور arrays مربع بریکٹ کا استعمال سیاق و سباق کے ایک جوڑے میں. 68 00:03:16,210 --> 00:03:19,160 آپ مربع استعمال کر سکتے ہیں بریکٹ ایک صف میں جانے کے لئے 69 00:03:19,160 --> 00:03:22,710 اور اس طرح، ایک خاص عنصر حاصل بریکٹ 0 یا 1 بریکٹ یا بریکٹ 2. 70 00:03:22,710 --> 00:03:25,500 لیکن ہم، تو مختصر طور پر، دیکھا گزشتہ ہفتے بھی آپ 71 00:03:25,500 --> 00:03:28,790 کرنے کے لئے ان مربع بریکٹ کا استعمال ایک صف کے سائز کا اعلان، 72 00:03:28,790 --> 00:03:31,790 آپ کو پیشگی میں جانتے ہیں کس طرح بہت سے ints کے یا کس طرح بہت سے ڈور یا جو بھی آپ 73 00:03:31,790 --> 00:03:32,630 اصل میں چاہتے ہیں. 74 00:03:32,630 --> 00:03:34,790 تو یہ بدل جاتا ہے وہاں یہاں ایک تیسری سیاق و سباق 75 00:03:34,790 --> 00:03:37,890 اس کے اندر کوئی نمبر ہے مربع بریکٹ کے. 76 00:03:37,890 --> 00:03:41,920 میں یہاں کے طور پر جب آپ، وضاحت، ہے argv کی طرح کچھ کے نام، 77 00:03:41,920 --> 00:03:44,550 جس کا صرف ایک پسند ہیں طریقہ ہے دلیل ویکٹر، کہہ، جس 78 00:03:44,550 --> 00:03:47,750 کی ایک اور پسند ہیں طریقہ ہے ، دلائل کی ایک صف کہہ 79 00:03:47,750 --> 00:03:50,870 کھلی بریکٹ بند بریکٹ صرف آپ کو ضروری نہیں ہے کا مطلب 80 00:03:50,870 --> 00:03:52,960 کتنا بڑا پیشگی معلوم سرنی، جا رہا ہے 81 00:03:52,960 --> 00:03:55,070 لیکن آپ کو یہ ایک صف ہونے جا رہا ہے جانتے ہیں. 82 00:03:55,070 --> 00:03:57,320 تم نہیں جانتے تو تعداد، وہاں میں ڈال نہیں ہے 83 00:03:57,320 --> 00:04:01,160 کھلی بریکٹ بند بریکٹ کے لئے ہے argv ایک تار نہیں ہے کا مطلب ہے کہ، 84 00:04:01,160 --> 00:04:03,124 لیکن ڈور کی ایک صف. 85 00:04:03,124 --> 00:04:05,040 تو syntactically، کیا اگر آپ گزشتہ ہفتے واپس لگتا ہے، 86 00:04:05,040 --> 00:04:09,460 یہ کہہ کے لئے اسی طرح کی ہے INT عمر کھلی بریکٹ کی طرح کچھ، 87 00:04:09,460 --> 00:04:10,984 اور پھر کچھ اس کے بعد. 88 00:04:10,984 --> 00:04:12,150 تو کیا اس طرح لگتی ہے؟ 89 00:04:12,150 --> 00:04:13,399 اصل میں ایک تصویر کو اپنی طرف متوجہ کرتے ہیں. 90 00:04:13,399 --> 00:04:18,756 تو آپ مین کے ساتھ اس پروگرام چلاتے ہیں دو دلائل کے اندر وضاحت کی ہے 91 00:04:18,756 --> 00:04:21,339 ان قوسین کے، آپ بنیادی طور پر کم از کم دو حصوں ہے 92 00:04:21,339 --> 00:04:23,560 میموری کی آپ کے حوالے ہڈ کے نیچے. 93 00:04:23,560 --> 00:04:26,550 ایک، اس مستطیل کے طور پر مدد دیتی ہے میں گے کے طور پر، جہاں argc بلایا جا رہا ہے. 94 00:04:26,550 --> 00:04:30,645 اور صرف ایک فوری recap کے طور پر، جہاں argc کے اعداد و شمار کی قسم کیا ہے؟ 95 00:04:30,645 --> 00:04:31,270 تو یہ ایک int ہے. 96 00:04:31,270 --> 00:04:33,480 تو ایک نمبر کی جا رہی ہے argc-- موڑ میں جانے کے لئے 97 00:04:33,480 --> 00:04:35,660 باہر دلیل شمار کے لئے کھڑا ہے. 98 00:04:35,660 --> 00:04:38,887 دریں اثنا، میں ایک صف کے طور پر argv تیار کی ہے. 99 00:04:38,887 --> 00:04:40,970 اور میں واقعی نہیں جانتے یہ ہو رہا ہے کہ کس طرح طویل، 100 00:04:40,970 --> 00:04:42,470 تو آج کے مقاصد کے لئے ڈاٹ ڈاٹ ڈاٹ. 101 00:04:42,470 --> 00:04:43,636 یہ کچھ کی لمبائی کی ہو سکتی ہے. 102 00:04:43,636 --> 00:04:45,640 لیکن میں یہاں تصویر ہے کم از کم چار مستطیل. 103 00:04:45,640 --> 00:04:50,970 تو ہے کہ دکانوں میموری کا ایک حصہ میں argv سٹرنگ سٹرنگ سٹرنگ ڈاٹ ڈاٹ ڈاٹ، 104 00:04:50,970 --> 00:04:53,950 اور argc صرف ایک حصہ ہے ایک عددی کے لئے میموری کی. 105 00:04:53,950 --> 00:04:55,710 >> تو اب، تھوڑا سا زیادہ عین مطابق ہو. 106 00:04:55,710 --> 00:04:59,200 تو، میں ڈور ہے جب اس صف میں، کہا جاتا 107 00:04:59,200 --> 00:05:03,290 argv کے، میں نے ان پر حاصل کرنے کے لئے چاہتے ہیں انفرادی طور پر، صرف گزشتہ ہفتے کی طرح، 108 00:05:03,290 --> 00:05:05,670 ہم سنکیتن استعمال کرنے کے لئے جا رہے ہیں argv بریکٹ 0 109 00:05:05,670 --> 00:05:07,650 سب سے پہلی چیز ایک صف حاصل کرنے کے لئے. 110 00:05:07,650 --> 00:05:10,440 argv بریکٹ 1 حاصل کرنے کے لئے تو آگے دوسری بات، اور. 111 00:05:10,440 --> 00:05:14,597 اہم یہاں ہم اب بھی 0 ہو جا رہا ہے indexed-- ہم اب بھی 0 سے گنتی کر رہے ہیں. 112 00:05:14,597 --> 00:05:16,430 تو اب اصل چلو اس میں کچھ ڈال دیا. 113 00:05:16,430 --> 00:05:21,670 میں نامی ایک پروگرام مرتب کرنے کے لئے تھے خوش خوش ڈاٹ سی نامی ایک فائل سے، 114 00:05:21,670 --> 00:05:24,340 اور پھر میں نے اس پروگرام کو چلانے کے نقطہ کے ساتھ خوش سلیش، 115 00:05:24,340 --> 00:05:28,380 اپنے کمپیوٹر، اپنے لیپ ٹاپ کرتا ہے، ہڈ کے نیچے کی طرح نظر 116 00:05:28,380 --> 00:05:31,300 میں ڈاٹ چلانے لمحے خوش سلیش اور درج کریں مارا؟ 117 00:05:31,300 --> 00:05:33,500 ویسے، یہ شاید ہے ہم وضاحت کر سکتے ہیں 118 00:05:33,500 --> 00:05:37,010 آپ کے کمپیوٹر کے مواد کے طور پر میموری، یا میں RAM رینڈم رسائی میموری. 119 00:05:37,010 --> 00:05:40,330 دوسرے الفاظ میں، کمپیوٹر، کسی نہ کسی طرح جادوئی آپ کے لئے، 120 00:05:40,330 --> 00:05:45,360 جہاں argc میں نمبر 1 رکھتا ہے، AKA argcount، اور اس کے لفظی سٹرنگ رکھتا ہے 121 00:05:45,360 --> 00:05:48,200 ./hello argv بریکٹ 0. 122 00:05:48,200 --> 00:05:51,750 مجھے کوئی اندازہ نہیں، واضح طور سے، کیا ہے argv بریکٹ میں 1 یا 2 یا 3، 123 00:05:51,750 --> 00:05:55,550 صارف نہیں ہے کیونکہ اگر ، ./hello علاوہ کچھ ٹائپ 124 00:05:55,550 --> 00:05:58,550 ہم ان کا فرض ہے کہ جا رہے ہیں سب سے زیادہ امکان ردی کی ٹوکری میں اقدار ہیں، 125 00:05:58,550 --> 00:05:59,700 تو بات کرنے کی. 126 00:05:59,700 --> 00:06:02,650 میموری کی وہ مقدار موجود ہیں، لیکن یہ ہم پر منحصر نہیں ہے 127 00:06:02,650 --> 00:06:05,710 کیونکہ، ان کو دیکھنے کے لئے argcount صرف ایک ہے. 128 00:06:05,710 --> 00:06:07,870 >> اب، اسی اثناء میں، میں تو کسی دوسرے پروگرام کو چلانے کے لکھنے، 129 00:06:07,870 --> 00:06:12,250 زیادہ مناسب طریقے سے ایک کمانڈ ہے جو سی ڈی،، آپ ٹمٹمانے prompt-- سی ڈی خلا میں 130 00:06:12,250 --> 00:06:17,200 میں مؤثر طریقے سے، کہ جب چلانے Dropbox--، سی ڈی پروگرام چلایا جاتا ہے جب، جہاں argc، 131 00:06:17,200 --> 00:06:22,270 اپنے کمپیوٹر کی میموری کے اندر کے لئے ہے، سب سے زیادہ مختصر دوسرے نمبر 2. 132 00:06:22,270 --> 00:06:25,936 اور پھر argv بریکٹ O ہے سی ڈی، argv بریکٹ 1، ڈراپ باکس ہے 133 00:06:25,936 --> 00:06:28,560 اور اس کے بعد کے دوران کمانڈ مکمل، تو اس میموری کا سب 134 00:06:28,560 --> 00:06:30,420 بنیادی طور پر دور ہو جاتا ہے اور کچھ کے لئے استعمال کیا جاتا ہے. 135 00:06:30,420 --> 00:06:32,270 اور یہ کہ میں کہتا ہوں کہ یہی وجہ ہے دوسرا صرف ایک تقسیم. 136 00:06:32,270 --> 00:06:35,720 >> دریں اثناء، ہم mkdir pset2 کرتے ہیں تو، تصویر، تقریبا ایک ہی لگ رہا ہے 137 00:06:35,720 --> 00:06:37,900 لیکن argv کے اندر مختلف ڈور کے ساتھ. 138 00:06:37,900 --> 00:06:42,570 میں نے ہیلو بجنا ڈیش کرتے ہیں خوش ڈاٹ سی، اسی خیال. 139 00:06:42,570 --> 00:06:47,060 زیادہ چیزیں کے لئے میں بھرا ہوا ہے argv کے، اور argc، کورس کے، 4 ہے. 140 00:06:47,060 --> 00:06:49,150 تو دوسرے الفاظ میں، یہاں تک کہ اس صف اگرچہ 141 00:06:49,150 --> 00:06:52,950 کچھ کے، ڈاٹ ڈاٹ ڈاٹ کیا جا سکتا ہے متغیر کی لمبائی، تو بات کرنے کے لئے 142 00:06:52,950 --> 00:06:56,720 آپ کو ہمیشہ اس کی جہاں اختتام کا پتہ جہاں argc آپ کو بتانے جا رہا ہے کیونکہ، ہے 143 00:06:56,720 --> 00:07:00,120 کس موڑ پر آپ کو روکنے کے لئے ہے argv میں عناصر کو دیکھ کر. 144 00:07:00,120 --> 00:07:03,660 آپ کو صرف چار میں دیکھ سکتے ہیں اس کیس میں کل میں. 145 00:07:03,660 --> 00:07:06,600 >> تو اب میں ایک نظر ڈالیں، شاید، ایک سادہ پروگرام. 146 00:07:06,600 --> 00:07:09,070 صرف ہیلو کا کہنا ہے کہ ایک Zamyla کی طرح کسی کو. 147 00:07:09,070 --> 00:07:12,620 تو میں نے ایک پروگرام لکھنے جا رہا ہوں کا دعوی صرف ایک لمحے میں جس کے ذریعے میں کر سکتا 148 00:07:12,620 --> 00:07:16,670 تو میں چاہتا ہوں ./hello خلائی کیا Zamyla، اور میرا پروگرام کچھ باہر پرنٹ کرنے کے لئے 149 00:07:16,670 --> 00:07:18,520 کی طرح سپر آسان "ہیلو، کیا Zamyla." 150 00:07:18,520 --> 00:07:20,100 اب ماضی میں ہم GetString کا استعمال کیا ہے. 151 00:07:20,100 --> 00:07:22,850 ماضی میں، یہاں تک کہ اگر تو آپ، پروگرامنگ کے لئے نئے ہیں 152 00:07:22,850 --> 00:07:27,180 مشکلات آپ کو ایک کوڑا کر سکتے ہیں GetString کا استعمال کرتا ہے کہ پروگرام 153 00:07:27,180 --> 00:07:29,390 اور پھر printf کا استعمال کرتا ہے کیا Zamyla کو ہیلو کہنا. 154 00:07:29,390 --> 00:07:31,290 لیکن اس وقت GetString کا استعمال نہیں کرتے ہیں. 155 00:07:31,290 --> 00:07:37,510 مجھے اس کی بجائے Appliant میں جانے دو اور معیاری میں اے ڈاٹ ایچ شامل ہے. 156 00:07:37,510 --> 00:07:41,160 مجھے بھی CS50 ڈاٹ ایچ شامل ہیں. 157 00:07:41,160 --> 00:07:44,730 اب int اہم، اور اب میں ہوں آج باطل کرنے کے لئے نہیں جا رہا. 158 00:07:44,730 --> 00:07:51,200 اس کی بجائے، میں نے int argc ہے کرنے کے لئے جا رہا ہوں سٹرنگ argv کھلی بریکٹ بند بریکٹ، 159 00:07:51,200 --> 00:07:52,640 ایک بڑی تعداد کی وضاحت نہیں. 160 00:07:52,640 --> 00:07:54,644 اور اب یہاں میرا ایسا کرنے کے لئے نام نہاد ہے. 161 00:07:54,644 --> 00:07:57,560 اب میں کیا کرنے جا رہا ہوں ہوں، ہے ایمان کی چھلانگ کے تھوڑا سا کیا جا رہا، 162 00:07:57,560 --> 00:08:00,560 میں صارف کا فرض ہے کہ میں جا رہا ہوں درست طریقے سے اس پروگرام کو استعمال کرنے کے لئے جا، 163 00:08:00,560 --> 00:08:04,980 اور میں صرف کرنے جا رہا ہوں ، خوش printf کے٪ کیٹلوگ کرتے. 164 00:08:04,980 --> 00:08:06,630 تو کچھ بھی نہیں نئی. 165 00:08:06,630 --> 00:08:11,470 لیکن اب میں جو لفظ میں ڈال کرنا چاہتے ہیں پروگرام کا نام کے بعد صارف کی اقسام. 166 00:08:11,470 --> 00:08:16,970 تو میں کیا Zamyla ./hello خلائی کرتے ہیں تو، میں کسی نہ کسی طرح پروگرام تک رسائی حاصل کرنا چاہتے ہیں 167 00:08:16,970 --> 00:08:20,870 unquote جو "کیا Zamyla." اقتباس تو میں میری دلیل ویکٹر میں جا سکتے ہیں، 168 00:08:20,870 --> 00:08:25,980 میرا ڈور کی صف، اور کمانڈ ہے تو، پھر، ./hello جگہ، کیا Zamyla تھا 169 00:08:25,980 --> 00:08:29,340 کیا تعداد میں کرنا چاہتے ہیں یہاں argv میں ڈال کرنے کے لئے؟ 170 00:08:29,340 --> 00:08:29,840 سامعین: 1. 171 00:08:29,840 --> 00:08:32,355 DAVID MALAN: 1، کیونکہ بریکٹ 0 باہر کر دیتا ہے 172 00:08:32,355 --> 00:08:34,230 جا رہا ہے پروگرام کا نام ہم نے دیکھا، کے طور پر. 173 00:08:34,230 --> 00:08:37,789 تو بریکٹ 1 پہلا لفظ ہے مجھے لگتا ہے کہ، صارف، ٹائپ ہے. 174 00:08:37,789 --> 00:08:39,559 میں آگے بڑھو اور اس کو بچانے کے لئے جا رہا ہوں. 175 00:08:39,559 --> 00:08:42,830 میں اپنے فولڈر میں جانے کے لئے جا رہا ہوں جہاں میں نے اس فائل رکھ دیا ہے. 176 00:08:42,830 --> 00:08:44,920 میں نے ہیلو 3 بنانے کے کرنے جا رہا ہوں. 177 00:08:44,920 --> 00:08:46,230 معاضہ IO ٹھیک. 178 00:08:46,230 --> 00:08:51,380 ./hello کیا Zamyla کریں. 179 00:08:51,380 --> 00:08:54,480 میں نے کیا غلط کیا تھا؟ 180 00:08:54,480 --> 00:08:57,270 میں حیرت کی طرف سے پکڑا گیا تھا اپنے آپ سے صرف ایک لمحے کے لئے. 181 00:08:57,270 --> 00:08:58,230 میں نے کیا غلط کیا تھا؟ 182 00:08:58,230 --> 00:08:59,220 >> سامعین: نام. 183 00:08:59,220 --> 00:09:01,767 >> DAVID MALAN: فائل اصل hello3.c کہا. 184 00:09:01,767 --> 00:09:03,850 اور میں صرف کے لئے کیا مستقل مزاجی، ہم نے کی وجہ سے 185 00:09:03,850 --> 00:09:06,550 میں تھا hello.c کے کی آن لائن کوڈ میں ماضی. 186 00:09:06,550 --> 00:09:11,550 تو اس ./hello حل کریں بریکٹ ڈیش 3 کیا Zamyla. 187 00:09:11,550 --> 00:09:12,370 درج کریں. 188 00:09:12,370 --> 00:09:14,030 اور اب ہم، خوش کیا Zamyla ہے. 189 00:09:14,030 --> 00:09:17,650 دریں اثنا، میں نے اس کو تبدیل کر سکتے ہیں روب، یا واقعی کسی دوسرے لفظ. 190 00:09:17,650 --> 00:09:19,230 >> لیکن ایک کونے کیس پر غور کریں. 191 00:09:19,230 --> 00:09:24,360 اگر آپ کیا ہو گا توقع کر سکتے ہیں میں بالکل کسی کا نام نہیں ٹائپ کیا؟ 192 00:09:24,360 --> 00:09:25,270 >> سامعین: خرابی. 193 00:09:25,270 --> 00:09:27,300 >> DAVID MALAN: ایک غلطی شاید کسی قسم کے، کی. 194 00:09:27,300 --> 00:09:28,200 چلو دیکھتے ہیں. 195 00:09:28,200 --> 00:09:29,440 درج کریں. 196 00:09:29,440 --> 00:09:30,210 شہوت انگیز null. 197 00:09:30,210 --> 00:09:33,870 تو printf اصل میں کیا جا رہا ہے ہم میں سے ایک چھوٹا سا حفاظتی 198 00:09:33,870 --> 00:09:38,131 یہاں، اور لفظی کھلی قوس پرنٹنگ شہوت انگیز null، لیکن اس سے بھی بدتر چیزیں ہو سکتا ہے. 199 00:09:38,131 --> 00:09:40,130 اور صرف مظاہرہ کرنے کے لئے کچھ آپ بالکل 200 00:09:40,130 --> 00:09:42,800 ایسا نہیں کرنا چاہئے، میں جانے یہاں اور ارد گرد poking شروع. 201 00:09:42,800 --> 00:09:43,300 ٹھیک ہے نا؟ 202 00:09:43,300 --> 00:09:46,410 مجھے پتہ ہے کہ تصویر میں میموری، بنیادی طور پر یہ ہے 203 00:09:46,410 --> 00:09:52,660 argv بریکٹ 1 کیا Zamyla، argv کے ہے بریکٹ 0 ./hello ہے، یا ./hello 3. 204 00:09:52,660 --> 00:09:55,400 کیا بریکٹ 2 میں ہے؟ 205 00:09:55,400 --> 00:09:58,210 تو میں نے اس کا جواب کر سکتے ہیں دائیں، اپنے آپ کو سوال؟ 206 00:09:58,210 --> 00:10:00,460 میں صرف ایک 2 1 تبدیل کر سکتے ہیں. 207 00:10:00,460 --> 00:10:07,270 اب میں، 3 خوش recompile کر ./hello3 میں زوم اور ہٹ میں داخل ہے. 208 00:10:07,270 --> 00:10:08,270 افوہ. 209 00:10:08,270 --> 00:10:10,660 کوئی اقتباس نشان. 210 00:10:10,660 --> 00:10:12,540 دلچسپ. 211 00:10:12,540 --> 00:10:15,530 تو اس قسم کے ڈاؤن لوڈ، اتارنا ہے یہاں ہے کیا کیا. 212 00:10:15,530 --> 00:10:17,130 >> تو اور کیا اپنے لیپ ٹاپ کے اندر ہے؟ 213 00:10:17,130 --> 00:10:20,390 کی بریکٹ 3 کے ساتھ اس کو بچانے کے ہیں. 214 00:10:20,390 --> 00:10:25,190 ./hello 3، hello3 بنائیں. 215 00:10:25,190 --> 00:10:26,500 متجسس. 216 00:10:26,500 --> 00:10:30,560 اور اب واقعی bold-- 50 حاصل. 217 00:10:30,560 --> 00:10:34,340 تو ہے کہ گہری واقعی ڈائیونگ ہے اپنے کمپیوٹر کی میموری میں. 218 00:10:34,340 --> 00:10:35,930 50 انڈیکس میں. 219 00:10:35,930 --> 00:10:41,950 تو خوش 3 ./hello 3 بنانے کے. 220 00:10:41,950 --> 00:10:42,680 متجسس. 221 00:10:42,680 --> 00:10:44,660 ٹھیک ہے، اب میں صرف ہوں لاپرواہ حاصل کرنے کے لئے جا رہا ہے. 222 00:10:44,660 --> 00:10:47,331 کی 5،000 جانے دو. 223 00:10:47,331 --> 00:10:47,830 ٹھیک ہے. 224 00:10:47,830 --> 00:10:49,520 تو مجھے تو recompile دو. 225 00:10:49,520 --> 00:10:51,460 ./hello 3، hello3 بنائیں. 226 00:10:51,460 --> 00:10:55,780 227 00:10:55,780 --> 00:10:56,460 ٹھیک ہے. 228 00:10:56,460 --> 00:10:59,250 آپ میں سے کچھ اب، وہاں ہو سکتا ہے جا ایک روشنی بلب ہو. 229 00:10:59,250 --> 00:11:01,900 کس طرح بہت سے آپ کر کے سے پہلے اس پیغام کو دیکھا ہے؟ 230 00:11:01,900 --> 00:11:03,440 ٹھیک ہے. 231 00:11:03,440 --> 00:11:04,420 تو، کیوں؟ 232 00:11:04,420 --> 00:11:07,250 >> مشکلات are-- اور مختلف ہے اس کا سبب بن سکتا ہے کہ چیزوں کو، 233 00:11:07,250 --> 00:11:09,730 اور واضح طور پر آپ کو اچھی ہو company-- ہم واضح طور پر ہے 234 00:11:09,730 --> 00:11:11,900 کہا جاتا ہے کی وجہ سے ایک انقطاع غلطی. 235 00:11:11,900 --> 00:11:15,890 اور آج کے لئے لمبی کہانی مختصر ہے، میں میموری کا ایک طبقہ کو چھو لیا ہے 236 00:11:15,890 --> 00:11:17,060 میں نہیں ہونا چاہئے کہ. 237 00:11:17,060 --> 00:11:19,970 جہاں ایک طبقہ صرف ایک حصہ کا مطلب میموری کے میں نہیں ہونا چاہئے کہ. 238 00:11:19,970 --> 00:11:25,530 اب کمپیوٹر ضمانت دیتا ہے کہ اگر میں میں argv کے چھو کر سکتے ہیں کہ ./helloZamyla چلانے کے 239 00:11:25,530 --> 00:11:27,760 0 بریکٹ اور argv بریکٹ 1. 240 00:11:27,760 --> 00:11:32,730 لیکن جہاں argc قیمت 2، کہ میں ہوں کا مطلب ہے صرف یہ اعزاز کی طرح ہے allowed-- 241 00:11:32,730 --> 00:11:35,180 چھو کرنے کے لئے سسٹم 0 بریکٹ اور بریکٹ 1. 242 00:11:35,180 --> 00:11:37,990 میں کسی بھی دور جاتے ہیں، نہیں ہے وہاں بالکل میموری جا رہا. 243 00:11:37,990 --> 00:11:40,660 میری RAM جسمانی طور پر موجود ہے کمپیوٹر میں. 244 00:11:40,660 --> 00:11:42,080 لیکن وہاں کیا ہے؟ 245 00:11:42,080 --> 00:11:44,450 بے شک، میں ایک سے زیادہ رہا ہوں ایک وقت میں پروگراموں. 246 00:11:44,450 --> 00:11:46,910 میں نہیں تھے تو میں seen-- ہو سکتا ہے Appliant پر یہ کر 247 00:11:46,910 --> 00:11:49,937 لیکن میرے میک یا PC-- پر کر سکتا ہے ایک ای میل کی فہرست میں دیکھا. 248 00:11:49,937 --> 00:11:52,270 میں نے فوری طور پر دیکھا ہے ہو سکتا پیغام میں نے حال ہی بھیجا ہے. 249 00:11:52,270 --> 00:11:55,390 ہو سکتا ہے کہ کچھ میموری میں کے ارد گرد طویل 250 00:11:55,390 --> 00:11:59,180 کی راہ کی طرف سے حاصل کیا جا سکتا تھا اس صوابدیدی مربع بریکٹ سنکیتن. 251 00:11:59,180 --> 00:12:02,850 یا، بدتر ابھی تک، آپ ہو سکتا ہے میرے پاس ورڈ کی ایک مل گیا 252 00:12:02,850 --> 00:12:05,859 میں نے حال ہی میں ٹائپ ایک ہے کہ تھا کہ پروگرام میموری میں محفوظ تھا تو 253 00:12:05,859 --> 00:12:07,900 مجھے تصدیق، اور پھر صرف کی قسم یہ چھوڑ دیا 254 00:12:07,900 --> 00:12:09,910 RAM میں میں نے اس پروگرام چھوڑ تک. 255 00:12:09,910 --> 00:12:12,860 >> اور یقینا، اس میں سے ایک ہے خطرہ اور ایک کے اختیارات 256 00:12:12,860 --> 00:12:15,980 سی طرح ایک زبان کا استعمال کرتے ہوئے آپ کو نرنکش رسائی حاصل ہے 257 00:12:15,980 --> 00:12:18,860 مکمل مواد کے لئے پروگرام کی میموری کی، 258 00:12:18,860 --> 00:12:21,340 اور جو برے لوگ کر سکتے ہیں یہاں تک کہ ان cases-- میں کیا 259 00:12:21,340 --> 00:12:23,807 خاص طور پر جب ہم ویب پروگرامنگ حاصل کرنے کے لئے 260 00:12:23,807 --> 00:12:26,890 سمسٹر کے اختتام کی طرف، ہم کریں گے ارد گرد ڑکیلنا اس topic-- نظرثانی، 261 00:12:26,890 --> 00:12:31,660 ممکنہ طور پر، کسی کے کمپیوٹر کی ہے میموری اور اس طرح کے عجیب چیزیں تلاش 262 00:12:31,660 --> 00:12:32,570 ہم وہاں دیکھا. 263 00:12:32,570 --> 00:12:36,900 یا اس سے بھی بدتر ابھی تک، پاس ورڈ ہے کہ وہ یا وہ بری چیزیں کرنے کے لئے استعمال کر سکتے ہیں. 264 00:12:36,900 --> 00:12:40,240 >> تو واضح طور پر میں، اس نے کیا کیا نہیں کرنا چاہئے عجیب چیزیں ہوتی شروع کرنے کے لئے کی وجہ سے. 265 00:12:40,240 --> 00:12:42,310 بے شک، یہ ایک پروگرام کے اجلاس ہونے کے تناظر ہے. 266 00:12:42,310 --> 00:12:44,580 یہ برابر ہو جائے گا ونڈوز میک OS یا میں 267 00:12:44,580 --> 00:12:46,770 پروگرام ونڈو صرف غائب. 268 00:12:46,770 --> 00:12:48,300 ایک غیر متوقع خرابی واقع ہوئی ہے. 269 00:12:48,300 --> 00:12:50,840 کمانڈ لائن کے ماحول میں ہم کچھ اس طرح دیکھیں. 270 00:12:50,840 --> 00:12:54,480 لیکن یہی وجہ ہے کہ، میں صرف ہوں چھونے ہے مجھ سے متعلق نہیں ہے کہ میموری. 271 00:12:54,480 --> 00:12:57,090 >> تو یہ ایک کے خلاف دفاع کرتے ہیں ایک مختلف طریقے سے تھوڑا سا 272 00:12:57,090 --> 00:12:59,010 اس پروگرام کو دیکھ کر. 273 00:12:59,010 --> 00:13:01,000 تو، ایک بار پھر، کنکال ہم پہلے دیکھا ہے 274 00:13:01,000 --> 00:13:02,480 اور میں اس وقت INT پر روشنی ڈالی ہے. 275 00:13:02,480 --> 00:13:05,900 اور یہ سب اس وقت اہم ہے واقعی ایک قیمت واپس. 276 00:13:05,900 --> 00:13:09,120 اگرچہ ہمارے لیکچر کے سب سے زیادہ میں ہم ایک بار کبھی استعمال نہیں کیا کرتے 277 00:13:09,120 --> 00:13:10,990 اہم میں کچھ واپس. 278 00:13:10,990 --> 00:13:13,710 ہم صرف printf بند لکھنا گھوبگھرالی منحنی خطوط وحدانی اور یہ بات ہے. 279 00:13:13,710 --> 00:13:16,500 لیکن مفت کے لئے، کیا سنکلک، آپ کے لئے کیا کر رہی 280 00:13:16,500 --> 00:13:19,510 مؤثر طریقے سے، آپ کے لئے 0 واپس آ رہا ہے. 281 00:13:19,510 --> 00:13:22,950 باہر کر دیتا ہے اور یہ ایک چھوٹا سا ہے 0 اچھا ہے counterintuitive--. 282 00:13:22,950 --> 00:13:24,690 یہ SE فی جھوٹے مطلب یہ نہیں ہے. 283 00:13:24,690 --> 00:13:29,080 0 اچھا ہے، اور کسی بھی غیر 0 قیمت، دنیا کا فیصلہ کیا ہے، 284 00:13:29,080 --> 00:13:30,619 ایک غلطی کی نشاندہی کر سکتے ہیں. 285 00:13:30,619 --> 00:13:32,910 کیا تم نے کبھی گڑبڑ ہے تو آپ کے کمپیوٹر پر کچھ، 286 00:13:32,910 --> 00:13:36,600 یا ایک پروگرام صرف آپ پر مر گیا ہے اور آپ کو کچھ غلط ونڈو ہو گیا ہے 287 00:13:36,600 --> 00:13:40,360 آپ کی سکرین پر، کہہ غلطی 49 یا غلطی منفی 23-- 288 00:13:40,360 --> 00:13:44,170 ہے کہ کچھ بظاہر صوابدیدی قدر ایک پروگرامر مشکل کوڈت ہے کیونکہ 289 00:13:44,170 --> 00:13:49,370 49 منفی یا مثبت طرح ایک قدر 23 کسی بھی تعداد کی نمائندگی کرنے، کہنے کی جرات، 290 00:13:49,370 --> 00:13:53,340 4 ارب ممکن چیزیں کے ایک پروگرام ہے کہ میں غلط ہو سکتا ہے. 291 00:13:53,340 --> 00:13:55,700 >> تو میں کس طرح لے سکتا ہے اس کا فائدہ خود؟ 292 00:13:55,700 --> 00:13:58,970 ویسے، مجھے ایک پروگرام کو کھولنے میں نے پہلے ہی لکھا ہے کہ، 293 00:13:58,970 --> 00:14:01,450 اور آن لائن خوش 4 بلایا ارد گرد ڑکیلنا. 294 00:14:01,450 --> 00:14:05,650 اور یہ سوائے اس کے کہ، تقریبا ایک جیسی ہے اس غلطی کی جانچ پڑتال کا ایک تھوڑا سا ہے. 295 00:14:05,650 --> 00:14:09,660 اس صورت میں، میں نے ایک بار پھر اعلان کیا ہے دو دلائل لے کے طور پر اہم، 296 00:14:09,660 --> 00:14:13,180 لیکن اس وقت، 17 لائن پر، نوٹس میں وویک چیک کے تھوڑا سا کر رہا ہوں. 297 00:14:13,180 --> 00:14:17,100 میں اس بات کو یقینی بنا رہا ہوں جہاں argc برابر 2 برابر. 298 00:14:17,100 --> 00:14:18,960 یہ ہے کیونکہ اگر، کہ میں محفوظ طریقے سے کر سکتے ہیں کا مطلب ہے کہ 299 00:14:18,960 --> 00:14:21,420 نہ صرف بریکٹ 0، لیکن بریکٹ 1 چھو. 300 00:14:21,420 --> 00:14:24,330 اور میں آگے جانے کے لئے اور پرنٹ، اس صورت میں، کیا Zamyla یا روب 301 00:14:24,330 --> 00:14:26,020 یا میں نے ٹائپ ہے جو لفظ میں. 302 00:14:26,020 --> 00:14:28,020 اور اب صرف حاصل کرنے کے لئے ، زیادہ مناسب ایک چھوٹا سا 303 00:14:28,020 --> 00:14:31,910 میں واضح طور پر واپس جا رہا ہوں 0 سب کچھ ٹھیک ہے نشاندہی کرنے کے لئے. 304 00:14:31,910 --> 00:14:33,300 کچھ برا نہیں ہوا. 305 00:14:33,300 --> 00:14:38,590 >> لیکن کنونشن کی طرف سے، میں جا رہا ہوں 1 واپس، یا واضح طور پر کسی بھی غیر 0 قیمت، 306 00:14:38,590 --> 00:14:40,160 کچھ غلط ہو گیا تو. 307 00:14:40,160 --> 00:14:43,270 اب صارف نہیں جا رہا ہے واقعی چل رہا ہے محسوس کیا. 308 00:14:43,270 --> 00:14:50,410 بے شک میں اس ڈائریکٹری میں جانا ہے تو، ہم، میں زوم اور خوش 4 کروں 309 00:14:50,410 --> 00:14:54,210 میں توقع کے طور پر ./hello 4 کیا Zamyla برتاؤ کرتی ہے. 310 00:14:54,210 --> 00:14:58,570 لیکن میں قسم کی بجائے نہیں ہے تو کچھ، کچھ نہیں لگتا ہے، 311 00:14:58,570 --> 00:14:59,680 لیکن یہ کریش نہیں ہوتا. 312 00:14:59,680 --> 00:15:04,660 اور میں اس کے بجائے کچھ کرنا ہے تو روب کی طرح ایک پراکٹر ہے 313 00:15:04,660 --> 00:15:07,550 Thayer-- اشتراک میں صوابدیدی معلومات. 314 00:15:07,550 --> 00:15:13,680 لیکن نوٹس، argv کے 1، 2، 3، 4، اور 5 اب یاد میں موجود ہونا چاہئے. 315 00:15:13,680 --> 00:15:16,540 کہ، بھی، کیا نہیں ہے میرے پروگرام، توقع رکھتا ہے 316 00:15:16,540 --> 00:15:20,300 میں چاہے جانچ پڑتال کی ہے کیونکہ جہاں argc برابر 2 یا نہیں کے برابر ہے. 317 00:15:20,300 --> 00:15:22,140 تو اب میں اس کے خلاف کا دفاع کر رہا ہوں. 318 00:15:22,140 --> 00:15:25,290 >> اب، کے طور پر ایک طرف، ہم programmer-- یا بلکہ ہم users-- 319 00:15:25,290 --> 00:15:29,670 0 یا 1 ہے لیکن ایک کا استعمال کرتے ہوئے کبھی نہیں دیکھ آلے، ٹھیک کرنے والا کھولتا، یا دوسرے اوزار کہا جاتا 320 00:15:29,670 --> 00:15:32,250 ہم سے پہلے دیکھیں گے کے طور پر طویل، آپ پروگرامر 321 00:15:32,250 --> 00:15:36,590 اصل میں ہو سکتا ہے کو دیکھنے کے کر سکتے ہیں آپ کے پروگرام کے اندر غلط ہو رہا. 322 00:15:36,590 --> 00:15:39,170 >> تو، جہاں argc پر کوئی سوال؟ 323 00:15:39,170 --> 00:15:40,873 جی ہاں. 324 00:15:40,873 --> 00:15:45,292 >> سامعین: میں نے دیکھا ہے جہاں وہ کردار نہیں ہے، [اشراوی] 325 00:15:45,292 --> 00:15:49,669 صرف سٹرنگ ستارہ D، انہوں نے کہا کہ کردار ستارے کوما. 326 00:15:49,669 --> 00:15:50,710 وہ یہاں کے برابر ہیں؟ 327 00:15:50,710 --> 00:15:51,626 >> DAVID MALAN: وہ یہ ہیں. 328 00:15:51,626 --> 00:15:55,080 سوال ہے تو، آپ کے پاس کبھی کبھار دیکھا پروگراموں 329 00:15:55,080 --> 00:15:57,270 نہیں ہے کہ اس طرح سٹرنگ argv بریکٹ کا کہنا ہے کہ 330 00:15:57,270 --> 00:16:01,015 لیکن اس کے بجائے کچھ کہنا چار ستارہ argv بریکٹ کی طرح. 331 00:16:01,015 --> 00:16:03,140 اور بھی دوسرے نہیں ہے آپ دیکھ سکتے ہیں کہ مختلف حالتوں. 332 00:16:03,140 --> 00:16:04,264 وہ یقینا برابر ہیں. 333 00:16:04,264 --> 00:16:06,240 ابھی کے لئے، ہم ان ہے تربیت پہیوں کی طرح 334 00:16:06,240 --> 00:16:09,737 CS50 میں سٹرنگ کی شکل میں لائبریری، لیکن صرف ایک ہفتے کے دوران میں 335 00:16:09,737 --> 00:16:12,570 یا تو ہم اس کو دور کرنے کے لئے جا رہے ہیں مکمل طور پر اور اصل رکاوٹ 336 00:16:12,570 --> 00:16:16,820 چار اور ستارہ پر نظر ہیں، اور ان لوگوں کو یاد کرنے کے لئے کس طرح متعلق 337 00:16:16,820 --> 00:16:18,140 نمائندگی زیادہ عام طور پر. 338 00:16:18,140 --> 00:16:19,540 تو ہم واپس آ جائیں گے. 339 00:16:19,540 --> 00:16:21,540 >> ہمارے argv کے یا جہاں argc پر سوال؟ 340 00:16:21,540 --> 00:16:22,397 جی ہاں. 341 00:16:22,397 --> 00:16:24,438 سامعین کیوں اس کو واپس کیا ایک خرابی [اشراوی]؟ 342 00:16:24,438 --> 00:16:27,147 343 00:16:27,147 --> 00:16:29,230 DAVID MALAN: یہ کیا کیوں اوہ only-- ایک غلطی واپس! 344 00:16:29,230 --> 00:16:31,813 پچھلے صورت میں، جب ہم نے میموری کے ساتھ کے ارد گرد futzing گیا، 345 00:16:31,813 --> 00:16:35,110 کیوں یہ صرف ایک غلطی کو واپس کیا میں واقعی میں ایک بڑی تعداد ٹائپ ہے؟ 346 00:16:35,110 --> 00:16:36,620 مختصر جواب ہم صرف خوش ہے، ہے. 347 00:16:36,620 --> 00:16:39,240 عام طور پر، ایک کمپیوٹر مقدار میں میموری مختص، 348 00:16:39,240 --> 00:16:42,900 اور اس نے مجھے ایک بڑا کافی حصہ دیا میں نے محسوس کیا جا رہا ہے بغیر، دور ہے 349 00:16:42,900 --> 00:16:46,280 چھونے بریکٹ 2، بریکٹ 3، بریکٹ 50، لیکن جیسے ہی میں دھکیل دیا کے طور پر 350 00:16:46,280 --> 00:16:49,080 اپنی قسمت، میں باہر چلا گیا میموری کا حصہ کی حدود 351 00:16:49,080 --> 00:16:50,520 آپریٹنگ سسٹم نے مجھے دیا تھا. 352 00:16:50,520 --> 00:16:52,720 اور یہ کہ جب یہ ہے کو نافذ اور نہیں، انہوں نے کہا کہ. 353 00:16:52,720 --> 00:16:54,580 انقطاع غلطی. 354 00:16:54,580 --> 00:16:55,692 جی ہاں. 355 00:16:55,692 --> 00:16:58,890 >> سامعین: کس طرح کرتا ہے کمپیوٹر جہاں argc کی قدر جانتے ہیں؟ 356 00:16:58,890 --> 00:17:02,390 >> DAVID MALAN: کس طرح کرتا ہے کمپیوٹر جہاں argc کی قدر جانتے ہیں؟ 357 00:17:02,390 --> 00:17:07,920 آپ کو ایک پروگرام چلاتے ہیں، اس پروگرام، ٹمٹمانے فوری طور کی نوعیت کی طرف سے، 358 00:17:07,920 --> 00:17:11,359 کی صف حوالے کر دیا ہے ٹائپ کیا گیا ہے کہ الفاظ 359 00:17:11,359 --> 00:17:13,300 فوری طور پر، تھا فوری طور پر ٹائپ. 360 00:17:13,300 --> 00:17:16,569 اور اس طرح یہ آپ کے کام کر رہا ہے نظام بنیادی طور پر کہ 361 00:17:16,569 --> 00:17:20,329 آپ کے لئے اہم دلائل معمور. 362 00:17:20,329 --> 00:17:22,829 تو ہے کہ خدمات میں سے ایک ہے آپ کو حاصل ہے کہ، طرح کی خفیہ 363 00:17:22,829 --> 00:17:24,869 کے ہڈ کے نیچے ایک آپریٹنگ سسٹم. 364 00:17:24,869 --> 00:17:27,118 دیگر سوال؟ 365 00:17:27,118 --> 00:17:27,618 جی ہاں. 366 00:17:27,618 --> 00:17:29,787 >> سامعین: کور ڈمپ کیا مطلب ہے؟ 367 00:17:29,787 --> 00:17:31,370 DAVID MALAN: کور ڈمپ کیا مطلب ہے؟ 368 00:17:31,370 --> 00:17:32,950 تو یہ ایک اچھا سوال ہے. 369 00:17:32,950 --> 00:17:35,312 اور مجھ میں واپس جانے یہاں اس ڈائریکٹری. 370 00:17:35,312 --> 00:17:37,270 اور آپ محسوس کریں گے کہ میں وہاں ایک نئی فائل ہے. 371 00:17:37,270 --> 00:17:41,670 یہ واقعی بنیادی کہا جاتا ہے، اور یہ ہے اصل میں عام طور پر ایک مہذب سائز فائل. 372 00:17:41,670 --> 00:17:45,300 یہ بنیادی طور پر کے ایک سنیپ شاٹ ہے اپنے پروگرام کی میموری کی فہرست 373 00:17:45,300 --> 00:17:46,902 یہ گر کر تباہ ہو جب یا رام. 374 00:17:46,902 --> 00:17:49,110 اور یہ، مفید ہو گا ممکنہ طور پر، diagnostically، 375 00:17:49,110 --> 00:17:52,850 ہم مستقبل کے درس میں بات ایک بار اور ٹھیک کرنا کے بارے میں سیکشن، 376 00:17:52,850 --> 00:17:55,730 آپ اصل میں کر سکتے ہیں کی وجہ سے ایک ڈیجیٹل پوسٹ مارٹم کے برابر 377 00:17:55,730 --> 00:18:00,300 اس فائل پر اعداد و شمار کی مدد کے لئے آپ کو آپ کے پروگرام میں غلط نے کیا کیا. 378 00:18:00,300 --> 00:18:01,220 جی ہاں. 379 00:18:01,220 --> 00:18:04,450 >> سامعین: ایک کمانڈ میں جہاں argc ہے خود، یا آپ کو یہ کچھ نام کر سکتے ہیں؟ 380 00:18:04,450 --> 00:18:05,575 >> DAVID MALAN: اچھا سوال ہے. 381 00:18:05,575 --> 00:18:08,040 ، خود میں ایک کمانڈ جہاں argc ہے یا آپ کو یہ کچھ نام کر سکتے ہیں؟ 382 00:18:08,040 --> 00:18:09,290 یہ یقینی طور پر ایک کمانڈ نہیں ہے. 383 00:18:09,290 --> 00:18:13,500 یہ صرف ایک متغیر کی ہے یا ایک دلیل کے نام نام، 384 00:18:13,500 --> 00:18:15,481 اور تو بالکل ہم اس FOO کہہ سکتے، 385 00:18:15,481 --> 00:18:18,480 ہم کرتے ہیں جس میں اس بار، کہہ سکتے ہیں جانے کے لئے الفاظ کہ ایک کمپیوٹر ہونا 386 00:18:18,480 --> 00:18:19,860 سائنسدان کو جاتا ہے. 387 00:18:19,860 --> 00:18:22,820 لیکن کنونشن کی طرف سے، ہم argc اور argv استعمال. 388 00:18:22,820 --> 00:18:25,360 لیکن یہ صرف ایک انسان کی کنونشن، زیادہ کچھ نہیں. 389 00:18:25,360 --> 00:18:25,860 ٹھیک ہے. 390 00:18:25,860 --> 00:18:28,140 تو پتہ چلتا ہے، میں کیا گیا ہے ایک سفید lie-- کا تھوڑا سا کہہ 391 00:18:28,140 --> 00:18:31,264 اور واضح طور سے، مستقبل میں، آپ دیکھیں گے ہم دوسرے سفید جھوٹ بول رہا ہوں. 392 00:18:31,264 --> 00:18:33,510 لیکن اب کے لئے، ہم جا رہے ہیں ان میں سے ایک واپس چھیل. 393 00:18:33,510 --> 00:18:37,310 پہلے جب میں یہاں اس صورت میں ./hello یا ./hello 3 کی طرح ایک پروگرام بھاگ گیا 394 00:18:37,310 --> 00:18:42,780 کیا Zamyla، ہم کے مندرجات تھا میرا تقریبا کی طرح لگ کے کمپیوٹر کی میموری 395 00:18:42,780 --> 00:18:43,280 اس. 396 00:18:43,280 --> 00:18:45,070 لیکن ایک تار کیا ہے یاد. 397 00:18:45,070 --> 00:18:49,279 ہم ایک ایک ہفتہ پہلے کہا کیا سٹرنگ واقعی ہڈ کے نیچے ہے؟ 398 00:18:49,279 --> 00:18:50,320 سامعین: حروف کی صف. 399 00:18:50,320 --> 00:18:52,111 DAVID MALAN: یہ ایک ہے حروف کی صف ہے، ٹھیک ہے؟ 400 00:18:52,111 --> 00:18:55,760 تو ہم میں سے ایک صف ہو سکتا ہے ڈور، لیکن، کے نتیجے میں، ایک تار 401 00:18:55,760 --> 00:18:57,150 حروف کے ایک صف ہے. 402 00:18:57,150 --> 00:19:00,010 مجھے سچ میں کرنا چاہتے ہیں تو میں نے اس تصویر کو اپنی طرف متوجہ جب مقعد، 403 00:19:00,010 --> 00:19:03,290 میں واقعی میں ڈرائنگ کیا جانا چاہئے یہ تھوڑا سا زیادہ اس طرح، 404 00:19:03,290 --> 00:19:08,000 جس کے تحت ان میں سے ہر ایک میں میری argv صف کے اشاریہ جات، 405 00:19:08,000 --> 00:19:11,432 ایک پوری سٹرنگ خود ہے خود ایک صف میں ہے. 406 00:19:11,432 --> 00:19:13,140 اور اب سفید جھوٹ آج ہم کہہ رہے ہو 407 00:19:13,140 --> 00:19:15,181 تصویر نہیں کرتا ہے بالکل اس طرح نظر آئے. 408 00:19:15,181 --> 00:19:19,110 اصل میں، بہت کم چوکوں ہیں بڑے rectangles میں عام طور پر باہر 409 00:19:19,110 --> 00:19:19,610 وہاں. 410 00:19:19,610 --> 00:19:21,280 لیکن ہم طویل عرصے سے پہلے واپس آ جائیں گے. 411 00:19:21,280 --> 00:19:25,440 لیکن یہ، ./hello الٹا سلیش 0 ہے خصوصی کردار ہے کہ کیا جا رہا ہے 412 00:19:25,440 --> 00:19:28,310 ایک تار کے آخر demarcates، اور ہم ایک کے بعد ہے 413 00:19:28,310 --> 00:19:29,360 کیا Zamyla کا نام. 414 00:19:29,360 --> 00:19:30,900 تو اس کا کیا مطلب ہے؟ 415 00:19:30,900 --> 00:19:33,410 >> ٹھیک ہے، مجھے آگے بڑھو اور دو دیگر مثالوں کو کھولنے 416 00:19:33,410 --> 00:19:35,220 آن لائن دستیاب ہیں. 417 00:19:35,220 --> 00:19:40,590 ایک argv1.c کہا جاتا ہے اور دیگر argv2 ہے. 418 00:19:40,590 --> 00:19:44,260 یہ ایک سپر آسان پروگرام ہے ماضی کے پروگراموں سے مختلف ہے 419 00:19:44,260 --> 00:19:47,260 کہ اب میں استعمال کر رہا ہوں argc اور یہاں میں argv. 420 00:19:47,260 --> 00:19:54,300 اور اب میں لوپ کے لئے ایک کے ساتھ مربوط ہوں جہاں argc تک پر میں سے 18 لائن، = 0. 421 00:19:54,300 --> 00:19:56,850 اور میں کیا کرنے جا رہا ہوں یہاں کوڈ کے اس لائن کے ساتھ؟ 422 00:19:56,850 --> 00:19:58,270 انگریزی میں. 423 00:19:58,270 --> 00:20:00,510 ظاہر ہے، یہ جہاں argc کے استعمال کا ثبوت ہے. 424 00:20:00,510 --> 00:20:03,670 لیکن انگریزی میں، کیا کرتا ہے میں اس پروگرام چلاتے ہیں تو یہ کیا ہے؟ 425 00:20:03,670 --> 00:20:04,366 جی ہاں؟ 426 00:20:04,366 --> 00:20:07,386 >> سامعین: یہ پرنٹ کرنے کے لئے جا رہا ہے آپ کی آپ چاہتے ہیں کے طور پر کئی بار کی سکرین. 427 00:20:07,386 --> 00:20:08,260 DAVID MALAN: بالکل. 428 00:20:08,260 --> 00:20:10,480 تو جو کچھ بھی الفاظ میں یہ ہے، فوری طور پر ٹائپ 429 00:20:10,480 --> 00:20:13,120 قے کرنے کے لئے جا فی سطر مجھ پر ان میں سے ایک. 430 00:20:13,120 --> 00:20:14,370 تو آگے بڑھو اور اس کے کیا. 431 00:20:14,370 --> 00:20:17,862 میرے ڈائریکٹری میں جانے دو اور argv1 ./argv1 کروں. 432 00:20:17,862 --> 00:20:20,521 433 00:20:20,521 --> 00:20:21,770 اور اب، یہ آسان رکھنے کے ہیں. 434 00:20:21,770 --> 00:20:23,834 کے سب سے پہلے میں کچھ بھی نہیں کرتے ہیں. 435 00:20:23,834 --> 00:20:26,750 یہ ایک بات کو پرنٹ کیا اور کہ بے شک پروگرام کا نام ہے، 436 00:20:26,750 --> 00:20:28,240 کہ بریکٹ 0 میں ہے کیونکہ. 437 00:20:28,240 --> 00:20:33,290 میں اب FOO کو کہتے ہیں، یہ کیا جا رہا ہے ان دو، اور میں FOO بار کا کہنا ہے کہ، 438 00:20:33,290 --> 00:20:35,580 یہ ان تین چیزوں کا کہنا ہے کہ جا رہا ہے. 439 00:20:35,580 --> 00:20:37,740 اب شاید، کسی حد تک دلچسپ ہے. 440 00:20:37,740 --> 00:20:41,450 لیکن یہ ہے argv یاد ڈور کی ایک صف ہے، 441 00:20:41,450 --> 00:20:45,960 لیکن ایک تار حروف کے ایک صف ہے، تو ہم نے ایک نشان تک چیزوں کو لے جا سکتے ہیں 442 00:20:45,960 --> 00:20:48,560 اور اس کے بنیادی لاگو منطق اور کوڈ ہے کہ 443 00:20:48,560 --> 00:20:51,160 اقرار، تھوڑا زیادہ خفیہ لگ رہا ہے. 444 00:20:51,160 --> 00:20:53,540 لیکن کی طرف سے ایک اندر در اندر ہونے لوپ، ماخوذ کچھ 445 00:20:53,540 --> 00:20:57,030 آپ ماریو سے یاد کر سکتے ہیں کرنے کے لئے، مثال کے طور پر، تو آپ اسے اس طرح کیا. 446 00:20:57,030 --> 00:21:00,380 >> تو اب میں ہوں، 19 لائن پر نوٹس پھر میرے دلائل پر iterating، 447 00:21:00,380 --> 00:21:02,410 0 سے پر جہاں argc کے لئے. 448 00:21:02,410 --> 00:21:05,510 اور اب لائن میں 21-- ہوں گزشتہ ہفتے سے ایک چال قرضے 449 00:21:05,510 --> 00:21:11,090 میں نے کیا ہے کی جانچ پڑتال کر رہا ہوں argv بریکٹ میں کی لمبائی. 450 00:21:11,090 --> 00:21:12,920 میں (ن) میں اس کا جواب ذخیرہ کرنے رہا ہوں. 451 00:21:12,920 --> 00:21:18,230 اور پھر میں نے جموں سے مجموعی ہوں J 0 initialized ہے جہاں (ن)، کرنے کے لئے. 452 00:21:18,230 --> 00:21:19,460 تو، گنتی کے لئے کنونشن. 453 00:21:19,460 --> 00:21:22,335 آپ کو ایک ہے تو آپ، میں استعمال کیا جاتا ہے ایک بار اندر در اندر لوپ، آپ، پھر میں استعمال نہیں کر سکتے 454 00:21:22,335 --> 00:21:25,770 دوسری صورت میں آپ کو ممکنہ طور پر، clobber گے، اندرونی لوپ سے باہر کی قیمت. 455 00:21:25,770 --> 00:21:27,200 تو میں کنونشن کی طرف سے J استعمال کر رہا ہوں. 456 00:21:27,200 --> 00:21:28,020 ہم K استعمال کر سکتے ہیں. 457 00:21:28,020 --> 00:21:31,080 آپ کشمیر کے مقابلے میں زیادہ ہے تو، آپ کو شاید عام طور پر، بہت زیادہ nesting کے ہے. 458 00:21:31,080 --> 00:21:33,800 لیکن اب، میرے printf کا نوٹس لائن تھوڑا سا مختلف ہے. 459 00:21:33,800 --> 00:21:37,520 میں نے٪ s کو پرنٹ نہیں کر رہا ہوں، میں ہوں ،٪ C پرنٹنگ جس، کورس کے، 460 00:21:37,520 --> 00:21:39,460 ایک چار کے لئے ایک پلیس ہولڈر ہے. 461 00:21:39,460 --> 00:21:40,770 >> اور اب اس نحو کو نوٹس. 462 00:21:40,770 --> 00:21:41,270 نیا. 463 00:21:41,270 --> 00:21:42,630 ہم نے اس سے پہلے نہیں دیکھا ہے. 464 00:21:42,630 --> 00:21:47,290 لیکن منطقی طور پر، یہ صرف کا مطلب ہے کہ ہے argv میں ith تار حاصل 465 00:21:47,290 --> 00:21:50,067 اور کیا JTH حاصل؟ 466 00:21:50,067 --> 00:21:50,900 سامعین: کریکٹر. 467 00:21:50,900 --> 00:21:52,800 DAVID MALAN: اس سٹرنگ میں کردار. 468 00:21:52,800 --> 00:21:57,100 تو مربع بریکٹ کا استعمال کرتے ہوئے کی طرف سے مربع بریکٹ کے بعد، 469 00:21:57,100 --> 00:22:00,390 یہ پہلی ڈائیونگ ہے ہے argv کی ڈور میں، 470 00:22:00,390 --> 00:22:02,225 اور پھر دوسری J ساتھ مربع بریکٹ 471 00:22:02,225 --> 00:22:06,580 کے حروف میں ڈائیونگ ہے argv میں اس مخصوص سٹرنگ. 472 00:22:06,580 --> 00:22:09,562 اور پھر، صرف اچھے کی پیمائش کے لئے، میں یہاں ایک نئی سطر چھپائی رہا ہوں. 473 00:22:09,562 --> 00:22:12,020 تو اب مجھے آگے بڑھیں اور کھول دو ایک قدرے بڑا ونڈو 474 00:22:12,020 --> 00:22:13,600 تو ہم کارروائی میں یہ دیکھ سکتے ہیں. 475 00:22:13,600 --> 00:22:15,700 مجھے اس فولڈر میں جانے دو. 476 00:22:15,700 --> 00:22:22,550 اور اب کروں ہے argv-2-- argv کے 2 بنانے whoops--، ./argv 2. 477 00:22:22,550 --> 00:22:23,110 درج کریں. 478 00:22:23,110 --> 00:22:24,860 اور یہ تھوڑا مشکل ہے عمودی طور پر پڑھنے کے لئے، 479 00:22:24,860 --> 00:22:27,920 لیکن اس سے واقعی کا نام ہے ایک خالی لائن کی طرف سے کے بعد پروگرام،. 480 00:22:27,920 --> 00:22:30,210 اب مجھے آگے بڑھو اور FOO کرتے ہیں. 481 00:22:30,210 --> 00:22:33,210 اسی مشکل کو پڑھنے کے، لیکن یہ کرنے کے لئے یقینا فی لائن ایک کردار چھپائی. 482 00:22:33,210 --> 00:22:36,780 میں بار کرتے ہیں، اب یہ ہے لائن کی طرف سے ان لوگوں کو لائن پرنٹنگ. 483 00:22:36,780 --> 00:22:40,140 تو یہاں takeaway اتنا نہیں ہے واہ، یہ صاف نئی چال پر نظر، کہ 484 00:22:40,140 --> 00:22:44,750 جہاں آپ کو فہرست میں حاصل کر سکتے ہیں ایک صف کی مخصوص حروف کی، 485 00:22:44,750 --> 00:22:48,380 بلکہ ہم ان بنیادی لے جا رہے ہیں کس طرح ایک صف میں تخکرمن طرح کے خیالات، 486 00:22:48,380 --> 00:22:51,620 اور پھر ایک میں تخکرمن اس صف میں تھا کہ صف، 487 00:22:51,620 --> 00:22:56,180 اور صرف ایک ہی خیالات کا اطلاق تھوڑا سا زیادہ پیچیدہ مثالیں. 488 00:22:56,180 --> 00:22:59,560 لیکن بنیادی باتیں واقعی نہیں ہے یہاں تک کہ گزشتہ ہفتے کے بعد، تبدیل کر دیا گیا. 489 00:22:59,560 --> 00:23:02,350 >> اب یہ، کی بروقت طرح ہے کہ، ہفتے صفر میں، یاد 490 00:23:02,350 --> 00:23:04,110 ہم اس طرح ایک فون کی کتاب کے ساتھ کھیلا. 491 00:23:04,110 --> 00:23:06,670 اور یہ ظاہر ہے اگرچہ کاغذ کے جسمانی ٹکڑے ٹکڑے، 492 00:23:06,670 --> 00:23:09,150 آپ کی قسم کے بارے میں سوچ کر سکتے ہیں ایک صف کے طور پر ایک فون کی کتاب. 493 00:23:09,150 --> 00:23:12,770 آپ تھے تو یقینا، reimplement کرنے اس کے ٹکڑے ٹکڑے کر کے کاغذ کے ان ٹکڑوں 494 00:23:12,770 --> 00:23:15,260 ایک کمپیوٹر میں، شاید تم سے کچھ استعمال کریں گے 495 00:23:15,260 --> 00:23:20,270 ایک صف کے ان کے تمام ذخیرہ کرنے کے لئے کی طرح ایک طرح سے ناموں اور نمبروں 496 00:23:20,270 --> 00:23:23,800 Z. ذریعے تو اس کی وجہ سے، اچھا ہے یہ ہمیں ایک موقع کی اجازت دیتا ہے، 497 00:23:23,800 --> 00:23:28,310 تم کس طرح ہو سکتا ہے شاید، پر غور کرنے کے اصل میں اس طرح کچھ پر عمل درآمد. 498 00:23:28,310 --> 00:23:31,250 یہاں دروازے کی ایک سیریز کے ساتھ کے طور پر. 499 00:23:31,250 --> 00:23:36,380 میں could-- تو ہم ایک کی ضرورت ہے اوپر آنے کے لئے رضاکارانہ طور پر. 500 00:23:36,380 --> 00:23:36,980 چلو دیکھتے ہیں. 501 00:23:36,980 --> 00:23:40,650 ایک مجریچت چہرہ شاید، شاید مجریچت چہرہ. 502 00:23:40,650 --> 00:23:42,090 کس طرح اورینج میں کے بارے میں؟ 503 00:23:42,090 --> 00:23:42,680 یہاں. 504 00:23:42,680 --> 00:23:45,870 اورنج شرٹ، پر آئے. 505 00:23:45,870 --> 00:23:52,230 >> اب اور اس اقدام آگے بڑھو کی طرف سے میں ان کے دروازے، 506 00:23:52,230 --> 00:23:54,020 ایک لمحے کے لئے راستے سے باہر ان میں منتقل. 507 00:23:54,020 --> 00:23:56,600 508 00:23:56,600 --> 00:23:57,760 آپ کا نام کیا ہے؟ 509 00:23:57,760 --> 00:23:58,580 >> اجی: 510 00:23:58,580 --> 00:23:58,655 >> DAVID MALAN: اجے. 511 00:23:58,655 --> 00:23:58,680 ڈیوڈ. 512 00:23:58,680 --> 00:23:59,451 آپ سے مل کر اچھا لگا. 513 00:23:59,451 --> 00:23:59,950 ٹھیک ہے. 514 00:23:59,950 --> 00:24:04,500 تو ہم نے ان چھ کے پیچھے ہے سکرین پر ڈیجیٹل دروازے 515 00:24:04,500 --> 00:24:07,810 یا، بلکہ، سات دروازے تعداد کی ایک پوری چڑھانے سکرین. 516 00:24:07,810 --> 00:24:10,099 اور میں تم سے کچھ بھی نہیں کہا ہے میں advance-- اتفاق کیا؟ 517 00:24:10,099 --> 00:24:11,140 اجی: پیشگی میں کچھ بھی نہیں. 518 00:24:11,140 --> 00:24:14,730 DAVID MALAN: تمام میں آپ کیا کرنا چاہتے ہیں اب میرے لئے تلاش کرنے کے لئے ہے، اور ہمارے لئے، 519 00:24:14,730 --> 00:24:20,920 واقعی، تعداد 50، ایک وقت میں ایک قدم. 520 00:24:20,920 --> 00:24:21,830 >> اجی: نمبر 50؟ 521 00:24:21,830 --> 00:24:22,580 >> DAVID MALAN: 50 نمبر. 522 00:24:22,580 --> 00:24:24,746 اور تم کیا ظاہر کر سکتے ہیں ان کے دروازے میں سے ہر ایک کے پیچھے 523 00:24:24,746 --> 00:24:27,930 صرف ایک انگلی سے چھونے سے. 524 00:24:27,930 --> 00:24:31,364 ارے. [ہنسی] 525 00:24:31,364 --> 00:24:34,560 >> [تالیاں] 526 00:24:34,560 --> 00:24:39,540 >> بہت اچھا کام کیا. 527 00:24:39,540 --> 00:24:40,400 ٹھیک ہے. 528 00:24:40,400 --> 00:24:44,090 ہم نے ایک خوبصورت تحفہ ہے یہاں آپ کے لئے انعام. 529 00:24:44,090 --> 00:24:46,520 فلموں میں اپنا انتخاب ہم گزشتہ ہفتے بات چیت کی. 530 00:24:46,520 --> 00:24:47,362 >> اجی: اوہ، آدمی. 531 00:24:47,362 --> 00:24:49,050 اوہ، میں Spaceballs دیکھا کبھی نہیں کیا ہے. 532 00:24:49,050 --> 00:24:49,520 >> DAVID MALAN: Spaceballs. 533 00:24:49,520 --> 00:24:50,140 ٹھیک ہے. 534 00:24:50,140 --> 00:24:53,790 تو صرف ایک لمحے پر منعقد. 535 00:24:53,790 --> 00:24:57,430 اس بنا How-- ایک سکھایا لمحے 536 00:24:57,430 --> 00:25:00,412 آپ کس طرح کے بارے میں جانا تھا 50 نمبر کو تلاش کرنے کے؟ 537 00:25:00,412 --> 00:25:01,370 اجی: میں تصادفی کا انتخاب کیا ہے. 538 00:25:01,370 --> 00:25:03,420 DAVID MALAN: تو آپ کا انتخاب تصادفی اور خوش ہے. 539 00:25:03,420 --> 00:25:03,790 اجی: جی ہاں. 540 00:25:03,790 --> 00:25:04,456 DAVID MALAN: ٹھیک ہے. 541 00:25:04,456 --> 00:25:05,050 بہترین. 542 00:25:05,050 --> 00:25:08,470 تو اب، اگر آپ کو نہیں تھا خوش، اور کیا ہو گیا 543 00:25:08,470 --> 00:25:10,210 ان دروازوں کے پیچھے ہو سکتا ہے؟ 544 00:25:10,210 --> 00:25:12,930 مجھے آگے جانا ہے تو اور یہاں ان کی تعداد کو ظاہر، 545 00:25:12,930 --> 00:25:15,180 وہ اصل میں بے ترتیب ترتیب میں ہیں. 546 00:25:15,180 --> 00:25:17,750 اور سب سے بہتر آپ کر سکتے ہیں کیا، واضح طور سے،، آخر میں، کی طرف سے ہے 547 00:25:17,750 --> 00:25:19,410 بدترین صورت میں، ان سب کی جانچ پڑتال. 548 00:25:19,410 --> 00:25:23,000 تو آپ کو، سپر خوش قسمت ہے جس ہم ایک الگورتھم فون کروں گا کیا نہیں ہے. 549 00:25:23,000 --> 00:25:24,730 جی ہاں، مبارک ہو. 550 00:25:24,730 --> 00:25:27,010 اگر آپ کر سکتے لیکن اب، مزاحیہ مجھے let's--. 551 00:25:27,010 --> 00:25:28,310 یہاں اس ٹیب میں جانے دو. 552 00:25:28,310 --> 00:25:31,460 اور یہاں واضح طور پر میں تعداد ایک بے ترتیب ترتیب لگتا ہے کیا، 553 00:25:31,460 --> 00:25:32,280 اور وہ تھے. 554 00:25:32,280 --> 00:25:35,160 لیکن اب میں اس کی بجائے دعوی کرتے ہیں کہ ان دروازوں کے پیچھے 555 00:25:35,160 --> 00:25:39,070 مطابق کر رہے ہیں کہ اعداد و شمار ہیں. 556 00:25:39,070 --> 00:25:41,780 مقصد اب بھی ہے ہم تعداد 50 مل. 557 00:25:41,780 --> 00:25:45,910 لیکن algorithmically ہے ایسا، اور آپ اس کے بارے میں جا رہے ہیں کہ کس طرح ہمیں بتاو. 558 00:25:45,910 --> 00:25:48,020 آپ اسے تلاش اور اگر، آپ کو فلم رکھنے. 559 00:25:48,020 --> 00:25:49,520 تم اس کے، آپ اسے واپس دینے کو تلاش نہیں کرتے. 560 00:25:49,520 --> 00:25:52,720 561 00:25:52,720 --> 00:25:58,112 اجی: تو میں ختم ہو جاتا ہے چیک کرنے کے لئے جا رہا ہوں سب سے پہلے، there's-- تو تعین کرنے کے لئے 562 00:25:58,112 --> 00:26:02,048 [ہنسی اور تعریف] 563 00:26:02,048 --> 00:26:04,451 564 00:26:04,451 --> 00:26:05,492 DAVID MALAN: یہاں تم جاؤ. 565 00:26:05,492 --> 00:26:17,080 566 00:26:17,080 --> 00:26:21,700 کی ایک پر ایک نظر ڈالیں اجے کے پوروورتیوں کے، 567 00:26:21,700 --> 00:26:25,450 بہت خوش قسمت نہیں تھا جو شان،. 568 00:26:25,450 --> 00:26:28,670 ٹھیک ہے، یہاں آپ کا کام تو، شان، مندرجہ ذیل ہے. 569 00:26:28,670 --> 00:26:32,970 میں نے ان کے پیچھے چھپی ہوئی ہے دروازے نمبر سات، 570 00:26:32,970 --> 00:26:37,200 لیکن ان کے دروازے میں سے کچھ میں دور tucked کے ساتھ ساتھ دیگر غیر منفی تعداد ہیں. 571 00:26:37,200 --> 00:26:40,730 اور آپ کا مقصد اس کے بارے میں سوچنا ہے صرف ایک صف کے طور پر تعداد کے سب سے اوپر قطار. 572 00:26:40,730 --> 00:26:43,590 ہم ٹکڑے ٹکڑے کر کے ایک ہی تسلسل ہیں ان کے پیچھے تعداد کے ساتھ کاغذ کے. 573 00:26:43,590 --> 00:26:47,640 اور آپ کا مقصد صرف سب سے اوپر کا استعمال کرتے ہوئے، ہے صف یہاں، مجھے سات نمبر مل جائے. 574 00:26:47,640 --> 00:26:51,200 اور اس کے بعد ہم تنقید کے لئے جا رہے ہیں آپ یہ کام کر رہے کے بارے میں جانے کے لئے کس طرح. 575 00:26:51,200 --> 00:26:52,920 ، ہم نمبر سات براہ مہربانی تلاش کریں. 576 00:26:52,920 --> 00:27:02,570 577 00:27:02,570 --> 00:27:03,070 نمبر 578 00:27:03,070 --> 00:27:06,760 579 00:27:06,760 --> 00:27:08,179 5، 19، 13. 580 00:27:08,179 --> 00:27:16,752 581 00:27:16,752 --> 00:27:17,835 یہ ایک چال کا سوال نہیں ہے. 582 00:27:17,835 --> 00:27:21,420 583 00:27:21,420 --> 00:27:21,920 1. 584 00:27:21,920 --> 00:27:26,715 585 00:27:26,715 --> 00:27:29,840 اس وقت آپ کا سکور بہت نہیں ہے اچھا، تو آپ کے ساتھ ساتھ جا رکھنے کے کر سکتے ہیں. 586 00:27:29,840 --> 00:27:32,870 587 00:27:32,870 --> 00:27:33,370 3. 588 00:27:33,370 --> 00:27:38,570 589 00:27:38,570 --> 00:27:39,802 پر جاؤ. 590 00:27:39,802 --> 00:27:42,510 سچ کہوں تو، مجھے مدد کی لیکن حیرت نہیں کر سکتے ہیں کیا آپ کو بھی کے بارے میں سوچ رہے ہیں. 591 00:27:42,510 --> 00:27:44,990 >> SEAN: میں صرف سب سے اوپر صف سے لے سکتے ہیں. 592 00:27:44,990 --> 00:27:46,240 DAVID MALAN: صرف سب سے اوپر قطار. 593 00:27:46,240 --> 00:27:47,281 تو آپ بائیں بازو کی تین ہے. 594 00:27:47,281 --> 00:27:48,310 تو مجھے 7 مل. 595 00:27:48,310 --> 00:27:54,758 596 00:27:54,758 --> 00:27:59,141 >> [سامعین تجاویز کے لیے] 597 00:27:59,141 --> 00:28:22,210 598 00:28:22,210 --> 00:28:26,130 لہذا ان دونوں حیرت انگیز تھے بہت مختلف وجوہات کے لئے. 599 00:28:26,130 --> 00:28:29,150 تو یہ وہ جگہ ہے جہاں ہم ایک لمحے پہلے چھوڑ دیا، 600 00:28:29,150 --> 00:28:32,530 اور یہاں اہم بصیرت ان کے دروازے کی تعداد تھی 601 00:28:32,530 --> 00:28:37,390 ان کے پیچھے ہے کہ مثالی، کے مطابق کیا گیا جس کے لئے takeaway ہے کہ آپ کر سکتے ہیں یہ ہے کہ 602 00:28:37,390 --> 00:28:39,670 میں بنیادی طور پر بہتر یہ دوسری مثال 603 00:28:39,670 --> 00:28:42,380 اور، یقینا، اس شان کی تھی بے ترتیب تعداد کے ساتھ پہلی کوشش 604 00:28:42,380 --> 00:28:45,460 بس کے طور پر پہلے لیکن جیسے ہی ان کی تعداد کے مطابق ہیں کے طور پر، 605 00:28:45,460 --> 00:28:47,980 فون بک کی طرح، تم ظاہر ہے کیا کر سکتے ہیں؟ 606 00:28:47,980 --> 00:28:50,090 یا کس طرح آپ کو علم ہے کہ بیعانہ کر سکتے ہیں؟ 607 00:28:50,090 --> 00:28:51,530 جی ہاں. 608 00:28:51,530 --> 00:28:54,910 >> سامعین: [اشراوی] نصف جانا. 609 00:28:54,910 --> 00:28:55,660 DAVID MALAN: جی ہاں. 610 00:28:55,660 --> 00:28:56,160 بالکل ٹھیک. 611 00:28:56,160 --> 00:28:59,680 تو اجے کے ابتدائی سنتیں تھا مجھے یاد ہے، ختم ہو جاتا ہے چیک کرنے کے لئے، 612 00:28:59,680 --> 00:29:02,320 اور پھر ہم طرح کی تیار فوری طور پر مثال کے طور پر. 613 00:29:02,320 --> 00:29:05,220 ہم شروع لیکن اگر اس سے زیادہ کرنے کے لئے طریقے ان خطوط، 614 00:29:05,220 --> 00:29:07,860 لیکن میں شاید شروع کرنے مشرق، وہ حل کر رہے ہیں کیونکہ، 615 00:29:07,860 --> 00:29:10,900 جیسے ہی ہم ظاہر کے طور پر 16 نمبر، لہذا ہم know-- 616 00:29:10,900 --> 00:29:14,850 اور ہم that-- بالکل کرتے ہیں اس وجہ سے جانتے ہیں 50 کہ، آج کی صورت میں، 617 00:29:14,850 --> 00:29:16,080 درست کرنے کے لئے ہونا چاہئے ہے. 618 00:29:16,080 --> 00:29:18,735 تو صرف کی طرح ہفتے صفر جب میں ہم نصف میں فون کتاب پھاڑ 619 00:29:18,735 --> 00:29:21,490 اور نصف پھینک دیا دور مسئلہ، یہاں ایک ہی خیال. 620 00:29:21,490 --> 00:29:23,680 ہم اس نصف پھینک کر سکتے ہیں مسئلے کا دور. 621 00:29:23,680 --> 00:29:25,730 اور شاید آپ کو کیا algorithmically ہے کر سکتا ہے، 622 00:29:25,730 --> 00:29:28,710 آپ 50 ہونا ضروری ہے معلوم ہے کہ ایک بار درست کرنے کے لئے، یہ کہیں بھی ہے، 623 00:29:28,710 --> 00:29:31,390 وسط میں، وہاں کی کوشش ہے باقی کے دروازے کے. 624 00:29:31,390 --> 00:29:33,450 کورس کے، 50 زیادہ ہے 42 سے زیادہ ہے، تو ہم کر سکتے ہیں 625 00:29:33,450 --> 00:29:36,060 یہ باقی پھینک دور مسئلہ کی سہ ماہی، 626 00:29:36,060 --> 00:29:38,510 اور، آخر میں، شناخت 50 کی طرح کچھ. 627 00:29:38,510 --> 00:29:41,050 لیکن صرف کے ساتھ فون بک، ان کی تعداد 628 00:29:41,050 --> 00:29:44,560 میں پہلے سے ہی ہمارے لئے دیا گیا کے مطابق ترتیب، ہمیں چھوڑ دیتا ہے جس 629 00:29:44,560 --> 00:29:47,450 سوال کے ساتھ، کس طرح تم کرتے ہو کے مطابق ترتیب میں چیزیں حاصل؟ 630 00:29:47,450 --> 00:29:49,640 اور، واضح طور سے، کس قیمت پر؟ 631 00:29:49,640 --> 00:29:51,390 یہ ایک بات ہے فون بک کے حوالے 632 00:29:51,390 --> 00:29:54,810 اور اس کے بعد تلاش کی طرف سے اپنے دوستوں کو متاثر حق واقعی بہت تیزی سے ایک فون نمبر،؟ 633 00:29:54,810 --> 00:29:58,520 ایک تلاش کرنے کے لئے 32 صفحات پھاڑنا 4 ارب صفحات شخص، 634 00:29:58,520 --> 00:30:00,470 ہم ایک انتہائی مثال تھا. 635 00:30:00,470 --> 00:30:03,320 لیکن کتنا وقت لے لیا Verizon کے فون کتاب ترتیب دیں؟ 636 00:30:03,320 --> 00:30:06,170 یہ ہمیں لے گئے کتنا وقت ان سات تعداد ترتیب دیں؟ 637 00:30:06,170 --> 00:30:10,110 کہ ہم ہے کہ ایک سوال ہے اس طرح اب تک مکمل طور پر نظر انداز کر دیا. 638 00:30:10,110 --> 00:30:12,330 >> تو اب اس سوال کا جواب دیں. 639 00:30:12,330 --> 00:30:15,920 اور اب ہم تمام فلموں سے باہر ہیں، لیکن ہم کچھ کشیدگی گیندوں ہے. 640 00:30:15,920 --> 00:30:19,480 ، آٹھ رضاکاروں کا کہنا ہے کہ، اگر ہمیں یہاں شامل ہونے میں کوئی اعتراض نہیں کرے گا؟ 641 00:30:19,480 --> 00:30:24,100 کس طرح کے بارے میں، آگے بڑھو اور آپ کے چار، یہاں آپ تین؟ 642 00:30:24,100 --> 00:30:25,290 کچھ نئے چہرے جاؤ. 643 00:30:25,290 --> 00:30:27,220 اور وہاں آپ کے چار؟ 644 00:30:27,220 --> 00:30:30,760 اور کی نہیں تعصب دو now-- یہاں اور یہاں اختتام پر زیادہ تعداد آٹھ. 645 00:30:30,760 --> 00:30:32,060 پر چلو. 646 00:30:32,060 --> 00:30:32,560 ٹھیک ہے. 647 00:30:32,560 --> 00:30:37,480 تو ہم یہاں کے لئے کیا ہے تم میں سے ہر ایک بڑی تعداد ہے. 648 00:30:37,480 --> 00:30:40,055 آپ کو جانا چاہتے ہیں تو آگے، یہ تعداد لے. 649 00:30:40,055 --> 00:30:40,763 آپ کا نام کیا ہے؟ 650 00:30:40,763 --> 00:30:41,950 >> آرٹی: آرٹی. 651 00:30:41,950 --> 00:30:43,100 >> DAVID MALAN: آرٹی، ٹھیک ہے. 652 00:30:43,100 --> 00:30:44,297 آپ نمبر 1 ہیں. 653 00:30:44,297 --> 00:30:45,310 >> AMIN: امین. 654 00:30:45,310 --> 00:30:46,060 DAVID MALAN: امین. 655 00:30:46,060 --> 00:30:46,820 ڈیوڈ. 656 00:30:46,820 --> 00:30:47,530 آپ نمبر 2 ہیں. 657 00:30:47,530 --> 00:30:49,100 میں نے ہاتھ کے طور پر اور، آگے بڑھو آپ کو کاغذ کی چادریں، 658 00:30:49,100 --> 00:30:52,130 موسیقی کے سامنے اپنے آپ کو لائن وہاں کے طور پر اسی ترتیب میں کھڑا ہے. 659 00:30:52,130 --> 00:30:52,660 >> ANDY: ہیلو، اینڈی. 660 00:30:52,660 --> 00:30:53,970 >> DAVID MALAN: اینڈی، یہ آپ کو دیکھنے کے لئے اچھا ہے. 661 00:30:53,970 --> 00:30:54,520 نمبر 3. 662 00:30:54,520 --> 00:30:55,310 >> یعقوب: یعقوب. 663 00:30:55,310 --> 00:30:56,760 >> DAVID MALAN: یعقوب، نمبر 4. 664 00:30:56,760 --> 00:30:57,549 جہاز میں خوش آمدید. 665 00:30:57,549 --> 00:30:58,090 گرانٹ: گرانٹ. 666 00:30:58,090 --> 00:30:58,881 DAVID MALAN: گرانٹ. 667 00:30:58,881 --> 00:31:00,348 نمبر 5. 668 00:31:00,348 --> 00:31:01,200 >> ALANNA: Alanna. 669 00:31:01,200 --> 00:31:02,766 >> DAVID MALAN: Alanna، نمبر 6. 670 00:31:02,766 --> 00:31:03,589 >> فرانسس: فرانسس. 671 00:31:03,589 --> 00:31:04,880 DAVID MALAN: فرانسس، نمبر 7. 672 00:31:04,880 --> 00:31:05,200 اور؟ 673 00:31:05,200 --> 00:31:05,830 >> راہیل: راہیل. 674 00:31:05,830 --> 00:31:06,815 >> DAVID MALAN: راہیل، نمبر 8. 675 00:31:06,815 --> 00:31:07,100 ٹھیک ہے. 676 00:31:07,100 --> 00:31:08,766 آگے بڑھو اور اس کے لئے میں اپنے آپ کو حاصل. 677 00:31:08,766 --> 00:31:11,440 مجھے باقی ایک ڈال دو موسیقی جگہ میں کھڑے. 678 00:31:11,440 --> 00:31:13,670 جہاں آپ ایک موقف کی ضرورت ہے؟ 679 00:31:13,670 --> 00:31:14,170 ٹھیک ہے. 680 00:31:14,170 --> 00:31:18,710 آگے بڑھو اور صرف آپ کی تعداد ڈال دیا جہاں سامعین ان پر دیکھ سکتے ہیں، 681 00:31:18,710 --> 00:31:20,340 موسیقی ظاہری سامنا کھڑے. 682 00:31:20,340 --> 00:31:27,240 اور امید ہے کہ، ہمارے پہلے وویک چیک یہاں 4، 2، 6. 683 00:31:27,240 --> 00:31:27,890 اوہ اوہ. 684 00:31:27,890 --> 00:31:29,070 ایک منٹ رکو. 685 00:31:29,070 --> 00:31:31,140 ہم ایک 8 کی ضرورت نہیں ہے. 686 00:31:31,140 --> 00:31:35,180 میں سے آپ کو بے دخل کرنے کی ضرورت ہے کسی نہ کسی طرح مثال کے طور پر. 687 00:31:35,180 --> 00:31:35,680 نمبر 688 00:31:35,680 --> 00:31:36,940 نہیں، یہ ٹھیک ہے. 689 00:31:36,940 --> 00:31:37,890 چلو دیکھتے ہیں. 690 00:31:37,890 --> 00:31:38,880 ہم ایسا کر سکتے ہیں. 691 00:31:38,880 --> 00:31:39,440 کی طرف سے کھڑے ہو جاؤ. 692 00:31:39,440 --> 00:31:43,970 693 00:31:43,970 --> 00:31:45,740 ہم وہاں جا رہے. 694 00:31:45,740 --> 00:31:46,800 صحیح. 695 00:31:46,800 --> 00:31:47,360 ٹھیک ہے. 696 00:31:47,360 --> 00:31:50,260 تو، اب ہم 8، 1، 3 7، 5 ہے. 697 00:31:50,260 --> 00:31:50,760 ٹھیک ہے. 698 00:31:50,760 --> 00:31:51,360 بہترین. 699 00:31:51,360 --> 00:31:54,400 >> تو ہاتھ میں سوال پر، ہے کیا لاگت، اور جو طریقہ کار کے ذریعے، 700 00:31:54,400 --> 00:31:58,580 ہم اصل میں یہاں ان کی تعداد کو حل کر سکتے ہیں ہم اس قسم کی پیچھے کی طرف کام کر سکتے ہیں تا کہ، 701 00:31:58,580 --> 00:32:02,759 بالآخر، اور decide-- یہ واقعی ہے متاثر کن، یہ واقعی موثر ہے، 702 00:32:02,759 --> 00:32:04,550 میں تقسیم کر سکتے ہیں اور ایک فون کی کتاب فتح؟ 703 00:32:04,550 --> 00:32:06,716 یہ کہ واقعی موثر ہے میں تقسیم اور فتح کر سکتے ہیں 704 00:32:06,716 --> 00:32:08,600 ان ڈیجیٹل ٹکڑے ٹکڑے بورڈ پر کاغذ کی، 705 00:32:08,600 --> 00:32:14,500 یہ ہم لاگت جا رہا ہے ہو سکتا ہے تو وقت یا توانائی یا CPU سائیکل میں خوش قسمتی 706 00:32:14,500 --> 00:32:17,340 اصل میں ہمارے اعداد و شمار حاصل کرنے کے لئے کچھ کے مطابق ترتیب میں؟ 707 00:32:17,340 --> 00:32:18,930 تو یہ سوال پوچھنا ہے. 708 00:32:18,930 --> 00:32:22,077 >> تو پہلا دور، ان کی تعداد ہے بہت بے ترتیب ترتیب میں، 709 00:32:22,077 --> 00:32:24,160 اور میں تجویز کرنے جا رہا ہوں ایک الگورتھم، یا عمل 710 00:32:24,160 --> 00:32:25,970 جس سے ہم ان لوگوں کو حل کر سکتے ہیں. 711 00:32:25,970 --> 00:32:28,100 میں رجوع کرنے کے لئے جا رہا ہوں اس خوبصورت naively کا خیال. 712 00:32:28,100 --> 00:32:30,730 اور میں تسلیم کرنے کے لئے جا رہا ہوں یہ میرے لئے ایک بہت کی طرح ہے کہ 713 00:32:30,730 --> 00:32:32,890 کے ارد گرد میرے ذہن لپیٹ پورے اعداد و شمار پر ایک بار مقرر. 714 00:32:32,890 --> 00:32:33,640 لیکن کیا آپ جانتے ہیں؟ 715 00:32:33,640 --> 00:32:37,450 میں کچھ کرنے کے لئے جا رہا ہوں بہت آسان معمولی اصلاحات. 716 00:32:37,450 --> 00:32:41,152 4 اور 2 تو، حکم سے باہر ہیں مقصد سے 8 پر 1 سے جانے کے لئے ہے. 717 00:32:41,152 --> 00:32:41,860 تو آپ کیا جانتے ہیں؟ 718 00:32:41,860 --> 00:32:43,776 میں آپ کے پاس جا رہا ہوں آپ کو سوئچ تو لوگ، تبادلہ 719 00:32:43,776 --> 00:32:46,380 جسمانی طور پر پوزیشن اور کاغذ کے ٹکڑوں. 720 00:32:46,380 --> 00:32:47,894 اب 4 اور 6، ان کے حکم میں ہیں. 721 00:32:47,894 --> 00:32:49,060 میں ان ہو چھوڑنے کے لئے جا رہا ہوں. 722 00:32:49,060 --> 00:32:50,227 6 اور 8، ان کے حکم میں ہیں. 723 00:32:50,227 --> 00:32:51,185 انہیں چھوڑ کر جا. 724 00:32:51,185 --> 00:32:52,170 حکم سے باہر 8 and1،. 725 00:32:52,170 --> 00:32:54,790 آپ کو دو گماگمن کوئی اعتراض نہیں ہوگا. 726 00:32:54,790 --> 00:32:57,300 اب 8 اور 3، تم لوگ تبادلہ کر سکتا ہے تو. 727 00:32:57,300 --> 00:32:59,320 8 اور 7، تم لوگوں کو تبادلہ کر سکتا ہے تو. 728 00:32:59,320 --> 00:33:01,790 اور 8 اور 5، تم لوگوں کو تبادلہ کر سکتا ہے تو. 729 00:33:01,790 --> 00:33:03,980 >> اب، میں کیا ہوں؟ 730 00:33:03,980 --> 00:33:05,200 نہیں، ظاہر ہے نہیں. 731 00:33:05,200 --> 00:33:07,880 لیکن میں نے کر دیا ہے بہتر صورت حال، ہے نا؟ 732 00:33:07,880 --> 00:33:09,430 تمہارا نام کیا تھا، 8 نمبر؟ 733 00:33:09,430 --> 00:33:10,055 >> راہیل: راہیل. 734 00:33:10,055 --> 00:33:12,850 DAVID MALAN: تو راہیل ہے مؤثر طریقے سے بہت دور تک سے bubbled، 735 00:33:12,850 --> 00:33:15,660 کے آخر میں تمام طریقہ یہاں کی تعداد کے اپنے صف. 736 00:33:15,660 --> 00:33:17,310 اور اس طرح اس مسئلہ قسم کے حل ہے. 737 00:33:17,310 --> 00:33:21,670 اب، واضح طور پر، 2 اب بھی کرنے کی ضرورت ہے تھوڑا سا کو منتقل، اور 4 اور 6 اور 1. 738 00:33:21,670 --> 00:33:24,420 لیکن میں نے ایک ملا ہے لگ رہے ہو حل کے قریب چھوٹی. 739 00:33:24,420 --> 00:33:26,790 تو اس کی ایک ہی درخواست دے دو پھر بولی heuristic. 740 00:33:26,790 --> 00:33:27,690 2 اور 4، ٹھیک ہے. 741 00:33:27,690 --> 00:33:28,810 4 اور 6، ٹھیک ہے. 742 00:33:28,810 --> 00:33:29,930 6 اور 1، ملی میٹر ملی میٹر. 743 00:33:29,930 --> 00:33:32,230 کے تبادلہ کریں. 744 00:33:32,230 --> 00:33:33,200 6 اور 3، ملی میٹر ملی میٹر. 745 00:33:33,200 --> 00:33:34,420 کے تبادلہ کریں. 746 00:33:34,420 --> 00:33:35,580 6 اور 7 ٹھیک ہے. 747 00:33:35,580 --> 00:33:36,590 7 اور 5، نہیں. 748 00:33:36,590 --> 00:33:37,790 کے تبادلہ کریں. 749 00:33:37,790 --> 00:33:38,470 اور اب 7 اور 8. 750 00:33:38,470 --> 00:33:39,862 اور تمہارا نام کیا ہے پھر؟ 751 00:33:39,862 --> 00:33:40,570 فرانسس: فرانسس. 752 00:33:40,570 --> 00:33:41,445 DAVID MALAN: فرانسس. 753 00:33:41,445 --> 00:33:44,230 تو اب فرانسس بھی بہتر ہے پوزیشن، اب 7 اور 8 کیونکہ 754 00:33:44,230 --> 00:33:46,440 درست طریقے سے سب سے اوپر سے bubbled رہے ہیں. 755 00:33:46,440 --> 00:33:47,510 تو 2 اور 4، ٹھیک ہے. 756 00:33:47,510 --> 00:33:48,720 4 اور 1، چلو سویپ. 757 00:33:48,720 --> 00:33:50,410 4 اور 3، چلو سویپ. 758 00:33:50,410 --> 00:33:51,550 4 اور 6، تم ٹھیک ہو. 759 00:33:51,550 --> 00:33:53,340 6 اور 5، چلو سویپ. 760 00:33:53,340 --> 00:33:54,590 اور اب وہ لوگ اچھے ہیں. 761 00:33:54,590 --> 00:33:55,780 ہم وہاں تقریبا رہے ہیں. 762 00:33:55,780 --> 00:33:57,706 2 اور 1، حکم سے باہر، تو سویپ. 763 00:33:57,706 --> 00:33:59,080 اور اب مجھے ایک وویک چیک کرتے ہیں. 764 00:33:59,080 --> 00:34:03,080 2 اور 3، 3 اور 4، 4 اور 5، 5 اور 6، 6 اور 7، 8. 765 00:34:03,080 --> 00:34:05,060 ٹھیک ہے، تو ہم کیا کر رہے ہیں. 766 00:34:05,060 --> 00:34:09,310 >> لیکن کیا میں قیمت میں نے کیا یہاں ان کی تعداد الگ الگ؟ 767 00:34:09,310 --> 00:34:13,960 ویسے، کس طرح بہت سے اقدامات ممکنہ طور پر میں نے کیا ان لوگوں چھانٹ رہا ہے جب لے؟ 768 00:34:13,960 --> 00:34:15,710 ٹھیک ہے، ہم واپس اس سوال آ جائیں گے. 769 00:34:15,710 --> 00:34:18,030 لیکن، واضح طور سے، آپ کو مل گیا ہے تو ایک چھوٹا سا بور، ہے 770 00:34:18,030 --> 00:34:22,270 کی قسم یہ نہیں تھا کہ میں انکشاف شاید سب سے زیادہ موثر الگورتھم. 771 00:34:22,270 --> 00:34:25,230 اور یقینا، واضح طور سے، میں پسینہ آ رہا ہوں سب سے زیادہ آگے اور پیچھے چل. 772 00:34:25,230 --> 00:34:26,639 یہ خاص طور پر موثر محسوس نہیں کیا. 773 00:34:26,639 --> 00:34:27,805 تو کچھ اور کرنے کی کوشش کریں. 774 00:34:27,805 --> 00:34:31,870 تم لوگوں کو ری سیٹ کر سکتے ہیں ان آٹھ اقدار کو اپنے. 775 00:34:31,870 --> 00:34:32,969 اچھا کام. 776 00:34:32,969 --> 00:34:36,570 >> صرف کے لئے، ڈیجیٹل ایک نظر ڈالیں ایک لمحے ہم کچھ کرنے کی کوشش کرنے سے پہلے 777 00:34:36,570 --> 00:34:38,179 صرف کیا ہوا. 778 00:34:38,179 --> 00:34:41,330 یہاں، آپ کو ایک کو دیکھنے کے لئے کے بارے میں ہیں ان آٹھ انسانوں کے تصور 779 00:34:41,330 --> 00:34:44,719 جس نیلے اور سرخ سلاخوں تعداد کی نمائندگی. 780 00:34:44,719 --> 00:34:46,670 طویل بار، تعداد بڑی. 781 00:34:46,670 --> 00:34:48,510 کم بار، تعداد چھوٹے. 782 00:34:48,510 --> 00:34:51,560 اور کیا آپ کو دیکھنے کے لئے جا رہے ہیں میں ہے ان میں سے آٹھ کے مقابلے میں زیادہ بے ترتیب ترتیب. 783 00:34:51,560 --> 00:34:55,830 آپ ان سلاخوں کو دیکھنے کے لئے جا رہے ہیں کہ اسی الگورتھم کی طرف سے کے مطابق ہو رہی ہے، 784 00:34:55,830 --> 00:34:59,890 یا، ہدایات کی قائم کی جس ہم بلبلا طرح اب میں فون کروں گا. 785 00:34:59,890 --> 00:35:04,000 تو، دوسرے یا تو ہر، نوٹس دو بار، سرخ رنگ میں روشنی کر رہے ہیں 786 00:35:04,000 --> 00:35:05,590 کمپیوٹر کی طرف سے مقابلے میں کیا جا رہا ہے. 787 00:35:05,590 --> 00:35:08,630 اور اگر تو بڑا بار اور تھوڑا بار، حکم سے باہر ہیں 788 00:35:08,630 --> 00:35:11,220 وہ میرے لئے تبدیل کیا جا رہا ہے. 789 00:35:11,220 --> 00:35:15,120 >> اب یہ ناقابل یقین حد تک تکاؤ ہے یقینی طور پر، اس کو دیکھنے کے لئے، 790 00:35:15,120 --> 00:35:18,630 بہت دیر تک، لیکن نوٹس ، درست کرنے کے لئے آگے بڑھ رہے ہیں بڑے سلاخوں takeaway-- 791 00:35:18,630 --> 00:35:20,460 بائیں منتقل تھوڑا سلاخوں. 792 00:35:20,460 --> 00:35:23,380 اس عمل کو گرا دو اور اس کی رفتار تیز 793 00:35:23,380 --> 00:35:27,330 بہت تیزی سے ہو، تو ہم کر سکتے ہیں کی ایک اعلی سطح کے احساس حاصل، 794 00:35:27,330 --> 00:35:29,970 یقینا، بلبلا طرح کر رہا ہے. 795 00:35:29,970 --> 00:35:33,150 بے شک، یہ تک bubbling ہے فہرست کے دائیں ہاتھ کی طرف، 796 00:35:33,150 --> 00:35:35,260 یا صف، بڑا سلاخوں کے. 797 00:35:35,260 --> 00:35:40,020 اور اس کے برعکس، بہت کم بار ہیں بائیں طرف کے نیچے ان کے راستے سے bubbling، 798 00:35:40,020 --> 00:35:42,950 ایک تیز رفتار سے ہی سہی سے ہم نے پہلے کیا تھا. 799 00:35:42,950 --> 00:35:45,850 تو، مشکل انسانوں کے ساتھ دیکھنے کے لئے، لیکن ضعف کہ واقعی کیا ہے 800 00:35:45,850 --> 00:35:46,540 کیا ہو رہا تھا. 801 00:35:46,540 --> 00:35:49,110 >> لیکن بنیادی طور پر ایک کی کوشش کریں اب مختلف نقطہ نظر. 802 00:35:49,110 --> 00:35:52,387 کی ایک مختلف کوشش کرتے ہیں الگورتھم ہم آپ کے پاس ہے جس کے تحت 803 00:35:52,387 --> 00:35:59,640 لوگ ان اصل میں شروع اس آرڈر یہاں تھا جس کی پوزیشنوں،. 804 00:35:59,640 --> 00:36:00,827 اور اب آگے بڑھو. 805 00:36:00,827 --> 00:36:02,910 اور میں کچھ کرنے کے لئے جا رہا ہوں بھی آسان، ہے نا؟ 806 00:36:02,910 --> 00:36:06,710 ماضی میں، پھر pairwise گماگمن اور پھر، تقریبا ایک چھوٹا سا ہوشیار. 807 00:36:06,710 --> 00:36:10,460 ، سے بھی زیادہ naively سے باتیں کرتے ہیں جہاں میں ان لوگوں کو الگ الگ کرنا چاہتے ہیں تو، 808 00:36:10,460 --> 00:36:12,560 مجھے صرف تلاش رکھنے سب سے چھوٹی عنصر کے لئے. 809 00:36:12,560 --> 00:36:14,570 تو اب، 4 ہے میں نے دیکھا ہے سب سے چھوٹی تعداد. 810 00:36:14,570 --> 00:36:15,695 مجھے یاد ہے کہ میں جا رہا ہوں. 811 00:36:15,695 --> 00:36:17,750 نہیں، 2 بہتر ہے، اور یاد رکھیں کہ. 812 00:36:17,750 --> 00:36:20,730 1 بھی چھوٹا ہے. 813 00:36:20,730 --> 00:36:21,970 3، 7، 5. 814 00:36:21,970 --> 00:36:22,470 ٹھیک ہے. 815 00:36:22,470 --> 00:36:23,750 One-- تمہارا نام کیا ہے؟ 816 00:36:23,750 --> 00:36:24,400 >> آرٹی: آرٹی. 817 00:36:24,400 --> 00:36:24,610 >> DAVID MALAN: آرٹی. 818 00:36:24,610 --> 00:36:25,460 تو، آرٹی، آگے بڑھو. 819 00:36:25,460 --> 00:36:27,043 میں لائن سے باہر ھیںچو کرنے کے لئے جا رہا ہوں. 820 00:36:27,043 --> 00:36:28,400 آپ یہاں واپس آ سکتا ہے. 821 00:36:28,400 --> 00:36:30,790 اور میں اس کے لئے کمرے بنانے کے لئے کی ضرورت ہے. 822 00:36:30,790 --> 00:36:32,040 ہم یہاں ایک فیصلہ نقطہ ہے. 823 00:36:32,040 --> 00:36:36,000 ہم یہاں آرٹی لئے کمرے بنانے کے کر سکتے ہیں کس طرح نمبر 1 سے تعلق رکھتا ہے جہاں شروع میں؟ 824 00:36:36,000 --> 00:36:36,770 >> سامعین: شفٹ. 825 00:36:36,770 --> 00:36:38,950 >> DAVID MALAN: ٹھیک ہے، ہم سب کو تبدیل کر سکتے ہیں. 826 00:36:38,950 --> 00:36:40,860 لیکن ایک اصلاح تجویز. 827 00:36:40,860 --> 00:36:43,410 یہ ایک چھوٹا سا پریشان محسوس ہوتا ہے مجھے چار لوگوں سے پوچھنا کرنے کے لئے 828 00:36:43,410 --> 00:36:44,620 نیچے تمام طرح منتقل کرنے کے لئے. 829 00:36:44,620 --> 00:36:45,520 میں اور کیا کر سکتا ہے؟ 830 00:36:45,520 --> 00:36:46,360 >> سامعین: ان کے سوئچ. 831 00:36:46,360 --> 00:36:46,850 >> DAVID MALAN: ان کے سوئچ. 832 00:36:46,850 --> 00:36:47,900 اور تمہارا نام کیا ہے پھر؟ 833 00:36:47,900 --> 00:36:48,441 >> یعقوب: یعقوب. 834 00:36:48,441 --> 00:36:50,330 DAVID MALAN: یعقوب، منتقل. 835 00:36:50,330 --> 00:36:54,440 بہت زیادہ موثر صرف کرنے کے لئے آرٹی کے ساتھ یعقوب سویپ مقامات، 836 00:36:54,440 --> 00:36:56,710 مجبور کی مخالفت ان لوگوں کے تمام چار، 837 00:36:56,710 --> 00:36:58,734 کرنے کے لئے، آپ کا بہت بہت شکریہ ان کی صحیح پوزیشن. 838 00:36:58,734 --> 00:37:01,150 اب کیا آرٹی کے بارے میں اچھی بات ہے، انہوں نے ان کی صحیح پوزیشن میں ہے. 839 00:37:01,150 --> 00:37:02,060 پھر ایسا کرتے ہیں. 840 00:37:02,060 --> 00:37:03,730 2، کہ میں نے دیکھا ہے سب سے چھوٹی تعداد ہے. 841 00:37:03,730 --> 00:37:05,690 3، 7، 5. 842 00:37:05,690 --> 00:37:06,190 ٹھیک ہے. 843 00:37:06,190 --> 00:37:07,467 2 ضرور سب سے چھوٹی ہے. 844 00:37:07,467 --> 00:37:08,550 کسی بھی کام کرنے کے لئے نہیں ہے. 845 00:37:08,550 --> 00:37:09,320 اسے دوبارہ کرتے ہیں. 846 00:37:09,320 --> 00:37:10,070 6. 847 00:37:10,070 --> 00:37:10,640 سب سے چھوٹا؟ 848 00:37:10,640 --> 00:37:11,140 8. 849 00:37:11,140 --> 00:37:11,590 نہیں. 850 00:37:11,590 --> 00:37:11,720 4؟ 851 00:37:11,720 --> 00:37:12,220 ؤہ. 852 00:37:12,220 --> 00:37:13,420 4 مجھے یاد. 853 00:37:13,420 --> 00:37:13,950 3. 854 00:37:13,950 --> 00:37:15,110 مجھے 3 یاد. 855 00:37:15,110 --> 00:37:16,080 7، 5. 856 00:37:16,080 --> 00:37:18,490 میں نے سب سے چھوٹی تعداد یہ پاس دیکھا ہے 3. 857 00:37:18,490 --> 00:37:20,340 آپ باہر آیا تھا تو. 858 00:37:20,340 --> 00:37:21,986 ہم کہاں آپ کو ڈال کرنے کے لئے جا رہے ہیں؟ 859 00:37:21,986 --> 00:37:22,860 اور تمہارا نام کیا ہے؟ 860 00:37:22,860 --> 00:37:23,530 >> ALANNA: Alanna. 861 00:37:23,530 --> 00:37:25,780 >> DAVID MALAN: Alanna، ہم ہیں آپ کو بے دخل کرنے کے لئے جا. 862 00:37:25,780 --> 00:37:28,670 لیکن اس کے، زیادہ موثر ہے صرف دو لوگوں تبادلہ کرنے کے لئے، 863 00:37:28,670 --> 00:37:31,850 ایک سے زیادہ لوگوں کے مقابلے میں اصل میں زیادہ sidestep کے. 864 00:37:31,850 --> 00:37:32,850 اب ایک بار پھر اس کے کیا. 865 00:37:32,850 --> 00:37:34,980 میں 4 منتخب، تو باہر آنے کے لئے جا رہا ہوں. 866 00:37:34,980 --> 00:37:36,540 اور جو منتقل کرنے کے لئے جا رہا ہے؟ 867 00:37:36,540 --> 00:37:37,750 نمبر 8، کورس کے. 868 00:37:37,750 --> 00:37:40,260 اب میں نمبر 5 ہے، تو باہر آئے. 869 00:37:40,260 --> 00:37:42,104 نمبر 8 دوبارہ بے دخل کرنے کے لئے جا رہا ہے. 870 00:37:42,104 --> 00:37:43,770 میں اب جگہ میں 6 نمبر تلاش کرنے کے لئے جا رہا ہوں. 871 00:37:43,770 --> 00:37:44,410 جگہ میں 7. 872 00:37:44,410 --> 00:37:45,080 جگہ میں 8. 873 00:37:45,080 --> 00:37:48,590 >> کیا ہم ابھی کیا ہے انتخاب کی طرح کہا جاتا ہے کچھ، 874 00:37:48,590 --> 00:37:52,560 ہم اس کو دیکھ تو، یہ ہے ایک چھوٹا سا مختلف محسوس کرنے کے لئے جا. 875 00:37:52,560 --> 00:37:56,800 آگے اور اس سے جانے دو مینو یہاں، اس visualization-- 876 00:37:56,800 --> 00:38:02,920 کی، فائر فاکس پر آئے to-- اس کو تبدیل. 877 00:38:02,920 --> 00:38:07,610 سلیکشن طرح تبدیل. 878 00:38:07,610 --> 00:38:11,830 اور کے طور پر اس سے پہلے اس کی رفتار تیز کرتے ہیں، اور اب تصور شروع. 879 00:38:11,830 --> 00:38:13,990 اور یہ الگورتھم ہے اس کے لئے ایک مختلف احساس. 880 00:38:13,990 --> 00:38:16,480 ہر iteration پر، واضح طور سے، اس سے بھی زیادہ براہ راست ہے. 881 00:38:16,480 --> 00:38:18,385 میں صرف سب سے چھوٹی عنصر منتخب کر رہا ہوں. 882 00:38:18,385 --> 00:38:21,510 اب، واضح طور سے، میں سمجھتا ہوں کہ ایک چھوٹا سا خوش قسمت ہے وقت، کہ میں اس انتہائی تیز رفتار کے مطابق. 883 00:38:21,510 --> 00:38:22,660 عناصر بے ترتیب تھے. 884 00:38:22,660 --> 00:38:25,520 یہ ہم آخر میں کریں گے، نہیں ہے بنیادی طور پر تیزی، دیکھیں. 885 00:38:25,520 --> 00:38:29,400 لیکن ایک تیسرا اور آخری دیکھتے ہیں کیا چل رہا ہے کے طور پر یہاں سے رجوع. 886 00:38:29,400 --> 00:38:36,230 تو آگے بڑھو اور آپ لوگ ری سیٹ ایک آخری وقت یہاں اس ترتیب میں ہونا. 887 00:38:36,230 --> 00:38:38,450 >> اور اب، میں جا رہا ہوں ، ایک چھوٹا سا زیادہ ہوشیار ہو 888 00:38:38,450 --> 00:38:40,220 صرف ہماری الگورتھم باہر منہاج القرآن کے. 889 00:38:40,220 --> 00:38:41,230 میں ایسا کرنے جا رہا ہوں. 890 00:38:41,230 --> 00:38:43,140 میں نہیں جا رہا ہوں آگے اور پیچھے اتنا. 891 00:38:43,140 --> 00:38:44,900 سچ کہوں تو، میں تک گیا ہوں یہ سب طے کرنا. 892 00:38:44,900 --> 00:38:47,691 میں صرف میں ہوں کیا لے جا رہا ہوں فہرست کے شروع میں دیا، 893 00:38:47,691 --> 00:38:49,460 اور میں حل کرنے کے لئے جا رہا ہوں کہ اور پھر وہاں. 894 00:38:49,460 --> 00:38:50,140 تو ہم یہاں ہیں. 895 00:38:50,140 --> 00:38:51,030 نمبر 4. 896 00:38:51,030 --> 00:38:53,680 میں تعداد کو شامل کرنے کے لئے جا رہا ہوں کے مطابق فہرست میں 4. 897 00:38:53,680 --> 00:38:54,180 کیا. 898 00:38:54,180 --> 00:38:58,300 اب میں دعوی کرتے ہیں، اور صرف اس سے زیادہ بنانے کے لئے واضح، میری فہرست کے اس حصے کے مطابق ہے. 899 00:38:58,300 --> 00:39:02,610 یہ ایک پاگل کے دعوی کی طرح ہے، لیکن یقینا 4 سائز میں سے ایک کی ایک فہرست کے مطابق ہے. 900 00:39:02,610 --> 00:39:04,210 اب، میں نمبر 2 پر لینے کے لئے جا رہا ہوں. 901 00:39:04,210 --> 00:39:07,670 نمبر 2 میں اب جا رہا ہوں صحیح جگہ میں داخل. 902 00:39:07,670 --> 00:39:08,680 تو جہاں 2 کا تعلق ہے؟ 903 00:39:08,680 --> 00:39:09,824 ظاہر ہے، یہاں پر. 904 00:39:09,824 --> 00:39:11,490 لہذا آگے بڑھیں اور اگر آپ کر سکتے، واپس منتقل. 905 00:39:11,490 --> 00:39:14,406 اور کیوں نہیں آپ لوگ صرف لیتے ہیں آپ کی موسیقی کے لئے آپ کے ساتھ اس وقت کھڑا ہے. 906 00:39:14,406 --> 00:39:17,020 اور زبردستی چلو آپ داخل فہرست کے آغاز میں. 907 00:39:17,020 --> 00:39:17,936 تو تھوڑا زیادہ کام. 908 00:39:17,936 --> 00:39:20,890 میں، کے ارد گرد یعقوب منتقل کرنا پڑا اور آپ کا نام کیا ہے؟ 909 00:39:20,890 --> 00:39:21,420 >> AMIN: امین. 910 00:39:21,420 --> 00:39:22,270 >> DAVID MALAN: امین. 911 00:39:22,270 --> 00:39:24,350 لیکن کم از کم میں آگے اور پیچھے نہیں جانا تھا. 912 00:39:24,350 --> 00:39:25,739 میں جا کے طور پر میں صرف چیزوں کو لے جا رہا ہوں. 913 00:39:25,739 --> 00:39:27,530 میں صرف ان کے داخل ہوں صحیح جگہ میں. 914 00:39:27,530 --> 00:39:29,220 6، یہ اصل میں بہت آسان ہے. 915 00:39:29,220 --> 00:39:31,510 اگر آپ کی، وہاں آپ کو داخل کریں صرف تھوڑا سا پر منتقل کرنے کے لئے چاہتا تھا. 916 00:39:31,510 --> 00:39:32,870 نمبر 8، بھی بہت آسان. 917 00:39:32,870 --> 00:39:33,741 وہاں پر. 918 00:39:33,741 --> 00:39:34,240 ارے. 919 00:39:34,240 --> 00:39:37,590 نمبر 1 کو چیک نہیں کر سکتے ہیں یہاں امین کے ساتھ تبادلہ، 920 00:39:37,590 --> 00:39:39,340 اس کی وجہ جا رہا ہے گندگی کو آرڈر کرنے کے لئے. 921 00:39:39,340 --> 00:39:40,660 تو ہم نے ایک چھوٹا سا زیادہ ہوشیار ہونا پڑے گا. 922 00:39:40,660 --> 00:39:42,770 تو، آرٹی، تو آپ کر سکتے تھے ایک لمحے کے لئے واپس. 923 00:39:42,770 --> 00:39:46,550 ، آگے بڑھو اور اب منتقل ہمارے گزشتہ یلگوردمز کے برعکس، 924 00:39:46,550 --> 00:39:50,910 آرٹی کے لئے کمرے بنانے کے لئے یہاں شروع میں. 925 00:39:50,910 --> 00:39:54,690 دن کے آخر میں، تو میں اس قسم کی ہوں میں نے پہلے سے بچنے کے لئے کرنا چاہتا تھا کیا کر. 926 00:39:54,690 --> 00:39:57,770 اور تو میری الگورتھم طرح ہے کے، ذہنی، الٹا 927 00:39:57,770 --> 00:39:59,070 یہ اصل میں کیا تھا سے. 928 00:39:59,070 --> 00:40:01,240 میں صرف منتقل کر رہا ہوں ایک مختلف نقطہ پر. 929 00:40:01,240 --> 00:40:02,291 اب میں 3 میں ہوں. 930 00:40:02,291 --> 00:40:02,790 لات، اوہ. 931 00:40:02,790 --> 00:40:04,039 ہم پھر مزید کام کرنا ہے. 932 00:40:04,039 --> 00:40:05,060 تو آپ کو دھکا. 933 00:40:05,060 --> 00:40:09,360 چلو 8، 6، 4-- oh-- اوہ، اور 3 وہیں جا رہا ہے. 934 00:40:09,360 --> 00:40:11,490 اس وقت کم از کم معمولی بچت میں تو. 935 00:40:11,490 --> 00:40:13,100 7، نہیں بہت زیادہ کام کیا جائے. 936 00:40:13,100 --> 00:40:15,370 آپ پاپ کرنا چاہتے ہیں تو واپس، آپ داخل کریں. 937 00:40:15,370 --> 00:40:17,440 اور آخر میں، 5، اگر آپ واپس پاپ کرنا چاہتے ہیں، ہم 938 00:40:17,440 --> 00:40:22,610 ، آپ کو منتقل کرنے کے لئے آپ کی ضرورت ہے، پانچ جب تک آپ، جگہ میں ہے. 939 00:40:22,610 --> 00:40:25,670 >> تو اب ایک میں اس کو دیکھنے کے لئے گراف اعلی سطح، 940 00:40:25,670 --> 00:40:31,080 اس الگورتھم کرتے ہیں تصور ایک اضافی وقت. 941 00:40:31,080 --> 00:40:33,580 تو یہ ہم اندراج کی طرح کہیں گے. 942 00:40:33,580 --> 00:40:37,700 ہم صرف کے طور پر اسے چلانے دونگا تیزی سے، اور یہاں یہ شروع. 943 00:40:37,700 --> 00:40:39,580 اور یہ، بھی، ایک مختلف احساس ہے. 944 00:40:39,580 --> 00:40:42,180 اس طرح کی بہتر ہو رہی ہے اور بہتر، لیکن یہ کامل نہیں ہے 945 00:40:42,180 --> 00:40:44,630 میں ان کمیوں میں اور ہموار جب تک. 946 00:40:44,630 --> 00:40:47,860 کیونکہ، ایک بار پھر، میں نے صرف لے جا رہا ہوں کیا میں بائیں سے دائیں کرنے کے لئے دیا جا رہا ہے. 947 00:40:47,860 --> 00:40:50,350 تو میں بہت خوش قسمت نہیں مل سکا کہ سب کچھ کامل تھا. 948 00:40:50,350 --> 00:40:54,190 ہم ان چھوٹی تھی یہی وجہ ہے کہ ہم وقت کے ساتھ طے ہے کہ mispositions. 949 00:40:54,190 --> 00:40:58,890 >> تو ان یلگوردمز کی سب کے لئے لگ رہے ہو تھوڑا سا مختلف تیزی آسکے پر چلانے کے. 950 00:40:58,890 --> 00:41:02,030 اصل میں، جو آپ کو ہے کا کہنا ہے کہ سب سے بہتر یا اب تک سب سے تیز رفتار؟ 951 00:41:02,030 --> 00:41:03,450 بلبلا طرح، سب سے پہلے؟ 952 00:41:03,450 --> 00:41:05,000 سلیکشن طرح، دوسرے؟ 953 00:41:05,000 --> 00:41:08,450 اندراج کی طرح، تیسرے؟ 954 00:41:08,450 --> 00:41:10,710 میں کچھ انتخاب طرح سنا. 955 00:41:10,710 --> 00:41:13,280 دیگر خیالات؟ 956 00:41:13,280 --> 00:41:16,880 >> تو یہ پتہ چلا ہے کہ ان یلگوردمز کی سب 957 00:41:16,880 --> 00:41:22,400 کے طور پر بنیادی طور پر صرف کے طور پر موثر ہیں بس کے طور پر، اس کے برعکس، ایک دوسرے یا 958 00:41:22,400 --> 00:41:25,980 ایک دوسرے کے طور پر غیر فعال، ہم بنیادی طور پر کر سکتے ہیں کی وجہ سے 959 00:41:25,980 --> 00:41:28,120 تینوں سے بہتر ان یلگوردمز کی. 960 00:41:28,120 --> 00:41:29,990 اور یہ کہ ایک سفید جھوٹ کے تھوڑا سا بھی، ہے. 961 00:41:29,990 --> 00:41:32,580 میں کے طور پر موثر کہنا ہے کہ جب یا غیر فعال کے طور پر، 962 00:41:32,580 --> 00:41:35,040 کہ کم از کم کے لئے ہے (ن) کے سپر بڑی اقدار. 963 00:41:35,040 --> 00:41:38,450 ہم یہاں صرف آٹھ افراد ہے تو، یا شاید سکرین پر 50 یا اس سلاخوں کے، 964 00:41:38,450 --> 00:41:41,645 آپ بالکل اختلافات محسوس کریں گے ان تین الگورتھم میں. 965 00:41:41,645 --> 00:41:44,020 لیکن (ن) کے طور پر، لوگوں کی تعداد، یا تعداد کی تعداد، 966 00:41:44,020 --> 00:41:46,350 یا فون میں لوگوں کی تعداد کتاب، یا ویب کے صفحات کی تعداد 967 00:41:46,350 --> 00:41:48,230 گوگل کے ڈیٹا بیس میں ، بڑا اور بڑا ہو جاتا ہے 968 00:41:48,230 --> 00:41:51,650 ہم دیکھیں گے کہ ان تینوں الگورتھم اصل میں بہت غریب ہیں. 969 00:41:51,650 --> 00:41:54,060 اور ہم نے بنیادی طور پر کر سکتے ہیں اس سے بہتر. 970 00:41:54,060 --> 00:41:56,830 >> ، آخر، ایک نظر ڈالیں کیا ان یلگوردمز شاید میں 971 00:41:56,830 --> 00:41:59,520 میں کی طرح آواز کچھ دوسروں کے تناظر 972 00:41:59,520 --> 00:42:03,550 کے ساتھ ساتھ اس کی راہ کی طرف یہاں تصور 973 00:42:03,550 --> 00:42:06,860 اس سے ہمیں متعارف کرائے گا الگورتھم کی ایک بڑی تعداد. 974 00:42:06,860 --> 00:42:10,330 چلو آگے بڑھو اور کو مبارکباد دو جن میں سے سب یہاں ہمارے شرکاء، 975 00:42:10,330 --> 00:42:11,690 بہت اچھی طرح سے خود کو حل. 976 00:42:11,690 --> 00:42:15,124 آپ کو ایک ودائی تحفہ لینے کے لئے چاہتے ہیں تو. 977 00:42:15,124 --> 00:42:16,540 آپ کے ساتھ ساتھ آپ کی تعداد کو برقرار رکھنے کے کر سکتے ہیں. 978 00:42:16,540 --> 00:42:19,460 979 00:42:19,460 --> 00:42:22,520 اور آپ کو کیا دیکھیں گے، یا بلکہ، اب، سن 980 00:42:22,520 --> 00:42:25,710 ہے کہ ہم آواز ڈال کے طور پر ان سلاخوں کے میں سے ہر ایک 981 00:42:25,710 --> 00:42:28,660 اور، سافٹ ویئر کے ساتھ منسلک آواز کی مختلف تعدد، 982 00:42:28,660 --> 00:42:33,970 آپ کے دماغ کو زیادہ audioly لپیٹ کر سکتے ہیں ان چیزوں میں سے ہر ایک کے ارد گرد 983 00:42:33,970 --> 00:42:34,470 کی طرح نظر آتے. 984 00:42:34,470 --> 00:42:39,325 جس کا پہلا اندراج کی طرح ہے 985 00:42:39,325 --> 00:42:44,275 >> [ٹن] 986 00:42:44,275 --> 00:42:47,245 987 00:42:47,245 --> 00:42:49,720 >> یہ بلبلا طرح ہے. 988 00:42:49,720 --> 00:42:54,175 >> [ٹن] 989 00:42:54,175 --> 00:43:17,250 990 00:43:17,250 --> 00:43:18,222 >> سلیکشن طرح. 991 00:43:18,222 --> 00:43:22,596 >> [ٹن] 992 00:43:22,596 --> 00:43:33,570 993 00:43:33,570 --> 00:43:35,150 >> ضم طرح کہا جاتا ہے کچھ. 994 00:43:35,150 --> 00:43:38,140 >> [ٹن] 995 00:43:38,140 --> 00:43:49,510 996 00:43:49,510 --> 00:43:51,278 >> GNOME ترتیب. 997 00:43:51,278 --> 00:43:56,390 >> [ٹن] 998 00:43:56,390 --> 00:44:08,240 999 00:44:08,240 --> 00:44:09,430 >> یہ CS50 کے لئے ہے. 1000 00:44:09,430 --> 00:44:13,360 ہم آپ کو بدھ کو دیکھیں گے. 1001 00:44:13,360 --> 00:44:16,671 >> راوی: اور اب، "گہرے Daven Farnham کی طرف سے خیالات، ". 1002 00:44:16,671 --> 00:44:19,910 1003 00:44:19,910 --> 00:44:21,590 کیوں یہ ایک لوپ کے لئے ہے؟ 1004 00:44:21,590 --> 00:44:23,200 کیوں نہیں اسے بہتر بنانے کے؟ 1005 00:44:23,200 --> 00:44:25,970 میں ایک پانچ لوپ بنا تھا. 1006 00:44:25,970 --> 00:44:28,720 >> [ہنسی]