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