1 00:00:00,000 --> 00:00:00,030 2 00:00:00,030 --> 00:00:00,460 >> DAVID MALAN: ٹھیک ہے. 3 00:00:00,460 --> 00:00:01,094 ہم واپس آگئے ہیں. 4 00:00:01,094 --> 00:00:04,260 لہذا پروگرامنگ پر اس علاقے میں کیا میں نے سوچا تھا کہ ہم صرف کرنا چاہتے چیزوں کی ایک مرکب ہے. 5 00:00:04,260 --> 00:00:06,340 ایک، تھوڑا سا کرنا کچھ کے ہاتھ پر، 6 00:00:06,340 --> 00:00:08,690 ایک زیادہ چنچل کا استعمال کرتے ہوئے ہی سہی پروگراموں environment-- 7 00:00:08,690 --> 00:00:11,620 کی demonstrative ہے کہ ایک خیالات کے بالکل قسم 8 00:00:11,620 --> 00:00:14,220 ہم کے بارے میں بات کر رہا ہوں لیکن ایک چھوٹا سا زیادہ باضابطہ طور پر. 9 00:00:14,220 --> 00:00:18,200 دو، میں سے کچھ نظر مزید تکنیکی طریقوں 10 00:00:18,200 --> 00:00:21,520 ایک پروگرامر اصل کو حل کرے گا کہ تلاش مسئلہ جیسے مسائل 11 00:00:21,520 --> 00:00:24,530 ہم پہلے کی طرف دیکھا کہ اور بھی ایک سے زیادہ بنیادی 12 00:00:24,530 --> 00:00:26,020 چھںٹائی کی دلچسپ مسئلہ. 13 00:00:26,020 --> 00:00:28,840 >> ہم بس سے جانے جاتے فرض کہ فون بک مطابق کیا گیا تھا، 14 00:00:28,840 --> 00:00:31,980 لیکن صرف یہ چیز اصل میں ہے قسم کی ایک بہت سے مختلف طریقوں کے ساتھ مشکل مسئلہ 15 00:00:31,980 --> 00:00:32,479 اس کو حل کرنے. 16 00:00:32,479 --> 00:00:34,366 تو ہم کے طور پر ان کا استعمال کریں گے مسائل کی ایک کلاس 17 00:00:34,366 --> 00:00:36,740 چیزوں کے نمائندے کہ عام طور پر حل کیا جا سکتا ہے. 18 00:00:36,740 --> 00:00:38,980 اور پھر ہم بات کریں گے کچھ تفصیل سے کس بارے میں 19 00:00:38,980 --> 00:00:42,360 اعداد و شمار کو کہا جاتا ہے structures-- لنک کی فہرست کی طرح اچھے طریقے 20 00:00:42,360 --> 00:00:46,290 اور ہیش میزیں اور درخت کہ ایک پروگرامر اصل گے 21 00:00:46,290 --> 00:00:48,890 استعمال اور عام طور پر ایک سفید تختہ پر پینٹ کرنے کے لئے 22 00:00:48,890 --> 00:00:51,840 کی ایک تصویر کیا وہ یا وہ لاگو کرنے کے لئے تصور پیش کیا 23 00:00:51,840 --> 00:00:52,980 سافٹ ویئر کی کچھ ٹکڑا. 24 00:00:52,980 --> 00:00:55,130 >> تو سب سے پہلے حصے پر ہاتھ کرنے دو. 25 00:00:55,130 --> 00:01:00,090 تو اپنے ہاتھوں کو ایک ساتھ گندا حاصل ماحول بلایا scratch.mit.edu. 26 00:01:00,090 --> 00:01:02,636 یہ ایک آلہ ہے کہ ہم استعمال کرتے ہیں ہمارے انڈرگریجویٹ کلاس میں. 27 00:01:02,636 --> 00:01:04,510 اگرچہ یہ ڈیزائن کیا گیا ہے عمر 12 اور اپ کے لئے، 28 00:01:04,510 --> 00:01:07,570 ہم اپ کے لئے استعمال کہ بہت تھوڑا سا کا حصہ 29 00:01:07,570 --> 00:01:10,020 یہ ایک اچھا، مزہ ہے کے بعد سے تعلیم کے گرافیکل طریقہ 30 00:01:10,020 --> 00:01:12,160 پروگراموں کے بارے میں کچھ. 31 00:01:12,160 --> 00:01:17,600 لہذا، اس یو آر ایل کے سربراہ جہاں آپ بالکل اس طرح ایک ایسے صفحے کو دیکھنا چاہئے، 32 00:01:17,600 --> 00:01:23,330 اور آگے بڑھو اور کلک کریں سب سے اوپر دائیں سکریچ شمولیت 33 00:01:23,330 --> 00:01:28,300 اور ایک صارف کا نام اور ایک منتخب کریں پاس ورڈ اور بالآخر اپنے آپ کو حاصل 34 00:01:28,300 --> 00:01:29,970 ایک account-- scratch.mit.edu. 35 00:01:29,970 --> 00:01:32,165 36 00:01:32,165 --> 00:01:34,665 میں نے میں نے ایک کے طور پر استعمال سوچا موقع سے پہلے اس کو دکھانے کے لئے. 37 00:01:34,665 --> 00:01:39,120 ایک سوال کے وقفے کے دوران آئے تھے اس کے بارے میں کوڈ کو اصل کی طرح لگتا ہے. 38 00:01:39,120 --> 00:01:41,315 اور ہم بات کر رہے تھے C کے بارے میں وقفے کے دوران، 39 00:01:41,315 --> 00:01:45,060 میں خاص طور پر ایک particular-- ایک بڑی عمر کی زبان میں نچلے درجے. 40 00:01:45,060 --> 00:01:47,750 اور میں صرف ایک فوری کیا گوگل C کوڈ تلاش کرنے کے لئے 41 00:01:47,750 --> 00:01:51,574 بائنری تلاش، الگورتھم کے لئے یہ ہے کہ ہم اس سے قبل کہ فون بک تلاش کرنے کے لئے استعمال کیا جاتا ہے. 42 00:01:51,574 --> 00:01:54,240 اس خاص مثال، کورس کی، ایک فون بک سرچ نہیں کرتا. 43 00:01:54,240 --> 00:01:57,840 یہ صرف کی ایک پوری چڑھانے کی تلاشی کمپیوٹر کی میموری میں تعداد. 44 00:01:57,840 --> 00:02:01,000 لیکن اگر آپ صرف ایک بصری حاصل کرنے کے لئے چاہتے ہیں تو کیا ایک حقیقی پروگرامنگ کا احساس 45 00:02:01,000 --> 00:02:05,370 زبان کی طرح، ایسا لگتا ہے لگتا ہے اس طرح کچھ. 46 00:02:05,370 --> 00:02:09,759 تو یہ، کے بارے میں 20 سے زیادہ ہے کوڈ کے 30 یا اس کی لائنوں، 47 00:02:09,759 --> 00:02:12,640 لیکن گفتگو سے ہم وقفے کے اوپر کر رہے تھے 48 00:02:12,640 --> 00:02:16,000 کس طرح یہ اصل کے بارے میں تھا zeros اور ہیں میں morphed جاتا 49 00:02:16,000 --> 00:02:19,200 اور آپ کو صرف یہ ہے کہ واپس آجائے نہیں کر سکتے تو عملدرآمد اور zeros اور سے جانے 50 00:02:19,200 --> 00:02:20,210 کوڈ کو واپس. 51 00:02:20,210 --> 00:02:22,620 >> بدقسمتی سے، عمل تاکہ تغیراتی ہے 52 00:02:22,620 --> 00:02:24,890 یہ بہت آسان ہے سے زیادہ کیا کہا. 53 00:02:24,890 --> 00:02:29,400 میں آگے چلے گئے اور اصل میں تبدیل کر دیا اس پروگرام، بائنری تلاش، 54 00:02:29,400 --> 00:02:32,700 ایک کی راہ کی طرف zeros اور ہیں میں پروگرام سنکلک کہا جاتا ہے کہ میں 55 00:02:32,700 --> 00:02:34,400 اپنے میک پر یہیں ہے ہو. 56 00:02:34,400 --> 00:02:37,850 اور آپ کی سکرین پر نظر ڈالیں تو یہاں، خاص طور پر توجہ مرکوز 57 00:02:37,850 --> 00:02:43,520 ان مشرق چھ کالم پر صرف، آپ کو صرف zeros اور ہیں دیکھ لیں گے. 58 00:02:43,520 --> 00:02:48,290 اور ان لوگوں کو zeros اور ہیں کہ بالکل اس تلاش کا پروگرام تحریر. 59 00:02:48,290 --> 00:02:53,720 >> اور اس طرح پانچ بٹس میں سے ہر ایک حصہ، zeros اور ہیں میں سے ہر ایک بائٹ یہاں، 60 00:02:53,720 --> 00:02:57,310 کچھ ہدایات کی نمائندگی عام طور پر ایک کمپیوٹر کے اندر. 61 00:02:57,310 --> 00:03:00,730 اور حقیقت میں، اگر آپ نے سنا ہے کہ اگر مارکیٹنگ نعرہ "انٹیل کے اندر" - کہ، 62 00:03:00,730 --> 00:03:04,610 کورس کے، صرف آپ کو ایک کی ضرورت کا مطلب انٹیل CPU یا کمپیوٹر کے اندر دماغ. 63 00:03:04,610 --> 00:03:08,000 اور کیا ہے کہ ایک CPU ہے ہونے کا مطلب آپ ایک ہدایات قائم کیا ہے کہ، 64 00:03:08,000 --> 00:03:08,840 تو بات کرنے. 65 00:03:08,840 --> 00:03:11,620 >> دنیا میں ہر CPU، کے بہت سے انہیں ان دنوں انٹیل کی طرف سے بنایا، 66 00:03:11,620 --> 00:03:13,690 ایک محدود سمجھتا ہے دی گئی ہدایات کی تعداد. 67 00:03:13,690 --> 00:03:18,690 اور ان لوگوں کو دی گئی ہدایات پر اتنی کم سطح پر ہیں کے طور پر ایک دوسرے کے ساتھ ان دو نمبروں کا اضافہ، 68 00:03:18,690 --> 00:03:22,560 ایک دوسرے کے ساتھ ان دو نمبروں کو ضرب، یہاں سے اعداد و شمار کے اس ٹکڑے کو منتقل 69 00:03:22,560 --> 00:03:27,340 یہاں یاد میں کرنا، اس کو بچانے کے یہاں سے معلومات میموری یہاں میں، 70 00:03:27,340 --> 00:03:32,200 اور وغیرہ تو بہت، بہت کم سطح، تقریبا الیکٹرانک تفصیلات. 71 00:03:32,200 --> 00:03:34,780 لیکن ان لوگوں کے حساب کا ساتھ کارروائیوں مل کر 72 00:03:34,780 --> 00:03:37,410 ہم پہلے گفتگو کیا کے ساتھ، اعداد و شمار کی نمائندگی 73 00:03:37,410 --> 00:03:40,450 zeros اور ہیں، کے طور پر یہ کر سکتے ہیں آپ کو سب کچھ کی تعمیر 74 00:03:40,450 --> 00:03:44,180 ایک کمپیوٹر ہے کہ آیا، آج کیا کر سکتے ہیں یہ، متنی، گرافیکل، موسیقی کی ہے 75 00:03:44,180 --> 00:03:45,580 یا دوسری صورت میں. 76 00:03:45,580 --> 00:03:49,450 >> لہذا اس کو حاصل کرنے کے لئے بہت آسان ہے تیزی سے ماتمی لباس میں کھو. 77 00:03:49,450 --> 00:03:52,150 اور ایک بہت کچھ ہے نحوی چیلنجز 78 00:03:52,150 --> 00:03:56,630 جس کے تحت آپ کو آسان بنا دیں تو، پروگرام کے typos کے کوئی اور نہیں کے بیوکوفی 79 00:03:56,630 --> 00:03:57,860 جو کچھ کام کریں گے. 80 00:03:57,860 --> 00:04:00,366 اور میں تو بجائے ایک کا استعمال کرتے ہوئے C طرح زبان کی اس صبح، 81 00:04:00,366 --> 00:04:02,240 میں نے سوچا کہ یہ ہو جائے گا زیادہ مزہ اصل میں کرنے 82 00:04:02,240 --> 00:04:04,840 کچھ بصری، جس بچوں کے لئے ڈیزائن کیا گیا ہے جبکہ 83 00:04:04,840 --> 00:04:08,079 اصل میں ایک کامل اظہار ہے ایک حقیقی پروگرامنگ کی 84 00:04:08,079 --> 00:04:10,370 زبان کا صرف کے ساتھ کیا ہوتا بجائے متن کی تصاویر کا استعمال 85 00:04:10,370 --> 00:04:11,710 ان خیالات کی نمائندگی کے لئے. 86 00:04:11,710 --> 00:04:15,470 >> تم بڑے ہی ہے تو ایک بار scratch.mit.edu پر اکاؤنٹ، 87 00:04:15,470 --> 00:04:21,070 بنائیں بٹن پر کلک کریں سب سے اوپر سائٹ کے بائیں. 88 00:04:21,070 --> 00:04:24,620 اور آپ کی طرح ایک ایسا ماحول کو دیکھنا چاہئے ایک کو میں نے اپنی سکرین پر دیکھ کے بارے میں ہوں 89 00:04:24,620 --> 00:04:26,310 یہاں. 90 00:04:26,310 --> 00:04:29,350 اور ہم صرف ایک چھوٹا سا خرچ کریں گے وقت کی سا یہاں کھیل. 91 00:04:29,350 --> 00:04:34,080 ہم سب کچھ حل نہیں کر سکتے تو دیکھتے ہیں مندرجہ ذیل طریقے سے مل کر مسائل. 92 00:04:34,080 --> 00:04:39,420 >> تو کیا آپ اس کے اندر نظر آئے گا environment-- اور اصل میں صرف دو 93 00:04:39,420 --> 00:04:40,050 مجھے موقوف. 94 00:04:40,050 --> 00:04:42,680 کسی کو یہاں نہیں ہے؟ 95 00:04:42,680 --> 00:04:45,070 ادھر نہیں؟ 96 00:04:45,070 --> 00:04:45,800 ٹھیک ہے. 97 00:04:45,800 --> 00:04:49,030 تو مجھے چند باہر کی طرف اشارہ کرنے دو اس ماحول کی خصوصیات. 98 00:04:49,030 --> 00:04:55,024 >> سکرین کے اوپر بائیں میں تو، ہم اسکریچ کی سٹیج ہے، تو بات کرنے کی. 99 00:04:55,024 --> 00:04:57,440 فیرنا نہیں صرف نام ہے اس پروگرامنگ زبان کے؛ 100 00:04:57,440 --> 00:05:00,356 یہ بھی کیٹ کا نام ہے کہ آپ سنتری میں وہاں پہلے سے طے شدہ کی طرف سے. 101 00:05:00,356 --> 00:05:02,160 انہوں نے کہا کہ، ایک مرحلے پر ہے تاکہ زیادہ میں نے بیان کی طرح 102 00:05:02,160 --> 00:05:05,770 ایک میں ہونے کے طور پر پہلے کچھی آئتاکار سفید بورڈ کے ماحول. 103 00:05:05,770 --> 00:05:09,800 یہ بلی کی دنیا میں مکمل طور پر محدود ہے وہاں اس مستطیل اپ اوپ. 104 00:05:09,800 --> 00:05:12,210 >> دریں اثنا، حق پر یہاں ہاتھ کی طرف، یہ ہے 105 00:05:12,210 --> 00:05:15,610 صرف ایک سکرپٹ کے علاقے، ایک خالی سلیٹ اگر آپ. 106 00:05:15,610 --> 00:05:18,590 یہ ہے جہاں ہم لکھنے کے لئے جا رہے ہیں صرف ایک لمحے میں ہمارے پروگراموں. 107 00:05:18,590 --> 00:05:22,935 اور عمارت کے بلاکس کہ ہم کریں گے اس پہیلی پروگرام لکھنے کے لئے استعمال 108 00:05:22,935 --> 00:05:25,310 ٹکڑے ٹکڑے، آپ will-- ہو تو وسط میں یہیں پر ان لوگوں کو، 109 00:05:25,310 --> 00:05:27,500 اور وہ پر درجہ بندی کر رہے ہیں فعالیت کی طرف سے. 110 00:05:27,500 --> 00:05:31,000 لہذا، مثال کے طور پر، میں آگے جانے کے لئے جا رہا ہوں اور ان میں سے کم از کم ایک کا مظاہرہ. 111 00:05:31,000 --> 00:05:33,690 میں آگے بڑھو اور کلک کرنے کے لئے جا رہا ہوں اوپر کنٹرول زمرے. 112 00:05:33,690 --> 00:05:35,720 >> تو ان سب سے اوپر زمرہ جات ہیں. 113 00:05:35,720 --> 00:05:39,410 I کنٹرول زمرے کلک کرنے کے لئے جا رہا ہوں. 114 00:05:39,410 --> 00:05:44,020 بلکہ، میں تقریبات کلک کرنے کے لئے جا رہا ہوں زمرہ، بہت پہلے سے ایک سب سے اوپر. 115 00:05:44,020 --> 00:05:47,790 اور آپ کو بھی تقلید کرنا چاہتے ہیں ہم ایسا طور پر، آپ کے لئے بہت استقبال ہے. 116 00:05:47,790 --> 00:05:52,180 میں پر کلک کریں اور اس ھیںچیں کرنے کے لئے جا رہا ہوں سب سے پہلے ایک، "سبز پرچم جب کلک کیا." 117 00:05:52,180 --> 00:05:58,410 اور پھر میں نے صرف اسے چھوڑ کر جا رہا ہوں تقریبا میری خالی سیٹس کے سب سے اوپر. 118 00:05:58,410 --> 00:06:01,450 >> اور سکریچ کے بارے میں اچھی کیا ہے ہے اس پہیلی ٹکڑا، جب کہ 119 00:06:01,450 --> 00:06:04,560 دیگر پہیلی کے ساتھ interlocked ٹکڑے ٹکڑے کر، لفظی کرنے کے لئے کی جا رہی ہے 120 00:06:04,560 --> 00:06:06,460 ان لوگوں کو پہیلی کے ٹکڑے ٹکڑے ایسا کرنے میں کیا کہتے ہیں. 121 00:06:06,460 --> 00:06:09,710 لہذا، مثال کے طور پر، سکریچ درست ہے اب اس کی دنیا کے وسط میں. 122 00:06:09,710 --> 00:06:14,660 میں آگے بڑھو اور منتخب کرنے کے لئے جا رہا ہوں اب، چلو کا کہنا ہے، موشن زمرے، 123 00:06:14,660 --> 00:06:18,000 تمہیں کیا کرنا چاہتے ہیں تو موشن زمرے same--. 124 00:06:18,000 --> 00:06:20,430 اور اب میں ایک پوری ہے نوٹس یہاں پہیلی کے ٹکڑے ٹکڑے کے گروپ 125 00:06:20,430 --> 00:06:23,370 ایک بار پھر، اس قسم کی ہے، کہ وہ کیا کہتے ہیں. 126 00:06:23,370 --> 00:06:28,110 اور میں آگے بڑھو اور ھیںچیں کرنے کے لئے اور میں جا رہا ہوں یہیں پر ختم منتقل بلاک ڈراپ. 127 00:06:28,110 --> 00:06:31,860 >> اور جیسے ہی یہ کہ آپ کے طور پر محسوس کریں "سبز پرچم کے نیچے دیئے جائیں بند کریں 128 00:06:31,860 --> 00:06:34,580 کلک کیا "کے بٹن، نوٹس کس طرح ایک سفید لائن ظاہر ہوتا ہے، 129 00:06:34,580 --> 00:06:36,950 یہ تقریبا ہے اگرچہ کے طور پر مقناطیسی، یہ وہاں جانا چاہتی ہے. 130 00:06:36,950 --> 00:06:43,070 بس چلتے ہیں، اور یہ ٹوٹ جائے ایک دوسرے کے ساتھ اور سائز سے مطابقت کرے گا. 131 00:06:43,070 --> 00:06:46,620 شاید تقریبا اور اب آپ یہ کر سکتے ہیں جہاں ہم نے اس کے ساتھ جا رہے ہیں لگتا ہے. 132 00:06:46,620 --> 00:06:51,570 >> آپ سکریچ اسٹیج پر نظر ڈالیں تو یہاں اور اس سے زیادہ اس کے اوپر کی طرف دیکھتے ہیں، 133 00:06:51,570 --> 00:06:55,142 آپ ایک لال بتی کو نظر آئے گا، ایک سائن ان کریں، اور ایک سبز پرچم روکنے. 134 00:06:55,142 --> 00:06:57,100 اور میں آگے جانے کے لئے جا رہا ہوں اور میرے ہیں سکرین کو دیکھنے کے 135 00:06:57,100 --> 00:06:58,460 صرف ایک لمحے کے لئے، اگر آپ کر سکتے. 136 00:06:58,460 --> 00:07:01,960 میں پر کلک کرنے جا رہا ہوں سبز حق اب پرچم، 137 00:07:01,960 --> 00:07:07,850 اور وہ 10 اقدامات ہو سکتا ہے کیا میں منتقل کردیا گیا یا 10 پکسلز، 10 بندیاں، سکرین پر. 138 00:07:07,850 --> 00:07:13,390 >> اور تو ہے کہ دلچسپ نہیں، لیکن مجھے تجویز کرتے ہیں 139 00:07:13,390 --> 00:07:17,440 یہاں تک کہ اس کی تعلیم کے بغیر، صرف خود اپنے آپ کی اپنی intuition-- لشکر طیبہ کا استعمال کرتے ہوئے 140 00:07:17,440 --> 00:07:22,560 مجھے تم سے کس طرح کرنے کے جاننے تجویز حق مرحلے بند سکریچ واک. 141 00:07:22,560 --> 00:07:28,700 اس کے دائیں طرف کے لئے راہ بنا دیا ہے سکرین، ٹھیک طریقہ ہے. 142 00:07:28,700 --> 00:07:32,200 مجھے تم سے ایک لمحے کے دے دو یا اس نے اس کے ساتھ کشتی پر. 143 00:07:32,200 --> 00:07:37,681 آپ ایک نظر لینے کے لئے چاہتے ہیں کر سکتے بلاکس کی دوسری اقسام پر. 144 00:07:37,681 --> 00:07:38,180 بالکل ٹھیک. 145 00:07:38,180 --> 00:07:41,290 تو صرف recap کرنے کے لئے، ہم جب سبز پرچم یہاں کلک کیا 146 00:07:41,290 --> 00:07:44,850 اور منتقل 10 قدم ہے صرف ہدایات، ہر بار میں 147 00:07:44,850 --> 00:07:46,720 سبز پرچم پر کلک کریں، کیا ہو رہا ہے؟ 148 00:07:46,720 --> 00:07:50,070 ٹھیک ہے، کہ اپنے پروگرام چلا رہا ہے. 149 00:07:50,070 --> 00:07:52,450 لہذا میں ایسا کر سکتا ہے شاید 10 بار دستی طور پر، 150 00:07:52,450 --> 00:07:55,130 لیکن یہ ایک چھوٹا سا محسوس ہوتا ہے سا hackish، تو بات کرنے 151 00:07:55,130 --> 00:07:57,480 جس کے تحت مجھے سچ میں نہیں ہوں مسئلہ کو حل کرنے. 152 00:07:57,480 --> 00:08:00,530 میں نے صرف ایک بار پھر کوشش کر رہا ہوں اور بار بار اور دوبارہ 153 00:08:00,530 --> 00:08:03,180 جب تک میں قسم کے اتفاقی طور پر ہدایت کے حصول 154 00:08:03,180 --> 00:08:05,560 کہ میں نے پہلے حاصل کرنا چاہتی ہے. 155 00:08:05,560 --> 00:08:08,200 >> لیکن ہم سے یہ جاننا ہمارا اس سے قبل کہ وہاں pseudocode کے 156 00:08:08,200 --> 00:08:11,870 looping کے پروگراموں میں اس تصور، بار بار کچھ کر. 157 00:08:11,870 --> 00:08:14,888 اور اس طرح میں نے دیکھا ہے کہ آپ کا ایک گروپ کیا پہیلی ٹکڑا کے لئے پہنچ؟ 158 00:08:14,888 --> 00:08:17,870 159 00:08:17,870 --> 00:08:18,730 جب تک دہرائیں. 160 00:08:18,730 --> 00:08:21,400 تو ہم کچھ کر سکتا ہے جیسے جب تک دہرائیں. 161 00:08:21,400 --> 00:08:23,760 اور تم بالکل تک کیا دوبارہ کیا؟ 162 00:08:23,760 --> 00:08:27,720 163 00:08:27,720 --> 00:08:28,540 >> ٹھیک ہے. 164 00:08:28,540 --> 00:08:31,974 اور میں ہوں کہ ایک کے ساتھ چلتے ہیں صرف ایک لمحے کے لئے کسی حد تک آسان. 165 00:08:31,974 --> 00:08:33,140 مجھے آگے بڑھو اور اس کے کیا. 166 00:08:33,140 --> 00:08:35,559 آپ ہو سکتا ہے کے طور پر اس نوٹس، کنٹرول کے تحت دریافت، 167 00:08:35,559 --> 00:08:38,409 اس دوبارہ بلاک، جو وہاں ہے اس طرح نظر نہیں ہے کہ بڑا ہے. 168 00:08:38,409 --> 00:08:41,039 میں زیادہ نہیں گنجائش نہیں ہے ان دو پیلے رنگ لائنوں کے درمیان. 169 00:08:41,039 --> 00:08:43,539 لیکن تم میں سے بعض کو ہو سکتا ہے کے طور پر آپ ھیںچیں اور ڈراپ تو اس نے محسوس کیا، 170 00:08:43,539 --> 00:08:45,150 یہ شکل کو بھرنے کے لئے اگنے کس طرح محسوس. 171 00:08:45,150 --> 00:08:46,274 >> اور تم اس سے بھی زیادہ رٹنا کر سکتے ہیں. 172 00:08:46,274 --> 00:08:48,670 یہ صرف اگر بڑھتی ہوئی رکھیں گے آپ ھیںچیں اور اس پر ہوور. 173 00:08:48,670 --> 00:08:51,110 اور مجھے کیا ہے میں نہیں جانتے یہاں سب سے بہترین، تو چلو 174 00:08:51,110 --> 00:08:54,760 مجھے کم از کم کے لئے، پانچ بار دہرانے مثال کے طور پر، اور اس کے بعد اسٹیج پر واپس جانا 175 00:08:54,760 --> 00:08:56,720 اور سبز پرچم پر کلک کریں. 176 00:08:56,720 --> 00:08:59,110 اور اب یہ کافی نہیں ہے کہ محسوس. 177 00:08:59,110 --> 00:09:02,400 >> اب آپ میں سے کچھ کے طور پر، مجوزہ وکٹوریہ صرف، 10 بار دوبارہ تھی. 178 00:09:02,400 --> 00:09:05,140 اور یہ کہ عام طور پر کرتا ہے اس سے تمام راستہ حاصل، 179 00:09:05,140 --> 00:09:10,510 لیکن وہاں نہیں کریں گے ایک سے زیادہ مضبوط ہو جائے منمانے باہر figuring مقابلے میں جس طرح 180 00:09:10,510 --> 00:09:12,640 کس طرح بہت سے اقدامات کرنے کے لئے؟ 181 00:09:12,640 --> 00:09:17,680 کیا ایک بہتر کے بلاک ہو سکتا ہے دہرانے کے مقابلے میں 10 گنا ہو؟ 182 00:09:17,680 --> 00:09:20,380 >> جی ہاں، تو کیوں نہیں کچھ ہمیشہ کے لئے کرتے ہیں؟ 183 00:09:20,380 --> 00:09:24,390 اور اب مجھے یہ پہیلی ٹکڑا منتقل کرتے ہیں وہاں کے اندر اور اس میں سے ایک میں سے چھٹکارا حاصل. 184 00:09:24,390 --> 00:09:28,300 ابھی جہاں سکریچ کوئی بات محسوس شروع ہوتا ہے، وہ کنارے پر چلا جاتا ہے. 185 00:09:28,300 --> 00:09:30,700 اور شکر MIT، جو صرف، سکریچ ہوتا 186 00:09:30,700 --> 00:09:33,190 انہوں نے کہا کہ اس بات کا یقین کبھی نہیں ہوتا مکمل طور پر غائب. 187 00:09:33,190 --> 00:09:35,360 آپ ہمیشہ ان کی دم پر قبضہ کر سکتے. 188 00:09:35,360 --> 00:09:37,680 >> اور صرف intuitively پر، اسی وجہ سے وہ آگے بڑھ رہا رکھتا ہے؟ 189 00:09:37,680 --> 00:09:38,892 یہاں کیا ہورہاہے؟ 190 00:09:38,892 --> 00:09:41,440 191 00:09:41,440 --> 00:09:43,824 انہوں نے کہا کہ، بند کر دیا ہے لگتا ہے لیکن مجھے اور ڈریگ لینے پھر تو 192 00:09:43,824 --> 00:09:45,240 وہ وہاں جانا چاہتے رکھتا. 193 00:09:45,240 --> 00:09:46,123 ایسا کیوں ہے؟ 194 00:09:46,123 --> 00:09:51,610 195 00:09:51,610 --> 00:09:54,360 بے شک، ایک کمپیوٹر لفظی ہے آپ کیا کرنے کی یہ بتا کیا کیا کرنے جا. 196 00:09:54,360 --> 00:09:58,380 اگر ایسا ہے تو آپ کو یہ بتایا کہ پہلے ایسا بات یہ ہے کہ ہمیشہ کے لیے مندرجہ ذیل، 10 اقدامات پر منتقل، 197 00:09:58,380 --> 00:10:01,860 یہ جا اور جا رکھنے کے لئے جا رہا ہے میں نے سرخ رنگ سٹاپ سائن مارا جب تک 198 00:10:01,860 --> 00:10:04,620 اور مکمل طور پر پروگرام کو روکنے. 199 00:10:04,620 --> 00:10:06,610 >> تم نے نہیں کیا تو بھی اگر ایسا، کہ کس طرح میں کر سکتا ہوں 200 00:10:06,610 --> 00:10:09,510 سکریچ اقدام تیز بنانے کے سکرین بھر میں؟ 201 00:10:09,510 --> 00:10:12,060 202 00:10:12,060 --> 00:10:13,280 مزید اقدامات، ہے نا؟ 203 00:10:13,280 --> 00:10:15,710 تو بجائے 10 کر کے ایک وقت میں، ہم کیوں نہیں کرتے 204 00:10:15,710 --> 00:10:20,100 آگے بڑھو اور اس کی ضروریات کو تبدیل آپ کو 50 کیا propose-- گے؟ 205 00:10:20,100 --> 00:10:24,410 تو اب میں سبز کلک کرنے کے لئے جا رہا ہوں پرچم، اور بے شک، وہ بہت تیزی سے چلا جاتا ہے. 206 00:10:24,410 --> 00:10:27,180 >> اور یہ، کورس کے، صرف کیا ہے حرکت پذیری کی ایک مثال. 207 00:10:27,180 --> 00:10:28,060 حرکت پذیری کیا ہے؟ 208 00:10:28,060 --> 00:10:33,090 یہ صرف آپ کو انسانی پیغام دکھا رہا ہے اب بھی تصاویر کے پورے گچرچھی واقعی، 209 00:10:33,090 --> 00:10:34,160 واقعی، واقعی روزہ. 210 00:10:34,160 --> 00:10:36,500 اور اگر تو ہم صرف کہہ رہے ہیں اس کے مزید اقدامات منتقل کرنے کے لئے، 211 00:10:36,500 --> 00:10:39,750 ہم صرف اثر کرنے کے لئے ہو جائے منا رہے ہیں تبدیلی وہ سکرین پر ہے جہاں 212 00:10:39,750 --> 00:10:42,900 وقت کے تمام زیادہ تیزی سے فی یونٹ. 213 00:10:42,900 --> 00:10:46,454 >> اب اگلے چیلنج میں تجویز پیش کی کہ اس کے کنارے سے دور اچھال کرنا تھا. 214 00:10:46,454 --> 00:10:49,120 اور جانے بغیر کہ کیا پہیلی یہ ٹھیک ہے کیونکہ ٹکڑے ٹکڑے exist-- 215 00:10:49,120 --> 00:10:53,030 آپ کو حاصل نہیں ہے تو challenge-- کے اسٹیج کیا 216 00:10:53,030 --> 00:10:54,280 آپ intuitively کیا کرنا چاہتے ہو؟ 217 00:10:54,280 --> 00:10:58,030 کس طرح ہم نے اسے واپس اچھال ہوگا اور آگے، بائیں اور دائیں کے درمیان؟ 218 00:10:58,030 --> 00:11:02,630 219 00:11:02,630 --> 00:11:03,810 >> جی ہاں. 220 00:11:03,810 --> 00:11:05,680 تو ہم نے کچھ قسم کی ضرورت ہے حالت کی، اور ہم 221 00:11:05,680 --> 00:11:09,710 ، کونداٹاونالس ہے کرنے کے لئے تو کے لئے لگ رہے ہو کنٹرول زمرے کے تحت، بولتے. 222 00:11:09,710 --> 00:11:14,110 ان بلاکوں میں سے کون سا ہم شاید کیا چاہتے ہیں؟ 223 00:11:14,110 --> 00:11:15,200 جی ہاں، شاید "، تو پھر." 224 00:11:15,200 --> 00:11:18,780 تو پیلے رنگ کے بلاکس کے درمیان کہ متعلقہ ہم یہاں ہے، نہیں ہے "اگر" یہ 225 00:11:18,780 --> 00:11:23,920 یا اس "تو، ورنہ" بلاک کرے گا ہمیں ایسا کرنے کا کوئی فیصلہ کرنے کی اجازت دیتے ہیں 226 00:11:23,920 --> 00:11:25,000 یا ایسا کرنے کے لئے. 227 00:11:25,000 --> 00:11:27,380 یہاں تک کہ ان کے گھوںسلی اور آپ کر سکتے ایک سے زیادہ چیزیں کرنے کے لئے. 228 00:11:27,380 --> 00:11:34,910 یا اگر آپ ابھی تک یہاں نہیں گیا ہے تو، سینسنگ قسم سے آگے بڑھیں 229 00:11:34,910 --> 00:11:39,612 and-- یہ یہاں ہے تو دیکھتے ہیں. 230 00:11:39,612 --> 00:11:43,050 231 00:11:43,050 --> 00:11:52,050 >> تو کیا ہوا بلاک کے یہاں مددگار ثابت ہو سکتا وہ اسٹیج سے دور ہے تو پتہ لگانے کے لئے کس طرح؟ 232 00:11:52,050 --> 00:11:56,740 جی ہاں، ان بلاکوں کی کہ کچھ محسوس parametrized جا سکتا ہے، تو بات کرنے کی. 233 00:11:56,740 --> 00:12:00,706 وہ قسم کے، اپنی مرضی کے مطابق کیا جا سکتا ہے نہیں HTML برعکس کل صفات کے ساتھ، 234 00:12:00,706 --> 00:12:03,330 جہاں ان کی صفات بھی قسم کی ایک ٹیگ کے رویے اپنی مرضی کے مطابق. 235 00:12:03,330 --> 00:12:08,880 اسی طرح یہاں، میں نے اس کو چھو قبضہ کر سکتے ہیں بلاک اور تبدیلی اور سوال پوچھنا، 236 00:12:08,880 --> 00:12:11,500 آپ ماؤس کو چھو رہے ہیں کرسر کی طرح پوائنٹر 237 00:12:11,500 --> 00:12:13,250 یا آپ کو کنارے چھو رہی ہو؟ 238 00:12:13,250 --> 00:12:15,210 >> تو مجھ میں جانا ہے اور اس کے کیا. 239 00:12:15,210 --> 00:12:18,130 میں نے ایک لمحے کے لئے باہر زوم کرنے کے لئے جا رہا ہوں. 240 00:12:18,130 --> 00:12:21,320 مجھے اس پہیلی ٹکڑا پر قبضہ کرنے دیں یہاں، اس پہیلی ٹکڑا اس، 241 00:12:21,320 --> 00:12:24,570 اور میں خرابی کرنے جا رہا ہوں صرف ایک لمحے کے لئے ان کو. 242 00:12:24,570 --> 00:12:27,620 میں نے اس کو منتقل کرنے کے لئے جا رہا ہوں چھونے کنارے پر اس کو تبدیل، 243 00:12:27,620 --> 00:12:38,590 اور میں ایسا تحریک کرنے جا رہا ہوں. 244 00:12:38,590 --> 00:12:40,490 تو یہاں کچھ اجزاء ہیں. 245 00:12:40,490 --> 00:12:42,570 میں میں میں چاہتا ہوں سب کچھ مل گیا ہے لگتا ہے کہ. 246 00:12:42,570 --> 00:12:47,710 >> کس طرح کسی کو تجویز کرنا چاہیں گے میں ان کو شاید اوپر سے نیچے منسلک ہو سکتے ہیں 247 00:12:47,710 --> 00:12:52,020 ہونے کا مسئلہ حل کرنے کے لئے سکریچ اقدام کرنے کا حق کے لئے چھوڑ کرنے کا حق 248 00:12:52,020 --> 00:12:57,020 حق، ہر ایک کے بائیں کرنے کے لئے کے لئے چھوڑ دیا وقت صرف دیوار شیخی؟ 249 00:12:57,020 --> 00:12:58,050 مجھے کیا کرنا چاہیے؟ 250 00:12:58,050 --> 00:13:01,097 جس کے ٹکڑے میں سے رابطہ قائم کرنا چاہئے "جب سبز پرچم سب سے پہلے کلک کیا"؟ 251 00:13:01,097 --> 00:13:04,060 252 00:13:04,060 --> 00:13:06,200 >> ٹھیک ہے، تو ساتھ شروع کرتے ہیں "ہمیشہ کے لئے." 253 00:13:06,200 --> 00:13:07,170 اگلے اندر چلا جاتا ہے؟ 254 00:13:07,170 --> 00:13:10,290 کوئی اور. 255 00:13:10,290 --> 00:13:11,850 OK، اقدامات پر منتقل. 256 00:13:11,850 --> 00:13:12,350 بالکل ٹھیک. 257 00:13:12,350 --> 00:13:14,470 پھر کیا؟ 258 00:13:14,470 --> 00:13:15,120 تو پھر تو. 259 00:13:15,120 --> 00:13:17,720 اور محسوس، یہ لگتا ہے، اگرچہ مضبوطی سے ایک دوسرے کے ساتھ پھنسے، 260 00:13:17,720 --> 00:13:19,500 یہ صرف بھرنے کے لئے ہو جائے گا. 261 00:13:19,500 --> 00:13:21,500 یہ صرف میں نے یہ چاہتے ہیں جہاں میں کود جائے گا. 262 00:13:21,500 --> 00:13:25,920 >> اور میں دونوں کے درمیان ڈال دیا کرتے ہیں اگر اور پھر؟ 263 00:13:25,920 --> 00:13:27,180 شاید "کنارے چھو تو." 264 00:13:27,180 --> 00:13:31,800 اور نوٹس کے، ایک بار پھر، یہ بہت بڑی ہے اس کے لئے، لیکن یہ بھرنے کے لئے ہو جائے گا. 265 00:13:31,800 --> 00:13:35,002 اور پھر 15 ڈگری باری؟ 266 00:13:35,002 --> 00:13:35,710 کتنے ڈگری؟ 267 00:13:35,710 --> 00:13:38,800 268 00:13:38,800 --> 00:13:41,196 جی ہاں، تو 180 گھماؤ گے مجھے چاروں طرف راستہ. 269 00:13:41,196 --> 00:13:42,570 تو چلو دیکھتے ہیں میں نے اس کا حق مل گیا تو بتائیں. 270 00:13:42,570 --> 00:13:43,930 مجھے باہر زوم. 271 00:13:43,930 --> 00:13:45,130 >> مجھے سکریچ اپ ھیںچیں کرنے دیں. 272 00:13:45,130 --> 00:13:50,030 تو اس نے ایک چھوٹا سا مسخ شدہ ہے اب، لیکن یہ ٹھیک ہے. 273 00:13:50,030 --> 00:13:52,231 میں نے اس کو آسانی سے کیسے بحال کر سکتے ہیں؟ 274 00:13:52,231 --> 00:13:59,879 275 00:13:59,879 --> 00:14:01,045 میں نے تھوڑا سا دھوکہ دینے جا رہا ہوں. 276 00:14:01,045 --> 00:14:04,074 277 00:14:04,074 --> 00:14:05,990 تو میں نے ایک اور اضافہ کر رہا ہوں بلاک کے، صرف صاف ہو جائے. 278 00:14:05,990 --> 00:14:08,424 میں نے اسے 90 ڈگری اشارہ کرنا چاہتے ہیں ڈیفالٹ کی طرف سے دائیں کرنے کے لئے، 279 00:14:08,424 --> 00:14:10,840 تو میں نے صرف اسے بتانے جا رہا ہوں پروگرام کو ایسا کرنے کی. 280 00:14:10,840 --> 00:14:11,632 اور ہم یہاں جانا. 281 00:14:11,632 --> 00:14:14,740 282 00:14:14,740 --> 00:14:15,740 ہم نے یہ کیا ہے لگ رہے ہو. 283 00:14:15,740 --> 00:14:19,980 یہ ایک چھوٹا سا عجیب ہے کیونکہ وہ الٹا چلنا ہے. 284 00:14:19,980 --> 00:14:21,250 کی ایک مسئلے سے ہے کہ کہتے ہیں. 285 00:14:21,250 --> 00:14:22,120 یہ ایک غلطی ہے. 286 00:14:22,120 --> 00:14:27,320 ایک مسئلے ایک پروگرام، ایک میں ایک غلطی ہے منطقی خرابی میں، انسانی، بنا دیا ہے کہ. 287 00:14:27,320 --> 00:14:28,985 وہ الٹا کیوں جا رہا ہے؟ 288 00:14:28,985 --> 00:14:33,560 289 00:14:33,560 --> 00:14:35,250 MIT بگاڑ یا میں نے کیا کہا؟ 290 00:14:35,250 --> 00:14:38,840 291 00:14:38,840 --> 00:14:42,550 >> جی ہاں، میرا مطلب ہے، جو ایم آئی ٹی کی نہیں ہے غلطی. انہوں نے مجھے ایک پہیلی ٹکڑا دیا 292 00:14:42,550 --> 00:14:44,970 کہ ڈگریوں کی کچھ تعداد کی باری کا کہنا ہے کہ. 293 00:14:44,970 --> 00:14:47,672 اور وکٹوریہ کی تجویز پر، میں نے 180 ڈگری رخ کر رہا ہوں، 294 00:14:47,672 --> 00:14:48,880 جس حق انترجشتھان ہے. 295 00:14:48,880 --> 00:14:53,700 لیکن واقعی میں 180 ڈگری رخ 180 ڈگری رخ کا مطلب ہے، 296 00:14:53,700 --> 00:14:55,860 اور یہ کہ واقعی نہیں ہے میں چاہتا ہوں، بظاہر. 297 00:14:55,860 --> 00:14:58,026 کیونکہ کم از کم وہ میں ہے اس دو جہتی دنیا، 298 00:14:58,026 --> 00:15:00,740 تاکہ رجوع واقعی جا رہا ہے الٹا اسے پلٹائیں کرنے. 299 00:15:00,740 --> 00:15:04,030 >> میں شاید کیا بلاک کو استعمال کرنا چاہتے ہیں اس کی بجائے، پر آپ کو یہاں کیا دیکھ بنیاد؟ 300 00:15:04,030 --> 00:15:11,890 301 00:15:11,890 --> 00:15:14,790 ہم یہ کیسے ٹھیک ہو سکتا ہے؟ 302 00:15:14,790 --> 00:15:18,380 جی ہاں، تو ہم اشارہ کر سکتے مخالف سمت میں. 303 00:15:18,380 --> 00:15:22,300 اور اصل میں یہاں تک کہ کافی ہونے والا نہیں، 304 00:15:22,300 --> 00:15:26,410 ہم صرف ہارڈ کوڈ سکتا ہے کیونکہ بائیں یا دائیں طرف اشارہ کرتے ہوئے کرنے کے لئے. 305 00:15:26,410 --> 00:15:27,920 >> تمہیں پتہ ہے ہم کیا کر سکتے تھے؟ 306 00:15:27,920 --> 00:15:30,160 ایسا لگتا ہے کہ ہم ایک جیسے یہاں سہولت کے بلاک. 307 00:15:30,160 --> 00:15:32,987 I میں زوم تو، دیکھیں کچھ نہ کچھ ہم یہاں پسند ہے؟ 308 00:15:32,987 --> 00:15:36,120 309 00:15:36,120 --> 00:15:40,020 تو یہ لگتا ہے MIT ایک ہے جیسے تجرید یہاں میں تعمیر. 310 00:15:40,020 --> 00:15:45,440 اس بلاک کے برابر ہو جائے لگتا ہے دیگر بلاکس، جمع کی ہے جس کے لئے؟ 311 00:15:45,440 --> 00:15:49,510 >> یہ ایک بلاک کے برابر ہو جائے لگتا ہے بلاکس کے اس پورے تینوں کرنا 312 00:15:49,510 --> 00:15:50,880 کہ ہم یہاں ہے. 313 00:15:50,880 --> 00:15:54,670 یہ پتہ چلتا ہے اس لئے میں آسان بنانے کر سکتے میرا اس کے سب سے چھٹکارا حاصل کرنے کی طرف سے پروگرام 314 00:15:54,670 --> 00:15:58,270 اور صرف یہاں میں یہ ڈال. 315 00:15:58,270 --> 00:16:01,620 اور اب وہ اب بھی تھوڑا ہے چھوٹی گاڑی، اور یہ کہ اب کے لئے ٹھیک ہے. 316 00:16:01,620 --> 00:16:03,370 ہم کہ ہو چھوڑ دیں گے. 317 00:16:03,370 --> 00:16:06,000 مگر میرا پروگرام بھی ہے آسان، اور یہ بھی، 318 00:16:06,000 --> 00:16:09,060 نمائندے ہوں گے پروگرامنگ میں ایک مقصد کے 319 00:16:09,060 --> 00:16:13,430 مثالی طور پر کے طور پر آپ کے کوڈ بنانے کے لئے ہے سادہ، جلد کے طور پر کمپیکٹ کے طور پر، 320 00:16:13,430 --> 00:16:15,650 اب بھی طور پر کیا جا رہا ہے جبکہ ممکن طور پر پڑھنے کے قابل. 321 00:16:15,650 --> 00:16:20,310 آپ کو یہ اتنا succinct کے بنانے کے لئے نہیں کرنا چاہتا سمجھنے کے لئے یہ مشکل ہے کہ. 322 00:16:20,310 --> 00:16:22,826 >> لیکن میں تبدیل کر دیا ہے محسوس ایک کے ساتھ تین بلاکس، 323 00:16:22,826 --> 00:16:24,200 اور یہ کہ بلاشبہ ایک اچھی بات ہے. 324 00:16:24,200 --> 00:16:27,280 میں تصور دور پر abstracted گئے ہیں آپ کو ہو چاہے پرکھنے 325 00:16:27,280 --> 00:16:29,120 صرف ایک بلاک کے ساتھ کنارے پر. 326 00:16:29,120 --> 00:16:31,520 اب ہم اصل میں، اس کے ساتھ مذاق ہو سکتا ہے. 327 00:16:31,520 --> 00:16:35,790 یہ بہت زیادہ اضافہ نہیں کرتا دانشورانہ قدر ہیں لیکن چنچل قدر. 328 00:16:35,790 --> 00:16:39,730 میں آگے جانے کے لئے جا رہا ہوں اور یہاں اس آواز پر قبضہ. 329 00:16:39,730 --> 00:16:42,900 330 00:16:42,900 --> 00:16:46,420 تو مجھے آگے جانے دو، اور مجھے جانے دو ایک لمحے کے لئے پروگرام کو روکنے. 331 00:16:46,420 --> 00:16:52,070 میں مندرجہ ذیل ریکارڈ کرنے کے لئے جا رہا ہوں، میرے مائیکروفون تک رسائی کی اجازت دے. 332 00:16:52,070 --> 00:16:53,181 >> یہاں ہم چلے. 333 00:16:53,181 --> 00:16:53,680 آاچ. 334 00:16:53,680 --> 00:16:58,710 335 00:16:58,710 --> 00:17:01,140 چلو پھر سے کوشش کریں. 336 00:17:01,140 --> 00:17:02,279 یہاں ہم چلے. 337 00:17:02,279 --> 00:17:03,570 ٹھیک ہے، میں غلط چیز کو ریکارڈ کیا. 338 00:17:03,570 --> 00:17:04,580 یہاں ہم چلے. 339 00:17:04,580 --> 00:17:05,080 آاچ. 340 00:17:05,080 --> 00:17:07,910 341 00:17:07,910 --> 00:17:08,800 آاچ. 342 00:17:08,800 --> 00:17:09,300 بالکل ٹھیک. 343 00:17:09,300 --> 00:17:10,791 اب میں نے اس سے چھٹکارا حاصل کرنے کی ضرورت ہے. 344 00:17:10,791 --> 00:17:11,290 بالکل ٹھیک. 345 00:17:11,290 --> 00:17:13,950 >> ایک تو اب میرے پاس ہے صرف کی ریکارڈنگ "آاچ." 346 00:17:13,950 --> 00:17:18,040 ابھی تو میں نے جا رہا ہوں آگے اور کال اس "آاچ." 347 00:17:18,040 --> 00:17:20,270 میں نے واپس جانے کے لئے جا رہا ہوں میری سکرپٹ، اور اب 348 00:17:20,270 --> 00:17:25,460 نوٹس کہا جاتا ہے کہ اس بلاک نہیں ہے کھیلنے آواز "میانو" یا آواز ادا "آاچ." 349 00:17:25,460 --> 00:17:28,920 میں اس ھیںچیں کرنے کے لئے جا رہا ہوں، اور جہاں I ہاسیکر اثر کے لئے اس ڈال چاہئے؟ 350 00:17:28,920 --> 00:17:31,740 351 00:17:31,740 --> 00:17:37,860 جی ہاں، تو اب اس قسم کی ہے چھوٹی گاڑی، کیونکہ اب اس block-- 352 00:17:37,860 --> 00:17:42,050 محسوس یہ کیسے "کنارے پر ہے تو، اچھال "خود موجود کی طرح ہے. 353 00:17:42,050 --> 00:17:43,704 تو میں نے اس کو ٹھیک کرنے کی ضرورت ہے. 354 00:17:43,704 --> 00:17:44,870 مجھے آگے بڑھو اور اس کے کیا. 355 00:17:44,870 --> 00:17:48,630 مجھے اس سے چھٹکارا حاصل کرنے اور واپس جانا ہماری اصل پر، اور جان بوجھ 356 00:17:48,630 --> 00:17:49,870 فعالیت. 357 00:17:49,870 --> 00:18:01,080 تو "کنارے چھو، تو پھر" میں چاہتا ہوں وکٹوریہ تجویز کے طور پر، تبدیل کرنے کے لئے، 358 00:18:01,080 --> 00:18:02,480 180 ڈگری. 359 00:18:02,480 --> 00:18:05,497 اور میں کھیلنا چاہتے ہیں "آہ" آواز نہیں؟ 360 00:18:05,497 --> 00:18:11,800 361 00:18:11,800 --> 00:18:15,580 >> جی ہاں، یہ باہر کے نوٹس کہ پیلے رنگ کا بلاک. 362 00:18:15,580 --> 00:18:17,680 یہ بہت، بہت، ہو جائے گا ایک بگ، لیکن میں نے اسے دیکھا ہے. 363 00:18:17,680 --> 00:18:21,290 تو میں نے اسے یہاں کھینچ کر لائیں جا رہا ہوں، اور نوٹس اب یہ اندر ہے "تو." 364 00:18:21,290 --> 00:18:24,250 لہذا "اگر" اس طرح ہے جیسے بازو نما دھبے سے 365 00:18:24,250 --> 00:18:26,260 کہ صرف کرنے جا رہا ہے اس کے اندر ہے کیا کرنا ہے. 366 00:18:26,260 --> 00:18:30,216 تو اب میں بالکل باہر زوم تو annoying-- کا خطرہ 367 00:18:30,216 --> 00:18:32,860 368 00:18:32,860 --> 00:18:36,470 >> کمپیوٹر: آاچ آاچ، آاچ،. 369 00:18:36,470 --> 00:18:39,910 >> DAVID MALAN: اور یہ صرف ہمیشہ کے لئے پر جائیں گے. 370 00:18:39,910 --> 00:18:44,160 ابھی صرف چیزوں کو تیز کرنے کے یہاں، مجھے آگے بڑھو اور کھول، 371 00:18:44,160 --> 00:18:50,460 مجھ سے کچھ کے لئے جانے دو say-- دو کلاس سے میرے اپنے سامان کے. 372 00:18:50,460 --> 00:18:53,000 373 00:18:53,000 --> 00:19:00,220 اور چلو، اس کا کہنا ہے کہ مجھے کھول، ایک ہماری تعلیم ساتھیوں میں سے ایک کی طرف سے بنایا 374 00:19:00,220 --> 00:19:01,500 سال کے ایک جوڑے پہلے. 375 00:19:01,500 --> 00:19:04,732 پس تم میں سے بعض کو یاد کر سکتے پرانے سے اس کھیل، 376 00:19:04,732 --> 00:19:05,940 اور یہ اصل میں قابل ذکر ہے. 377 00:19:05,940 --> 00:19:08,190 ہم نے کیا ہے، اگرچہ حق اب پروگراموں سے آسان، 378 00:19:08,190 --> 00:19:09,980 ہے کیا اس پر غور کرتے ہیں اصل کی طرح لگتا ہے. 379 00:19:09,980 --> 00:19:10,650 مجھے ڈرامہ مارا. 380 00:19:10,650 --> 00:19:14,210 381 00:19:14,210 --> 00:19:18,980 >> تو اس کھیل میں، ہم نے ایک ہونا مینڈک، اور تیر کا استعمال کرتے ہوئے keys-- 382 00:19:18,980 --> 00:19:23,340 وہ میں remember-- سے بھی بڑا اقدامات میں نے اس مینڈک پر کنٹرول ہے. 383 00:19:23,340 --> 00:19:29,630 اور مقصد مصروف بھر میں حاصل کرنے کے لئے ہے گاڑیوں میں چلانے کے بغیر سڑک. 384 00:19:29,630 --> 00:19:34,735 اور میں یہاں تک جانا تو چلو دیکھتے دو، میں نے ایک لاگ ان کی طرف سکرال کرنے کے لئے انتظار کرنا پڑے. 385 00:19:34,735 --> 00:19:38,130 386 00:19:38,130 --> 00:19:39,274 یہ ایک مسئلے کی طرح لگتا ہے. 387 00:19:39,274 --> 00:19:42,240 388 00:19:42,240 --> 00:19:43,495 یہ ایک مسئلے کی طرح ہے. 389 00:19:43,495 --> 00:19:45,980 390 00:19:45,980 --> 00:19:46,480 بالکل ٹھیک. 391 00:19:46,480 --> 00:19:51,550 میں یہاں اس پر ہوں، وہاں، اور پھر آپ کو رکھیں 392 00:19:51,550 --> 00:19:54,100 آپ سب کو ملتا ہے جب تک جا للی پیڈ پر میںڑھک. 393 00:19:54,100 --> 00:19:55,920 اب یہ نظر ہو سکتا ہے سب سے زیادہ پیچیدہ، 394 00:19:55,920 --> 00:19:57,840 لیکن چلو توڑنے کے لئے کی کوشش کرتے ہیں اس کے نیچے ذہنی طور پر 395 00:19:57,840 --> 00:20:00,040 اور زبانی طور پر اس کے اتحادیوں بلاکس میں. 396 00:20:00,040 --> 00:20:03,910 تو شاید ایک پہیلی نہیں ہے کہ ہم نے ابھی تک نہیں دیکھا ہے ٹکڑا 397 00:20:03,910 --> 00:20:07,440 لیکن اس سے اسٹروکس پر رد عمل ہے، چیزوں پر میں نے بورڈ پر مارا. 398 00:20:07,440 --> 00:20:11,660 >> تو شاید کے کچھ قسم ہے ، کا کہنا ہے کہ چابی کے برابر ہے تو بلاک، 399 00:20:11,660 --> 00:20:15,965 پھر Scratch-- ساتھ کچھ کرنا شاید یہ 10 اقدامات اس طرح سے منتقل. 400 00:20:15,965 --> 00:20:20,240 نیچے کے بٹن کو دبایا جاتا ہے تو، 10 اقدامات پر منتقل اس طریقے سے، یا بائیں بٹن، 10 اقدامات پر منتقل 401 00:20:20,240 --> 00:20:21,710 اس طریقے سے، 10 کہ اقدامات. 402 00:20:21,710 --> 00:20:23,644 میں واضح طور پر ایک میڑک میں کیٹ آن کیا ہے. 403 00:20:23,644 --> 00:20:26,060 تو یہ صرف کہاں ہے سکریچ کالز ہم نے اسے کاسٹیوم، طور 404 00:20:26,060 --> 00:20:28,440 صرف مینڈک کی ایک تصویر سے درآمد. 405 00:20:28,440 --> 00:20:29,570 >> لیکن اور کیا ہو رہا ہے؟ 406 00:20:29,570 --> 00:20:32,794 اس کوڈ سے دوسرے لائنوں، کیا دوسری پہیلی کے ٹکڑے ٹکڑے 407 00:20:32,794 --> 00:20:35,460 بلیک نے کیا، ہماری تعلیم کے ساتھی، بظاہر، اس پروگرام میں استعمال کرتے ہیں؟ 408 00:20:35,460 --> 00:20:38,320 409 00:20:38,320 --> 00:20:42,730 کیا سب کچھ کر رہی ہے move-- کیا پروگرامنگ کی تعمیر؟ 410 00:20:42,730 --> 00:20:44,950 >> موشن، تاکہ sure-- اس بات کا یقین کے لئے، بلاک کو منتقل. 411 00:20:44,950 --> 00:20:49,330 اور یہ کہ اس اقدام کے بلاک کیا ہے کی، سب سے زیادہ امکان کے اندر؟ 412 00:20:49,330 --> 00:20:52,850 جی ہاں، لوپ کے کچھ قسم، شاید ایک ہمیشہ کے لئے بلاک، شاید دوبارہ block-- 413 00:20:52,850 --> 00:20:54,070 بلاک جب تک دہرائیں. 414 00:20:54,070 --> 00:20:57,330 اور یہ کہ کیا نوشتہ بنانے کی ہے اور للی پیڈ اور سب کچھ اقدام 415 00:20:57,330 --> 00:20:57,990 آگے پیچھے. 416 00:20:57,990 --> 00:21:00,270 یہ صرف مسلسل ہو رہا ہے. 417 00:21:00,270 --> 00:21:03,180 >> کاروں میں سے کچھ کیوں ہو دوسروں کے مقابلے میں زیادہ تیزی سے آگے بڑھ رہے ہیں؟ 418 00:21:03,180 --> 00:21:06,607 ان پروگراموں کے بارے میں مختلف کیا ہے؟ 419 00:21:06,607 --> 00:21:09,690 جی ہاں، شاید ان میں سے کچھ لے رہے ہیں ایک بار میں زیادہ اقدامات اور ان میں سے کچھ 420 00:21:09,690 --> 00:21:10,690 ایک بار میں کم اقدامات. 421 00:21:10,690 --> 00:21:14,670 اور بصری اثر سست کے مقابلے میں تیز ہے. 422 00:21:14,670 --> 00:21:16,030 >> آپ بھی ہوا کیا خیال ہے؟ 423 00:21:16,030 --> 00:21:19,700 میں نے اپنے میڑک مل گیا تو تمام طریقہ سٹریٹ اور دریا کے پار 424 00:21:19,700 --> 00:21:23,560 للی پیڈ، کچھ پر قابل ذکر ہوا. 425 00:21:23,560 --> 00:21:26,540 جیسے ہی میں نے ایسا کیا اس کو کیا ہوا؟ 426 00:21:26,540 --> 00:21:27,210 اس سے روک دیا. 427 00:21:27,210 --> 00:21:29,680 کہ میڑک کے بند کر دیا، اور میں نے ایک دوسری مینڈک ملا. 428 00:21:29,680 --> 00:21:33,155 تو کیا ہوا اگر تعمیر ہونا ضروری ہے وہاں استعمال کیا جاتا، کیا خصوصیت ہے؟ 429 00:21:33,155 --> 00:21:36,020 430 00:21:36,020 --> 00:21:38,660 >> جی ہاں، تو کی کسی طرح نہیں ہے وہاں بھی اپ حالت "اگر"،. 431 00:21:38,660 --> 00:21:41,909 out-- ہم this-- نہیں دیکھا اور یہ بدل جاتا ہے لیکن وہاں اس میں دیگر بلاکس وہاں ہے 432 00:21:41,909 --> 00:21:45,300 آپ کو چھو رہے ہیں، تو کہہ سکتے ہیں سکرین پر ایک اور بات، 433 00:21:45,300 --> 00:21:47,720 آپ "پھر." للی پیڈ، چھونے رہے ہیں اگر 434 00:21:47,720 --> 00:21:50,810 اور پھر اس وقت جب ہم ہے دوسرا میڑک ظاہر. 435 00:21:50,810 --> 00:21:54,969 تو اس کھیل کو یقینی طور پر ہے اگرچہ بہت ء، یہاں تک کہ پہلی نظر میں اگرچہ 436 00:21:54,969 --> 00:21:58,010 وہاں اتنا زیادہ ہو رہا on-- اور بلیک دو منٹ میں اس کی تحریک نہیں تھی، 437 00:21:58,010 --> 00:22:00,390 یہ شاید اسے کئی لیا گھنٹوں اس کھیل پیدا کرنے کے لئے 438 00:22:00,390 --> 00:22:03,850 ان کی یاداشت یا ویڈیوز کی بنیاد پر اس میں پرانے ورژن کی. 439 00:22:03,850 --> 00:22:07,940 لیکن ان چھوٹی چیزوں میں سے سب تنہائی میں سکرین پر جا رہا 440 00:22:07,940 --> 00:22:11,550 ان بہت آسان کرنے کے لئے نیچے ابلنا constructs-- تحریکوں یا بیانات 441 00:22:11,550 --> 00:22:15,519 جیسا کہ ہم بات چیت کی ہے، loops اور حالات، اور یہ کہ اس کے بارے میں. 442 00:22:15,519 --> 00:22:17,060 وہاں چند دیگر اچھے خصوصیات ہے. 443 00:22:17,060 --> 00:22:19,130 ان میں سے کچھ خالصتا ہیں جمالیاتی یا دونک، 444 00:22:19,130 --> 00:22:20,964 آواز کی طرح میں نے صرف کے ساتھ ادا کیا. 445 00:22:20,964 --> 00:22:23,380 لیکن سب سے زیادہ حصہ کے لئے، آپ کو یہ زبان، سکریچ میں ہے، 446 00:22:23,380 --> 00:22:25,350 بنیادی کے تمام تم نے اس کی عمارت کے بلاکس 447 00:22:25,350 --> 00:22:29,280 C، جاوا، جاوا سکرپٹ میں ہے، پی ایچ پی، روبی، ازگر، 448 00:22:29,280 --> 00:22:32,960 اور دوسری زبانوں کے کسی بھی تعداد. 449 00:22:32,960 --> 00:22:36,720 سکریچ کے بارے میں کوئی سوال ہے؟ 450 00:22:36,720 --> 00:22:37,220 بالکل ٹھیک. 451 00:22:37,220 --> 00:22:40,303 تو ہم فیرنا گہری میں کودو نہیں ہوں گے، آپ کو اس ہفتے کے آخر میں استقبال ہے، اگرچہ، 452 00:22:40,303 --> 00:22:42,860 آپ کے بچے ہیں خاص طور پر اگر، یا بتیجیاں اور بھتیجے اور اس طرح، 453 00:22:42,860 --> 00:22:44,220 سکریچ کے لئے ان کو متعارف کرانے کے لئے. 454 00:22:44,220 --> 00:22:47,960 یہ اصل میں ایک wonderfully چنچل ہے ماحول کے ساتھ، اس کے مصنفین کا کہنا ہے کہ کے طور پر، 455 00:22:47,960 --> 00:22:49,120 بہت اعلی چھتوں. 456 00:22:49,120 --> 00:22:51,670 ہم کے ساتھ شروع کر دیا، اگرچہ بہت کم سطح کی تفصیلات، 457 00:22:51,670 --> 00:22:54,890 تم واقعی میں بہت تھوڑا سا بھی کر سکتے ہیں اس کے ساتھ، اور یہ شاید ہے 458 00:22:54,890 --> 00:22:57,360 بالکل اس کے ایک مظاہرے. 459 00:22:57,360 --> 00:23:02,920 >> لیکن اب کچھ زیادہ پر منتقلی کی اجازت جدید ترین مسائل، اگر آپ، 460 00:23:02,920 --> 00:23:05,870 "تلاش" کے طور پر جانا جاتا ہے اور زیادہ عام طور پر "چھانٹ رہا ہے،". 461 00:23:05,870 --> 00:23:09,500 ہم اس فون بک earlier-- یہاں پڑا صرف discussion-- لئے ایک اور ایک 462 00:23:09,500 --> 00:23:13,460 ہم تلاش کرنے کے قابل تھے کہ زیادہ مؤثر طریقے سے کی وجہ سے 463 00:23:13,460 --> 00:23:15,270 ایک اہم مفروضہ کے. 464 00:23:15,270 --> 00:23:17,655 اور بس، صاف ہو جائے کرنے کے لئے کیا مفروضہ میں کر رہا تھا 465 00:23:17,655 --> 00:23:19,280 جب اس فون کتاب کے ذریعے تلاش؟ 466 00:23:19,280 --> 00:23:23,342 467 00:23:23,342 --> 00:23:25,300 مائیک سمتھ میں تھا فون بک، اگرچہ میں 468 00:23:25,300 --> 00:23:27,410 ہینڈل کرنے کے قابل ہو جائے گا اس کے بغیر منظر نامے 469 00:23:27,410 --> 00:23:30,720 وہاں میں نے صرف وقت سے پہلے بند کر دیا تو. 470 00:23:30,720 --> 00:23:31,806 کتاب دکھاے ہے. 471 00:23:31,806 --> 00:23:33,930 اور یہ کہ ایک بہت ادار ہے مفروضہ، کہ کیونکہ 472 00:23:33,930 --> 00:23:36,580 میں اس قسم میں ہوں someone-- کا مطلب ایک کونے کاٹنے کی، 473 00:23:36,580 --> 00:23:40,580 جیسے میں نے کسی وجہ سے تیز تر ہوں ورنہ میرے لئے مشکل بہت کام کیا. 474 00:23:40,580 --> 00:23:43,120 >> لیکن کیا اگر فون کتاب ناچھانٹا ہوا کر رہے تھے؟ 475 00:23:43,120 --> 00:23:47,050 شاید ویریزون سست ہو گئی، خصوصا پھینک دیا ہر کسی کے نام اور تعداد وہاں میں 476 00:23:47,050 --> 00:23:50,120 شاید حکم میں ہے جس میں وہ فون کی خدمت کے لئے سائن اپ کیا. 477 00:23:50,120 --> 00:23:54,570 اور کتنا وقت اس سے مجھے لگتا ہے مائیک سمتھ کی طرح کسی کو تلاش کرنے کے لئے؟ 478 00:23:54,570 --> 00:23:58,160 1،000 صفحے کے فون کے لئے کتنے کی کتاب صفحات I ذریعے تلاش کرنے کی ضرورت ہے؟ 479 00:23:58,160 --> 00:23:58,905 >> ان میں سے سب. 480 00:23:58,905 --> 00:24:00,030 آپ قسمت سے باہر طرح کی ہیں. 481 00:24:00,030 --> 00:24:03,420 آپ لفظی ہر نظر پڑے صفحہ فون کتاب صرف ہو تو 482 00:24:03,420 --> 00:24:04,450 تصادفی کے مطابق. 483 00:24:04,450 --> 00:24:06,910 تم خوش ہو جاؤ اور مائیک مل سکتا وہ اس وجہ سے، بہت پہلے صفحے پر 484 00:24:06,910 --> 00:24:08,826 سب سے پہلے گاہک تھا فون سروس آرڈر کرنے کے لئے. 485 00:24:08,826 --> 00:24:10,760 لیکن اس نے بھی گزشتہ رہا ہے ہو سکتا ہے. 486 00:24:10,760 --> 00:24:12,500 >> پس بے ترتیب ترتیب اچھا نہیں ہے. 487 00:24:12,500 --> 00:24:16,750 تو ہم کو ترتیب ہے لگتا ہے فون بک یا عام چھانٹیں ڈیٹا میں 488 00:24:16,750 --> 00:24:18,520 کہ ہم دیا گیا ہے. 489 00:24:18,520 --> 00:24:19,440 ہم ایسا کیسے کر سکتے ہیں؟ 490 00:24:19,440 --> 00:24:21,360 >> ویسے، مجھے صرف کوشش کرنے دو یہاں ایک سادہ مثال. 491 00:24:21,360 --> 00:24:24,290 مجھے آگے بڑھو اور ایک ٹاس دو بورڈ پر چند تعداد. 492 00:24:24,290 --> 00:24:35,480 نمبرز ہم ہیں مان لیں، کی، کا کہنا ہے کہ چار، دو، ایک، اور تین دو. 493 00:24:35,480 --> 00:24:38,390 اور، بین، ہمارے لئے ان کی تعداد الگ الگ. 494 00:24:38,390 --> 00:24:39,017 >> OK، اچھا. 495 00:24:39,017 --> 00:24:39,850 تم نے وہ کیسے کیا؟ 496 00:24:39,850 --> 00:24:42,731 497 00:24:42,731 --> 00:24:43,230 بالکل ٹھیک. 498 00:24:43,230 --> 00:24:44,710 تو سب سے چھوٹی کے ساتھ شروع قیمت اور اعلی ترین، 499 00:24:44,710 --> 00:24:46,084 اور یہ کہ واقعی اچھا انترجشتھان ہے. 500 00:24:46,084 --> 00:24:48,080 اور یہ کہ ہم احساس انسانوں واقعی بہت ہیں 501 00:24:48,080 --> 00:24:49,913 مسائل کو حل کرنے میں ماہر اس طرح کم از کم، 502 00:24:49,913 --> 00:24:51,810 ڈیٹا کو نسبتا چھوٹا ہے جب. 503 00:24:51,810 --> 00:24:54,860 جیسے ہی آپ کو سینکڑوں کی ضرورت کے لئے شروع کے طور پر اعداد کی، اعداد کے ہزاروں، 504 00:24:54,860 --> 00:24:58,440 نمبروں کی لاکھوں، بین شاید کافی کے استعمال سے روزہ ایسا نہیں کر سکا، 505 00:24:58,440 --> 00:25:00,620 وہاں تھے کہ سنبھالنے نمبروں میں فرق. 506 00:25:00,620 --> 00:25:03,450 ایک ملین تک گننے کے لئے بہت آسان دوسری صورت میں، صرف وقت لگتا. 507 00:25:03,450 --> 00:25:07,150 >> لہذا الگورتھم یہ لگتا ہے بین اب صرف استعمال کیا جیسے 508 00:25:07,150 --> 00:25:08,930 سب سے چھوٹی تعداد کے لئے تلاش کیا گیا تھا. 509 00:25:08,930 --> 00:25:12,900 تو ہم انسانوں کو لے جا سکتے ہیں، اگرچہ ضعف میں معلومات کا ایک بہت میں، 510 00:25:12,900 --> 00:25:14,830 ایک کمپیوٹر اصل میں ہے تھوڑا زیادہ محدود. 511 00:25:14,830 --> 00:25:17,560 کمپیوٹر صرف کر سکتے ہیں ایک وقت میں ایک بائٹ میں نظر آتے ہیں 512 00:25:17,560 --> 00:25:20,770 یا شاید چار ایک ہیں وقت پر بائٹس ان دنوں شاید 8 ایک ہیں وقت پر بائٹس 513 00:25:20,770 --> 00:25:24,450 لیکن ایک بہت چھوٹی سی تعداد کی ایک دیئے گئے وقت میں بائٹس. 514 00:25:24,450 --> 00:25:28,480 >> تو ہم واقعی ہے کہ دی چار الگ الگ اقدار یہاں 515 00:25:28,480 --> 00:25:32,440 اور اپنی ہونے کے طور پر بین سوچ سکتے ہیں انہوں نے ایک کمپیوٹر طرح تھے تو پر blinders 516 00:25:32,440 --> 00:25:36,450 وہ دوسرے کچھ بھی نہیں دیکھ سکتا ہے کہ ایک ہیں وقت میں ایک سے تعداد سے 517 00:25:36,450 --> 00:25:39,720 تو ہم عام طور پر میں جیسے، سنبھالیں گے انگریزی، ہم دائیں سے بائیں سے پڑھیں گے. 518 00:25:39,720 --> 00:25:42,870 تو سب سے پہلے تعداد میں بین شاید دیکھا میں بہت جلد پھر چار تھا اور 519 00:25:42,870 --> 00:25:44,770 یہ ایک بہت بڑی بات ہے احساس ہوا نمبر کا مجھے لگ رکھنے کے ہیں. 520 00:25:44,770 --> 00:25:45,357 >> دو بھی نہیں ہے. 521 00:25:45,357 --> 00:25:45,940 ذرا رکو. 522 00:25:45,940 --> 00:25:47,070 دو چار سے چھوٹا ہے. 523 00:25:47,070 --> 00:25:47,986 مجھے یاد کرنے جا رہا ہوں. 524 00:25:47,986 --> 00:25:49,070 دو اب سب سے چھوٹی ہے. 525 00:25:49,070 --> 00:25:50,417 ابھی one-- کہ بھی بہتر ہے. 526 00:25:50,417 --> 00:25:51,250 یہ بھی چھوٹا ہے. 527 00:25:51,250 --> 00:25:54,000 میں نے دو کے بارے میں بھول جا رہا ہوں اور ابھی ایک یاد. 528 00:25:54,000 --> 00:25:56,550 >> اور اس نے دیکھنا بند کر سکتے تھے؟ 529 00:25:56,550 --> 00:25:58,360 ٹھیک ہے، وہ مبنی سکتا ہے اس کی معلومات پر، 530 00:25:58,360 --> 00:26:00,477 لیکن وہ بہتر تلاش کروں فہرست کے باقی. 531 00:26:00,477 --> 00:26:02,060 کیونکہ فہرست میں کیا ہوگا اگر صفر تھے؟ 532 00:26:02,060 --> 00:26:03,643 کیا فہرست میں تو منفی ایک تھے؟ 533 00:26:03,643 --> 00:26:07,720 وہ صرف اس کا جواب جانتا ہے کہ وہ وسیع ہے تو درست ہے 534 00:26:07,720 --> 00:26:08,729 پوری فہرست کی جانچ پڑتال. 535 00:26:08,729 --> 00:26:10,020 تو ہم نے اس کے باقی کی طرف دیکھو. 536 00:26:10,020 --> 00:26:11,394 کہ Three-- وقت کی بربادی تھی. 537 00:26:11,394 --> 00:26:13,540 اشوب ہے، لیکن میں تھا ایسا کرنے کے لئے صحیح اب بھی. 538 00:26:13,540 --> 00:26:17,857 اور اس طرح اب وہ شاید سب سے چھوٹی تعداد کو منتخب کیا 539 00:26:17,857 --> 00:26:20,440 اور صرف شروع میں ڈال دیا فہرست، میں یہاں کیا کر لیں گے کے طور پر. 540 00:26:20,440 --> 00:26:23,480 اب تم اگرچہ، آگے کیا کیا آپ کو تقریبا اس کے بارے میں نہیں سوچا 541 00:26:23,480 --> 00:26:25,962 اس حد تک؟ 542 00:26:25,962 --> 00:26:27,670 عمل کو دہرائیں، تو لوپ کے کچھ قسم کی. 543 00:26:27,670 --> 00:26:28,920 ایک واقف خیال ہے. 544 00:26:28,920 --> 00:26:30,860 تو یہاں چار ہے. 545 00:26:30,860 --> 00:26:32,110 کہ اس وقت سب سے چھوٹی ہے. 546 00:26:32,110 --> 00:26:33,220 یہی وجہ ہے کہ ایک امیدوار کے. 547 00:26:33,220 --> 00:26:33,900 اب اور نہیں. 548 00:26:33,900 --> 00:26:34,770 اب میں دو دیکھا ہے. 549 00:26:34,770 --> 00:26:36,630 کہ اگلے سب سے چھوٹی عنصر ہے. 550 00:26:36,630 --> 00:26:40,800 کہ چھوٹے نہیں ہے Three-- لہذا، اب بین دو نکال ڈال کر سکتے ہیں. 551 00:26:40,800 --> 00:26:44,510 >> اور اب ہم اس عمل کو دہرائیں، اور کورس کے تین اگلے باہر نکالا جاتا ہے. 552 00:26:44,510 --> 00:26:45,420 عمل کو دہرائیں. 553 00:26:45,420 --> 00:26:46,990 چار باہر نکالا جاتا ہے. 554 00:26:46,990 --> 00:26:50,140 اور اب ہم نمبروں سے باہر ہیں، اتنی فہرست کے مطابق کی جائے ضروری ہے. 555 00:26:50,140 --> 00:26:51,960 >> اور یقینا، یہ ایک رسمی الگورتھم ہے. 556 00:26:51,960 --> 00:26:56,610 ایک کمپیوٹر سائنسدان گے یہ "انتخاب کی طرح،" کہتے ہیں 557 00:26:56,610 --> 00:27:00,880 خیال چھانٹیں ایک ہونے کی وجہ سے دوبارہ iteratively-- فہرست 558 00:27:00,880 --> 00:27:03,807 اور بار بار کے انتخاب سب سے چھوٹی تعداد. 559 00:27:03,807 --> 00:27:06,140 یہ ہے کے بارے میں ہے اور جو کچھ اچھا ہے یہ صرف اس لئے رفو بدیہی ہے. 560 00:27:06,140 --> 00:27:07,470 یہ اتنا آسان ہے. 561 00:27:07,470 --> 00:27:11,100 اور تم ایک ہی دوبارہ کر سکتے ہیں آپریشن بار بار. 562 00:27:11,100 --> 00:27:12,150 یہ آسان ہے. 563 00:27:12,150 --> 00:27:17,170 >> اس صورت میں یہ تیز تھی، لیکن یہ اصل میں کتنا وقت لگتا ہے؟ 564 00:27:17,170 --> 00:27:19,880 چلو اس کا لگ رہے ہو کر دو اور ایک چھوٹا سا زیادہ تکاؤ محسوس. 565 00:27:19,880 --> 00:27:24,150 تو ایک، دو، تین، چار، پانچ سے چھ، سات، آٹھ، نو، 10، 11، 12، 13، 14، 566 00:27:24,150 --> 00:27:26,160 15، 16-- صوابدیدی تعداد. 567 00:27:26,160 --> 00:27:28,780 میں نے صرف اس سے زیادہ اس چاہتے تھے صرف چار کے مقابلے میں وقت. 568 00:27:28,780 --> 00:27:30,780 تو میں نے ایک پوری ہے تو اعداد کا جتھا جو now-- 569 00:27:30,780 --> 00:27:32,420 یہاں تک کہ کوئی فرق نہیں پڑتا وہ چلو are-- کیا 570 00:27:32,420 --> 00:27:34,380 کیا اس کے بارے میں سوچنا الگورتھم واقعی کی طرح ہے. 571 00:27:34,380 --> 00:27:35,857 >> وہاں تعداد میں موجود ہیں مان لیں. 572 00:27:35,857 --> 00:27:38,190 ایک بار پھر، کوئی فرق نہیں ہے کیا وہ کر رہے ہیں، لیکن وہ بے ترتیب ہو. 573 00:27:38,190 --> 00:27:39,679 میں نے بین کی الگورتھم لگا رہی ہوں. 574 00:27:39,679 --> 00:27:41,220 میں نے سب سے چھوٹی تعداد کو منتخب کرنے کی ضرورت ہے. 575 00:27:41,220 --> 00:27:41,761 میں کیا کروں؟ 576 00:27:41,761 --> 00:27:44,240 اور میں جسمانی طور پر جا رہا ہوں یہ اس سے باہر کام کرنے کے لئے اس وقت کرتے ہیں. 577 00:27:44,240 --> 00:27:46,099 کی تلاش میں، لگ، تلاش، تلاش، تلاش کر. 578 00:27:46,099 --> 00:27:48,140 صرف میں تک پہنچنے کے وقت کی طرف سے فہرست ختم کر سکتے ہیں 579 00:27:48,140 --> 00:27:51,230 میں نے سب سے چھوٹی کا احساس نمبر دو اس وقت تھا. 580 00:27:51,230 --> 00:27:52,720 ایک فہرست میں نہیں ہے. 581 00:27:52,720 --> 00:27:54,400 تو میں نے دو نیچے رکھ. 582 00:27:54,400 --> 00:27:55,590 >> مجھے اب کیا کرنا ہے؟ 583 00:27:55,590 --> 00:27:58,600 ،، دیکھ کر، دیکھ کر تلاش کر. 584 00:27:58,600 --> 00:28:02,250 اب میں، نمبر سات پایا کیونکہ ان اعداد میں فرق نہیں ہے 585 00:28:02,250 --> 00:28:03,300 لیکن صرف صوابدیدی. 586 00:28:03,300 --> 00:28:03,800 بالکل ٹھیک. 587 00:28:03,800 --> 00:28:06,030 تو اب میں سات نیچے رکھ سکتے ہیں. 588 00:28:06,030 --> 00:28:08,860 کی تلاش میں تلاش کر، دیکھ. 589 00:28:08,860 --> 00:28:11,030 >> اب میں، کے سنبھالنے رہا ہوں کورس، بین کرتا ہے کہ نہیں 590 00:28:11,030 --> 00:28:14,780 اضافی RAM ہے، اضافی میموری، کیونکہ، کورس کے، 591 00:28:14,780 --> 00:28:16,080 میں نے اسی نمبر پر دیکھ رہا ہوں. 592 00:28:16,080 --> 00:28:18,246 بیشک مجھے یاد کر سکتے تھے ان کی تعداد میں سے سب، 593 00:28:18,246 --> 00:28:19,930 اور یہ کہ بالکل سچ ہے. 594 00:28:19,930 --> 00:28:22,610 لیکن بین سبھی یاد آئے تو اعداد کی اس نے دیکھا ہے، 595 00:28:22,610 --> 00:28:24,430 وہ سچ میں نہیں دی بنیادی پیش رفت 596 00:28:24,430 --> 00:28:26,170 وہ پہلے سے ہی ہے کیونکہ تلاش کرنے کی صلاحیت 597 00:28:26,170 --> 00:28:27,540 بورڈ پر تعداد کے ذریعے. 598 00:28:27,540 --> 00:28:29,373 سب کو یاد نمبرز، کی مدد نہیں کرتا 599 00:28:29,373 --> 00:28:32,490 انہوں نے ایک کمپیوٹر کے طور پر اب بھی کر سکتے ہیں کیونکہ ، ہم نے کہا ہے، ایک نمبر پر صرف نظر آتے ہیں 600 00:28:32,490 --> 00:28:33,080 ایک وقت میں. 601 00:28:33,080 --> 00:28:35,760 تو دھوکے باز کے کوئی ترتیب دیں وہاں ہے آپ وہاں سے استفادہ کر سکتے ہیں کہ. 602 00:28:35,760 --> 00:28:39,170 >> لہذا حقیقت میں، کے طور پر میں فہرست سے تلاش رکھنے، 603 00:28:39,170 --> 00:28:44,200 میں لفظی صرف جا رکھنے کے لئے ہے اس کے ذریعے آگے پیچھے، باہر توڑ 604 00:28:44,200 --> 00:28:45,710 اگلے سب سے چھوٹی تعداد. 605 00:28:45,710 --> 00:28:48,810 اور جب تم قسم کی اندازہ کر سکتے ہیں میری پگلی تحریکوں سے، 606 00:28:48,810 --> 00:28:50,860 یہ صرف بہت ہو جاتا ہے بہت جلد تکاؤ، 607 00:28:50,860 --> 00:28:54,850 اور میں پیچھے چل جائے لگ رہے ہو اور آگے، آگے پیچھے بہت تھوڑا سا. 608 00:28:54,850 --> 00:29:03,220 ابھی منصفانہ ہو، مجھے جانا کرنے کی ضرورت نہیں کافی کے طور پر، ٹھیک ہے، منصفانہ ہو دیکھتے دو، 609 00:29:03,220 --> 00:29:06,310 میں کافی چلنے کے لئے کی ضرورت نہیں ہے کے طور پر بہت سے اقدامات ہر بار. 610 00:29:06,310 --> 00:29:09,200 کیونکہ، کورس کے، میں نے اس کے فہرست سے تعداد کو منتخب کریں، 611 00:29:09,200 --> 00:29:11,860 باقی کی فہرست کم ہو رہی ہے. 612 00:29:11,860 --> 00:29:14,240 >> اور اس طرح کے بارے میں سوچنے دو کتنے قدم میں اصل میں ہوں 613 00:29:14,240 --> 00:29:16,010 ہر بار ذریعے traipsing کے. 614 00:29:16,010 --> 00:29:18,950 بہت پہلے صورتحال میں ہم نے 16 نمبروں تھا 615 00:29:18,950 --> 00:29:22,210 اور تو صرف دو maximally-- ایک discussion-- لئے ایسا 616 00:29:22,210 --> 00:29:25,640 میں نے 16 کے ذریعے دیکھنے کے لئے تھا سب سے چھوٹی تلاش کرنے کے لئے اعداد. 617 00:29:25,640 --> 00:29:28,420 لیکن ایک بار میں نے کاٹ لیا سب سے چھوٹی تعداد، کس طرح 618 00:29:28,420 --> 00:29:30,590 لانگ کورس کی باقی فہرست، تھا؟ 619 00:29:30,590 --> 00:29:31,420 بس 15. 620 00:29:31,420 --> 00:29:34,670 تو کس طرح بہت سے اعداد بین یا مجھے کیا ضرورت تھی کے ارد گرد دوسری بار کے ذریعے تلاش کرنے؟ 621 00:29:34,670 --> 00:29:36,832 15، بس جاؤ اور سب سے چھوٹی تلاش کرنے کے لئے. 622 00:29:36,832 --> 00:29:39,540 لیکن اب، کورس کے، فہرست، ہے بھی، اس سے پہلے تھا سے چھوٹا. 623 00:29:39,540 --> 00:29:42,540 تو کس طرح بہت سے اقدامات میں نے کیا اگلی بار لینے کے لئے ہے؟ 624 00:29:42,540 --> 00:29:49,970 14 اور پھر 13 اور پھر 12، پلس ڈاٹ، ڈاٹ،، ڈاٹ میری صرف ایک کے ساتھ چھوڑ رہا ہوں جب تک. 625 00:29:49,970 --> 00:29:53,146 تو اب ایک کمپیوٹر سائنسدان گے کیا کرتا ہے سب برابر ہے کہ اچھی طرح، پوچھنا،؟ 626 00:29:53,146 --> 00:29:55,770 یہ اصل میں کچھ ٹھوس برابر تعداد میں ہے کہ ہم یقینی طور پر کر سکتے تھے 627 00:29:55,770 --> 00:30:00,490 حسابی طریقے کرتے، لیکن ہم بات کرنا چاہتے ہیں یلگوردمز کی کارکردگی کے بارے میں 628 00:30:00,490 --> 00:30:04,940 زیادہ formulaically ایک چھوٹا سا، فہرست ہے کتنی دیر تک کی آزاد. 629 00:30:04,940 --> 00:30:06,240 >> اور اس طرح آپ کیا جانتے ہیں؟ 630 00:30:06,240 --> 00:30:09,860 یہ 16 ہے، لیکن جیسا کہ میں نے پہلے کہا، چلو صرف اس مسئلے کے سائز بلالے 631 00:30:09,860 --> 00:30:10,970 ن، جہاں ن کچھ تعداد ہے. 632 00:30:10,970 --> 00:30:13,220 شاید یہ 16 ہے، شاید یہ ہے تین، شاید یہ ایک ملین ہے. 633 00:30:13,220 --> 00:30:13,761 مجھ نہیں پتہ. 634 00:30:13,761 --> 00:30:14,390 مجھے پرواہ نہیں ہے. 635 00:30:14,390 --> 00:30:16,520 کیا میں واقعی چاہتے ہیں ایک فارمولا ہے کہ میں کر سکتا ہوں 636 00:30:16,520 --> 00:30:19,420 اس الگورتھم کا موازنہ کرنے کے لئے استعمال دوسرے یلگوردمز کے خلاف 637 00:30:19,420 --> 00:30:22,350 اگر کوئی یہ دعوی کرتے ہو سکتی ہے کہ بہتر یا بدتر ہیں. 638 00:30:22,350 --> 00:30:25,430 >> تو یہ پتہ چلا، اور صرف میں گریڈ اسکول سے یہ جانتے، 639 00:30:25,430 --> 00:30:34,790 یہ اصل میں ایک ہی کے لئے باہر کام کرتا ہے علاوہ دو کے مقابلے میں ایک این زائد ن طور چیز. 640 00:30:34,790 --> 00:30:40,020 اور یہ، کے برابر کرنے کے لئے ہوتا کورس، ن مربع علاوہ دو سے زائد ن. 641 00:30:40,020 --> 00:30:43,250 اگر تو میں نے ایک فارمولا چاہتا تھا کتنے قدم کے لئے 642 00:30:43,250 --> 00:30:46,330 بالکل تلاش میں ملوث تھے بار بار ان کی تعداد کے 643 00:30:46,330 --> 00:30:52,681 اور بار بار، میں کہیں گے یہ مربع ن ہے کے علاوہ دو سے زائد ن. 644 00:30:52,681 --> 00:30:53,430 لیکن تم کیا جانتے ہو؟ 645 00:30:53,430 --> 00:30:54,500 یہ صرف گندا لگ رہا ہے. 646 00:30:54,500 --> 00:30:56,470 میں صرف واقعی ایک چاہتا ہوں چیزوں کی عام معنوں. 647 00:30:56,470 --> 00:30:58,810 اور تم سے یاد کر سکتے ہیں ہائی اسکول ہے کہ 648 00:30:58,810 --> 00:31:00,660 سب سے زیادہ آرڈر کی اصطلاح کے تصور ہے. 649 00:31:00,660 --> 00:31:05,300 ان شرائط میں سے کون، ن مربع، ن، یا نصف، 650 00:31:05,300 --> 00:31:07,550 وقت کے ساتھ سب سے زیادہ اثر پڑتا ہے؟ 651 00:31:07,550 --> 00:31:11,920 بڑا N، ہو جاتا ہے جس سب سے زیادہ ان معاملات کا؟ 652 00:31:11,920 --> 00:31:15,560 >> دوسرے الفاظ میں، میں نے پلگ ہے تو لاکھوں میں، ن مربع 653 00:31:15,560 --> 00:31:17,900 سب سے زیادہ امکان ہو جا رہا ہے غالب عنصر، 654 00:31:17,900 --> 00:31:21,670 ایک ملین اوقات خود ایک بہت بڑا ہے 655 00:31:21,670 --> 00:31:23,682 مقابلے کے علاوہ ایک اضافی ملین. 656 00:31:23,682 --> 00:31:24,390 تو تم کیا جانتے ہو؟ 657 00:31:24,390 --> 00:31:27,305 یہ اس طرح ایک خوفناک بڑی ہے نمبر آپ ایک بڑی تعداد مربع تو. 658 00:31:27,305 --> 00:31:28,430 یہ واقعی کوئی فرق نہیں پڑتا. 659 00:31:28,430 --> 00:31:30,596 ہم صرف صلیب جا رہے ہیں باہر اور اس کے بارے میں بھول جاؤ. 660 00:31:30,596 --> 00:31:34,250 اور اس طرح ایک کمپیوٹر سائنسدان کہیں گے کہ اس الگورتھم کی کارکردگی 661 00:31:34,250 --> 00:31:37,850 (ن) کے حکم پر ہے squared-- میرا مطلب ہے حقیقی معنوں میں ایک سننکٹن. 662 00:31:37,850 --> 00:31:40,810 اس طرح کی تقریبا ن مربع رہا ہے. 663 00:31:40,810 --> 00:31:44,130 وقت گزرنے کے ساتھ، بڑی اور بڑے ن اس، ہو جاتا ہے 664 00:31:44,130 --> 00:31:47,610 کیا اس کے لئے ایک اچھا تخمینہ ہے کارکردگی یا کارکردگی کی کمی کی وجہ سے 665 00:31:47,610 --> 00:31:49,400 اس الگورتھم کی اصل ہے. 666 00:31:49,400 --> 00:31:52,040 اور میں نے اخذ کردہ، کورس کی، دراصل ریاضی کرنے سے. 667 00:31:52,040 --> 00:31:54,040 لیکن اب میں نے صرف لہراتے ہوں میرے ہاتھوں، میں کیونکہ صرف 668 00:31:54,040 --> 00:31:55,790 اس الگورتھم کا ایک عام احساس چاہتے ہیں. 669 00:31:55,790 --> 00:31:58,850 >> چنانچہ اسی منطق کا استعمال کرتے ہوئے، اس دوران، اس کی ایک اور الگورتھم پر غور کرتے ہیں 670 00:31:58,850 --> 00:32:01,162 ہم نے پہلے ہی لمبائی تو لکیری تلاش دیکھا. 671 00:32:01,162 --> 00:32:02,870 جب میں تلاش کر رہا تھا فون کی کتاب کے لئے 672 00:32:02,870 --> 00:32:05,980 یہ چھںٹائی نہیں، تلاش کرنا فون کی کتاب کے ذریعے 673 00:32:05,980 --> 00:32:09,197 ہم یہ تھا کہ کہہ رکھا 1،000 اقدامات، یا 500 اقدامات. 674 00:32:09,197 --> 00:32:10,280 لیکن چلو کہ سامانییکرن بتائیں. 675 00:32:10,280 --> 00:32:12,860 میں ن صفحات موجود ہے تو فون بک، کیا ہے 676 00:32:12,860 --> 00:32:17,250 وقت چل رہا ہے یا لکیری تلاش کی کارکردگی؟ 677 00:32:17,250 --> 00:32:19,750 اس کے حکم پر ہے کتنے قدم کو تلاش کرنے کے 678 00:32:19,750 --> 00:32:24,210 مائیک سمتھ لکیری تلاش کا استعمال کرتے ہوئے، پہلی الگورتھم، یا اس سے بھی دوسرا؟ 679 00:32:24,210 --> 00:32:27,240 680 00:32:27,240 --> 00:32:31,710 >> بدترین صورت، مائیک میں کتاب کے آخر میں ہے. 681 00:32:31,710 --> 00:32:35,590 فون بک 1،000 صفحات ہیں اگر ایسا ہے تو، ہم،، آخری بار کہا بدترین صورت میں 682 00:32:35,590 --> 00:32:38,380 یہ تقریبا کس طرح لے سکتا ہے مائیک تلاش کرنے کے لئے بہت سے صفحات؟ 683 00:32:38,380 --> 00:32:38,990 1،000 طرح. 684 00:32:38,990 --> 00:32:39,830 یہ ایک اوپری پابند ہے. 685 00:32:39,830 --> 00:32:41,790 یہ ایک سب سے زیادہ ممکن صورت حال ہے. 686 00:32:41,790 --> 00:32:44,410 لیکن پھر، ہم دور جا رہے ہیں اب 1،000 طرح نمبروں سے. 687 00:32:44,410 --> 00:32:45,730 یہ صرف ن ہے. 688 00:32:45,730 --> 00:32:47,470 >> لہذا منطقی انجام کیا ہے؟ 689 00:32:47,470 --> 00:32:50,210 ایک فون میں Mike کی تلاش این صفحات ہیں کہ کتاب 690 00:32:50,210 --> 00:32:55,280 بہت بدترین صورت میں، لے سکتا ہے، کس طرح بہت سے (ن) کے حکم پر اقدامات؟ 691 00:32:55,280 --> 00:32:58,110 اور یقینا ایک کمپیوٹر سائنسدان کہیں گے 692 00:32:58,110 --> 00:33:02,340 وقت چل رہا، یا یہ کہ کارکردگی یا موثریت 693 00:33:02,340 --> 00:33:07,470 یا نااہلی، کی طرح ایک الگورتھم کے ایک لکیری تلاش این کی ترتیب پر ہے. 694 00:33:07,470 --> 00:33:10,010 اور ہم ایک ہی درخواست دے سکتے ہیں کچھ باہر سے تجاوز کر کی منطق 695 00:33:10,010 --> 00:33:13,170 جیسا کہ میں نے صرف دوسرے کے ساتھ کیا الگورتھم ہم، فون بک کے ساتھ تھا 696 00:33:13,170 --> 00:33:16,040 جہاں ہم ایک وقت میں دو صفحات چلا گیا. 697 00:33:16,040 --> 00:33:20,120 >> لہذا 1،000 صفحے فون بک شاید ایک ہمارے 500 صفحے موڑ لے، اس کے علاوہ 698 00:33:20,120 --> 00:33:21,910 ہم تھوڑا سا واپس دوگنا ہے تو. 699 00:33:21,910 --> 00:33:26,590 تو ایک فون بک N صفحات ہیں تو، لیکن ہم، ایک وقت میں دو صفحات کر رہے ہیں 700 00:33:26,590 --> 00:33:28,900 کہ تقریبا کیا ہے؟ 701 00:33:28,900 --> 00:33:33,190 دو N، تاکہ دو سے زائد ن کی طرح ہے. 702 00:33:33,190 --> 00:33:38,490 لیکن میں دعوی ایک بنا دیا لمحے پہلے two-- زیادہ ہے کہ (ن) 703 00:33:38,490 --> 00:33:41,060 یہ صرف ن کے طور پر اسی کی طرح ہے. 704 00:33:41,060 --> 00:33:44,050 یہ صرف ایک مستقل عنصر ہے کمپیوٹر سائنسدانوں کہیں گے. 705 00:33:44,050 --> 00:33:45,970 کی واحد پر توجہ دیں متغیر، really-- 706 00:33:45,970 --> 00:33:47,780 مساوات میں سب سے بڑا متغیر. 707 00:33:47,780 --> 00:33:52,530 >> تو لکیری تلاش، ایک کیا چاہے ایک وقت میں صفحہ یا ایک وقت میں دو صفحات، 708 00:33:52,530 --> 00:33:54,810 چھانٹیں کے بنیادی ایک ہی ہے. 709 00:33:54,810 --> 00:33:56,880 یہ (ن) کے حکم پر اب بھی ہے. 710 00:33:56,880 --> 00:34:01,930 لیکن میں نے پہلے میری تصویر کے ساتھ دعوی کیا تیسری الگورتھم نہیں تھا 711 00:34:01,930 --> 00:34:02,480 لکیری. 712 00:34:02,480 --> 00:34:03,605 یہ ایک براہ راست لائن میں نہیں تھا. 713 00:34:03,605 --> 00:34:08,659 واضح رہے کہ مڑے ہوئے لائن میں تھا، اور الجبری نے فارمولہ کیا تھا؟ 714 00:34:08,659 --> 00:34:11,812 (ن) کے تبا تو (ن) کی بنیاد دو لاگ ان کریں. 715 00:34:11,812 --> 00:34:14,520 اور ہم بھی میں جانے کی ضرورت نہیں ہے لاگرتھم پر زیادہ سے زیادہ تفصیل آج، 716 00:34:14,520 --> 00:34:17,394 لیکن اکثر کمپیوٹر کے سائنسدانوں نے نہ مانا یہاں تک کہ آپ کو بتا بنیاد کی کیا بات ہے. 717 00:34:17,394 --> 00:34:20,639 یہ ہے کیونکہ سب صرف مسلسل عوامل، تو بات کرنے 718 00:34:20,639 --> 00:34:22,659 صرف معمولی عددی اختلافات. 719 00:34:22,659 --> 00:34:31,179 اور اس طرح یہ ایک بہت عام ہو جائے گی خاص طور پر باقاعدہ کمپیوٹر کے لئے راستہ 720 00:34:31,179 --> 00:34:33,949 ایک بورڈ کے سائنسدانوں یا ایک سفید بورڈ میں پروگرامرز 721 00:34:33,949 --> 00:34:36,889 اصل بحث جس وہ استعمال کریں گے الگورتھم 722 00:34:36,889 --> 00:34:39,500 یا جو کی کارکردگی کے ان کے الگورتھم ہے. 723 00:34:39,500 --> 00:34:42,960 >> اور یہ ضروری نہیں کہ کچھ نہیں ہے آپ کو کسی بھی بڑی تفصیل سے تبادلہ خیال کریں 724 00:34:42,960 --> 00:34:47,889 لیکن ایک اچھے پروگرامر کوئی ہے جو ایک ٹھوس، رسمی پس منظر ہے. 725 00:34:47,889 --> 00:34:50,120 انہوں نے کہا کہ سے بات کرنے کے قابل ہے جس طرح کے اس قسم میں آپ 726 00:34:50,120 --> 00:34:53,350 اور اصل میں بنانے کے کے طور پر گتاتمک دلائل 727 00:34:53,350 --> 00:34:56,870 میں کیوں کسی ایک الگورتھم یا سافٹ ویئر کی ایک ٹکڑا 728 00:34:56,870 --> 00:35:00,165 آپس میں کسی طرح سے برتر ہے. 729 00:35:00,165 --> 00:35:02,540 کیونکہ آپ ضرور کر سکتے تھے صرف ایک شخص کے پروگرام کو چلانے کے 730 00:35:02,540 --> 00:35:04,980 اور سیکنڈ کی تعداد شمار جو کچھ تعداد ترتیب لیتا، 731 00:35:04,980 --> 00:35:06,710 اور آپ کو کچھ چلا سکتے ہیں دوسرے شخص کے پروگرام 732 00:35:06,710 --> 00:35:08,418 اور نمبر شمار سیکنڈ کی یہ لیتا ہے. 733 00:35:08,418 --> 00:35:12,840 لیکن یہ ایک سے زیادہ عام طریقہ ہے کہ آپ یلگوردمز کا تجزیہ کرنے کے لئے استعمال کر سکتے، 734 00:35:12,840 --> 00:35:15,520 اگر آپ، صرف پر کاغذ یا صرف زبانی طور پر. 735 00:35:15,520 --> 00:35:18,430 بغیر بغیر بھی، اسے چلانے یہاں تک کہ، نمونہ آدانوں کی کوشش کر 736 00:35:18,430 --> 00:35:20,180 تم صرف اس کے ذریعے استدلال کر سکتے ہیں. 737 00:35:20,180 --> 00:35:24,670 اور اس طرح ایک ڈویلپر یا تو کی خدمات حاصل کرنے کے ساتھ اس کے ہونے کا یا اس طرح کی آپ کے لئے دلیل دیتے ہیں 738 00:35:24,670 --> 00:35:28,460 کیوں ان کے الگورتھم، ان کے خفیہ اربوں تلاش کے لئے چٹنی 739 00:35:28,460 --> 00:35:30,580 کے لئے ویب صفحات کے آپ کمپنی بہتر ہے، ان 740 00:35:30,580 --> 00:35:33,302 دلائل کی قسم کے ہیں وہ مثالی طور پر بنانے کے لئے کے قابل ہونا چاہئے. 741 00:35:33,302 --> 00:35:35,010 یا کم از کم یہ ہیں ان چیزوں کی قسم 742 00:35:35,010 --> 00:35:40,211 اس میں، بحث میں آئے گی ایک بہت ہی باضابطہ بحث میں کم از کم. 743 00:35:40,211 --> 00:35:40,710 بالکل ٹھیک. 744 00:35:40,710 --> 00:35:44,400 لہذا بین ایسی چیز تجویز پیش انتخاب کی طرح بلایا. 745 00:35:44,400 --> 00:35:48,200 لیکن میں نہیں ہے کہ تجویز کرنے کے لئے جا رہا ہوں ، یہ کر بھی کے دوسرے طریقوں. 746 00:35:48,200 --> 00:35:50,400 مجھے سچ میں پسند نہیں کیا کیا بین کی الگورتھم کے بارے میں 747 00:35:50,400 --> 00:35:54,400 کہ اس نے چلنے سے رکھا، یا ہے مجھے آگے پیچھے، چلتے ہوے 748 00:35:54,400 --> 00:35:56,930 اور آگے پیچھے اور آگے پیچھے. 749 00:35:56,930 --> 00:36:04,130 بجائے تو میں کیا کرنے کے لئے تھے کیا یہاں ان کی تعداد کی طرح کچھ 750 00:36:04,130 --> 00:36:08,200 اور میں صرف ہر ایک کے ساتھ نمٹنے کے لئے تھے تعداد کے نتیجے میں مجھے یہ دیا رہا ہوں کے طور پر؟ 751 00:36:08,200 --> 00:36:10,780 >> دوسرے الفاظ میں، یہاں ہے نمبروں کی فہرست. 752 00:36:10,780 --> 00:36:12,944 چار، ایک، تین، دو. 753 00:36:12,944 --> 00:36:14,360 اور میں نے مندرجہ ذیل کر جا رہا ہوں. 754 00:36:14,360 --> 00:36:17,230 میں اعداد داخل کرنے جا رہا ہوں جہاں وہ بلکہ تعلق رکھتے ہیں 755 00:36:17,230 --> 00:36:18,980 ایک وقت میں ان میں سے ایک کو منتخب کرنے کے مقابلے میں. 756 00:36:18,980 --> 00:36:20,820 دوسرے الفاظ میں، یہاں کی تعداد چار ہے. 757 00:36:20,820 --> 00:36:22,430 >> یہ ہے میرا اصل فہرست ہے. 758 00:36:22,430 --> 00:36:25,290 اور میں برقرار رکھنے کے لئے جا رہا ہوں بنیادی طور پر ایک نیا یہاں فہرست. 759 00:36:25,290 --> 00:36:26,710 تو کیا یہ پرانے فہرست ہے. 760 00:36:26,710 --> 00:36:28,560 یہ نئی فہرست ہے. 761 00:36:28,560 --> 00:36:30,220 میں نے نمبر چار پہلی دیکھیں. 762 00:36:30,220 --> 00:36:34,500 میری نئی فہرست، ابتدائی طور پر خالی ہے تو یہ trivially معاملہ ہے 763 00:36:34,500 --> 00:36:36,410 کہ چار اب مختلف فہرست ہے. 764 00:36:36,410 --> 00:36:39,560 میں نے ابھی جو نمبر مجھے دیا رہا ہوں لے جا رہا ہوں، اور میں اپنی نئی فہرست میں ڈال رہا ہوں. 765 00:36:39,560 --> 00:36:41,460 >> اس نئی فہرست کے مطابق ہے؟ 766 00:36:41,460 --> 00:36:41,990 جی ہاں. 767 00:36:41,990 --> 00:36:45,090 صرف ایک نہیں ہے کیونکہ یہ بیوکوف ہے عنصر، لیکن یہ بالکل مطابق ہے. 768 00:36:45,090 --> 00:36:46,390 جگہ سے باہر کچھ بھی نہیں ہے. 769 00:36:46,390 --> 00:36:49,290 یہ زیادہ دلچسپ ہے، اس الگورتھم، میں نے اگلے مرحلے پر منتقل جب. 770 00:36:49,290 --> 00:36:50,550 >> اب میں سے ایک ہے. 771 00:36:50,550 --> 00:36:55,430 تو ایک، کورس کے، میں تعلق رکھتا ہے آغاز یا اس نئی فہرست کے آخر؟ 772 00:36:55,430 --> 00:36:56,360 شروعات. 773 00:36:56,360 --> 00:36:58,530 تو اب میں کچھ کام کرنا ہے. 774 00:36:58,530 --> 00:37:01,410 میں نے کچھ لے رہی ہے میرے مارکر کے ساتھ آزادیوں 775 00:37:01,410 --> 00:37:03,120 صرف چیزوں ڈرائنگ کی طرف سے میں نے ان سے چاہتے ہیں، جہاں، 776 00:37:03,120 --> 00:37:05,320 لیکن یہ واقعی نہیں ہے ایک کمپیوٹر میں درست. 777 00:37:05,320 --> 00:37:08,530 ایک کمپیوٹر، جیسا کہ ہم جانتے ہیں، RAM، یا رینڈم رسائی میموری، 778 00:37:08,530 --> 00:37:12,411 اور یہ کہ ایک بائٹ ہے اور دوسرے بائٹ اور دوسرے بائٹ. 779 00:37:12,411 --> 00:37:14,910 اور تم میں ایک گیگا بائٹ ہے تو RAM، آپ کو ایک ارب بائٹس ہے، 780 00:37:14,910 --> 00:37:16,680 لیکن وہ ایک جگہ میں جسمانی طور پر ہو. 781 00:37:16,680 --> 00:37:19,540 تم بس کے ارد گرد چیزیں منتقل نہیں کر سکتے بورڈ پر ڈرائنگ کی طرف سے 782 00:37:19,540 --> 00:37:20,750 جہاں بھی تم چاہتے. 783 00:37:20,750 --> 00:37:24,090 میری نئی فہرست ہے تو یاد میں چار مقامات، 784 00:37:24,090 --> 00:37:27,480 بدقسمتی سے چار ہے پہلے سے ہی غلط جگہ میں. 785 00:37:27,480 --> 00:37:30,410 >> تو نمبر داخل کرنے کے لئے ایک میں یہاں صرف اسے اپنی طرف متوجہ نہیں کر سکتے. 786 00:37:30,410 --> 00:37:31,901 یہ میموری مقام موجود نہیں ہے. 787 00:37:31,901 --> 00:37:35,150 یہ دھوکہ ہو گا، اور میں کیا گیا ہے چند منٹ کے لئے pictorially کا دھوکہ 788 00:37:35,150 --> 00:37:35,800 یہاں. 789 00:37:35,800 --> 00:37:40,950 تو واقعی، میں یہاں ایک ڈال کرنا چاہتے ہیں تو، میں نے عارضی طور پر کاپی کرنے کے لئے چار ہے 790 00:37:40,950 --> 00:37:43,030 اور پھر وہاں ایک ڈال. 791 00:37:43,030 --> 00:37:45,500 >> یہی وجہ ہے کہ یہ صحیح ہے ٹھیک ہے،، کہ تکنیکی طور پر ممکن ہے، 792 00:37:45,500 --> 00:37:48,410 لیکن ہے کہ اضافی کام ہے احساس. 793 00:37:48,410 --> 00:37:50,460 میں نے صرف جگہ میں تعداد کو پیش نہیں کیا گیا. 794 00:37:50,460 --> 00:37:53,026 میں نے سب سے پہلے ایک منتقل کرنا پڑا تعداد میں، پھر، جگہ میں ڈال دیا 795 00:37:53,026 --> 00:37:54,650 تاکہ میں اس قسم کی کام کی میری رقم دوگنی. 796 00:37:54,650 --> 00:37:55,660 تاکہ ذہن میں رکھنے کے. 797 00:37:55,660 --> 00:37:57,120 >> لیکن اب میں اس عنصر کے ساتھ کیا کر رہا ہوں. 798 00:37:57,120 --> 00:37:59,056 اب میں نمبر تین پر قبضہ کرنا چاہتے. 799 00:37:59,056 --> 00:38:00,430 کہاں، کورس کے، یہ تعلق رکھتا ہے؟ 800 00:38:00,430 --> 00:38:01,480 درمیان میں. 801 00:38:01,480 --> 00:38:03,650 میں اب دھوکہ نہیں دے سکتی اور صرف وہاں ڈال دیا، 802 00:38:03,650 --> 00:38:06,770 کیونکہ، ایک بار پھر، اس میموری جسمانی مقامات میں ہے. 803 00:38:06,770 --> 00:38:10,900 تو میں نے چار کاپی کرنے کے لئے ہے اور یہاں پر تین ڈال. 804 00:38:10,900 --> 00:38:11,550 نہیں ایک بڑا سودا. 805 00:38:11,550 --> 00:38:14,610 یہ صرف ایک اضافی قدم ہے again-- بہت سستا لگ رہا ہے. 806 00:38:14,610 --> 00:38:16,445 >> لیکن اب میں دو پر منتقل. 807 00:38:16,445 --> 00:38:17,820 دو، کورس کی، یہاں سے تعلق رکھتا ہے. 808 00:38:17,820 --> 00:38:20,990 اب آپ کس طرح دیکھنے کے لئے شروع کام کی جگہ ڈھیر کر سکتے ہیں. 809 00:38:20,990 --> 00:38:23,520 اب میں کیا کرنا ہے؟ 810 00:38:23,520 --> 00:38:28,570 جی ہاں، میں نے چار میں منتقل ہے، میں نے تو، تین کاپی کرنے کے لئے ہے 811 00:38:28,570 --> 00:38:31,200 اور اب میں دو داخل کر سکتے ہیں. 812 00:38:31,200 --> 00:38:34,460 اور یہ ساتھ پکڑنے الگورتھم، دلچسپ بات یہ کافی، 813 00:38:34,460 --> 00:38:41,050 کہ ہم ایک زیادہ شدید ہے لگتا ہے کہ ہے اس کے آٹھ، سات کہنے دو جہاں کیس، 814 00:38:41,050 --> 00:38:45,150 چھ، پانچ، چار، تین، دو، ایک. 815 00:38:45,150 --> 00:38:49,450 یہ بہت سے سیاق و سباق میں، ہے، بدترین حالات، 816 00:38:49,450 --> 00:38:51,570 خوفناک چیز ہے کیونکہ لفظی پیچھے کی طرف ہے. 817 00:38:51,570 --> 00:38:53,670 >> یہ واقعی میں ایسا نہیں ہوتا ، بین کی الگورتھم کو متاثر 818 00:38:53,670 --> 00:38:55,940 کیونکہ بین کی انتخاب میں چھانٹیں وہ رکھنے کے لئے جا رہا ہے 819 00:38:55,940 --> 00:38:58,359 آگے پیچھے فہرست کے ذریعے جا. 820 00:38:58,359 --> 00:39:01,150 اور وہ ہمیشہ دیکھ رہا تھا کیونکہ پوری باقی ماندہ فہرست کے ذریعے، 821 00:39:01,150 --> 00:39:02,858 اس سے کوئی فرق نہیں پڑتا جہاں عناصر ہیں. 822 00:39:02,858 --> 00:39:05,630 لیکن میری داخل کے ساتھ اس معاملے میں approach-- چلو اس کی کوشش کرتے ہیں. 823 00:39:05,630 --> 00:39:08,616 >> تو ایک، دو، تین، چار، پانچ، چھ، سات، آٹھ. 824 00:39:08,616 --> 00:39:11,630 ایک دو تین چار، پانچ، چھ، سات، آٹھ. 825 00:39:11,630 --> 00:39:14,320 I، آٹھ لے جا رہا ہوں اور میں نے یہ کہاں رکھنی چاہئیے؟ 826 00:39:14,320 --> 00:39:17,260 ٹھیک ہے، میری فہرست کے آغاز میں، اس نئی فہرست کے مطابق ہے کیونکہ. 827 00:39:17,260 --> 00:39:18,760 اور میں نے اسے باہر سے تجاوز. 828 00:39:18,760 --> 00:39:20,551 >> میں کہاں ڈال دیا کرتے ہیں ساتوں؟ 829 00:39:20,551 --> 00:39:21,050 لعنت ہو. 830 00:39:21,050 --> 00:39:23,174 اس سے، وہاں جانے کی ضرورت ہے تاکہ میں نے کچھ کو کاپی کرنا ہے. 831 00:39:23,174 --> 00:39:26,820 832 00:39:26,820 --> 00:39:28,480 اور اب سات یہاں جاتا ہے. 833 00:39:28,480 --> 00:39:29,860 اب میں چھ پر منتقل. 834 00:39:29,860 --> 00:39:30,980 اب یہ اس سے بھی زیادہ کام ہے. 835 00:39:30,980 --> 00:39:32,570 >> آٹھ یہاں جانا ہے. 836 00:39:32,570 --> 00:39:33,920 سات یہاں جانا ہے. 837 00:39:33,920 --> 00:39:35,450 ابھی چھ یہاں جا سکتے ہیں. 838 00:39:35,450 --> 00:39:37,950 اب میں پانچ قبضہ. 839 00:39:37,950 --> 00:39:40,560 ابھی آٹھ جانا ہے یہاں، سات یہاں جانا ہے، 840 00:39:40,560 --> 00:39:43,650 چھ یہاں جانا ہے، اور اب پانچ اور دہرانے. 841 00:39:43,650 --> 00:39:46,610 اور میں بہت زیادہ ہوں مسلسل آگے بڑھ رہے ہیں. 842 00:39:46,610 --> 00:39:52,950 >> لہذا آخر میں، اس الگورتھم ہم کریں گے اسے فون اندراج اصل sort-- 843 00:39:52,950 --> 00:39:55,020 بھی، کام کی ایک بہت ہے. 844 00:39:55,020 --> 00:39:56,970 یہ صرف مختلف ہے بین کی نسبت کام کی قسم. 845 00:39:56,970 --> 00:40:00,090 بین کے کام مجھے جا پڑا آگے اور پیچھے ہر وقت، 846 00:40:00,090 --> 00:40:03,510 اگلے سب سے چھوٹی کو منتخب عنصر بار بار. 847 00:40:03,510 --> 00:40:06,660 تو اس کے کام کی یہ بہت بصری قسم کا تھا. 848 00:40:06,660 --> 00:40:10,600 >> یہ دیگر الگورتھم، جو اب بھی ہے correct-- جو کام مل جائے گا done-- 849 00:40:10,600 --> 00:40:12,800 صرف کام کی مقدار میں تبدیلی. 850 00:40:12,800 --> 00:40:15,420 ایسا لگتا ہے کہ ابتدائی طور پر آپ ہیں کی طرح آپ کو صرف ہو کیونکہ، بچت 851 00:40:15,420 --> 00:40:19,190 ہر عنصر کے ساتھ نمٹنے سامنے سب کے چلنے کے بغیر 852 00:40:19,190 --> 00:40:20,930 بین کی طرح فہرست کے ذریعے طریقہ تھا. 853 00:40:20,930 --> 00:40:25,300 لیکن مسئلہ یہ ہے، خاص طور پر ان میں یہ سب کو پیچھے کی طرف ہے جہاں پاگل مقدمات، 854 00:40:25,300 --> 00:40:27,830 آپ کی قسم کی صرف ہو مشکل کام ملتوی 855 00:40:27,830 --> 00:40:30,360 آپ کو اپنی غلطیوں کو ٹھیک کرنے کے لئے ہے جب تک. 856 00:40:30,360 --> 00:40:33,919 >> اور اگر ایسا ہے تو آپ کو اس کا تصور کر سکتے آٹھ اور سات اور چھ اور پانچ 857 00:40:33,919 --> 00:40:36,710 اور بعد میں چار اور تین اور دو فہرست ذریعے ان کے راستے منتقل کی، 858 00:40:36,710 --> 00:40:39,060 ہم صرف تبدیل کر دیا ہے کام کی قسم ہم کر رہے ہیں. 859 00:40:39,060 --> 00:40:42,340 اس کے بجائے میں یہ کر کے میرے تکرار کی شروع، 860 00:40:42,340 --> 00:40:45,250 میں نے ابھی ابھی میں یہ کر رہا ہوں ہر iteration کے اختتام. 861 00:40:45,250 --> 00:40:50,550 تو یہ، اس الگورتھم ہے کہ باہر کر دیتا ہے بھی، عام طور پر کہا جاتا ہے اندراج کی طرح، 862 00:40:50,550 --> 00:40:52,190 (ن) کے مربع کے حکم پر بھی ہے. 863 00:40:52,190 --> 00:40:56,480 اس سے بہتر کوئی اصل ہے، کوئی بہتر بالکل. 864 00:40:56,480 --> 00:41:00,810 >> تاہم، ایک تیسرا نقطہ نظر نہیں ہے I، غور کرنے کے لئے ہمیں حوصلہ افزائی کرے گا 865 00:41:00,810 --> 00:41:02,970 جس میں یہ ہے. 866 00:41:02,970 --> 00:41:07,850 تو سادگی کے لئے، میری لسٹ فرض ایک بار پھر، چار، ایک، تین، 867 00:41:07,850 --> 00:41:11,080 صرف چار نمبروں two--. 868 00:41:11,080 --> 00:41:13,300 بین، اچھی انترجشتھان تھا اچھا انسان انترجشتھان 869 00:41:13,300 --> 00:41:16,340 اس سے پہلے، جس کے ذریعے ہم پورے طے eventually-- اندراج کی طرح فہرست. 870 00:41:16,340 --> 00:41:18,020 میں نے ہم ساتھ ساتھ coaxed کیا. 871 00:41:18,020 --> 00:41:22,530 لیکن غور کرتے ہیں اس فہرست کو ٹھیک کرنے کا آسان ترین طریقہ. 872 00:41:22,530 --> 00:41:24,110 >> اس فہرست کے مطابق کیا جاتا ہے. 873 00:41:24,110 --> 00:41:26,130 کیوں؟ 874 00:41:26,130 --> 00:41:31,920 انگریزی میں، کیوں کی وضاحت یہ اصل حل نہیں ہے. 875 00:41:31,920 --> 00:41:33,400 اگر ایسا نہیں کیا مطلب حل کرنے کی آتی ہے؟ 876 00:41:33,400 --> 00:41:34,220 >> طالب علم: یہ ترتیب وار نہیں ہے. 877 00:41:34,220 --> 00:41:34,990 >> DAVID MALAN: ترتیب وار نہیں. 878 00:41:34,990 --> 00:41:35,822 مجھے ایک مثال دیں. 879 00:41:35,822 --> 00:41:37,180 >> طالب علم: حکم میں ڈال. 880 00:41:37,180 --> 00:41:37,440 >> DAVID MALAN: ٹھیک ہے. 881 00:41:37,440 --> 00:41:38,790 مجھے ایک سے زیادہ مخصوص مثال دیں. 882 00:41:38,790 --> 00:41:39,832 >> طالب علم: دیگر صعودی. 883 00:41:39,832 --> 00:41:41,206 DAVID MALAN: حکم آروہی نہیں. 884 00:41:41,206 --> 00:41:42,100 زیادہ عین مطابق ہو. 885 00:41:42,100 --> 00:41:45,190 مجھے نہیں معلوم تم آروہی سے کیا مطلب کرو. 886 00:41:45,190 --> 00:41:47,150 کیا غلط ہے؟ 887 00:41:47,150 --> 00:41:49,930 >> طالب علم: میں سب سے چھوٹی تعداد پہلے خلا میں نہیں ہے. 888 00:41:49,930 --> 00:41:51,140 >> DAVID MALAN: سب سے چھوٹی تعداد کی نہ پہلے خلا میں. 889 00:41:51,140 --> 00:41:52,120 زیادہ مخصوص ہو. 890 00:41:52,120 --> 00:41:55,000 میں پر پکڑنے کے لئے شروع کر رہا ہوں. 891 00:41:55,000 --> 00:41:59,470 ہم گنتی کر رہے ہیں، لیکن یہاں کس کے حکم سے باہر ہے؟ 892 00:41:59,470 --> 00:42:00,707 >> طالب علم: عددی ترتیب. 893 00:42:00,707 --> 00:42:02,040 DAVID MALAN: عددی ترتیب. 894 00:42:02,040 --> 00:42:04,248 رکھنے کی ہر کسی کی قسم یہ بہت ہی اعلی سطح یہاں. 895 00:42:04,248 --> 00:42:07,450 صرف لفظی مجھے بتاو کیا ایک پانچ سالہ سکتا ہے کی طرح غلط. 896 00:42:07,450 --> 00:42:08,310 >> طالب علم: پلس ایک. 897 00:42:08,310 --> 00:42:08,750 >> DAVID MALAN: یہ کیا ہے؟ 898 00:42:08,750 --> 00:42:09,610 >> طالب علم: پلس ایک. 899 00:42:09,610 --> 00:42:11,235 >> DAVID MALAN: آپ کے علاوہ ایک کیا مطلب ہے؟ 900 00:42:11,235 --> 00:42:12,754 901 00:42:12,754 --> 00:42:14,170 میرے لئے ایک مختلف پانچ سالہ دے. 902 00:42:14,170 --> 00:42:16,840 903 00:42:16,840 --> 00:42:18,330 غلط، ماں کیا ہے؟ 904 00:42:18,330 --> 00:42:19,940 غلط، والد صاحب کیا بات ہے؟ 905 00:42:19,940 --> 00:42:22,808 آپ کو اس کے مطابق ہے کیا مطلب ہے؟ 906 00:42:22,808 --> 00:42:24,370 >> طالب علم: یہ صحیح جگہ نہیں ہے. 907 00:42:24,370 --> 00:42:25,580 >> DAVID MALAN: کیا بات ہے نہ صحیح جگہ میں؟ 908 00:42:25,580 --> 00:42:26,174 >> طالب علم: چار. 909 00:42:26,174 --> 00:42:27,090 DAVID MALAN: ٹھیک ہے، اچھا. 910 00:42:27,090 --> 00:42:29,110 تو چار یہ کہاں ہونا چاہئے نہیں ہے. 911 00:42:29,110 --> 00:42:30,590 خاص طور پر، یہ صحیح ہے؟ 912 00:42:30,590 --> 00:42:33,000 چار اور ایک، سب سے پہلے دو نمبروں میں دیکھتا. 913 00:42:33,000 --> 00:42:34,930 یہ ٹھیک ہے؟ 914 00:42:34,930 --> 00:42:36,427 نہیں، وہ حکم سے باہر ہو، ہے نا؟ 915 00:42:36,427 --> 00:42:38,135 سچ تو یہ ہے، اب لگتا ہے ایک کمپیوٹر کے بارے میں، بھی. 916 00:42:38,135 --> 00:42:40,824 یہ صرف شاید ایک میں دیکھ سکتے ہیں، once-- میں شاید دو باتیں 917 00:42:40,824 --> 00:42:43,240 اور اصل میں صرف ایک ہی بات ایک وقت میں، لیکن یہ کر سکتے ہیں کم از کم 918 00:42:43,240 --> 00:42:45,790 ایک بات میں پھر نظر آئے حق اگلے اس کے اگلے ہی چیز. 919 00:42:45,790 --> 00:42:47,380 >> لہذا حکم میں ہیں؟ 920 00:42:47,380 --> 00:42:48,032 بالکل نہیں. 921 00:42:48,032 --> 00:42:48,740 تو تم کیا جانتے ہو؟ 922 00:42:48,740 --> 00:42:51,020 ہم بچے کیوں نہیں لیتے اس مسئلہ فکسنگ اقدامات 923 00:42:51,020 --> 00:42:53,410 بجائے ان کے پسند کرنے کا بین، جہاں طرح یلگوردمز 924 00:42:53,410 --> 00:42:56,440 وہ کی طرح کی طرف سے اسے ٹھیک ہے فہرست ذریعے looping 925 00:42:56,440 --> 00:42:59,670 اس کی بجائے، جہاں میں نے کیا کیا کر کے میں صرف کی قسم یہ طے کیا ہم جا کے طور پر؟ 926 00:42:59,670 --> 00:43:03,650 چلو صرف لفظی ٹوٹ ترتیب ترتیب عددی ترتیب کے تصور، 927 00:43:03,650 --> 00:43:06,990 یہ کہتے ہیں جو کچھ بھی آپ کو want-- ان کو pairwise موازنہ میں. 928 00:43:06,990 --> 00:43:07,590 >> چار اور ایک. 929 00:43:07,590 --> 00:43:09,970 اس صحیح حکم ہے؟ 930 00:43:09,970 --> 00:43:11,310 تو چلو اس کو ٹھیک کرنے دو. 931 00:43:11,310 --> 00:43:14,700 ایک اور چار، اور پھر ہم صرف اس کی کاپی کر لیں گے. 932 00:43:14,700 --> 00:43:15,560 ٹھیک ہے، اچھا. 933 00:43:15,560 --> 00:43:17,022 میں نے ایک اور چار مقررہ. 934 00:43:17,022 --> 00:43:18,320 تین اور دو؟ 935 00:43:18,320 --> 00:43:18,820 نہیں. 936 00:43:18,820 --> 00:43:21,690 میری باتیں میری انگلیوں سے مطابقت کرتے ہیں. 937 00:43:21,690 --> 00:43:23,695 چار اور تین؟ 938 00:43:23,695 --> 00:43:27,930 >> اس حکم میں نہیں ہے، تو میں جا رہا ہوں ایک، تین، چار، دو ایسا کرنے. 939 00:43:27,930 --> 00:43:28,680 OK، اچھا. 940 00:43:28,680 --> 00:43:32,310 ابھی چار اور دو؟ 941 00:43:32,310 --> 00:43:33,370 ہم بھی، اس کو ٹھیک کرنے کی ضرورت ہے. 942 00:43:33,370 --> 00:43:36,700 تو ایک، تین، دو، چار. 943 00:43:36,700 --> 00:43:39,820 تو یہ کے مطابق ہے؟ 944 00:43:39,820 --> 00:43:43,170 نہیں، لیکن یہ حل کر سے قریب ہے؟ 945 00:43:43,170 --> 00:43:48,930 >> ہم اس مقررہ کیونکہ یہ ہے غلطی، ہم، اس غلطی طے 946 00:43:48,930 --> 00:43:50,370 اور ہم اس غلطی طے. 947 00:43:50,370 --> 00:43:52,420 تو ہم arguably سب تین غلطیوں کو مقرر. 948 00:43:52,420 --> 00:43:58,100 اب بھی واقعی حل نظر نہیں آتی ہے، لیکن جو حل کرنے کے معروضی قریب ہے 949 00:43:58,100 --> 00:44:00,080 ہم ان غلطیوں میں سے کچھ طے ہو کیونکہ. 950 00:44:00,080 --> 00:44:02,047 >> اب میں آگے کیا کروں؟ 951 00:44:02,047 --> 00:44:03,630 میں اس قسم کی فہرست کے آخر تک پہنچ گئی. 952 00:44:03,630 --> 00:44:05,680 میں نے طے کیا ہے لگ رہا تھا تمام غلطیوں، لیکن کوئی. 953 00:44:05,680 --> 00:44:08,510 اس صورت میں، کچھ تعداد کیونکہ قریب سے bubbled ہے ہو سکتا ہے 954 00:44:08,510 --> 00:44:10,410 دوسرے نمبر کے لئے کہ حکم سے باہر اب بھی ہیں. 955 00:44:10,410 --> 00:44:12,951 تو چلو دوبارہ کرتے ہیں، اور میں کروں گا صرف اس وقت جگہ میں یہ کروں. 956 00:44:12,951 --> 00:44:14,170 ایک اور تین؟ 957 00:44:14,170 --> 00:44:14,720 یہ ٹھیک ہے. 958 00:44:14,720 --> 00:44:16,070 تین اور دو؟ 959 00:44:16,070 --> 00:44:17,560 یقینا نہیں، تو ہم کو تبدیل کرتے ہیں. 960 00:44:17,560 --> 00:44:19,160 تو دو، تین. 961 00:44:19,160 --> 00:44:21,340 تین اور چار؟ 962 00:44:21,340 --> 00:44:24,370 اور اب چلو رہنے دو یہاں خاص طور پر pedantic. 963 00:44:24,370 --> 00:44:26,350 جو کے مطابق ہے؟ 964 00:44:26,350 --> 00:44:29,280 تم انسانوں کو جانتے ہیں کے مطابق ہے. 965 00:44:29,280 --> 00:44:30,400 >> میں نے پھر سے کوشش کرنی چاہئے. 966 00:44:30,400 --> 00:44:31,900 لہذا اولیویا میں نے پھر کوشش کی تجویز ہے. 967 00:44:31,900 --> 00:44:32,530 کیوں؟ 968 00:44:32,530 --> 00:44:35,810 ایک کمپیوٹر کی ضرورت نہیں ہے کیونکہ ہمارے انسانی آنکھوں کے عیش و آرام کی 969 00:44:35,810 --> 00:44:38,080 کے صرف back-- OK glancing کے، میں کیا کر رہا ہوں. 970 00:44:38,080 --> 00:44:41,610 کس طرح کمپیوٹر کا تعین کرتا فہرست اب کے مطابق ہے؟ 971 00:44:41,610 --> 00:44:44,590 میکانکی. 972 00:44:44,590 --> 00:44:47,650 >> میں کے ذریعے جانا چاہیئے ایک بار پھر، اور صرف اس صورت میں 973 00:44:47,650 --> 00:44:51,190 کوئی بھی غلطیوں کو تلاش / نہیں بناتے سکتا ہوں پھر کمپیوٹر کے طور پر یہ نتیجہ اخذ، جی ہاں، 974 00:44:51,190 --> 00:44:51,980 ہم کو جانا اچھا ہو. 975 00:44:51,980 --> 00:44:54,850 تو ایک اور دو، دو اور تین، تین اور چار. 976 00:44:54,850 --> 00:44:58,030 اب میں حتمی طور یہ ہے کہہ سکتے ہیں میں نے کوئی تبدیلی نہیں کی ہے کیونکہ، کے مطابق کر. 977 00:44:58,030 --> 00:45:01,940 اب یہ ایک مسئلے سے ہو اور صرف کریں گے بے وقوف تو میں، کمپیوٹر، 978 00:45:01,940 --> 00:45:05,640 پھر ان ہی سوال پوچھا مختلف جوابات کی توقع. 979 00:45:05,640 --> 00:45:07,110 ایسا نہیں ہونا چاہئے. 980 00:45:07,110 --> 00:45:08,600 >> اور اس طرح اب فہرست کے مطابق ہے. 981 00:45:08,600 --> 00:45:12,630 بدقسمتی سے، کے وقت چل رہا ہے اس الگورتھم بھی مربع ن ہے. 982 00:45:12,630 --> 00:45:13,130 کیوں؟ 983 00:45:13,130 --> 00:45:19,520 آپ ن نمبروں، اور میں ہے کیونکہ بدترین صورت آپ ن نمبروں کو منتقل کرنے کے لئے ہے 984 00:45:19,520 --> 00:45:23,637 آپ جا رکھنے کے لئے ہے، کیونکہ (ن) بار واپس چیک کرنے اور ممکنہ طور پر طے کر 985 00:45:23,637 --> 00:45:24,220 ان نمبروں. 986 00:45:24,220 --> 00:45:26,280 اور ہم کچھ کر سکتے ہیں بہت رسمی تجزیہ،. 987 00:45:26,280 --> 00:45:29,530 >> لہذا یہ کہنا کہ ہم لے لیا ہے تمام ہے تین مختلف نقطہ نظر، ایک 988 00:45:29,530 --> 00:45:32,210 ان میں سے فوری طور پر بدیہی بین سے بیٹ سے دور 989 00:45:32,210 --> 00:45:35,170 میری تجویز اندراج کرنا یہ ایک قسم کا 990 00:45:35,170 --> 00:45:38,540 آپ کی قسم کی نظر کھو جہاں ابتدائی طور پر درخت کے لئے جنگل. 991 00:45:38,540 --> 00:45:41,760 لیکن پھر آپ، ایک قدم واپس لے اگر voila کے، ہم چھںٹائی تصور طے کر دی ہے. 992 00:45:41,760 --> 00:45:43,824 تو یہ ہے،، کہنے کی جرات ایک کم سطح شاید 993 00:45:43,824 --> 00:45:45,740 ان لوگوں کو دوسرے سے کچھ سے یلگوردمز، لیکن چلو 994 00:45:45,740 --> 00:45:48,550 ہم کو دیکھ نہیں کر سکتے ہیں دیکھنے کے اس کی راہ کی طرف سے ان. 995 00:45:48,550 --> 00:45:51,450 >> تو یہ کچھ اچھا ہے سوفٹ ویئر کی ہے کہ کسی 996 00:45:51,450 --> 00:45:56,110 ہے کہ رنگا رنگ سلاخوں کا استعمال کرتے ہوئے لکھا ہمارے لئے مندرجہ ذیل کر جا. 997 00:45:56,110 --> 00:45:57,736 ان سلاخوں میں سے ہر ایک بڑی تعداد کی نمائندگی کرتا ہے. 998 00:45:57,736 --> 00:46:00,026 طویل بار، بڑی نمبر، چھوٹے بار، 999 00:46:00,026 --> 00:46:00,990 تعداد میں چھوٹے. 1000 00:46:00,990 --> 00:46:05,880 لہذا مثالی طور پر ہم نے ایک اچھا پرامڈ چاہتے یہ چھوٹے سے شروع ہوتا ہے اور بڑا ہو جاتا ہے جہاں، 1001 00:46:05,880 --> 00:46:08,330 اور یہ کہ کا مطلب ہو گا ان سلاخوں حل کر رہے ہیں. 1002 00:46:08,330 --> 00:46:11,200 تو میں نے آگے بڑھو اور منتخب کرنے کے لئے جا رہا ہوں مثال کے طور پر، بین کی الگورتھم 1003 00:46:11,200 --> 00:46:13,990 first-- انتخاب کی طرح. 1004 00:46:13,990 --> 00:46:16,220 >> اور یہ کیا کر رہی ہے محسوس کریں. 1005 00:46:16,220 --> 00:46:18,670 وہ کرنے کے لئے منتخب کیا ہے طریقہ اس الگورتھم کو دیکھ 1006 00:46:18,670 --> 00:46:22,090 ، کہ میں تھا صرف کی طرح ہے میری فہرست کے ذریعے چل، 1007 00:46:22,090 --> 00:46:24,710 اس پروگرام چل رہی ہے نمبروں کی فہرست کے ذریعے، 1008 00:46:24,710 --> 00:46:28,160 گلابی ہر ایک میں اجاگر اس کی طرف دیکھ رہی ہے کہ تعداد. 1009 00:46:28,160 --> 00:46:32,360 اور کیا صحیح اب ہونے والا ہے؟ 1010 00:46:32,360 --> 00:46:35,154 >> سب سے چھوٹی تعداد ہے کہ میں یا بین اچانک پایا 1011 00:46:35,154 --> 00:46:36,820 فہرست کے آغاز میں منتقل کر دیا جاتا ہے. 1012 00:46:36,820 --> 00:46:40,037 اور یہ لوگ بیدخل کیا نوٹس بڑی تعداد موجود تھی، 1013 00:46:40,037 --> 00:46:41,120 اور یہ کہ بالکل ٹھیک ہے. 1014 00:46:41,120 --> 00:46:42,600 میں نے تفصیل کی اس سطح میں نہیں ملی. 1015 00:46:42,600 --> 00:46:44,308 لیکن ہم ڈال کرنے کی ضرورت کہیں یہ تعداد، 1016 00:46:44,308 --> 00:46:47,775 تو ہم صرف کرنے کے لئے اسے منتقل کر دیا گیا پیدا کیا گیا تھا کہ کھلی جگہ. 1017 00:46:47,775 --> 00:46:49,900 تو میں نے اس کی رفتار تیز کرنے جا رہا ہوں اپ، دوسری صورت میں یہ ہے کیونکہ 1018 00:46:49,900 --> 00:46:51,871 فوری طور پر بہت تکاؤ بن جاتا ہے. 1019 00:46:51,871 --> 00:46:55,800 1020 00:46:55,800 --> 00:46:58,600 انیمیشن وہاں speed-- ہم چلے. 1021 00:46:58,600 --> 00:47:01,850 تو اب اسی اصول میں اطلاق کیا گیا تھا، لیکن آپ 1022 00:47:01,850 --> 00:47:06,540 اگر آپ، الگورتھم کو محسوس کرنا شروع کر سکتے ہیں گا، یا ایک چھوٹا سا زیادہ واضح طور پر یہ دیکھیں. 1023 00:47:06,540 --> 00:47:13,190 اور یہ الگورتھم کا اثر ہے اگلے سب سے چھوٹی عنصر کو منتخب، 1024 00:47:13,190 --> 00:47:16,422 لہذا آپ کو شروع کرنے کے لئے جا رہے ہیں یہ بائیں طرف کو ریمپ دیکھیں. 1025 00:47:16,422 --> 00:47:19,130 اور ہر iteration پر، میں نے اس کے مجوزہ، یہ تھوڑا کم کام کرتا ہے. 1026 00:47:19,130 --> 00:47:21,921 یہ تمام راستے جانے کے لئے نہیں ہے فہرست بائیں آخر کو واپس، 1027 00:47:21,921 --> 00:47:23,900 اس کی وجہ سے پہلے ہی سے ان لوگوں کے مطابق کر رہے ہیں جانتا ہے. 1028 00:47:23,900 --> 00:47:28,129 تو یہ بھی اس کی طرح قسم کی محسوس ہوتا ہے تیز کرنے، ہر ایک قدم ہے، اگرچہ 1029 00:47:28,129 --> 00:47:29,420 وقت کے اسی رقم لینے. 1030 00:47:29,420 --> 00:47:31,600 باقی صرف کم اقدامات بھی نہیں ہے. 1031 00:47:31,600 --> 00:47:35,240 اور اب تم اس قسم کی محسوس کر سکتے ہیں الگورتھم اس کے آخر کی صفائی ستھرائی، 1032 00:47:35,240 --> 00:47:37,040 اور بے شک اب اس کے مطابق ہے. 1033 00:47:37,040 --> 00:47:41,620 >> پس اندراج کی طرح تمام کیا جاتا ہے. 1034 00:47:41,620 --> 00:47:43,600 میں صف دوبارہ کے randomize ضرورت. 1035 00:47:43,600 --> 00:47:45,940 نوٹس اور میں تو صرف یہ کر سکتے ہیں یہ randomizing رکھنے، 1036 00:47:45,940 --> 00:47:50,630 اور ہم میں سے ایک سننکٹن پڑتا ہوں اسی نقطہ نظر، اندراج کی طرح. 1037 00:47:50,630 --> 00:47:55,050 مجھے یہاں میں اس کو سست کرنے دیں. 1038 00:47:55,050 --> 00:47:56,915 چلو اس سے شروع کرتے ہیں. 1039 00:47:56,915 --> 00:47:57,414 روک. 1040 00:47:57,414 --> 00:48:00,662 1041 00:48:00,662 --> 00:48:02,410 >> کی چار کو چھوڑ دو. 1042 00:48:02,410 --> 00:48:03,200 ہم وہاں جاتے ہیں. 1043 00:48:03,200 --> 00:48:04,190 وہ صف بے ترتیب کریں. 1044 00:48:04,190 --> 00:48:05,555 اور یہاں ہم اندراج کی طرح go--. 1045 00:48:05,555 --> 00:48:10,260 1046 00:48:10,260 --> 00:48:12,800 مفت کے لئے. 1047 00:48:12,800 --> 00:48:17,280 یہ ہر ایک کے ساتھ نمٹنے ہے کہ نوٹس عنصر اسے فورا مقابلوں، 1048 00:48:17,280 --> 00:48:20,282 لیکن اس میں سے تعلق رکھتا ہے تو غلط جگہ کا نوٹس 1049 00:48:20,282 --> 00:48:21,740 ہونا ہے کہ کام کے تمام. 1050 00:48:21,740 --> 00:48:24,700 ہم زیادہ منتقل رکھنے کے لئے ہے اور کمرے بنانے کے لئے زیادہ عناصر 1051 00:48:24,700 --> 00:48:27,340 ایک کے لئے ہم نے اس جگہ میں ڈال کرنا چاہتے. 1052 00:48:27,340 --> 00:48:30,740 >> تو ہم پر توجہ مرکوز کر رہے ہیں صرف فہرست بائیں آخر. 1053 00:48:30,740 --> 00:48:34,460 ہم بھی ہم لمبائی تو دیکھا نہیں ہے نوٹس گلابی کچھ بھی میں اجاگر نہیں کیا ہے، 1054 00:48:34,460 --> 00:48:35,610 دائیں طرف. 1055 00:48:35,610 --> 00:48:38,180 ہم صرف کے ساتھ کام کر رہے ہو مسائل ہم، کے طور پر جانا 1056 00:48:38,180 --> 00:48:40,430 لیکن ہم میں سے ایک بہت پیدا کر رہے ہیں اب بھی خود اپنے لئے کام کرتے ہیں. 1057 00:48:40,430 --> 00:48:44,410 اور ہم نے اس کو تیز اگر ایسا ہے تو ابھی تکمیل کے لئے جانے کے لئے، 1058 00:48:44,410 --> 00:48:46,210 یہ واقعی اس کے لئے ایک مختلف احساس ہے. 1059 00:48:46,210 --> 00:48:50,150 یہ صرف بائیں آخر پر توجہ مرکوز ہے لیکن needed-- کے طور پر ایک چھوٹا سا زیادہ کام کر رہے 1060 00:48:50,150 --> 00:48:53,230 سموتھنگ چیزوں کی قسم زائد، چیزوں فکسنگ، 1061 00:48:53,230 --> 00:48:58,350 لیکن ساتھ بالآخر دوچار ایک وقت میں ہر عنصر سے ایک 1062 00:48:58,350 --> 00:49:07,740 ہم اچھی طرح سے the-- حاصل کرنے تک، ہم سب جانتے ہیں اس کو ختم کرنے کے لئے جا رہی ہے کہ کس طرح، 1063 00:49:07,740 --> 00:49:09,700 تو یہ شاید تھوڑا underwhelming کیا ہے. 1064 00:49:09,700 --> 00:49:12,830 >> لیکن end-- میں فہرست spoiler-- حل کرنے کی جا رہی ہے. 1065 00:49:12,830 --> 00:49:15,300 تو چلو ایک آخری نظر ڈالیں. 1066 00:49:15,300 --> 00:49:16,840 ہم بس ابھی نظر انداز نہیں کر سکتے. 1067 00:49:16,840 --> 00:49:18,000 ہم پہنچ ہی گئے ہیں. 1068 00:49:18,000 --> 00:49:19,980 دو جانے کے لئے، ایک کے جانے کے لئے. 1069 00:49:19,980 --> 00:49:22,680 اور voila. 1070 00:49:22,680 --> 00:49:23,450 عمدہ. 1071 00:49:23,450 --> 00:49:27,220 >> تو اب ایک آخری ایک کو کرنے دو، دوبارہ randomizing بلبلا طرح سے. 1072 00:49:27,220 --> 00:49:31,690 اور یہاں محسوس، میں نے اسے سست خاص طور پر اگر نیچے، اس کے ذریعے بمباری میں مصروف رکھتا ہے. 1073 00:49:31,690 --> 00:49:36,830 لیکن یہ صرف کو pairwise ہوتا محسوس کریں مقامی حل کی comparisons-- چھانٹیں. 1074 00:49:36,830 --> 00:49:39,050 لیکن جیسے ہی ہم پر حاصل کے طور پر گلابی میں فہرست کے آخر، 1075 00:49:39,050 --> 00:49:40,690 کیا دوبارہ ہونے کی ضرورت کرنے جا رہا ہے؟ 1076 00:49:40,690 --> 00:49:44,539 1077 00:49:44,539 --> 00:49:46,830 جی ہاں، یہ کرنے کے لئے جا رہا ہے ، پھر سے شروع اس کی وجہ صرف 1078 00:49:46,830 --> 00:49:49,870 فکسڈ کو pairwise غلطیوں. 1079 00:49:49,870 --> 00:49:53,120 اور یہ کہ بعض نے انکشاف کیا ہے ہو سکتا ہے. 1080 00:49:53,120 --> 00:49:58,950 اور تم اس کی رفتار تیز اگر ایسا ہے تو، تمہیں دیکھیں، نام کا مطلب اور زیادہ، 1081 00:49:58,950 --> 00:50:01,870 چھوٹے elements-- یا بلکہ، بڑے elements-- شروع کر رہے ہیں 1082 00:50:01,870 --> 00:50:03,740 بلبلا سب سے اوپر تک، اگر تم کروگے. 1083 00:50:03,740 --> 00:50:07,380 اور چھوٹے عناصر ہیں بائیں نیچے بلبلا کرنے کے لئے شروع. 1084 00:50:07,380 --> 00:50:10,780 اور یقینا، اس قسم کی ہے اس کے ساتھ ساتھ بصری اثر. 1085 00:50:10,780 --> 00:50:17,150 اور اس طرح یہ ختم ختم ہو جائے گی بھی ایک بہت ہی اسی طرح سے، میں. 1086 00:50:17,150 --> 00:50:19,160 >> ہم رہنے کے لئے کی ضرورت نہیں ہے یہ خاص طور پر ایک پر. 1087 00:50:19,160 --> 00:50:21,010 مجھے بھی، اب اس کھول دو. 1088 00:50:21,010 --> 00:50:24,040 چند دیگر چھنٹائی یلگوردمز وہاں ہے دنیا میں، جن میں سے چند 1089 00:50:24,040 --> 00:50:25,580 یہاں قبضہ کر لیا ہے. 1090 00:50:25,580 --> 00:50:29,960 اور خاص طور پر سیکھنے کے لئے جو نہیں ہیں ضروری نہیں کہ بصری یا ریاضیاتی، 1091 00:50:29,960 --> 00:50:31,930 ہم نے پہلے کیا تھا کے طور، ہم کر سکتے ہیں بھی audially ایسا 1092 00:50:31,930 --> 00:50:34,210 ہم اس کے ساتھ کسی کو شریک آواز تو. 1093 00:50:34,210 --> 00:50:36,990 اور صرف مذاق کے لئے، یہاں ایک کچھ مختلف یلگوردمز، 1094 00:50:36,990 --> 00:50:40,950 خاص طور پر ان میں سے اور ایک آپ ہیں کہا جاتا ہے محسوس کرنے کے لئے جا "ضم طرح." 1095 00:50:40,950 --> 00:50:43,250 >> یہ اصل میں ایک بنیادی ہے بہتر الگورتھم، 1096 00:50:43,250 --> 00:50:45,860 اس طرح ضم طرح کہ، میں سے ایک آپ دیکھنے والے ہو والوں، 1097 00:50:45,860 --> 00:50:49,170 ن کے حکم مربع نہیں ہے. 1098 00:50:49,170 --> 00:50:57,280 یہ (ن) کے اوقات کے لاگ ان کے حکم پر ہے ن، اصل میں چھوٹا ہے اور اس طرح ہے جس میں 1099 00:50:57,280 --> 00:50:58,940 ان دیگر تین کے مقابلے میں تیزی. 1100 00:50:58,940 --> 00:51:00,670 اور دوسرے ایک جوڑے کی ہے ہم دیکھیں گے کہ پاگل لوگ ہیں. 1101 00:51:00,670 --> 00:51:01,933 >> تو یہاں ہم کچھ آواز کے ساتھ جانا. 1102 00:51:01,933 --> 00:51:06,620 1103 00:51:06,620 --> 00:51:10,490 یہ تو ایک بار پھر، اندراج کی طرح ہے یہ صرف عناصر کے ساتھ نمٹنے ہے 1104 00:51:10,490 --> 00:51:13,420 وہ بات جس پر. 1105 00:51:13,420 --> 00:51:17,180 یہ بلبلا طرح ہے، تو یہ بات ہے ان میں ایک وقت میں جوڑوں پر غور. 1106 00:51:17,180 --> 00:51:22,030 1107 00:51:22,030 --> 00:51:24,490 اور پھر، سب سے بڑے عناصر سب سے اوپر تک bubbling ہیں. 1108 00:51:24,490 --> 00:51:38,098 1109 00:51:38,098 --> 00:51:41,710 >> اگلا، دوسرا اپ انتخاب کی طرح. 1110 00:51:41,710 --> 00:51:45,420 یہ بین کی الگورتھم، کہاں ہے پھر وہ کیا iteratively کے انتخاب ہے 1111 00:51:45,420 --> 00:51:46,843 اگلے سب سے چھوٹی عنصر. 1112 00:51:46,843 --> 00:51:49,801 1113 00:51:49,801 --> 00:51:53,900 اور پھر، اب آپ واقعی یہ سن کر سکتے ہیں یہ تیز رفتار ہے لیکن صرف اب تک میں 1114 00:51:53,900 --> 00:51:58,230 کے طور پر یہ کم سے کم کر رہی ہے ہر iteration پر کام. 1115 00:51:58,230 --> 00:52:04,170 یہ تیز تر ایک ہے، ضم، نمبروں کے گروپ چھانٹ رہا ہے جس میں 1116 00:52:04,170 --> 00:52:05,971 ایک دوسرے کے ساتھ اور اس کے بعد ان کو ملا. 1117 00:52:05,971 --> 00:52:07,720 تو بائیں look-- نصف پہلے ہی کے مطابق کیا جاتا ہے. 1118 00:52:07,720 --> 00:52:14,165 >> اب یہ حق نصف چھںٹائی رہا ہے، اور اب یہ ایک میں ان کو اکٹھا کرنے جا رہا ہے. 1119 00:52:14,165 --> 00:52:19,160 یہ کہا جاتا ہے کچھ ہے "گنوم چھانٹیں." 1120 00:52:19,160 --> 00:52:23,460 اور تم بھی قسم کے دیکھ سکتے ہیں کہ جو، آگے پیچھے جا رہا ہے 1121 00:52:23,460 --> 00:52:27,950 کام کی جگہ کا تعین کے ایک تھوڑا سا یہاں اور وہاں سے پہلے اس نئے کام کرنے کے لئے آمدنی. 1122 00:52:27,950 --> 00:52:32,900 1123 00:52:32,900 --> 00:52:33,692 اور یہ بات ہے. 1124 00:52:33,692 --> 00:52:36,400 ایک اور قسم کا، ہے جو کچھ ہے واقعی صرف تعلیمی مقاصد کے لئے، 1125 00:52:36,400 --> 00:52:40,980 "بیوکوف چھانٹیں،" لیتا ہے جس میں کہا جاتا آپ کے ڈیٹا، تصادفی یہ قسم، 1126 00:52:40,980 --> 00:52:43,350 اور پھر جانچ پڑتال کرتا ہے تو اس کے مطابق ہے. 1127 00:52:43,350 --> 00:52:47,880 اور اگر یہ نہیں ہے، اسے دوبارہ قسم جو تصادفی، یہ حل ہے چیک کرتا ہے، 1128 00:52:47,880 --> 00:52:49,440 اور دوہراتا نہیں تو. 1129 00:52:49,440 --> 00:52:52,660 اور تھیوری میں گے probabilistically، یہ مکمل ہو جائے گا 1130 00:52:52,660 --> 00:52:54,140 لیکن بہت تھوڑا سا وقت کے بعد. 1131 00:52:54,140 --> 00:52:56,930 یہ سب سے زیادہ نہیں ہے یلگوردمز کے موثر. 1132 00:52:56,930 --> 00:53:02,550 لہذا ان پر کوئی سوال مخصوص الگورتھم یا کچھ 1133 00:53:02,550 --> 00:53:04,720 بھی وہاں متعلق،؟ 1134 00:53:04,720 --> 00:53:09,430 >> ویسے، اب یہ کیا تمام کے علاوہ چڑھاو دو ان لائنوں کہ میں ڈرائنگ کیا گیا ہے 1135 00:53:09,430 --> 00:53:15,090 اور کیا میں نے کمپیوٹر سنبھالنے رہا ہوں ہڈ کے نیچے کیا کر سکتے ہیں. 1136 00:53:15,090 --> 00:53:18,650 میں نے ان کی تعداد کے تمام ہے کہ بحث کریں گے میرے خیال میں وہ حاصل کرنے کی ضرورت drawing-- رکھنے 1137 00:53:18,650 --> 00:53:21,330 کہیں یاد میں محفوظ کیا جاتا. 1138 00:53:21,330 --> 00:53:24,130 ہم بھی، اب اس آدمی سے چھٹکارا حاصل کر لیں گے. 1139 00:53:24,130 --> 00:53:30,110 >> ایک میں میموری کی تو ایک ہی ٹکڑے کمپیوٹر تا RAM DIMM ہے 1140 00:53:30,110 --> 00:53:35,480 ہم کل، ڈبل کو تلاش کیا کیا اس طرح لگ رہا module-- ان لائن میموری. 1141 00:53:35,480 --> 00:53:39,370 اور ان چھوٹی سیاہ چپس میں سے ہر ایک عام طور پر، بائٹس کی کچھ تعداد ہے. 1142 00:53:39,370 --> 00:53:44,380 اور پھر سونے پنوں کی طرح ہیں کمپیوٹر سے رابطہ قائم ہے کہ تاروں، 1143 00:53:44,380 --> 00:53:47,521 اور سبز سلکان بورڈ صرف ہے کیا سب کو ایک ساتھ سب کچھ رکھتا ہے. 1144 00:53:47,521 --> 00:53:48,770 تو یہ واقعی کیا مطلب ہے؟ 1145 00:53:48,770 --> 00:53:53,180 میں اس قسم کی یہ ایک ہی تصویر کو اپنی طرف متوجہ تو، کی سادگی کے لئے فرض کرتے ہیں 1146 00:53:53,180 --> 00:53:55,280 اس DIMM، دوہری کہ ان لائن میموری ماڈیول، 1147 00:53:55,280 --> 00:54:00,530 RAM میں سے ایک گیگا بائٹ، میں سے ایک گیگا بائٹ ہے میموری، کتنے بائٹس کل کون سا ہے؟ 1148 00:54:00,530 --> 00:54:02,100 ایک گیگا بائٹ کتنے بائٹس ہے؟ 1149 00:54:02,100 --> 00:54:04,860 1150 00:54:04,860 --> 00:54:06,030 اس سے زیادہ. 1151 00:54:06,030 --> 00:54:09,960 1،124 کلو ہے، 1،000. 1152 00:54:09,960 --> 00:54:11,730 میگا ملین ہے. 1153 00:54:11,730 --> 00:54:14,570 میں Giga ایک ارب ہے. 1154 00:54:14,570 --> 00:54:15,070 >> میں جھوٹ بول رہا ہوں؟ 1155 00:54:15,070 --> 00:54:16,670 ہم بھی لیبل پڑھ سکتا ہے؟ 1156 00:54:16,670 --> 00:54:19,920 یہ اصل میں 128 ہے گیگا بائٹس، تو یہ زیادہ ہے. 1157 00:54:19,920 --> 00:54:22,130 لیکن ہم یہ دکھاوا کر لیں گے صرف ایک گیگا بائٹ ہے. 1158 00:54:22,130 --> 00:54:25,640 مطلب یہ ہے کہ تو ایک ارب وہاں ہے میموری کی بائٹس مجھے دستیاب 1159 00:54:25,640 --> 00:54:29,770 یا 8 ارب بٹس، لیکن ہم جا رہے ہیں ابھی بائٹس کی شرائط میں بات کرنے کے لئے، 1160 00:54:29,770 --> 00:54:30,750 آگے بڑھنا. 1161 00:54:30,750 --> 00:54:36,330 >> تو کیا ہوا کہ اس کا مطلب یہ ہے ہے ایک بائٹ، اس دوسرے بائٹ ہے، 1162 00:54:36,330 --> 00:54:38,680 اس دوسرے بائٹ ہے، اور ہم واقعی چاہتے تھے تو 1163 00:54:38,680 --> 00:54:43,280 ہم کرنا پڑے گا مخصوص ہو ایک ارب تھوڑا چوکوں اپنی طرف متوجہ. 1164 00:54:43,280 --> 00:54:44,320 لیکن اس سے کیا مطلب ہے؟ 1165 00:54:44,320 --> 00:54:46,420 ویسے، مجھے صرف زوم اس تصویر پر میں. 1166 00:54:46,420 --> 00:54:50,900 میں نے کچھ مل گیا ہے تو جو لگتا ہے یہ اب کی طرح، کہ چار بائٹس ہے. 1167 00:54:50,900 --> 00:54:53,710 >> اور اس طرح میں یہاں چار نمبروں ڈال سکتے. 1168 00:54:53,710 --> 00:54:54,990 ایک دو تین چار. 1169 00:54:54,990 --> 00:55:00,170 یا پھر میں چار حروف یا علامتوں ڈال سکتے. 1170 00:55:00,170 --> 00:55:02,620 "ارے!" وہیں جا سکتے، خطوط میں سے ہر ایک کی وجہ سے، 1171 00:55:02,620 --> 00:55:04,370 ہم پہلے گفتگو نمائندگی کیا جا سکتا 1172 00:55:04,370 --> 00:55:06,650 آٹھ بٹس یا ASCII یا ایک بائٹ کے ساتھ. 1173 00:55:06,650 --> 00:55:09,370 تو دوسرے الفاظ میں، آپ کر سکتے ہیں اندر 8 ارب چیزیں ڈال 1174 00:55:09,370 --> 00:55:11,137 میموری کی یہ ایک چھڑی کے. 1175 00:55:11,137 --> 00:55:14,345 اب یہ چیزیں واپس ڈال کرنے کے لئے کیا مطلب ہے اس طرح یاد میں واپس واپس کرنے کے لئے؟ 1176 00:55:14,345 --> 00:55:17,330 یہ کیا ایک پروگرامر ہے ایک "صف" کو فون کریں گے 1177 00:55:17,330 --> 00:55:21,250 ایک کمپیوٹر پروگرام میں، کیا تم نہیں سوچتے بنیادی ہارڈ ویئر کے بارے میں، فی SE. 1178 00:55:21,250 --> 00:55:24,427 ہونے کے طور پر آپ کو صرف اپنے آپ کے بارے میں سوچ ایک ارب بائٹس کل تک رسائی، 1179 00:55:24,427 --> 00:55:26,010 اور اگر آپ کر سکتے ہیں کسی بھی چیز آپ اس کے ساتھ چاہتے ہیں. 1180 00:55:26,010 --> 00:55:27,880 لیکن سہولت کے لئے یہ عام طور پر مفید ہے 1181 00:55:27,880 --> 00:55:31,202 آپ کی یاد کا حق رکھنے کے لئے اس طرح سے ایک دوسرے کے ساتھ. 1182 00:55:31,202 --> 00:55:33,660 تو میں نے this-- پر میں زوم تو ہم یقینی طور پر نہیں کر رہے ہیں کیونکہ 1183 00:55:33,660 --> 00:55:39,310 ایک ارب تھوڑا squares-- متوجہ کرنے کے لئے کی اس بورڈ کی نمائندگی کرتا ہے فرض کرتے ہیں 1184 00:55:39,310 --> 00:55:40,610 اب میموری کے اس چھڑی. 1185 00:55:40,610 --> 00:55:43,800 اور میں صرف کے طور پر کئی کے طور پر اپنی طرف متوجہ کر دیں گے میرے مارکر مجھے یہاں دے رہا ہے ختم ہو جاتی. 1186 00:55:43,800 --> 00:55:46,420 1187 00:55:46,420 --> 00:55:52,300 تو اب ہم ایک چھڑی ہے بورڈ پر میموری کی 1188 00:55:52,300 --> 00:55:56,400 کہ مل گیا ہے ایک، دو، تین، چار، پانچ، چھ، ایک، دو، تین، چار، پانچ، چھ، 1189 00:55:56,400 --> 00:56:01,130 کا اتنا ہی 42 بائٹس seven-- سکرین کی کل پر میموری. 1190 00:56:01,130 --> 00:56:01,630 آپ کا شکریہ. 1191 00:56:01,630 --> 00:56:02,838 ہاں، میرا ریاضی درست کیا. 1192 00:56:02,838 --> 00:56:05,120 چنانچہ 42 یہاں میموری کا بائٹس. 1193 00:56:05,120 --> 00:56:06,660 تو یہ اصل میں کیا مطلب ہے؟ 1194 00:56:06,660 --> 00:56:09,830 ٹھیک ہے، ایک کمپیوٹر پروگرامر دراصل عام طور پر کرے گا 1195 00:56:09,830 --> 00:56:12,450 پتہ کے طور پر اس کی میموری کے بارے میں سوچنا. 1196 00:56:12,450 --> 00:56:16,630 دوسرے الفاظ میں، ان میں سے ہر ایک یاد میں مقامات، ہارڈ ویئر میں، 1197 00:56:16,630 --> 00:56:18,030 ایک منفرد ایڈریس ہے. 1198 00:56:18,030 --> 00:56:22,020 >> یہ ایک Brattle جتنا پیچیدہ نہیں ہے چوک، کیمبرج، میساچوسٹس، 02138. 1199 00:56:22,020 --> 00:56:23,830 اس کے بجائے، یہ صرف ایک نمبر ہے. 1200 00:56:23,830 --> 00:56:27,930 یہ بائٹ تعداد صفر، یہ ہے ہے ایک، یہ دو ہے، یہ تین ہے، 1201 00:56:27,930 --> 00:56:30,327 اور یہ 41 ہے. 1202 00:56:30,327 --> 00:56:30,910 ذرا رکو. 1203 00:56:30,910 --> 00:56:32,510 میں نے 42 کہا ایک لمحے پہلے سوچا. 1204 00:56:32,510 --> 00:56:35,050 1205 00:56:35,050 --> 00:56:37,772 I، صفر پر گنتی شروع کر دی تاکہ اصل صحیح ہے. 1206 00:56:37,772 --> 00:56:40,980 اب ہم اصل میں اسے اپنی طرف متوجہ کرنے کی ضرورت نہیں ایک گرڈ کے طور پر، اور آپ کو ایک گرڈ کے طور پر اسے اپنی طرف متوجہ ہے تو 1207 00:56:40,980 --> 00:56:43,520 میں چیزوں کو اصل میں لگتا ہے کہ تھوڑا سا گمراہ کن ملتا. 1208 00:56:43,520 --> 00:56:46,650 کیا ایک پروگرامر گے، اس کا یا اس کے اپنے ذہن میں، 1209 00:56:46,650 --> 00:56:50,310 عام طور پر اس کے بارے میں سوچنا صرف ایک ٹیپ کی طرح ہے کے طور پر میموری، 1210 00:56:50,310 --> 00:56:53,340 masking ٹیپ کا ایک ٹکڑا کی طرح یہ صرف اور پر ہمیشہ کے لئے چلا جاتا ہے 1211 00:56:53,340 --> 00:56:54,980 یا آپ کو میموری سے باہر چلانے تک. 1212 00:56:54,980 --> 00:56:59,200 لہذا اپنی طرف متوجہ کرنے کے ایک سے زیادہ عام طریقہ اور صرف میموری کے بارے میں سوچنا 1213 00:56:59,200 --> 00:57:03,710 اس بائٹ صفر، ایک ہے کہ ہو جائے گا، دو، تین، اور اس کے بعد، ڈاٹ ڈاٹ، ڈوٹ. 1214 00:57:03,710 --> 00:57:07,650 اور تم، 42 طرح بائٹس کل ہے یہاں تک کہ اگرچہ جسمانی طور پر یہ اصل طاقت ہو 1215 00:57:07,650 --> 00:57:09,480 اس طرح زیادہ کچھ ہو جائے. 1216 00:57:09,480 --> 00:57:12,850 >> تم اب کے بارے میں سوچنا تو آپ میموری کو اس کے طور پر، صرف ایک ٹیپ کی طرح، 1217 00:57:12,850 --> 00:57:17,640 یہ کیا ایک پروگرامر دوبارہ ہے میموری کی ایک صف کو فون کریں گے. 1218 00:57:17,640 --> 00:57:20,660 اور تم اصل ذخیرہ کرنے کے لئے چاہتے ہیں جب ایک کمپیوٹر کی میموری میں کچھ، 1219 00:57:20,660 --> 00:57:23,290 آپ عام طور پر سٹور باتیں کرتے ہیں واپس ٹو واپس واپس کرنے کے لئے واپس کرنے کے لئے. 1220 00:57:23,290 --> 00:57:25,010 تو ہم تعداد کے بارے میں بات کر رہا ہوں. 1221 00:57:25,010 --> 00:57:30,880 اور مسائل کو حل کرنے میں چاہتا تھا جب کی طرح چار، ایک، تین، دو، 1222 00:57:30,880 --> 00:57:33,820 یہاں تک کہ میں نے صرف ڈرائنگ کیا گیا صرف تعداد چار، ایک، تین، 1223 00:57:33,820 --> 00:57:39,490 بورڈ پر دو، کمپیوٹر کریں گے واقعی یاد میں اس سیٹ اپ ہے. 1224 00:57:39,490 --> 00:57:43,347 >> اور کیا کرنے کے لئے اگلے ہو جائے گا کمپیوٹر کی میموری میں دو؟ 1225 00:57:43,347 --> 00:57:44,680 ویسے، اس کا کوئی جواب نہیں ہے. 1226 00:57:44,680 --> 00:57:45,770 ہم واقعی نہیں جانتے. 1227 00:57:45,770 --> 00:57:48,200 اور جب تک کمپیوٹر اس کی ضرورت نہیں ہے، 1228 00:57:48,200 --> 00:57:51,440 اس کے بعد کیا ہے جو میں دیکھ بھال کرنے کی ضرورت نہیں ہے نمبروں پر اس کی پرواہ کرتا ہے. 1229 00:57:51,440 --> 00:57:55,130 اور میں نے پہلے ایک کمپیوٹر نے کہا ہے کہ جب صرف ایک وقت میں ایک پتے پر دیکھ سکتے ہیں، 1230 00:57:55,130 --> 00:57:56,170 یہ کیوں کی طرح ہے. 1231 00:57:56,170 --> 00:57:59,490 >> نہیں ایک ریکارڈ کے برعکس کھلاڑی اور ایک پڑھنے کے سر 1232 00:57:59,490 --> 00:58:03,030 صرف ایک مخصوص پر نظر کرنے کے قابل کیا جا رہا ایک جسمانی پرانے اسکول ریکارڈ میں نالی 1233 00:58:03,030 --> 00:58:06,500 ایک وقت میں، اسی طرح ایک کمپیوٹر شکریہ سکتے ہیں 1234 00:58:06,500 --> 00:58:09,810 اس CPU اور اس کے کرنے کے لئے انٹیل ہدایات سیٹ، 1235 00:58:09,810 --> 00:58:12,480 جن کی ہدایات کے درمیان میموری کی طرف سے پڑھا جاتا ہے 1236 00:58:12,480 --> 00:58:15,590 یا ایک میموری میں محفوظ کمپیوٹر صرف نظر کر سکتے ہیں 1237 00:58:15,590 --> 00:58:19,210 ایک ہیں وقت میں ایک جگہ پر کبھی کبھی ان کا ایک مجموعہ، 1238 00:58:19,210 --> 00:58:21,770 لیکن ایک وقت میں واقعی صرف ایک مقام. 1239 00:58:21,770 --> 00:58:24,770 تو جب ہم کر رہے تھے ان مختلف الگورتھم، 1240 00:58:24,770 --> 00:58:28,110 میں نے صرف ایک میں نہیں لکھ رہا ہوں vacuum-- چار، ایک، تین، دو. 1241 00:58:28,110 --> 00:58:30,849 ان کی تعداد اصل میں تعلق کہیں یاد میں جسمانی. 1242 00:58:30,849 --> 00:58:32,890 تو چھوٹے سے چھوٹا ہیں ٹرانجسٹروں یا کسی قسم 1243 00:58:32,890 --> 00:58:35,840 نیچے الیکٹرانکس ڈاکو ان اقدار کو ذخیرہ کرنے. 1244 00:58:35,840 --> 00:58:40,460 >> اور کل میں، کتنے بٹس ہیں حق اب ملوث، صرف صاف ہو جائے؟ 1245 00:58:40,460 --> 00:58:45,580 تو کیا یہ چار بائٹس ہے، یا اب یہ 32 بٹیں کل ہے. 1246 00:58:45,580 --> 00:58:49,280 تو اصل میں 32 صفر موجود ہیں اور والوں نے ان چار چیزوں کی تحریر. 1247 00:58:49,280 --> 00:58:52,070 یہاں پر بھی زیادہ، لیکن پھر ہم نے اس کے بارے میں پرواہ نہیں ہے. 1248 00:58:52,070 --> 00:58:55,120 >> تو اب کسی اور سے دعا گو ہیں میموری کا استعمال کرتے ہوئے سوال، 1249 00:58:55,120 --> 00:58:57,519 آخر میں ہے کہ کیونکہ دن کی بادبانی میں ہے. 1250 00:58:57,519 --> 00:59:00,310 کوئی بات نہیں ہم کے ساتھ کیا ہو سکتا ہے کیا کمپیوٹر، دن کے آخر میں 1251 00:59:00,310 --> 00:59:02,560 ہارڈ ویئر اب بھی ہے ہڈ کے نیچے ایک ہی. 1252 00:59:02,560 --> 00:59:04,670 کس طرح میں یہاں میں ایک لفظ کو ذخیرہ کریں گے؟ 1253 00:59:04,670 --> 00:59:09,710 ویسے، ایک کمپیوٹر میں ایک لفظ کی طرح "ارے!" بس اس طرح ذخیرہ کیا جائے گا. 1254 00:59:09,710 --> 00:59:12,300 اور اگر تم ایک طویل چاہتا تھا تو لفظ، آپ کو صرف یہ کر سکتے ہیں 1255 00:59:12,300 --> 00:59:19,120 کہ ادلیکھت اور کچھ کہنا "ہیلو" اور سٹور یہاں ایسے ہی. 1256 00:59:19,120 --> 00:59:23,930 >> اور اس طرح یہاں، بھی، اس contiguousness اصل میں ایک فائدہ یہ ہے، 1257 00:59:23,930 --> 00:59:26,530 ایک کمپیوٹر صرف یہ کر سکتے ہیں کیونکہ دائیں سے بائیں سے پڑھا. 1258 00:59:26,530 --> 00:59:28,680 لیکن یہاں ایک سوال ہے. 1259 00:59:28,680 --> 00:59:33,480 اس لفظ کے تناظر میں، ایچ ای ایل ایل اے، فجائیہ نقطہ، 1260 00:59:33,480 --> 00:59:38,740 کس طرح کمپیوٹر جہاں معلوم ہو سکتا ہے لفظ سے شروع ہوتا ہے اور جہاں لفظ ختم ہو جاتی ہے؟ 1261 00:59:38,740 --> 00:59:41,690 1262 00:59:41,690 --> 00:59:43,800 نمبروں کے تناظر میں، کس طرح کمپیوٹر کرتا ہے 1263 00:59:43,800 --> 00:59:48,396 جانتے کتنی دیر کی ترتیب نمبرز یا جہاں یہ شروع ہوتا ہے؟ 1264 00:59:48,396 --> 00:59:50,270 ٹھیک ہے، یہ out-- بدل جاتا ہے اور ہم نے بہت زیادہ نہیں جائیں گے 1265 00:59:50,270 --> 00:59:54,970 detail-- کی اس سطح میں کمپیوٹر میموری میں کے ارد گرد چیزیں منتقل 1266 00:59:54,970 --> 00:59:57,800 لفظی ان پتوں کی راہ کی طرف. 1267 00:59:57,800 --> 01:00:02,080 ، ایک کمپیوٹر میں تو تم ہو تو کوڈ لکھنے چیزیں ذخیرہ کرنے کے لئے 1268 01:00:02,080 --> 01:00:05,800 الفاظ کی طرح، تم کیا ہو واقعی ٹائپ کر رہا ہے کر رہا 1269 01:00:05,800 --> 01:00:11,320 جہاں میں یاد ہے کہ اظہارات کمپیوٹر کی میموری میں ان الفاظ ہیں. 1270 01:00:11,320 --> 01:00:14,370 تو مجھے بہت ایک کرتے ہیں، بہت سادہ مثال. 1271 01:00:14,370 --> 01:00:18,260 >> میں آگے جانے کے لئے جا رہا ہوں اور ایک سادہ متن کے پروگرام کو کھولنے، 1272 01:00:18,260 --> 01:00:20,330 اور میں پیدا کرنے کے لئے جا رہا ہوں ایک فائل hello.c ملاقات. 1273 01:00:20,330 --> 01:00:22,849 اس کی معلومات میں سے زیادہ تر ہم بڑی تفصیل سے میں نہیں جائیں گے، 1274 01:00:22,849 --> 01:00:25,140 لیکن میں ایک لکھنے کے لئے جا رہا ہوں کہ ایک ہی زبان میں پروگرام، 1275 01:00:25,140 --> 01:00:31,140 C. یہ کہیں زیادہ دھمکی آمیز ہے، I، سکریچ مقابلے، بحث کریں گے 1276 01:00:31,140 --> 01:00:32,490 لیکن یہ روح میں بہت اسی طرح ہے. 1277 01:00:32,490 --> 01:00:34,364 اصل میں، ان گھوبگھرالی اس قسم کی braces-- آپ کر سکتے ہیں 1278 01:00:34,364 --> 01:00:37,820 میں نے صرف اس پر کیا کیا تھا کے بارے میں سوچ. 1279 01:00:37,820 --> 01:00:39,240 >> اصل میں، یہ کرتے ہیں. 1280 01:00:39,240 --> 01:00:45,100 سبز پرچم پر کلک کرتے ہیں تو، مندرجہ ذیل کام کریں. 1281 01:00:45,100 --> 01:00:50,210 میں باہر پرنٹ کرنے کے لئے چاہتے ہیں "ہیلو." 1282 01:00:50,210 --> 01:00:51,500 تو یہ اب pseudocode کے ہے. 1283 01:00:51,500 --> 01:00:53,000 میں اس قسم کی لائنز blurring رہا ہوں. 1284 01:00:53,000 --> 01:00:56,750 C میں، اس زبان میں بات کر رہا ہوں کے بارے میں، اس لائن پرنٹ ہیلو 1285 01:00:56,750 --> 01:01:01,940 اصل میں "printf کے" کے ساتھ ہو جاتا ہے کچھ قوسین اور ایک نیم بڑی آنت. 1286 01:01:01,940 --> 01:01:03,480 >> لیکن یہ بالکل وہی خیال ہے. 1287 01:01:03,480 --> 01:01:06,730 اور یہ بہت صارف دوست "سبز پرچم جب کلک کیا" بن جاتا ہے 1288 01:01:06,730 --> 01:01:10,182 بہت زیادہ جادو "int اہم باطل." 1289 01:01:10,182 --> 01:01:12,890 اور یہ واقعی کوئی میپنگ ہے، لہذا میں صرف اس کو نظر انداز کرنے جا رہا ہوں. 1290 01:01:12,890 --> 01:01:17,210 لیکن گھوبگھرالی منحنی خطوط وحدانی کی طرح ہیں اس طرح کے مڑے ہوئے پہیلی ٹکڑے ٹکڑے. 1291 01:01:17,210 --> 01:01:18,700 >> لہذا اگر آپ بھی قسم کی کر سکتے ہیں لگتا. 1292 01:01:18,700 --> 01:01:22,357 یہاں تک کہ اگر آپ پہلے پروگرام کبھی نہیں کیا ہے، اس پروگرام کو شاید کیا کرتا ہے؟ 1293 01:01:22,357 --> 01:01:25,560 1294 01:01:25,560 --> 01:01:28,000 شاید ہیلو پرنٹس ایک فجائیہ نقطہ کے ساتھ. 1295 01:01:28,000 --> 01:01:29,150 >> تو چلو کہ کی کوشش. 1296 01:01:29,150 --> 01:01:30,800 میں نے اس کو بچانے کے لئے جا رہا ہوں. 1297 01:01:30,800 --> 01:01:34,000 اور یہ ایک بار پھر، ایک بہت، ہے پرانے اسکول کے ماحول. 1298 01:01:34,000 --> 01:01:35,420 I، مظاہرہ نہیں کر سکتا ھیںچیں نہیں کر سکتے ہیں. 1299 01:01:35,420 --> 01:01:36,910 میں حکم دیتا ہے ٹائپ کرنا ہے. 1300 01:01:36,910 --> 01:01:41,320 پس میں نے تو اپنے پروگرام کو چلانا چاہتے ہیں، میں hello.c طرح، یہ کر سکتا ہے. 1301 01:01:41,320 --> 01:01:42,292 وہ فائل میں بھاگ گیا. 1302 01:01:42,292 --> 01:01:43,500 لیکن ٹھہریں، میں نے ایک قدم یاد آ رہی ہے. 1303 01:01:43,500 --> 01:01:46,470 کیا کیا ہم کہتے ہیں ایک کے لئے ضروری ہے C کی طرح ایک زبان کے لئے قدم؟ 1304 01:01:46,470 --> 01:01:49,470 میں نے ابھی مصدر لکھا ہے کوڈ، لیکن مجھے کیا ضرورت ہے؟ 1305 01:01:49,470 --> 01:01:50,670 جی ہاں، میں نے ایک سنکلک کی ضرورت. 1306 01:01:50,670 --> 01:01:57,670 ایک یہاں اپنے میک پر تو، میں ہے جی سی سی نامی پروگرام، GNU C سنکلک، 1307 01:01:57,670 --> 01:02:03,990 جس مجھے اس کی باری کرنے کی اجازت دیتا اپنے منبع کوڈ میں، ہم نے اسے فون کروں گا، 1308 01:02:03,990 --> 01:02:04,930 مشین کوڈ. 1309 01:02:04,930 --> 01:02:10,180 >> اور میں اس کو دیکھ سکتے ہیں، ایک بار پھر، مندرجہ ذیل کے طور پر، ان 1310 01:02:10,180 --> 01:02:14,090 zeros اور ہیں میں نے صرف اپنے منبع کوڈ سے پیدا، 1311 01:02:14,090 --> 01:02:15,730 zeros اور ہیں میں سے سب. 1312 01:02:15,730 --> 01:02:17,770 اور میں چلانے کے لئے چاہتے ہیں تو میرا پروگرام یہ ہوتا 1313 01:02:17,770 --> 01:02:23,010 کے لئے میں a.out بلایا جائے تاریخی reasons-- "ہیلو." 1314 01:02:23,010 --> 01:02:24,070 میں اسے دوبارہ چلا سکتے ہیں. 1315 01:02:24,070 --> 01:02:25,690 ہیلو ہیلو ہیلو. 1316 01:02:25,690 --> 01:02:27,430 اور یہ کام کر رہا ہے. 1317 01:02:27,430 --> 01:02:31,000 >> لیکن اس میں کہیں کا مطلب میرا کمپیوٹر کی میموری الفاظ ہیں 1318 01:02:31,000 --> 01:02:35,279 ایچ ای ایل ایل اے، فجائیہ نقطہ. 1319 01:02:35,279 --> 01:02:38,070 اور یہ ایک طرف صرف ایک کے طور پر، باہر کر دیتا ہے، کیا ایک کمپیوٹر عام طور پر کرے گا 1320 01:02:38,070 --> 01:02:40,550 تو کہاں سے جانتا ہے کہ ایسا چیزوں کو شروع کریں اور یہ بات ہے end-- 1321 01:02:40,550 --> 01:02:42,460 یہاں ایک خصوصی علامت ڈال دیا جا رہا. 1322 01:02:42,460 --> 01:02:46,064 اور کنونشن ڈال دیا ہے تعداد صفر ایک لفظ کے آخر میں 1323 01:02:46,064 --> 01:02:48,230 تاکہ آپ کو یہ کہاں جانتے ہیں اصل میں، ختم ہو جاتی ہے تاکہ تم 1324 01:02:48,230 --> 01:02:52,750 زیادہ سے زیادہ باہر پرنٹ نہیں رکھتے آپ حروف سے اصل میں ارادہ رکھتے. 1325 01:02:52,750 --> 01:02:55,400 >> لیکن یہاں takeaway ہے، یہاں تک کہ یہ کافی جادو ہے اگرچہ، 1326 01:02:55,400 --> 01:02:58,140 یہ بالآخر یہ ہے کہ نسبتا آسان. 1327 01:02:58,140 --> 01:03:04,550 تم، ایک خالی ایک ٹیپ کی طرح دی گئیں آپ کو خط لکھ سکتے ہیں، جس پر جگہ. 1328 01:03:04,550 --> 01:03:07,150 آپ کو صرف ایک ہی ہوگا خصوصی علامت، منمانے کی طرح 1329 01:03:07,150 --> 01:03:10,316 تعداد صفر، کے اختتام پر ڈال کرنے کے لئے آپ کے الفاظ تو ہے کہ کمپیوٹر کو جانتا ہے، 1330 01:03:10,316 --> 01:03:13,410 اوہ، میں نے کے بعد پرنٹنگ کے رک جانا چاہیے میں فجائیہ نقطہ دیکھیں. 1331 01:03:13,410 --> 01:03:16,090 وہاں اگلی چیز ہے کیونکہ صفر کے ایک ASCII قیمت، ہے 1332 01:03:16,090 --> 01:03:19,125 یا کے طور پر شہوت انگیز null کردار اگر کوئی اسے فون کرے گا. 1333 01:03:19,125 --> 01:03:21,500 لیکن ایک مسئلہ کی طرح ہے یہاں، اور چلو واپس واپس جانے دو 1334 01:03:21,500 --> 01:03:23,320 ایک لمحے کے لئے نمبروں پر. 1335 01:03:23,320 --> 01:03:28,720 فرض کریں کہ مجھے معلوم ہے کہ، حقیقت میں، ، اعداد کی ایک صف ہے 1336 01:03:28,720 --> 01:03:30,730 اور یہ کہ فرض کریں پروگرام میں لکھ رہا ہوں 1337 01:03:30,730 --> 01:03:34,680 ایک استاد کے لئے ایک گریڈ کتاب کی طرح اور کسی کے اساتذہ کلاس روم. 1338 01:03:34,680 --> 01:03:38,720 اور یہ پروگرام اس کے یا اس کی اجازت دیتا ہے ان طلبہ کا اسکور میں ٹائپ کرنا 1339 01:03:38,720 --> 01:03:39,960 quizzes کی تاریخ. 1340 01:03:39,960 --> 01:03:43,750 اور لگتا طالب علم ہو جاتا ہے کہ ان کی پہلی کوئز پر 100، شاید 1341 01:03:43,750 --> 01:03:49,920 اس کے بعد ایک کو اگلے ایک پر ایک 80، طرح 75، پھر چوتھے کوئز پر ایک 90. 1342 01:03:49,920 --> 01:03:54,150 >> کہانی میں اس وقت میں اتنی، صف کے سائز کے چار میں سے ہے. 1343 01:03:54,150 --> 01:03:58,470 میں بالکل زیادہ میموری نہیں ہے کمپیوٹر، بلکہ صف، تو بات کرنے 1344 01:03:58,470 --> 01:04:00,350 سائز کے چار میں سے ہے. 1345 01:04:00,350 --> 01:04:06,060 استاد چاہتا ہے کہ اب لگتا کلاس میں ایک پانچویں کوئز تفویض کرنے. 1346 01:04:06,060 --> 01:04:08,510 ویسے، چیزوں میں سے ایک وہ یا وہ ایسا کرنے کی ضرورت کے لئے جا رہا ہے 1347 01:04:08,510 --> 01:04:10,650 اب یہاں ایک اضافی قدر کی دکان ہے. 1348 01:04:10,650 --> 01:04:15,490 لیکن سرنی اگر استاد ہے اس پروگرام میں پیدا کے سائز کی ہے، 1349 01:04:15,490 --> 01:04:22,440 ایک سرنی کے ساتھ مسئلہ میں سے ایک یہ ہے کہ آپ کو صرف میموری میں اضافہ نہیں رکھ سکتے. 1350 01:04:22,440 --> 01:04:26,470 کیونکہ اگر کیا کے دوسرے حصے پروگرام وہیں لفظ ہے "ارے"؟ 1351 01:04:26,470 --> 01:04:29,650 >> دوسرے الفاظ میں، میری برقرار ہو سکتا ہے ایک پروگرام میں کسی بھی چیز کے لئے استعمال کیا. 1352 01:04:29,650 --> 01:04:33,250 اور پیشگی I میں ٹائپ تو، ارے، میں ان پٹ کے چار کوئز سکور کے لئے چاہتے ہیں، 1353 01:04:33,250 --> 01:04:34,784 وہ یہاں اور یہاں جا سکتا ہے. 1354 01:04:34,784 --> 01:04:37,700 اور تم اچانک اپنے ذہن کو تبدیل کرتے ہیں بعد میں اور میں نے ایک پانچویں کوئز چاہتے ہیں 1355 01:04:37,700 --> 01:04:40,872 اسکور، آپ کو صرف نہیں کر سکتے جہاں بھی تم چاہتے ڈال دیا، 1356 01:04:40,872 --> 01:04:42,580 اس کی وجہ یہ کیا اگر میموری کا استعمال کیا جا رہا ہے 1357 01:04:42,580 --> 01:04:45,990 کسی چیز کے لئے کچھ دوسرے پروگرام else-- یا پروگرام کی کچھ دوسری خصوصیت 1358 01:04:45,990 --> 01:04:46,910 آپ چلا رہے ہیں؟ 1359 01:04:46,910 --> 01:04:50,650 آپ کو پیشگی میں سوچنا ہے آپ کو آپ کے ڈیٹا کو محفوظ کرنا چاہتے ہیں کہ کس طرح، 1360 01:04:50,650 --> 01:04:54,480 اب آپ پینٹ کیا ہے کیونکہ اپنے آپ کو ایک ڈیجیٹل کونے میں. 1361 01:04:54,480 --> 01:04:57,280 >> تو ایک استاد کی بجائے شاید ایک پروگرام لکھنے جب کہتے ہیں 1362 01:04:57,280 --> 01:04:59,360 ذخیرہ کرنے کے لئے اس کا یا اس درجات، تمہیں معلوم ہے؟ 1363 01:04:59,360 --> 01:05:04,180 I، درخواست کرنے کے لئے جا رہا ہوں میرا پروگرام لکھنے جب، 1364 01:05:04,180 --> 01:05:12,070 میں چاہتا ہوں کہ صفر، ایک، دو، تین، چار، پانچ، چھ، آٹھ درجات کل. 1365 01:05:12,070 --> 01:05:15,320 تو ایک، دو، تین، چار، پانچ، چھ، سات، آٹھ. 1366 01:05:15,320 --> 01:05:18,612 استاد صرف زیادہ مختص کر سکتے ہیں اس کا یا اس پروگرام لکھنے جب میموری 1367 01:05:18,612 --> 01:05:19,570 اور کہتے ہیں، تمہیں معلوم ہے؟ 1368 01:05:19,570 --> 01:05:22,236 میں نے کبھی نہیں زیادہ تفویض کرنے جا رہا ہوں ایک سمسٹر میں آٹھ quizzes ہے کے مقابلے میں. 1369 01:05:22,236 --> 01:05:23,130 یہ صرف پاگل ہے. 1370 01:05:23,130 --> 01:05:24,470 میں نے اس کے مختص کبھی نہیں کروں گا. 1371 01:05:24,470 --> 01:05:28,270 اس طرح سے وہ گیا ہے تاکہ سٹور کے طالب علم کے اسکور کرنے کے لئے لچک، 1372 01:05:28,270 --> 01:05:33,010 75، 90، اور شاید جہاں اضافی ایک جیسے طالب علم، 105 اضافی کریڈٹ حاصل کی. 1373 01:05:33,010 --> 01:05:36,130 >> لیکن اگر استاد کبھی نہیں ان تین خالی جگہوں کو استعمال کرتا، 1374 01:05:36,130 --> 01:05:38,860 یہاں ایک بدیہی takeaway ہے وہاں ہے. 1375 01:05:38,860 --> 01:05:41,410 وہ یا وہ صرف جگہ برباد کر رہا ہے. 1376 01:05:41,410 --> 01:05:44,790 تو دوسرے الفاظ میں، یہ وہاں ہے پروگراموں میں عام tradeoff کے 1377 01:05:44,790 --> 01:05:48,241 آپ کو یا تو مختص کر سکتے ہیں، جہاں بالکل کے طور پر زیادہ سے زیادہ میموری تم چاہتے ہو، 1378 01:05:48,241 --> 01:05:51,490 جن میں سے الٹا ہے کہ آپ کو سپر ہو جاتا ہے efficient-- آپ بیکار ہونے کی وجہ سے نہیں کر رہے ہیں 1379 01:05:51,490 --> 01:05:54,640 اوپر all-- لیکن جس کی کمی کیا ہے آپ کو آپ کے دماغ کو تبدیل کرتے ہیں جب 1380 01:05:54,640 --> 01:05:58,780 پروگرام آپ کو محفوظ کرنا چاہتے ہیں کا استعمال کرتے ہوئے تم سے زیادہ کے اعداد و شمار اصل مقصد. 1381 01:05:58,780 --> 01:06:03,030 >> تو شاید حل تو، ہے، اس طرح میں آپ کے پروگرام لکھنے 1382 01:06:03,030 --> 01:06:05,605 وہ زیادہ میموری استعمال کرنے والے وہ اصل میں ضرورت سے. 1383 01:06:05,605 --> 01:06:07,730 تم نہیں جا رہے ہیں اس طرح اس مسئلہ میں چلانے کے لئے، 1384 01:06:07,730 --> 01:06:09,730 لیکن آپ بیکار ہونے کی وجہ سے کر رہے ہیں. 1385 01:06:09,730 --> 01:06:12,960 اور اس سے زیادہ میموری آپ کے پروگرام کو استعمال کرتا، ہم کل بحث کے طور پر، سے کم 1386 01:06:12,960 --> 01:06:15,410 دستیاب ہے کہ میموری دیگر پروگراموں کے لئے، 1387 01:06:15,410 --> 01:06:18,790 جلد پر آپ کے کمپیوٹر کو سست کر سکتے ورچوئل میموری کی وجہ سے نیچے. 1388 01:06:18,790 --> 01:06:22,670 اور اس لئے مثالی حل کیا ہو سکتا ہے؟ 1389 01:06:22,670 --> 01:06:24,610 >> انڈر مختص برا لگتا ہے. 1390 01:06:24,610 --> 01:06:27,030 زیادہ آونٹن برا لگتا ہے. 1391 01:06:27,030 --> 01:06:31,120 تو کیا ایک بہتر حل ہو سکتا ہے؟ 1392 01:06:31,120 --> 01:06:32,390 reallocating کے. 1393 01:06:32,390 --> 01:06:33,590 زیادہ متحرک ہونا. 1394 01:06:33,590 --> 01:06:37,520 ایک منتخب کرنے کے لئے اپنے آپ کو مجبور نہ کرو priori کے، شروع میں، کیا آپ چاہتے ہیں. 1395 01:06:37,520 --> 01:06:41,370 اور یقینی طور پر نہیں زیادہ مختص کرتے، آپ ایسا نہ ہو بیکار ہو. 1396 01:06:41,370 --> 01:06:45,770 >> اور اس لئے کہ مقصد کے حصول کے لئے، ہم نے یہ آنکڑا ڈھانچہ پھینک کرنے کی ضرورت، 1397 01:06:45,770 --> 01:06:48,100 دور، تو بات کرنے کی. 1398 01:06:48,100 --> 01:06:51,080 اور تو کیا ایک پروگرامر عام طور پر استعمال کرے گا 1399 01:06:51,080 --> 01:06:55,940 نہیں ایک کہا جاتا ہے کچھ کر رہا ہے سرنی لیکن ایک لنک کی فہرست. 1400 01:06:55,940 --> 01:07:00,860 دوسرے الفاظ میں، وہ یا وہ کرے گا ان کی یاد کا سوچنا شروع 1401 01:07:00,860 --> 01:07:05,280 ایک شکل سے ہونے قسم کے طور پر یہ ہے کہ وہ مندرجہ ذیل طریقے سے اپنی طرف متوجہ کر سکتے ہیں. 1402 01:07:05,280 --> 01:07:08,520 I میں نمبر ایک محفوظ کرنا چاہتے ہیں تو یہ ستمبر ہے اتنا کسی پروگرام، 1403 01:07:08,520 --> 01:07:12,600 میں نے اپنے طالب علموں کو ایک کوئز دیا ہے؛ میں چاہتا ہوں طالب علم کی پہلی کوئز ذخیرہ کرنے کے لئے، 1404 01:07:12,600 --> 01:07:16,220 اور انہوں نے اسے میں نے ایک 100 ملی میرے کمپیوٹر سے کہنے جا رہا ہوں، 1405 01:07:16,220 --> 01:07:19,540 پروگرام میں نے کی راہ کی طرف میموری میں سے ایک حصہ کے لئے، لکھا. 1406 01:07:19,540 --> 01:07:22,570 اور میں ذخیرہ کرنے کے لئے جا رہا ہوں تعداد 100 اس میں، اور یہ بات ہے. 1407 01:07:22,570 --> 01:07:24,820 >> اس کے بعد چند ہفتوں کے بعد جب میں نے اپنے دوسرے کوئز حاصل، 1408 01:07:24,820 --> 01:07:27,890 اور یہ ٹائپ کرنے کا وقت ہے میں ہے کہ 90٪، میں جا رہا ہوں 1409 01:07:27,890 --> 01:07:32,129 کمپیوٹر سے پوچھیں کرنے، ارے، کمپیوٹر، میں میموری کا ایک حصہ ہو سکتا ہے؟ 1410 01:07:32,129 --> 01:07:34,170 اس نے مجھے یہ دینے جا رہا ہے میموری کا خالی حصہ. 1411 01:07:34,170 --> 01:07:39,370 I، نمبر 90 میں ڈال کرنے کے لئے جا رہا ہوں لیکن میرا پروگرام میں کسی نہ کسی طرح یا other-- 1412 01:07:39,370 --> 01:07:42,100 اور ہم کے بارے میں فکر نہیں کرے گا نحو مجھے اس کی ضرورت this-- لئے 1413 01:07:42,100 --> 01:07:44,430 کسی نہ کسی طرح سے یہ باتیں ایک دوسرے کے ساتھ زنجیر. 1414 01:07:44,430 --> 01:07:47,430 اور میں ان کے ساتھ ساتھ چین دونگا یہاں ایک تیر کی طرح لگتا ہے. 1415 01:07:47,430 --> 01:07:50,050 >> آتا ہے کہ تیسری کوئز، میں کہنے جا رہا ہوں، ارے، کمپیوٹر، 1416 01:07:50,050 --> 01:07:51,680 مجھے میموری کا ایک حصہ دے. 1417 01:07:51,680 --> 01:07:54,660 اور میں نیچے ڈال کرنے جا رہا ہوں یہ جو کچھ بھی 75 کی طرح، تھا، 1418 01:07:54,660 --> 01:07:56,920 اور میں زنجیر اس لئے ہے ایک دوسرے کے ساتھ اب کسی نہ کسی طرح. 1419 01:07:56,920 --> 01:08:00,290 چوتھا کوئز ساتھ ساتھ آتا ہے، اور شاید کہ سمسٹر کے اختتام کی طرف ہے. 1420 01:08:00,290 --> 01:08:03,140 اور اس نقطہ میرے پروگرام کی طرف سے میموری استعمال کر رہا ہو 1421 01:08:03,140 --> 01:08:05,540 سب جگہ، تمام جسمانی طور پر ختم ہو گیا. 1422 01:08:05,540 --> 01:08:08,170 اور اس طرح صرف کک کے لئے، میں ہوں اس کھینچ کے لئے جا 1423 01:08:08,170 --> 01:08:11,260 quiz-- میں نے یہ کیا تھا بھول جاؤ؛ میں ایک 80 یا کچھ ہے لگتا ہے کہ شاید 1424 01:08:11,260 --> 01:08:12,500 جس طرح یہاں پر. 1425 01:08:12,500 --> 01:08:15,920 >> لیکن یہ ٹھیک ہے، کیونکہ pictorially کا میں نے اس لکیر کھینچنا کرنے جا رہا ہوں. 1426 01:08:15,920 --> 01:08:19,063 دوسرے الفاظ میں، حقیقت میں، آپ کے کمپیوٹر کی ہارڈ ویئر میں، 1427 01:08:19,063 --> 01:08:20,979 پہلی سکور شاید یہ ہے کیونکہ یہاں ختم 1428 01:08:20,979 --> 01:08:22,529 حق سمسٹر کے آغاز پر. 1429 01:08:22,529 --> 01:08:25,810 اگلے ایک یہاں ختم ہو سکتا ہے تھوڑا سا وقت گزر چکا ہے کیونکہ 1430 01:08:25,810 --> 01:08:27,210 اور پروگرام چل رہا رکھتا ہے. 1431 01:08:27,210 --> 01:08:30,060 تھا جس میں اگلے اسکور، 75، یہاں پر ہو سکتا ہے. 1432 01:08:30,060 --> 01:08:33,420 اور آخری سکور ہو سکتا ہے 80، یہاں پر ہے جو. 1433 01:08:33,420 --> 01:08:38,729 >> لہذا حقیقت میں، جسمانی طور پر، یہ بھی ہو سکتا کیا آپ کے کمپیوٹر کی میموری کی طرح لگتا ہے. 1434 01:08:38,729 --> 01:08:41,569 لیکن یہ ایک مفید ذہنی نہیں ہے ایک کمپیوٹر پروگرامر کے لئے نمونہ. 1435 01:08:41,569 --> 01:08:44,649 تم کہاں کیوں دیکھ بھال کرنی چاہیے کیا heck آپ کے ڈیٹا کو ختم کیا جاتا ہے؟ 1436 01:08:44,649 --> 01:08:46,200 تم صرف ڈیٹا کو محفوظ کرنا چاہتے ہیں. 1437 01:08:46,200 --> 01:08:49,390 >> یہ ہماری بحث طرح قسم کی ہے کیوب ڈرائنگ کے اوائل. 1438 01:08:49,390 --> 01:08:52,200 تم کیوں فکر کرتے ہو کیا زاویہ کیوب میں سے ہے 1439 01:08:52,200 --> 01:08:53,740 اور کس طرح آپ اسے اپنی طرف متوجہ کرنے کے لئے تبدیل کرنے کے لئے ہے؟ 1440 01:08:53,740 --> 01:08:54,950 تم نے صرف ایک کیوب چاہتے. 1441 01:08:54,950 --> 01:08:57,359 اسی طرح یہاں، آپ جیسا کہ گریڈ کتاب چاہتے ہیں. 1442 01:08:57,359 --> 01:08:59,559 تم بس کے بارے میں سوچنا کرنا چاہتے ہیں اعداد کی ایک فہرست کے طور پر اس. 1443 01:08:59,559 --> 01:09:01,350 یہ ہے کہ کس طرح کون پرواہ کرتا ہے ہارڈ ویئر میں لاگو کیا؟ 1444 01:09:01,350 --> 01:09:05,180 >> تجرید اب تو یہاں تصویر ہے. 1445 01:09:05,180 --> 01:09:07,580 یہ ایک لنک کی فہرست ہے، کے طور پر ایک پروگرامر اسے فون کرے گا، 1446 01:09:07,580 --> 01:09:10,640 آپ کو ایک ہے insofar کے طور پر فہرست سے، ظاہر کی تعداد کے. 1447 01:09:10,640 --> 01:09:14,990 لیکن یہ pictorially منسلک ہے یہ تیر کی راہ کی طرف، 1448 01:09:14,990 --> 01:09:18,510 اور ان تمام تیر نیچے are-- ڈاکو، آپ جاننا چاہتے ہیں تو، 1449 01:09:18,510 --> 01:09:23,210 ہماری جسمانی ہارڈ ویئر ہے کہ یاد کرتے ہیں پتوں صفر، ایک، دو، تین، چار. 1450 01:09:23,210 --> 01:09:28,465 ایک نقشہ کی طرح ہے یہ تمام تیر ہیں یا ہدایات، جہاں اگر 90 is-- اب 1451 01:09:28,465 --> 01:09:29,090 میں شمار ہوگا. 1452 01:09:29,090 --> 01:09:31,750 >> صفر، ایک، دو، تین، چار، پانچ، چھ، سات. 1453 01:09:31,750 --> 01:09:35,640 ایسا لگتا ہے کہ 90 میں ہے کی طرح میموری ایڈریس نمبر سات. 1454 01:09:35,640 --> 01:09:38,460 یہ تمام تیروں ہے کاغذ کا ایک چھوٹا سا سکریپ طرح 1455 01:09:38,460 --> 01:09:42,439 کہ کو ہدایات دے رہی ہے پروگرام اس نقشہ کی پیروی کا کہنا ہے کہ 1456 01:09:42,439 --> 01:09:43,880 محل وقوع کے سات پر حاصل کرنے کے. 1457 01:09:43,880 --> 01:09:46,680 اور وہاں آپ کو مل جائے گا طالب علم کی دوسری کوئز سکور. 1458 01:09:46,680 --> 01:09:52,100 دریں اثنا، 75-- میں یہ جاری ہے تو، اس سات ہے، آٹھ، نو، 10، 11، 12، 1459 01:09:52,100 --> 01:09:54,240 13، 14، 15. 1460 01:09:54,240 --> 01:09:59,080 >> یہ دیگر تیر صرف کی نمائندگی کرتا ہے میموری مقام سے 15 ایک نقشہ. 1461 01:09:59,080 --> 01:10:02,550 لیکن پھر، پروگرامر کو عام کرتا ہے تفصیل کی اس سطح کی پرواہ نہیں. 1462 01:10:02,550 --> 01:10:05,530 اور سب سے ہر پروگرامنگ میں زبان آج، پروگرامر 1463 01:10:05,530 --> 01:10:10,490 یہ بھی پتہ نہیں کریں گے جہاں کی یاد میں ان کی تعداد اصل میں ہیں. 1464 01:10:10,490 --> 01:10:14,830 وہ یا وہ ہے تمام کے بارے میں دیکھ بھال کرنے وہ کسی نہ کسی طرح ایک دوسرے کے ساتھ منسلک ہوتے ہیں 1465 01:10:14,830 --> 01:10:18,390 اس طرح ایک آنکڑا ڈھانچہ میں. 1466 01:10:18,390 --> 01:10:21,580 >> لیکن یہ نہیں پتہ چلا بھی تکنیکی حاصل کرنے کے لئے. 1467 01:10:21,580 --> 01:10:27,430 لیکن صرف اس وجہ سے ہم نے شاید یہ کر سکتے ہیں یہاں اس بحث ہے کرنے کے متحمل، 1468 01:10:27,430 --> 01:10:33,630 فرض کریں ہم نظرثانی کہ یہاں ایک صف کے اس معاملے. 1469 01:10:33,630 --> 01:10:35,780 چلو دیکھتے ہم یہاں جا افسوس تو کرتے ہیں. 1470 01:10:35,780 --> 01:10:42,950 یہ 100، 90، 75، اور 80 ہے. 1471 01:10:42,950 --> 01:10:44,980 >> مختصرا یہ دعوی کرنے دو. 1472 01:10:44,980 --> 01:10:48,980 یہ ایک صف ہے، اور ایک بار پھر، ایک سرنی کی نمایاں خصوصیت 1473 01:10:48,980 --> 01:10:52,400 آپ کے ڈیٹا کی سب کے لئے واپس آ گیا ہے ہے ہے واپس لفظی میموری میں واپس 1474 01:10:52,400 --> 01:10:56,830 ایک بائٹ یا شاید چار بائٹس، دور بائٹس کی کچھ مقررہ تعداد. 1475 01:10:56,830 --> 01:11:00,710 ایک لنک کی فہرست میں، ہم کو اپنی طرف متوجہ کر سکتے ہیں جس اس طرح، ہڈ کے نیچے جو 1476 01:11:00,710 --> 01:11:02,000 کہ چیزیں کہاں ہے جانتا ہے؟ 1477 01:11:02,000 --> 01:11:03,630 یہ بھی اس طرح بہتا کرنے کی ضرورت نہیں ہے. 1478 01:11:03,630 --> 01:11:06,050 ڈیٹا کی کچھ ہو سکتا ہے واپس وہاں سے بائیں. 1479 01:11:06,050 --> 01:11:07,530 تم نے یہ بھی نہیں جانتے. 1480 01:11:07,530 --> 01:11:15,430 >> اور اس طرح ایک سرنی کے ساتھ، آپ کو ایک ہونا نمایاں کریں رینڈم رسائی کے طور پر جانا. 1481 01:11:15,430 --> 01:11:20,570 اور کیا رینڈم رسائی ذریعہ ہے کمپیوٹر کو فوری طور پر کود کر سکتے ہیں 1482 01:11:20,570 --> 01:11:22,730 ایک صف میں کسی بھی مقام پر. 1483 01:11:22,730 --> 01:11:23,580 کیوں؟ 1484 01:11:23,580 --> 01:11:26,000 کیونکہ کمپیوٹر جانتا ہے پہلی جگہ ہے 1485 01:11:26,000 --> 01:11:29,540 صفر، ایک، دو، اور تین. 1486 01:11:29,540 --> 01:11:33,890 >> اور اس لئے تم سے جانے کے لئے چاہتے ہیں تو اگلے عنصر پر اس عنصر، 1487 01:11:33,890 --> 01:11:36,099 آپ لفظی، میں کمپیوٹر کا دماغ، صرف ایک کو شامل کریں. 1488 01:11:36,099 --> 01:11:39,140 آپ تیسری عنصر پر جانے کے لئے چاہتے ہیں تو، صرف، اگلے عنصر one-- شامل صرف 1489 01:11:39,140 --> 01:11:40,290 ایک کو شامل کریں. 1490 01:11:40,290 --> 01:11:42,980 تاہم، اس ورژن میں کہانی کے، لگتا ہے 1491 01:11:42,980 --> 01:11:46,080 کمپیوٹر الحال لگ رہا ہے اوپر یا نمبر 100 کے ساتھ نمٹنے. 1492 01:11:46,080 --> 01:11:49,770 تم کس طرح اگلے پر حاصل کروں گریڈ کتاب میں گریڈ؟ 1493 01:11:49,770 --> 01:11:52,560 >> تم سات لینا ہو اقدامات، صوابدیدی ہے جس. 1494 01:11:52,560 --> 01:11:58,120 اگلے ایک حاصل کرنے کے لئے، آپ کو کرنا پڑے 15 کے لئے حاصل کرنے کے لئے ایک اور آٹھ اقدامات کرے. 1495 01:11:58,120 --> 01:12:02,250 دوسرے الفاظ میں، یہ ایک نہیں ہے اعداد کے درمیان مسلسل خلاء، 1496 01:12:02,250 --> 01:12:04,857 اور تو یہ صرف لیتا ہے کمپیوٹر مزید وقت نقطہ ہے. 1497 01:12:04,857 --> 01:12:06,940 کمپیوٹر میں تلاش کرنے کے لئے ہے ترتیب میں میموری کے ذریعے 1498 01:12:06,940 --> 01:12:08,990 آپ کے لئے تلاش کر رہے ہیں تلاش کرنے کے لئے. 1499 01:12:08,990 --> 01:12:14,260 >> ایک صف میں ایک ہو جاتا ہے جبکہ سو آپ کی وجہ سے روزہ ڈیٹا structure-- 1500 01:12:14,260 --> 01:12:17,610 لفظی صرف سادہ ریاضی کیا کر سکتے ہیں اور ایک کا اضافہ کر کے جہاں آپ چاہتے ہیں حاصل، 1501 01:12:17,610 --> 01:12:21,300 ایک لنک کی فہرست instance-- لئے، آپ اس خصوصیت کو قربان. 1502 01:12:21,300 --> 01:12:24,020 آپ صرف پہلی سے نہیں جا سکتے تیسری پر دوسرے نمبر پر چوتھی. 1503 01:12:24,020 --> 01:12:25,240 آپ نقشے پر عمل کرنا ہوگا. 1504 01:12:25,240 --> 01:12:28,160 آپ مزید اقدامات کرنے کی ہے ان اقدار، کے لئے حاصل کرنے کے لئے جس 1505 01:12:28,160 --> 01:12:30,230 ایک سرمایہ کاری کو شامل کرنے لگتے ہو گا. 1506 01:12:30,230 --> 01:12:35,910 تو ہم نے ایک قیمت ادا کر رہے ہیں، لیکن وہ کیا تھا خصوصیت یہ ہے کہ ڈین یہاں تلاش کر رہا تھا؟ 1507 01:12:35,910 --> 01:12:38,110 کیا ایک لنک کی فہرست کرتا ہے بظاہر ہمیں ایسا کرنے کی اجازت دیتے ہیں، 1508 01:12:38,110 --> 01:12:40,240 جس کی اصل تھا یہ مخصوص کہانی؟ 1509 01:12:40,240 --> 01:12:43,250 1510 01:12:43,250 --> 01:12:43,830 >> بالکل ٹھیک. 1511 01:12:43,830 --> 01:12:46,220 اس کے لئے ایک متحرک سائز. 1512 01:12:46,220 --> 01:12:48,040 ہم اس فہرست میں شامل کر سکتے. 1513 01:12:48,040 --> 01:12:51,430 ہم بھی فہرست سکڑ کر سکتے ہیں تو، ہم صرف کے طور پر زیادہ سے زیادہ میموری کا استعمال کرتے ہوئے کر رہے ہیں کہ 1514 01:12:51,430 --> 01:12:55,560 جیسا کہ ہم نے واقعی چاہتے ہیں اور تو ہم زیادہ آونٹن کبھی نہیں ہو. 1515 01:12:55,560 --> 01:12:58,470 >> اب بس، واقعی این آئی ٹی picky کرنے ایک چھپی ہوئی لاگت نہیں ہے. 1516 01:12:58,470 --> 01:13:01,980 تو کیا تم صرف مجھے قائل نہیں دینا چاہئے آپ کو اس ایک مجبور tradeoff کے ہے. 1517 01:13:01,980 --> 01:13:04,190 یہاں ایک اور پوشیدہ معاوضہ نہیں ہے. 1518 01:13:04,190 --> 01:13:06,550 فائدہ،، واضح ہونا ہم تحرک حاصل یہ ہے کہ. 1519 01:13:06,550 --> 01:13:10,359 میں نے ایک اور عنصر چاہتے ہیں تو، میں تو صرف یہ کر سکتے ہیں اسے اپنی طرف متوجہ اور وہاں میں ایک نمبر دیا. 1520 01:13:10,359 --> 01:13:12,150 اور پھر میں نے اس سے منسلک کر سکتے ہیں یہاں ایک تصویر کے ساتھ، 1521 01:13:12,150 --> 01:13:14,970 یہاں پر ہے جبکہ، ایک بار پھر، میں نے کیا ہے تو ایک کونے میں اپنے آپ کو پینٹ، 1522 01:13:14,970 --> 01:13:19,410 کچھ اور پہلے ہی سے استعمال کر رہا ہے تو یہاں میموری، I قسمت سے باہر ہوں. 1523 01:13:19,410 --> 01:13:21,700 مجھے کونے میں اپنے آپ کو پینٹ کیا ہے. 1524 01:13:21,700 --> 01:13:24,390 >> لیکن جو کچھ پوشیدہ ہے اس تصویر میں قیمت ہے؟ 1525 01:13:24,390 --> 01:13:27,690 یہ صرف رقم نہیں ہے یہ لیتا ہے کہ وقت کی 1526 01:13:27,690 --> 01:13:29,870 یہاں سے یہاں پر جانے کے لئے، جو اس کے بعد، سات قدم ہے 1527 01:13:29,870 --> 01:13:32,820 آٹھ اقدامات، جس میں ایک سے زائد ہے. 1528 01:13:32,820 --> 01:13:34,830 ایک اور پوشیدہ قیمت کیا ہے؟ 1529 01:13:34,830 --> 01:13:35,440 نہ کہ صرف وقت. 1530 01:13:35,440 --> 01:13:44,790 1531 01:13:44,790 --> 01:13:49,940 اضافی معلومات ہے تصویر کو حاصل کرنے کے لئے ضروری. 1532 01:13:49,940 --> 01:13:53,210 >> جی ہاں، اس نقشے، کی ان چھوٹی سکریپ کاغذ، میں نے ان کے طور پر بیان کر رکھنے کے طور پر. 1533 01:13:53,210 --> 01:13:55,650 ان لوگوں arrows-- یہ مفت نہیں ہیں. 1534 01:13:55,650 --> 01:13:57,660 آپ کو ایک کمپیوٹر ایک کمپیوٹر ہے کیا. 1535 01:13:57,660 --> 01:13:58,790 اس zeros اور ہیں. 1536 01:13:58,790 --> 01:14:03,170 آپ کو ایک تیر یا ایک کی نمائندگی کرنا چاہتے ہیں تو نقشہ یا ایک بڑی تعداد، آپ کو کچھ میموری کی ضرورت ہے. 1537 01:14:03,170 --> 01:14:05,950 دیگر قیمت تو تم ایک لنک کی فہرست کے لئے ادا، 1538 01:14:05,950 --> 01:14:09,070 ایک عام کمپیوٹر سائنس وسائل، بھی جگہ ہے. 1539 01:14:09,070 --> 01:14:11,710 >> اور یقینا ایسا ہے، تو عام طور پر، tradeoffs کے درمیان 1540 01:14:11,710 --> 01:14:15,580 سافٹ ویئر انجینئرنگ کے ڈیزائن میں سسٹمز وقت اور space-- ہے 1541 01:14:15,580 --> 01:14:18,596 اپنے اجزاء میں سے دو ہیں، دو آپ کا سب سے مہنگا اجزاء کی. 1542 01:14:18,596 --> 01:14:21,220 یہ میرے لئے مزید وقت کی لاگت ہے مجھے اس نقشے پر عمل کرنے کی ضرورت ہے کیونکہ، 1543 01:14:21,220 --> 01:14:25,730 لیکن یہ بھی مجھے زیادہ جگہ کی لاگت ہے میں نے ارد گرد اس نقشے کو رکھنے کے لئے کی ضرورت ہے کیونکہ. 1544 01:14:25,730 --> 01:14:28,730 امید کرتا ہوں، اس کو ہم اس قسم کی ہے کل اور آج کے اوپر بحث کی، 1545 01:14:28,730 --> 01:14:31,720 فوائد ہیں ہے اخراجات outweigh گا. 1546 01:14:31,720 --> 01:14:33,870 >> لیکن یہاں کوئی واضح حل موجود ہے. 1547 01:14:33,870 --> 01:14:35,870 شاید یہ better-- ہے ایک لا فوری اور گندی، 1548 01:14:35,870 --> 01:14:38,660 کریم earlier-- تجویز کے طور پر مسئلہ میموری پھینک. 1549 01:14:38,660 --> 01:14:42,520 بس زیادہ میموری خریدنے، کم سوچتے ہیں مسئلہ کو حل کرنے کے بارے میں مشکل، 1550 01:14:42,520 --> 01:14:44,595 اور ایک آسان طریقے سے حل. 1551 01:14:44,595 --> 01:14:46,720 اور یقینا اس سے قبل، جب ہم tradeoffs کے بارے میں بات کی، 1552 01:14:46,720 --> 01:14:49,190 اس میں جگہ نہیں تھی کمپیوٹر اور وقت. 1553 01:14:49,190 --> 01:14:51,810 یہ ڈویلپر وقت، جو تھا ابھی تک ایک اور ذریعہ ہے. 1554 01:14:51,810 --> 01:14:54,829 >> تو ایک بار پھر، یہ اس توازن ایکٹ ہے فیصلہ کرنے کی کوشش ان چیزوں میں سے جو 1555 01:14:54,829 --> 01:14:55,870 آپ کو خرچ کرنے کو تیار ہیں؟ 1556 01:14:55,870 --> 01:14:57,380 کون سی کم از کم مہنگا ہے؟ 1557 01:14:57,380 --> 01:15:01,040 کون بہتر نتائج ملتی؟ 1558 01:15:01,040 --> 01:15:01,540 ہاں؟ 1559 01:15:01,540 --> 01:15:11,310 1560 01:15:11,310 --> 01:15:12,580 >> بے شک. 1561 01:15:12,580 --> 01:15:15,970 اس صورت میں، آپ ہیں تو maps-- میں تعداد کی نمائندگی 1562 01:15:15,970 --> 01:15:18,820 ان بہت سی زبانوں میں کہا جاتا ہے "اشارہ" یا "پتوں" - 1563 01:15:18,820 --> 01:15:20,390 یہ ڈبل خلا ہے. 1564 01:15:20,390 --> 01:15:24,390 کہ اگر ڈبل کے طور پر برا نہیں کی ضرورت ہے ابھی ہم صرف اعداد ذخیرہ کرنے کر رہے. 1565 01:15:24,390 --> 01:15:27,410 فرض کریں کہ ہم کو ذخیرہ کرنے کر رہے تھے ایک hospital-- میں مریض کے ریکارڈ 1566 01:15:27,410 --> 01:15:30,870 تاکہ Pierson کے نام، فون نمبر، سوشل سیکورٹی نمبر، ڈاکٹر 1567 01:15:30,870 --> 01:15:31,540 تاریخ. 1568 01:15:31,540 --> 01:15:34,160 یہ باکس، زیادہ ہو سکتی ہے زیادہ بڑا، جس صورت میں 1569 01:15:34,160 --> 01:15:38,000 ایک چھوٹے سے چھوٹا پوائنٹر، کا پتہ اگلے، یہ ایک بڑا سودا نہیں ہے عنصر. 1570 01:15:38,000 --> 01:15:40,620 یہ اس طرح کے ایک کنارے ہے اس سے کوئی فرق نہیں پڑتا لاگت آئے. 1571 01:15:40,620 --> 01:15:43,210 لیکن اس معاملے میں، جی ہاں، یہ ایک دوہراکرن ہے. 1572 01:15:43,210 --> 01:15:45,290 اچھا سوال. 1573 01:15:45,290 --> 01:15:47,900 >> کی بار ایک اور بات کرتے ہیں زیادہ ٹھوس تھوڑا. 1574 01:15:47,900 --> 01:15:50,380 رننگ ٹائم کیا ہے کی اس فہرست تلاش؟ 1575 01:15:50,380 --> 01:15:53,640 مجھے تلاش کرنے کے لئے کرنا چاہتا تھا تمام طلبا کے گریڈز کے ذریعے، 1576 01:15:53,640 --> 01:15:55,980 اور (ن) کے گریڈ نہیں ہے یہ اعداد و شمار کے ڈھانچے میں. 1577 01:15:55,980 --> 01:15:58,830 یہاں، بھی، ہم قرضے لے سکتا ہوں اس سے قبل کے الفاظ. 1578 01:15:58,830 --> 01:16:00,890 یہ ایک لکیری آنکڑا ڈھانچہ ہے. 1579 01:16:00,890 --> 01:16:04,570 >> بڑا این اے حاصل کرنے کے لئے ضروری ہے کیا ہے یہ آنکڑا ڈھانچہ کے اختتام پر، 1580 01:16:04,570 --> 01:16:08,410 whereas-- اور ہم نے نہیں دیکھا ہے یہ ایک صف آپ کو دیتا ہے پہلے کی 1581 01:16:08,410 --> 01:16:13,555 کیا مسلسل وقت جس کا مطلب ہے کہا جاتا ہے، ایک قدم یا دو قدم یا 10 steps-- 1582 01:16:13,555 --> 01:16:14,180 کوئی فرق نہیں پڑتا. 1583 01:16:14,180 --> 01:16:15,440 یہ ایک مقررہ تعداد ہے. 1584 01:16:15,440 --> 01:16:17,440 اس کے ساتھ کوئی تعلق نہیں ہے صف کے سائز. 1585 01:16:17,440 --> 01:16:20,130 اور اس کی وجہ، ایک بار پھر، رینڈم رسائی ہے. 1586 01:16:20,130 --> 01:16:23,180 کمپیوٹر صرف فوری طور پر کر سکتے ہیں کسی اور مقام پر کود، 1587 01:16:23,180 --> 01:16:27,770 وہ سب کے سب ایک ہی ہیں کیونکہ باقی سب سے فاصلہ. 1588 01:16:27,770 --> 01:16:29,112 ملوث کوئی سوچ نہیں ہے. 1589 01:16:29,112 --> 01:16:31,900 1590 01:16:31,900 --> 01:16:32,400 بالکل ٹھیک. 1591 01:16:32,400 --> 01:16:39,230 میں کر سکتا ہوں، اگر تو میری بات کی کوشش کرتے ہیں دو حتمی تصاویر پینٹ. 1592 01:16:39,230 --> 01:16:42,830 ایک بہت عام ایک سے ایک ہیش ٹیبل کے طور پر جانا. 1593 01:16:42,830 --> 01:16:51,120 لہذا اس بحث کی حوصلہ افزائی کرنے، مجھے ایسا کرنے کے بارے میں سوچتے ہیں. 1594 01:16:51,120 --> 01:16:52,610 >> تو یہ کس طرح کے بارے میں؟ 1595 01:16:52,610 --> 01:16:55,160 مسئلہ یہ ہے کہ فرض کریں ہم اب حل کرنا چاہتے ہیں 1596 01:16:55,160 --> 01:16:58,360 ایک dictionary-- میں لاگو کر رہا ہے انگریزی الفاظ کا اتنا ہی پورے گچرچھی 1597 01:16:58,360 --> 01:16:59,330 یا جو کچھ بھی. 1598 01:16:59,330 --> 01:17:02,724 اور مقصد کے جواب دینے کے لئے قابل ہو جائے کرنے کے لئے ہے فارم کے سوالات یہ ایک لفظ ہے؟ 1599 01:17:02,724 --> 01:17:04,640 لہذا اگر آپ کو لاگو کرنے کے لئے چاہتے ہیں ایک سپیل چیکر، صرف 1600 01:17:04,640 --> 01:17:07,220 ایک جسمانی لغت طرح آپ میں چیزوں کو دیکھ سکتے ہیں کہ. 1601 01:17:07,220 --> 01:17:10,490 مجھے ایک سرنی کے ساتھ ایسا کرنے کے لئے تھے لگتا. 1602 01:17:10,490 --> 01:17:12,590 میں یہ نہیں کر سکتا. 1603 01:17:12,590 --> 01:17:20,756 >> اور الفاظ ایپل ہیں لگتا ہے اور کیلے اور cantaloupe. 1604 01:17:20,756 --> 01:17:23,330 1605 01:17:23,330 --> 01:17:26,465 اور میں پھل نہیں سوچ سکتا کہ D کے ساتھ شروع، تو ہم صرف ہو 1606 01:17:26,465 --> 01:17:27,590 تین پھل کے لئے جا رہا. 1607 01:17:27,590 --> 01:17:31,510 تو یہ ایک صف ہے، اور ہم ہیں ان الفاظ میں سے تمام ذخیرہ کرنے 1608 01:17:31,510 --> 01:17:34,200 اس لغت ایک صف کے طور پر. 1609 01:17:34,200 --> 01:17:39,350 سوال، تو، کس طرح اور ہے اگر آپ یہ معلومات محفوظ کر سکتے ہیں؟ 1610 01:17:39,350 --> 01:17:43,160 >> ویسے، میں یہاں دھوکہ دے رہا ہوں، کیونکہ لفظ میں ان حروف میں سے ہر ایک 1611 01:17:43,160 --> 01:17:44,490 واقعی ایک فرد بائٹ ہے. 1612 01:17:44,490 --> 01:17:46,740 تو میں واقعی بننا چاہتی تھی تو این آئی ٹی میں picky، میں واقعی میں ہونا چاہئے 1613 01:17:46,740 --> 01:17:49,600 زیادہ میں اس کو تقسیم کیا جائے میموری کی چھوٹے حصوں، 1614 01:17:49,600 --> 01:17:51,289 اور ہم بالکل ایسا کر سکتا ہے. 1615 01:17:51,289 --> 01:17:53,580 لیکن ہم میں چلانے کے لئے جا رہے ہیں پہلے کے طور پر ایک ہی مسئلہ. 1616 01:17:53,580 --> 01:17:56,674 ، کیا ہوگا اگر میریم ویبسٹر یا آکسفورڈ طور ہر وہ الفاظ شامل year-- کرتا 1617 01:17:56,674 --> 01:17:59,340 dictionary-- کرنے ہم ایسا نہیں کرتے ضروری نہیں کہ خود کو پینٹ کرنا چاہتے ہیں 1618 01:17:59,340 --> 01:18:00,780 ایک سرنی کے ساتھ ایک کونے میں؟ 1619 01:18:00,780 --> 01:18:05,710 >> تو بجائے، شاید ایک ہوشیار نقطہ نظر اپنے ہی نوڈ یا باکس میں ایپل ڈال دیا ہے، 1620 01:18:05,710 --> 01:18:11,190 جیسا کہ ہم کہہ دیں گے، کیلا، اور تو پھر ہم یہاں cantaloupe پر ہے. 1621 01:18:11,190 --> 01:18:14,990 1622 01:18:14,990 --> 01:18:16,790 اور ہم سٹرنگ ان چیزوں کو ایک ساتھ. 1623 01:18:16,790 --> 01:18:19,980 تو یہ صف ہے، اور اس لنک کی فہرست ہے. 1624 01:18:19,980 --> 01:18:23,300 آپ کو کافی نہیں دیکھ سکتے، تو یہ صرف کہتے ہیں کہ "صف" ہے اور اس کا کہنا ہے "کی فہرست." 1625 01:18:23,300 --> 01:18:25,780 >> تو ہم نے ایک ہی ہے پہلے کے طور پر عین مطابق مسائل، 1626 01:18:25,780 --> 01:18:28,600 جس کے تحت اب ہم ہیں ہمارے منسلک فہرست میں تحرک. 1627 01:18:28,600 --> 01:18:31,090 لیکن ہم ایک کافی سست ڈکشنری ہے. 1628 01:18:31,090 --> 01:18:32,870 میں نے ایک لفظ نظر کرنا چاہتے ہیں مان لیں. 1629 01:18:32,870 --> 01:18:35,430 اس سے مجھے بڑا این اے لے سکتا ہے اقدامات، کیونکہ لفظ شاید 1630 01:18:35,430 --> 01:18:37,840 کے آخر میں تمام طریقہ ہو فہرست، cantaloupe پر طرح. 1631 01:18:37,840 --> 01:18:40,600 اور یہ پتہ چلا ہے کہ پروگرامنگ میں، ترتیب دیں 1632 01:18:40,600 --> 01:18:42,700 اعداد و شمار کے حضور Grail کے ڈھانچے، کچھ ہے 1633 01:18:42,700 --> 01:18:46,620 کہ آپ کو مسلسل دیتا ہے ایک صف کی طرح وقت 1634 01:18:46,620 --> 01:18:50,870 لیکن ہے کہ اب بھی آپ تحرک دیتا ہے. 1635 01:18:50,870 --> 01:18:52,940 >> تو ہم دونوں دنیاؤں کی بہترین ہو سکتا ہے؟ 1636 01:18:52,940 --> 01:18:55,570 اور بے شک، وہاں کچھ ہے ہیش ٹیبل بلایا 1637 01:18:55,570 --> 01:18:59,320 کہ آپ کو بالکل ایسا کرنے کی اجازت دیتا ہے اگرچہ تقریبا کہ،. 1638 01:18:59,320 --> 01:19:03,140 A ہیش ٹیبل ایک fancier ہے آنکڑا ڈھانچہ ہے کہ ہم 1639 01:19:03,140 --> 01:19:06,340 کے طور پر سوچ سکتے ہیں ایک صف کا مجموعہ 1640 01:19:06,340 --> 01:19:12,390 اور میں نے اس کو اپنی طرف متوجہ کرنے کے لئے جا رہا ہوں this-- اور منسلک کی فہرست کی طرح 1641 01:19:12,390 --> 01:19:17,310 میں یہاں اس طرح اپنی طرف متوجہ کریں گے کہ. 1642 01:19:17,310 --> 01:19:19,760 >> اور یہ فعل طریقہ اعمال درج ذیل ہے. 1643 01:19:19,760 --> 01:19:23,310 1644 01:19:23,310 --> 01:19:29,540 اس table-- ہیش now-- تو میرا تیسرا آنکڑا ڈھانچہ، ہے 1645 01:19:29,540 --> 01:19:32,590 اور میں محفوظ کرنا چاہتے ہیں اس میں الفاظ، مجھے نہیں پتہ 1646 01:19:32,590 --> 01:19:35,440 صرف میں سے سب کو محفوظ کرنا چاہتے الفاظ واپس واپس کرنے کے لئے واپس کرنے کے لئے واپس کرنے کے لئے. 1647 01:19:35,440 --> 01:19:37,430 میں نے کچھ بیعانہ کے لئے چاہتے ہیں معلومات کا ٹکڑا 1648 01:19:37,430 --> 01:19:40,330 الفاظ چل جائے گا اس کے بارے میں یہ تیزی سے ہے جہاں مجھے یہ ملتا. 1649 01:19:40,330 --> 01:19:43,666 >> لہذا الفاظ ایپل دی اور کیلے اور cantaloupe، 1650 01:19:43,666 --> 01:19:45,040 میں نے جان بوجھ ان الفاظ کا انتخاب کیا ہے. 1651 01:19:45,040 --> 01:19:45,340 کیوں؟ 1652 01:19:45,340 --> 01:19:47,631 کیا کی بنیادی طرح ہے تین کے بارے میں مختلف؟ 1653 01:19:47,631 --> 01:19:49,950 1654 01:19:49,950 --> 01:19:51,484 واضح کیا ہے؟ 1655 01:19:51,484 --> 01:19:52,900 انہوں نے مختلف خطوط کے ساتھ شروع. 1656 01:19:52,900 --> 01:19:53,900 >> تو تم کیا جانتے ہو؟ 1657 01:19:53,900 --> 01:19:57,120 میں اپنے تمام الفاظ ڈال کی بجائے اسی بالٹی، تو بات کرنے 1658 01:19:57,120 --> 01:20:00,390 کی طرح ایک بڑی فہرست میں، کیوں نہیں کرتے کم سے کم میں کسی اصلاح کی کوشش کریں 1659 01:20:00,390 --> 01:20:04,180 اور میری فہرستوں 1/26 کے طور پر طویل بنانے کے. 1660 01:20:04,180 --> 01:20:07,440 ایک مجبور کی اصلاح نہیں کیوں ہو سکتا ہے 1661 01:20:07,440 --> 01:20:10,650 میں ... جب ایک لفظ ڈالنے یہ اعداد و شمار کے ڈھانچے میں، 1662 01:20:10,650 --> 01:20:14,300 کمپیوٹر کی میموری، کیوں میں میں یہاں سب کو 'اے' کے الفاظ میں نہ ڈالو، 1663 01:20:14,300 --> 01:20:17,270 تمام 'B' یہاں الفاظ، اور تمام سی یہاں لفظ؟ 1664 01:20:17,270 --> 01:20:24,610 تو یہ ایک سیب ڈال ختم ہو جاتی ہے یہاں، یہاں کیلا، یہاں cantaloupe پر، 1665 01:20:24,610 --> 01:20:25,730 علی هذا القیاس. 1666 01:20:25,730 --> 01:20:31,700 >> اور میں ایک اضافی ہے تو لفظ ایک اور کیا like--؟ 1667 01:20:31,700 --> 01:20:36,640 ایپل، کیلا، ناشپاتیاں. 1668 01:20:36,640 --> 01:20:39,370 کوئی بھی شخص ایک پھل کے بارے میں سوچ کہ ایک، B، یا C کے ساتھ شروع ہوتا ہے؟ 1669 01:20:39,370 --> 01:20:40,570 Blueberry-- کامل. 1670 01:20:40,570 --> 01:20:43,990 یہی وجہ ہے کہ یہاں ختم کی جا رہی ہے. 1671 01:20:43,990 --> 01:20:47,530 اور اس طرح ہم ایک ہے لگ رہے ہو معمولی بہتر حل، 1672 01:20:47,530 --> 01:20:50,820 اب میں چاہتا ہوں کیونکہ اگر ایپل کے لئے تلاش کرنے، I 1673 01:20:50,820 --> 01:20:53,200 first-- میں بس کودو ایسا نہیں کرتے میرے اعداد و شمار کے ڈھانچے میں. 1674 01:20:53,200 --> 01:20:54,850 میں نے اپنے کمپیوٹر کی میموری میں کودو نہیں کرتے. 1675 01:20:54,850 --> 01:20:56,530 میں نے پہلی بار پہلے حرف کو دیکھو. 1676 01:20:56,530 --> 01:20:58,610 >> اور یہ کیا ایک کمپیوٹر ہے سائنسدان کہیں گے. 1677 01:20:58,610 --> 01:21:00,760 آپ اپنے ڈیٹا ڈھانچے میں ہیش. 1678 01:21:00,760 --> 01:21:04,100 آپ اپنے ان پٹ، جس کے لے اس صورت سیب کی طرح ایک لفظ ہے. 1679 01:21:04,100 --> 01:21:07,150 تم اس کا تجزیہ، کی طرف دیکھ اس معاملے میں پہلے حرف، 1680 01:21:07,150 --> 01:21:08,340 اس طرح یہ hashing کے. 1681 01:21:08,340 --> 01:21:10,950 hashing کے ایک عام اصطلاح ہے جس کے تحت ہے آپ کو ان پٹ کے طور پر کچھ لینا 1682 01:21:10,950 --> 01:21:12,116 اور آپ کو کچھ آؤٹ پٹ پیدا. 1683 01:21:12,116 --> 01:21:15,090 اور یہ کہ میں پیداوار صورت جگہ ہے 1684 01:21:15,090 --> 01:21:18,150 آپ کو تلاش کرنے کے لئے، سب سے پہلے چاہتا ہوں محل وقوع، دوسرے مقام، تیسری. 1685 01:21:18,150 --> 01:21:22,160 لہذا ان پٹ کا سیب ہے، پیداوار سے پہلے ہے. 1686 01:21:22,160 --> 01:21:25,054 ان پٹ کو کیلا، ہے آؤٹ پٹ دوسری ہونا چاہئے. 1687 01:21:25,054 --> 01:21:27,220 ان پٹ، cantaloupe پر ہے پیداوار تیسری ہونا چاہئے. 1688 01:21:27,220 --> 01:21:30,320 ان پٹ، بلوبیری ہے پیداوار دوبارہ دوسری ہونا چاہئے. 1689 01:21:30,320 --> 01:21:34,010 اور یہ کہ کیا آپ کو لینے میں مدد ملتی ہے آپ کی یاد کے ذریعے شارٹ کٹس 1690 01:21:34,010 --> 01:21:39,050 الفاظ کو حاصل کرنے کے لئے یا ڈیٹا کو زیادہ مؤثر طریقے سے. 1691 01:21:39,050 --> 01:21:43,330 >> اب یہ ممکنہ طور پر ہمارے وقت نیچے کاٹتا جتنا 26 کے باہر ایک کے طور پر کی طرف سے، 1692 01:21:43,330 --> 01:21:45,850 آپ فرض کیونکہ اگر تم نے اس کئی کے طور پر "A" "Z" کے طور پر الفاظ ہیں 1693 01:21:45,850 --> 01:21:48,080 "Q" الفاظ، الفاظ جس واقعی realistic-- نہیں ہے 1694 01:21:48,080 --> 01:21:50,830 آپ کے اس پار ترچھی لئے جا رہے ہیں alphabet-- کے بعض خطوط 1695 01:21:50,830 --> 01:21:53,204 لیکن یہ ایک ورددشیل ہو گی اجازت ہے کہ نقطہ نظر 1696 01:21:53,204 --> 01:21:55,930 آپ کو بہت زیادہ جلدی الفاظ کو حاصل کرنے کے لئے. 1697 01:21:55,930 --> 01:21:59,660 اور حقیقت میں، ایک جدید ترین پروگرام، دنیا کی گوگل، 1698 01:21:59,660 --> 01:22:02,180 world-- کے فیس بک وہ ایک ہیش کی میز کا استعمال کریں گے 1699 01:22:02,180 --> 01:22:03,740 مختلف مقاصد کی ایک بہت کچھ کے لئے. 1700 01:22:03,740 --> 01:22:06,590 تاہم وہ اتنے معصوم نہیں ہو گی صرف پہلے حرف کو دیکھنے کے لئے 1701 01:22:06,590 --> 01:22:09,700 سیب یا کیلے کے طور پر یا ناشپاتی یا cantaloupe پر، 1702 01:22:09,700 --> 01:22:13,420 آپ ان کو دیکھ سکتے ہیں کے طور پر، کیونکہ فہرستوں اب بھی طویل مل سکے. 1703 01:22:13,420 --> 01:22:17,130 >> اور اس طرح یہ اب بھی طرح کی ہو سکتی کی linear-- اتنی قسم کی سست، 1704 01:22:17,130 --> 01:22:19,980 بڑا این اے کے ساتھ کی طرح کہ ہم پہلے گفتگو. 1705 01:22:19,980 --> 01:22:25,290 تو کیا ایک اصلی اچھا ہیش ٹیبل گے do-- یہ ایک بہت بڑا صف پڑے گا. 1706 01:22:25,290 --> 01:22:28,574 اور یہ ایک بہت زیادہ استعمال کریں گے نفیس hashing کے تقریب، 1707 01:22:28,574 --> 01:22:30,240 تا کہ یہ صرف اوپر نظر نہیں آتی "ایک." 1708 01:22:30,240 --> 01:22:35,480 شاید یہ میں لگ رہا ہے "ایک-P-P-L-E" اور کسی نہ کسی طرح ان پانچ حروف کو بدل دیتا ہے 1709 01:22:35,480 --> 01:22:38,400 مقام میں جہاں ایپل ذخیرہ کیا جانا چاہئے. 1710 01:22:38,400 --> 01:22:42,660 ہم صرف naively کا خط 'A' استعمال کر رہے ہیں اکیلے، یہ اچھا اور آسان ہے کیونکہ. 1711 01:22:42,660 --> 01:22:44,600 >> لیکن ایک ہیش میز، میں آخر میں، آپ کو لگتا ہے کر سکتے ہیں 1712 01:22:44,600 --> 01:22:47,270 کے کا ایک مجموعہ کے طور پر ایک صف، جن میں سے ہر 1713 01:22:47,270 --> 01:22:51,700 ایک لنک کی فہرست مثالی طور پر ہے کہ ہر ممکن حد تک مختصر ہونا چاہئے. 1714 01:22:51,700 --> 01:22:54,364 اور یہ ایک واضح حل نہیں ہے. 1715 01:22:54,364 --> 01:22:57,280 سچ تو یہ ہے، ٹھیک ٹیوننگ کے زیادہ کہ ڈاکو جب نیچے پر جاتا ہے 1716 01:22:57,280 --> 01:22:59,654 کی اس قسم پر عمل درآمد جدید ترین ڈیٹا ڈھانچے 1717 01:22:59,654 --> 01:23:01,640 حق کیا ہے صف کی لمبائی؟ 1718 01:23:01,640 --> 01:23:03,250 حق ہیش تقریب کیا ہے؟ 1719 01:23:03,250 --> 01:23:04,830 کس طرح آپ کو یاد میں چیزوں کو ذخیرہ کرتے ہیں؟ 1720 01:23:04,830 --> 01:23:07,249 >> لیکن کتنی جلدی کا احساس بحث کے اس طرح سے 1721 01:23:07,249 --> 01:23:10,540 بڑھ کہ یہ قسم ہے کہ، یا تو اب تک کے اس مقام پر ایک سر، سے زیادہ ہے جس میں 1722 01:23:10,540 --> 01:23:11,360 ٹھیک ہے. 1723 01:23:11,360 --> 01:23:18,820 لیکن ہم واقعی کے ساتھ، شروع کر دیا، یاد آوری کچھ نہ کچھ کم سطح اور الیکٹرانک. 1724 01:23:18,820 --> 01:23:20,819 اور اس طرح یہ ایک بار پھر یہ ہے تجرید کے موضوع، 1725 01:23:20,819 --> 01:23:23,610 جہاں آپ کو لینے کے لئے شروع میں ایک بار عطا کی، ٹھیک ہے، میں نے اسے وہاں مل گیا ہے 1726 01:23:23,610 --> 01:23:26,680 جسمانی میموری، OK، یہ مل گیا، ہر طبعی مقام، ایک پتہ ہے 1727 01:23:26,680 --> 01:23:29,910 OK، میں سمجھ گیا، میں نمائندگی کر سکتے ہیں arrows-- کے طور پر ان کے پتوں 1728 01:23:29,910 --> 01:23:34,650 آپ کو بہت جلد ہے کرنا شروع کر سکتے ہیں زیادہ جدید ترین مکالمات کہ 1729 01:23:34,650 --> 01:23:38,360 آخر میں ہمیں اجازت دی جائے لگ رہے ہو تلاش طرح کے مسائل کو حل کرنے کے 1730 01:23:38,360 --> 01:23:41,620 اور زیادہ مؤثر طریقے سے چھانٹ رہا ہے. 1731 01:23:41,620 --> 01:23:44,190 اور، too-- یقین دہانی کرائی آرام مجھے یہ لگتا ہے کہ کیونکہ 1732 01:23:44,190 --> 01:23:48,700 گہری ہم کچھ میں چلا گیا ہے ان سی ایس کے موضوعات proper-- سے ہم نے کی 1733 01:23:48,700 --> 01:23:51,880 اس میں ایک دن اور ایک نصف میں کیا آپ عام طور سے زیادہ کر سکتا ہے کیا نقطہ 1734 01:23:51,880 --> 01:23:55,520 ایک سمسٹر میں آٹھ ہفتے کے کورس. 1735 01:23:55,520 --> 01:23:59,670 >> ان پر کوئی سوال؟ 1736 01:23:59,670 --> 01:24:01,100 نہیں؟ 1737 01:24:01,100 --> 01:24:01,940 بالکل ٹھیک. 1738 01:24:01,940 --> 01:24:05,610 ٹھیک ہے، ہم وہاں کیوں موقوف نہیں کرتے، چند منٹ کے ابتدائی دوپہر کا کھانا شروع کر دیں، 1739 01:24:05,610 --> 01:24:07,052 صرف ایک گھنٹے کے بارے میں دوبارہ شروع؟ 1740 01:24:07,052 --> 01:24:08,760 اور میں نے کے لئے تاخیر کر لیں گے سوالات کے ساتھ تھوڑا سا. 1741 01:24:08,760 --> 01:24:11,343 پھر میں جانے کے لئے کی ضرورت کے لئے جا رہا ہوں یہ ٹھیک ہے، اگر ایک جوڑے کالز لے. 1742 01:24:11,343 --> 01:24:15,000 I، اس دوران میں کچھ موسیقی پر تبدیل کر دیں گے لیکن دوپہر کے کھانے کے کونے کے ارد گرد ہونا چاہئے. 1743 01:24:15,000 --> 01:24:17,862