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