اسپیکر 1: ارے، سب! حصے پر پھر سے خوش آمدید. یہاں آپ دونوں کی بہت زیادہ دیکھ کر بہت خوشی ہے، اور آن لائن دیکھ رہا ہے جو ہر کسی کو. لہذا، معمول کے استقبال کے طور پر واپس. میں آپ سب کو ایک خوبصورت تھا امید ہے کہ باقی کے مکمل ہفتے کے آخر میں،، نرمی. یہ کل باہر خوبصورت تھا. لہذا، میں آپ باہر مزہ آیا امید ہے. اعلان کے ایک جوڑے تو سب سے پہلے. گریڈنگ. لہذا، آپ کے سب سے زیادہ ہو جانا چاہئے ایک آپ کے شروع کے pset کے بارے میں مجھ سے ای میل، کے ساتھ کے طور پر 1 pset کے لئے گریڈنگ. تو، صرف ایک جوڑے کی چیزیں. style50 میں check50 استعمال کرنے کی بات کا یقین ہو. یہ ہونا مراد رہے ہیں تم لوگوں کے لئے وسائل، اگر آپ کو ہو رہی ہے اس بات کو یقینی بنانے کے لئے آپ کر سکتے ہیں کے طور پر کئی پوائنٹس کے طور بیکار میں ان کو کھونے کے بغیر. لہذا، سٹائل کی طرح چیزیں بہت اہم ہیں. ہم نے اس کے لئے بند کر لے جا رہے ہیں. تم میں سے کچھ پہلے ہی ہو سکتا ہے آپ pset سے کہ دیکھا. اور check50 صرف ایک ہے اس بات کو یقینی بنانے کے لئے واقعی بہت آسان طریقہ ہم اصل میں آرہے ہیں اس کا کیا صارف کو واپس کرنے کی ضرورت ہے، اور یہ کہ سب کچھ مناسب طریقے سے کام کر رہا ہے. دوسری نوٹ پر، یقینی بنائیں کہ آپ درست فولڈر میں چیزیں اپ لوڈ. یہ میری زندگی صرف ایک بنا دیتا ہے تھوڑا سا زیادہ مشکل آپ pset 1 میں 2 pset کے اپ لوڈ کرتے ہیں میں چیزوں کو ڈاؤن لوڈ کیونکہ جب، وہ صحیح طریقے سے ڈاؤن لوڈ نہ. اور میں نے اسے ایک چھوٹا سا پر wonky پتہ ایک نظام میں کی عادت کے لئے، لیکن صرف سپر ہو جائے ہوشیار، صرف میرے لئے ہے تو، تاکہ آپ کی ای میلز کو حاصل کرنے کر رہے ہیں جب کی طرح 2 بجے اور میں گریڈنگ ہوں. اگر نہیں، تو میں نے دیکھنے کی ضرورت پیدا کر سب کے ارد گرد آپ کی pset کے لئے. ٹھنڈا. میں نے اسے جلدی ہے جانتے ہیں، لیکن میں نے مکمل طور پر گارڈ سے دور لے جایا کر لی اس جمعہ کی وجہ سے ہے کہ ایک مضمون، اس کی طرف سے میرے پروفیسروں اوہ ہاں، پسند کیا گیا. یاد رکھیں، آپ کو ایک ہے جمعہ کو وجہ مضمون. لہذا، میں کوئی پسند جانتے ہے midterms کے بارے میں سوچنا، لیکن آپ کے پہلے کوئز، اکتوبر 15th پر ہے جس نے اکتوبر میں اس ہفتے شروع ہو رہا ہے. لہذا، یہ جلد ہو سکتا ہے آپ کی توقع سے تمام ہے. تاکہ آپ کے گارڈ پر جب دور پھینک دیا نہیں کر رہے ہیں I، اوہ ہے کہ اگلے ہفتے کے حصے کا ذکر آپ کا کوئز اگلے ہفتے، میں نے سوچا مجھے مزید آپ کو تھوڑا سا دے گا ابھی سائن اپ ایک سر کے. لہذا، آپ کا مسئلہ سیٹ، نمبر تین. لوگوں نے پڑھا ہے کس طرح باہر تجسس کی رپورٹ؟ OK. ہم نے ایک جوڑے کے مل گیا. قسم کے نیچے آخری سے لیکن ہفتے ٹھیک ہے. میں نے اس خوبصورت باہر تھا معلوم. تو باہر توڑ. یقینی طور پر آپ کیا حاصل کرنے کے بعد آج کم از کم آپ کی رپورٹ پڑھ ڈاؤن لوڈ کرنے کی طرح کی کوشش تقسیم کوڈ اور چلانے پہلا ابتدائی طرح وہ کرنے کے لئے تم سے پوچھنا وہ چیز. ہم استعمال کر رہے ہیں کیونکہ تقسیم کوڈ اور لائبریری ہم صرف -یہ صرف ہے using-- گئی ہے کہ ہم اس pset کیا ہے دوسری بار، پاگل چیزیں ہو سکتا ہے آپ کے آلے کے ساتھ، اور آپ اس کو تلاش کرنا چاہتے باہر اب بعد میں بمقابلہ. اسے جمعرات کی رات ہے یا اگر یہ بات ہے کیونکہ بدھ کی رات اور کسی وجہ سے آپ کے آلے کو صرف نہیں کرتا لائبریری کے ساتھ چلانا چاہتے ہیں یا تقسیم کے ساتھ کوڈ، اسباب کہ آپ بھی کوڈنگ کر شروع نہیں کر سکتے. آپ کو چیک نہیں کر سکتے کیونکہ یہ کام کرتا ہے تو دیکھنے کے لئے. آپ نہیں کریں گے کے قابل ہو جائے اس سے آگاہ کریں تو دیکھنے کے لئے. تم جلدی میں ان لوگوں کی دیکھ بھال کرنا چاہتے ہیں ہفتہ، اگر آپ اب بھی مجھے ای میل کر سکتے ہیں جب یا دیگر TFs میں سے ایک، اور ہم مقررہ لوگ حاصل کر سکتے ہیں. لوگ کیونکہ وہ مسائل ہیں کہ آپ کو روکنے کے لئے جا رہے ہیں کوئی حقیقی پیش رفت کر سے. یہ کہ کے طور پر، ایک مسئلے کی طرح نہیں ہے آپ کو صرف اس قسم کی اوور پر کر سکتے ہیں. آپ کے ساتھ مسائل کروارہی ہیں تو آپ آلے یا تقسیم کوڈ، تم واقعی میں کہ لیا حاصل کرنا چاہتے ہیں جلد کی بجائے بعد کی دیکھ بھال. تو بھی آپ اصل میں نہیں ہو گا اگر کوڈنگ شروع، ڈسٹری بیوشن، اتارنا کوڈ، رپورٹ پڑھ، یقینی بنائیں سب کچھ کام کر رہا ہے. ٹھیک ہے؟ آپ صرف یہ کر سکتے ہیں، تو میں آسان ہو جائے گا آپ کی زندگی سے وعدہ کرتا ہوں. اور تو آپ کو شاید جا رہے ہیں ٹھیک ہے اب اسے درست کرنے کے لئے؟ OK. لہذا، وہاں کوئی سوال ہے؟ کسی بھی لاجسٹک باتیں؟ ہر کوئی اچھی بات ہے؟ OK. ان لوگوں کے لئے فہ آپ کو کمرے میں اور آن لائن. میں سوئچ کرنے کے لئے کوشش کر رہا کیا جا رہا ہوں آلے میں پاورپوائنٹ کے درمیان ہم جا رہے ہیں کیونکہ کچھ کوڈنگ کر بننا گمنام کے مقبول مطالبہ کی طرف سے آج تجویز سروے میں نے گزشتہ ہفتے باہر بھیجا. لہذا، ہم نے کچھ کوڈنگ کر رکھا جائے گا. لہذا، آپ لوگ بھی چاہتے ہیں تو آپ کے آلات کو برطرف کرنے کے لئے، اور آپ کو ایک ای میل ملا ہے چاہئے ایک نمونہ فائل کے ساتھ، مجھ سے. ایسا کرنے کے لئے براہ مہربانی بلا جھجھک. لہذا، ہم کے بارے میں بات کرنے کے لئے جا رہے ہیں ایک debugger ہے جو GDB،. یہ آپ کی مدد کرنے جا رہا ہے قسم کے اعداد و شمار جہاں چیزیں آپ کے کوڈ میں غلط جا رہے ہیں. یہ واقعی میں آپ کو تیز کرنے کے لئے صرف ایک راستہ ہے اپنے کوڈ کے ذریعے یہ ہو رہا ہے کے طور پر، اور متغیر باہر پرنٹ کرنے کے قابل ہو جائے یا اصل میں کیا ہو رہا ہے کو دیکھنے کے ڈاکو آپ کے پروگرام آیات کے ذیل هیں صرف چلانے، یہ faulting نہیں کی طرح ہے، اور آپ کو، کوئی اندازہ طرح ہو کیا صرف یہاں کیا ہوا. میں اس میں ناکام رہا کیا لائن نہیں جانتے. یہ غلط ہو گیا، جہاں مجھے پتہ نہیں ہے. لہذا، GDB اس کے ساتھ آپ کی مدد کرنے کی جا رہی ہے. اس کے علاوہ، آپ کے لئے فیصلہ کرتے ہیں تو ہاں جاری رہے، اور 61 لے، یہ واقعی، واقعی ہو جائے گا آپ سب سے اچھی دوست، میں آپ کو بتا سکتا سبب مجھے لگتا ہے کہ کلاس کے ذریعے جا رہا ہوں کیونکہ. ہم بائنری کو دیکھنے کے لئے جا رہے ہیں تلاش کے، اگر تم لوگ یاد ہے جس عظیم فون بک مثال کلاس سے تماشا. ہم نے اس پر عمل درآمد، اور کیا جائے گا ایک تھوڑا سا زیادہ ہے کہ کے ذریعے چلنے، اور پھر ہم چار ذریعے جا رہے ہیں بلبلہ ہیں جو مختلف قسم کے،، سلیکشن، اضافے، اور ضم. ٹھنڈا. لہذا، میں نے ذکر کیا GDB طور، ایک debugger ہے. اور ان بڑے کی طرح ہیں چیزیں، بڑے کام کرتا ہے یا حکم دیتا ہے آپ GDB کے اندر اندر استعمال، اور میں چل جائے گا کہ آپ کو ایک دوسرے میں اس کی ایک ڈیمو کے ذریعے. تو، یہ صرف نہیں ہے تجریدی رہنے کے لئے جا. میں کوشش اور کنکریٹ کے طور پر کر دیتا ہوں تم لوگوں کے لئے ہر ممکن حد تک. لہذا، توڑ. یہ یا تو بریک ہو جائے گا طرح، کچھ بڑی تعداد، جس ، آپ کے پروگرام میں ایک لائن کی نمائندگی کرتا ہے یا آپ کو ایک تقریب کے نام کر سکتے ہیں. لہذا، آپ کو اہم توڑنے کا کہنا ہے کہ، یہ، اہم میں بند ہو جائیں گے اور تم نے اس تقریب سے گزر تے ہیں. اسی طرح آپ کو کچھ بیرونی ہے تو سویپ یا کیوب کی طرح کام، ہم نے گزشتہ ہفتے کو دیکھا کہ. آپ کو ان میں سے ایک کو توڑنے کہتے ہیں، آپ کے پروگرام کو مار دیتی ہے جب بھی، کہ یہ کرنے کے لئے آپ کے لئے انتظار کریں گے کیا کرنا ہے یہ بتانے کے. یہ صرف آپ کو اتنا پھانسی گا اس سے پہلے کہ اصل تقریب کے اندر قدم سکتا اور کیا ہو رہا ہے کو دیکھنے کے. تو، اگلے، صرف دوران راستے skips اگلی لائن، افعال سے زیادہ جاتا ہے. مرحلہ. ان تمام چھوٹی تجریدی ہیں. لہذا، میں صرف ان کے ذریعے چلانے کے لئے جا رہا ہوں، لیکن آپ کو ایک سیکنڈ میں استعمال میں ان کو نظر آئے گا. ایک تقریب میں قدم. تو جیسا کہ میں کہہ رہا تھا، ادل بدل، یہ کریں گے جیسے آپ اصل میں آپ ہیں کے طور پر اگر اجازت دے جیسے جسمانی طور پر کے اندر قدم رکھ، ان متغیرات کے ساتھ آپ کر سکتے ہیں گندگی، پرنٹ وہ کیا ہیں باہر، کیا ہو رہا ہے کو دیکھنے کے. فہرست لفظی صرف پرنٹ گا ارد گرد کے کوڈ باہر. لہذا، آپ کی قسم کے بھول جاتے ہیں تو آپ کو اپنے پروگرام میں ہیں جہاں، یا آپ سوچ رہے ہیں کیا، اس کے ارد گرد کیا ہو رہا ہے یہ تو صرف ایک طبقہ پرنٹ کے اس کے ارد گرد پانچ یا چھ لائنوں کی طرح. تو، تم مبنی حاصل کر سکتے ہیں جہاں آپ ہیں کے بارے میں. کچھ متغیر پرنٹ. لہذا، آپ کی چابی کی طرح ہے تو کیسر میں، ہم کو دیکھو گے کہ. آپ کو کسی بھی موڑ پر پرنٹ کلیدی کہہ سکتے ہیں. قدر اتنا ہے ہے ہے کہ آپ کو بتا دونگا کہ، ہو سکتا ہے کہ کہیں راستے میں، آپ اپنے اہم overwrote. تم واقعی میں اس کی وجہ سے بتا سکتے ہیں آپ اصل میں اس کی قیمت دیکھ سکتے ہیں. مقامی لوگوں، صرف پرنٹس میں اپنے مقامی متغیر. لہذا، کسی بھی وقت آپ کو ایک لوپ کے اندر اندر ہیں، اور آپ کو صرف اوہ، طرح دیکھنا چاہتے ہیں. میرے میں نے کیا ہے؟ اس چابی قدر کیا ہے میں یہاں کی ابتدا ہے؟ اس مقام پر کیا پیغام ہے؟ یہ صرف تمام پرنٹ گا ان لوگوں کا، لہذا آپ کو اس انفرادی طور پر کرنے کی ضرورت نہیں پرنٹ I. پرنٹ پیغام، کا کہنا ہے کہ. پرنٹ کلیدی. اور پھر دکھائیں. کیا اس سے فرق پڑتا ہے کہ آپ کے طور پر ہے پروگرام کے ذریعے قدم، یہ صرف یہ ہے کہ اس بات کو یقینی بنا دیں گے کچھ مخصوص متغیر کی نمائش ہر موڑ پر. تاکہ آپ -یہ ہے also-- ایک شارٹ کٹ ہے جہاں کی قسم آپ اوہ، طرح جا رکھنے کے لئے کی ضرورت نہیں ہے. پرنٹ کلید یا پرنٹ I. یہ صرف آپ کے لئے ایسا خود بخود گا. لہذا، اس کے ساتھ، ہم جا رہے ہیں یہ کس طرح ہوتا ہے کو دیکھنے کے لئے. میں کوشش کریں اور سوئچ کرنے جا رہا ہوں اپنے آلات کو. میں یہ کر سکتے ہیں دیکھ. تمام. ہم صرف اس کے عکس کی جا رہے ہیں. پاگل کچھ بھی نہیں ہے اپنے لیپ ٹاپ پر ویسے بھی. OK. یہ اس میں سے ایک ہونے کی ضرورت ہے. یہ اتنا چھوٹا ہے. ہم یہ کر سکتے ہیں تو دیکھتے ہیں. OK. یلس ظاہر ہے جدوجہد کر رہا ہے یہاں صرف ایک تھوڑا سا، لیکن ہم ایک لمحے میں اسے حاصل کر لیں گے. OK. ہم صرف اس کو بڑھانے کے لئے جا رہے ہیں. OK. ہر کسی کو اس قسم کی ہے کہ دیکھ سکتے ہیں؟ شاید تھوڑا سا؟ میں نے یہ ایک چھوٹا سا چھوٹا ہے جانتے ہیں. آپ کو کافی سمجھ نہیں کر سکتے یہ بڑا بنانے کے لئے کس طرح. کسی کو بھی جانتا ہے تو. کسی کو بھی یہ بڑا بنانے کے لئے کس طرح جانتا ہے؟ OK. ہم اس کے ساتھ رول کرنے کے لئے جا رہے ہیں. یہ صرف ہے کیونکہ ویسے بھی کوئی فرق نہیں پڑتا کہ تم لوگوں کو کرنا چاہئے کوڈ ہے ہے. کیا زیادہ اہم ہے یہاں ٹرمینل ہے. اور ہم کیوں یہ اتنا چھوٹا ہے یہاں ہے؟ سیٹنگیں. اوہ. سچے Ike کی. یہ کیسا ہے؟ وہاں سے باہر. کہ سب کے لئے بہتر ہے؟ OK ،. ٹھنڈا. آپ ایک CS میں ہیں جب آپ کو معلوم کلاس تکنیکی مشکلات the-- کی قسم کا حصہ ہیں تو، اس بات کو واضح کرتے ہیں. OK. لہذا، یہیں کے حصے میں، جو ہم یہاں پڑا. کیسر ایک executable فائل ہے. تو میں نے اسے بنایا. لہذا، GDB کے ساتھ کا احساس کرنے کے لئے ایک بات ہے کہ یہ صرف فائلوں پر کام کرتا ہے. لہذا، اگر آپ کو ایک dotsy پر چلانے نہیں کر سکتے ہیں. آپ اصل میں بنانے کے لئے ہے اپنے کوڈ کو آگاہ کریں کہ اس بات کا یقین، اور یہ اصل میں چلایا جا سکتا ہے. اگر ایسا نہیں ہوتا تو کیا، اس بات کو یقینی بنانے کے مرتب، اسے مرتب کرنے کے لئے حاصل، تا کہ تم اس قسم کی اس کے ذریعے چلا سکتے ہیں. لہذا، GDB شروع کرنے، آپ کیا ہے، گلوریا قسم GDB، اور پھر صرف آپ چاہتے ہیں کہ فائل. میں نے ہمیشہ کیسر ہجے میں غلطی. لیکن آپ اس بات کو یقینی بنانا چاہتے ہیں یہ ایک executable ہے کے بعد سے، TI کی ڈاٹ فلیش تا کہ اگر آپ جا رہے ہیں کا مطلب ہے کہ CSI آپ کو پھانسی کے لئے جا رہے چلانے کے یہ ٹھیک کرنے والا کھولتا کے ساتھ یا تو فائلوں. OK. لہذا، آپ کو اس کے، آپ کو ملتا ہے غیر واضح کی اس قسم. اسے ٹھیک کرنے والا کھولتا کے بارے میں صرف ہر چیز ہے. تم سچ میں کرنے کی ضرورت نہیں ابھی اس کے بارے میں فکر. آپ کو دیکھ کے طور پر اور، ہم نے اس کے پاس کھلی والدین، جی ڈی پی، قریبی والدین، اور صرف کی قسم کی طرح لگتا ہے ہمارا کمانڈ لائن، ہے نا؟ لہذا، ہم do-- کیا کرنا چاہتے --So، پہلی بات ہم منتخب کرنے کے لئے چاہتے ہیں ایک جگہ اس کو توڑنے کی. لہذا، ایک بگ ہے یہ کیسر پروگرام میں میں اس کو متعارف کرانے ہے کہ ہم باہر تلاش کرنے کے لئے جا رہے ہیں. یہ ان پٹ لیتا ہے یہ کیا کرتا ہے تمام بڑے حروف میں Barfoo، اور کسی وجہ سے یہ صرف چھوڑ دیتا ہے اے تبدیل نہیں ہوتا اسے اکیلے،، صحیح باقی سب کچھ ہے لیکن دوسرا خط A کوئی تبدیلی نہیں رہتا. لہذا، ہم کوشش کرنے کے لئے جا رہے ہیں اور کہ ہے کیوں سمجھ. لہذا، سب سے پہلی چیز آپ عام طور پر آپ GDB پر شروع جب بھی کرنا چاہتا ہوں اس کو توڑنے کے اعداد و شمار جہاں ہے. تو جو شہنشاہ ایک بہت مختصر پروگرام ہے. ہم صرف صحیح، ایک تقریب ہے؟ کیسر میں ہماری تقریب کیا تھی؟ صرف ایک تقریب، اہم حق ہے؟ مین کو ایک تقریب ہے اپنے تمام پروگراموں کے لئے. آپ بنیادی ہی نہیں کیا تو میں شاید کیا ایک فکر مند تھوڑا حق اب ہو جائے، لیکن میں آپ کو سب وہاں میں Main تھا امید ہے. تو، کیا ہم کر سکتے ہیں کہ ہم کر سکتے ہیں ہے صرف بس ایسے ہی، مین توڑنے. لہذا، یہ ٹھیک، کہتے ہیں. ہم وہاں ہماری توڑ مقام ایک قائم. لہذا، یاد کرنے کی بات یہ ہے کہ اب کیسر ہے ایک کمانڈ لائن کی دلیل صحیح لگتے ہیں اور ہم کہیں کہ ابھی تک نہیں کیا ہے. لہذا، جو تم کرتے ہو جب ہے آپ اصل میں چلانے کے لئے جانا پروگرام آپ ہو کہ کسی بھی پروگرام GDB میں چل رہا ہے کہ کمانڈ لائن کی ضرورت دلائل، آپ کو ان پٹ کے لئے جا رہے جب آپ پہلی بار اس کا چلنا شروع. لہذا، اس معاملے میں، ہم کرتے ہیں تین میں سے ایک بٹن کے ساتھ چلائیں. اور یہ اصل میں شروع ہو جائے گا. آپ کو یہاں دیکھ تو، اگر، ہم ہیں RC 2 کے برابر نہیں ہے، تو. تو تم لوگ سب کو ہے تو میں اٹھ باہر بھیجا کہ وہ فائل آپ اس طرح ہے کہ نظر آئے گا پہلی سطر ہمارے مرکزی تقریب، ہے نا؟ یہ ہم ہے تو دیکھنے کے لئے جانچ پڑتال ہے دلائل کی صحیح تعداد. لہذا، آپ سوچ رہے ہیں تو RC درست ہے تو، آپ کو صرف پرنٹ RC طرح کچھ کر سکتے. RC ہے جو، دو ہے ہم، حق کی توقع کیا؟ لہذا، ہم اگلے جا سکتے ہیں، اور کے ذریعے جاری رہے. لہذا، ہم نے وہاں کچھ اہم ہے. اور ہم نے اپنے اہم باہر پرنٹ کر سکتے ہیں یہ صحیح ہے بات کو یقینی بنانا. دلچسپ. نہیں بالکل ہم توقع کیا. لہذا، ایک بات کا احساس کرنے بھی GDB کے ساتھ، ہے آپ اصل میں مارا جب تک یہ نہیں ہے کہ اگلا، کہ اگر آپ نے ابھی دیکھا ہے کہ لائن اصل میں پھانسی دے دی ہے. لہذا، اس معاملے میں کلیدی ابھی تک تفویض نہیں کیا گیا ہے. لہذا، کلیدی کچھ ردی کی ٹوکری کی قیمت ہے آپ وہاں سے نیچے دیئے پر دیکھتے ہیں کہ. منفی $ 120-- -یہ کے ایک ارب اور کچھ عجیب چیزیں ٹھیک ہے؟ یہ ہم توقع ہے کہ اہم نہیں ہے. لیکن ہم پھر اگلا مارا، اور اگر ہم کوشش کریں اور پرنٹ کی چابی، یہ تین ہے. ہر کوئی اس کو دیکھا؟ لہذا، اگر آپ کو کچھ مل جائے تو آپ کی طرح ہو کہ، انتظار. یہ مکمل طور پر ہے غلط، اور مجھے نہیں معلوم میں نے یہ سب کرنا چاہتے ہیں کیونکہ یہ ہو گا کہ کس طرح ایک فون نمبر مقرر کرنا، ایک متغیر، پرنٹنگ کوشش، اگلے مار کوشش اگر وہ کام کریں اسے دوبارہ، اور دیکھو. یہ صرف پھانسی جا ہے کیونکہ اور اصل میں آپ کے بعد کچھ تفویض اگلے مارا. ہر کسی کو احساس ہے؟ اہ ہہ؟ اسپیکر 2: جب آپ کو بے ترتیب نمبرز اس کا کیا مطلب ہے؟ اسپیکر 1: یہ صرف بے ترتیب ہے. یہ صرف ردی کی ٹوکری میں ہے. یہ صرف کچھ ہے کہ آپ کمپیوٹر تصادفی تفویض کرے گا. ٹھنڈا. تو، اب ہم کے ذریعے منتقل، اور تو کر سکتے ہیں اب ہم اس سادہ متن GetString کا ہے. لہذا، مجھے صرف متعارف کرانے کیا ہم یہاں اگلے مارا ہو گا جب. ہمارے GDB نوعیت کا حق، غائب؟ کہ GetString کیونکہ اب عمل کر رہا ہے، ٹھیک ہے؟ ہم نے دیکھا تو جب، سادہ متن کے برابر GetString کے، کھلے والدین اور والدین، اور ہم اگلے مارا، کہ ہے اصل میں اب سے پھانسی. لہذا، اس کے لئے انتظار کر رہا ہے پٹ کچھ ہمیں. لہذا، ہم ان پٹ کے لئے ہمارے کھانے جا رہے ہیں جس میں میں نے تم سے کہا تھا کے طور پر اس میں ناکامی ہے کیا ہے اور یہ کہ صرف یہ ہے کہ کا کہنا ہے کہ بند، ختم قتل بریکٹ تو یہ ہے کا مطلب کہ لوپ سے باہر باہر نکلنے. میں ہوں تو کے طور پر، ہم، اب اگلے مارا، اور کر سکتے ہیں یقین ہے کہ آپ کیسر سے واقف تمام ہو، ایسا کرنے جا رہا ہے اس لائن کیا ہے، ہے. int میں 0 برابر لئے ہے، (ن) کے برابر ہے strlen کی، سادہ متن، اور پھر میں (ن)، میں، کے علاوہ، کے علاوہ سے بھی کم ہے. کیا کرنے والے اس لوپ کیا ہے؟ آپ کے پیغام کو کھولنے. ٹھنڈا. تو، چلو کہ کر شروع کرتے ہیں. لہذا، اس شرط کو کرنا چاہئے ہمارے پہلے ایک کے لئے، سے ملنے کے؟ یہ ایک B ہے، یہ سادہ متن میں ہم ہے ہمارے مقامی لوگوں کے بارے میں معلومات حاصل کر سکتے ہیں. لہذا، میں صفر ہے، اور، چھ جو اگر ہم امید کرتے ہیں، اور ہمارے اہم تین ہے. احساس ہے کہ تمام، حق؟ ان لوگوں کی تعداد سب ہیں بالکل کہ وہ کیا ہونا چاہئے. لہذا، ہم؟ اسپیکر 3: میں نے کیا کان کے لئے بے ترتیب تعداد. اسپیکر 1: ٹھیک ہے، ہم -ہم چیک کر سکتے ہیں ایک سیکنڈ میں اس کے بارے میں بات چیت کر سکتے. لیکن آپ کو اس ہو رہی چاہئے. لہذا، ہم ایک سرمایہ ہے تو ہمارے پہلے ایک کے لئے B، یہ شرط صحیح، اسے پکڑنے چاہئے؟ ہم اگلے مارا تو، اگر، ہم دیکھتے ہیں یہ تو اصل میں executes ہے کہ. آپ کو مندرجہ ذیل کر رہے ہیں کیونکہ آپ کے کوڈ میں ساتھ، یہاں اس لائن، جہاں سادہ متن میں یہ ریاضی کے ساتھ تبدیل کر رہا ہے، صرف تو تو executes ہے حالت درست درست ہے؟ GDB صرف آپ کو دکھانے کے لئے جا رہی ہے اصل میں قتل کر رہے ہیں چیزوں. یہ تو حالت سے ملاقات نہیں کیا گیا تھا اگر ایسا ہے تو، یہ ہے صرف اگلی لائن پر جا رہا. ٹھیک ہے؟ لہذا، ہم نے اس کے پاس. اس بریکٹ اس کا مطلب اب اس لوپ سے باہر سے بند کر دیا. لہذا، یہ پھر سے شروع کرنے جا رہا ہے. بس ایسے ہی. لہذا، ہم نے معلومات حاصل کر سکتے ہیں ہمارے یہاں کے مقامی لوگوں کے بارے میں، اور ہم نے اپنے سب سے پہلے دیکھیں خط، صحیح بدل گیا ہے؟ یہ ہونا چاہئے کے طور پر اس کا، اب ایک ای ہے. لہذا، ہم پر جاری رکھ سکتے ہیں. اور ہم یہ چیک کروائے. اور اس چیک کا حق، کام کرنا چاہئے؟ یہ تبدیل کیا جانا چاہئے A. ہے اگے تین حروف. لیکن آپ کو، ہم محسوس کریں تو کچھ مختلف ملے. یہاں اس صورت اپ میں So، اسے پکڑ لیا یہ، اور اسی طرح اس لائن، کو پھانسی دے دی ہمارے B. نظر ثانی کی ہے جس لیکن، یہاں اس صورت میں، ہم اسے صرف اس کو نظر انداز کردیا ہے کہ ہے، اور [میں گئے تھے؟ L siff. ؟] تو کچھ وہاں ہو رہا ہے. یہ کیا کہ تم سے کہہ رہا ہے، ہم، یہ یہاں پکڑ کرنا چاہئے جانتے ہیں کہ لیکن یہ نہیں ہے. کسی کو کیا دیکھ سکتے ہیں ہماری مسئلہ یہ ہے کہ لائن میں ہے؟ یہ ایک بہت منٹ کی بات ہے. اور آپ کو بھی آپ کے کوڈ کو دیکھ سکتا ہے. اس میں یہ بھی ہے کہ یہ کیا سطر میں بھولنا line-- ہے وہاں میں لیکن یہ [اشراوی] میں ہے. جی ہاں؟ 4 سپیکر: یہ اس سے بڑا پر ہے صفحہ آپ کی کتاب میں اسے پڑھا تو. اسپیکر 1: بالکل. لہذا، ٹھیک کرنے والا کھولتا بتا نہیں سکا آپ کہ، لیکن ٹھیک کرنے والا کھولتا ایک لائن کرنے کے لئے آپ نیچے مل سکے اگر آپ کام نہیں کر رہا جانتے ہیں کہ. اور کبھی کبھی، جب خاص طور پر بعد میں سمسٹر، جب میں آپ کو ایک سو، ایک ساتھ کام کر رہے چند سو کوڈ کی لائنیں، اور آپ کو اس میں ناکام رہا ہے پتہ نہیں کہاں، یہ ایسا کرنے کے لئے ایک عظیم طریقہ ہے. لہذا، ہم نے اپنے مسئلے پایا. تم، آپ کی فائل میں اس کو ٹھیک کر سکتے ہیں اور پھر آپ کو، دوبارہ چلائیں کر سکتے تھے اور سب کچھ اچھی طرح سے کام کریں گے. اور سب سے بڑی بات یہ ہے یہ ٹھیک ہے، کی طرح لگ سکتا ہے. جی ہاں. ٹھنڈا. تم آپ کے لئے تلاش کر رہے ہیں کیا پتہ تھا. لہذا، آپ کو کرنے کی کیا جانتے تھے. GDB آپ کی وجہ سے انتہائی مددگار ثابت ہو سکتا ہے ان سب چیزوں کو پرنٹ کر سکتے ہیں کہ آپ کو نہیں کریں گے. یہ بہت زیادہ مفید printf کے مقابلے میں ہے. کس طرح بہت سے آپ کو استعمال کے printf بیانات طرح ایک مسئلے سے، درست تھا جہاں معلوم کرنا؟ لہذا، اس کے ساتھ، آپ ایسا نہیں کرتے واپس جا رکھنے کے لئے ہے، اور میں تبصرہ چاہوں printf کے، یا، باہر تبصرہ اور معلوم ہے کیا آپ پرنٹنگ کیا جانا چاہئے. یہ اصل میں صرف کرنے کے لئے آپ کی اجازت دیتا ، کے ذریعے قدم چیزوں کو پرنٹ آپ کے ذریعے جا رہے ہیں کے طور پر، تاکہ، آپ کر سکتے ہیں وہ حقیقی وقت میں تبدیل کس طرح عمل، آپ کے پروگرام کے طور پر چل رہا ہے. اور یہ تھوڑا وقت لگتا ہے استعمال ہو رہی ہے کا سا. میں انتہائی صرف قسم کی سفارش کرے گا اس کے ساتھ ایک چھوٹا سا مایوس ہونے ابھی کے لئے. تم پر ایک گھنٹے خرچ کرتے ہیں اگلے ہفتے کس طرح GDB استعمال کرنے کے لئے سیکھنے، تم اپنے آپ کو بچا لے گا بعد میں اتنا وقت. اور لفظی. ہم بتا یہ لوگوں کے لئے ہر سال، میں نے لے لیا اور جب مجھے یاد ہے کلاس، مجھے لگتا ہے میں ٹھیک ہو جائے گا، کی طرح تھا. نمبر pset کے 6 پر آیا اور میں تھا کی طرح، میں تمہیں سیکھ رہا ہوں مجھے نہیں پتہ کیونکہ GDB کا استعمال کیسے کریں یہاں کیا ہو رہا ہے پتہ ہے کیا. آپ کا بہت وقت لے تو اگر چھوٹے پروگراموں پر اس کا استعمال آپ کو ہو جائے کرنے کے لئے جا رہے ہیں کہ کام کر رہے ہیں کی طرح، پر کام کر رہے کی طرح کچھ کے ذریعے اس طرح Visionare،. آپ کو اضافی پریکٹس چاہتے ہیں تو یا، مجھے یقین ہے میں، چھوٹی گاڑی پروگراموں کے ساتھ آ سکتا اگر آپ چاہیں تو کے لئے آپ کو ڈیبگ. لیکن آپ نے ابھی کچھ وقت لگے تو حاصل کرنے کے لئے اس کی عادت، صرف اس کے ساتھ کے ارد گرد ادا، یہ واقعی اچھی طرح سے آپ کی خدمت کرے گا. اور یہ واقعی میں سے ایک ہے ان چیزوں کو کہ آپ کو صرف کوشش کرنا ہے، اور آپ کے ہاتھ گندی حاصل کیا تم واقعی یہ سمجھ سے پہلے، کے ساتھ. میں واقعی میں صرف ایک بار یہ سمجھ میں، اس کے ساتھ ڈیبگ چیزوں کے لئے تھا اور اس میں سے ایک خیال ہے بہت اچھے کہ کس طرح جلد کی بجائے بعد ڈیبگ. OK. ٹھنڈا. میں نے اس قسم کی طرح ہے جانتے ہیں GDB میں ایک حادثے کورس، اور میں ضرور ہو رہی ہے پر کام کریں گے ان میں بڑی اگلی بار دیکھنے کے لئے. ٹھنڈا. لہذا، ہم واپس ہمارے پاورپوائنٹ پر جاتے ہیں. یہ کام کرنے کے لئے جا رہی ہے؟ Awh. جی ہاں. OK. لہذا، آپ نے کبھی میں سے کسی کی ضرورت ہے تو لوگ ایک بار پھر، فہرست موجود ہے. تو بائنری تلاش، جس سے ہر کوئی ڈیوڈ کی عظیم تماشا یاد ہے نصف میں فون کتابوں ripping کے. میں واقعی میں نہیں ملتا اب فون کتابیں، اگر آپ ایسا کرتے ہیں جہاں کی طرح ہے کیونکہ ان دنوں فون کتابیں حاصل؟ میں واقعی نہیں جانتے. بائنری تلاش. کسی کو یاد ہے کس طرح بائنری تلاش کے کام؟ کوئی بھی؟ جی ہاں؟ 5 اسپیکر: تم جب معلوم آپ جس کا نصف کو دیکھنے یہ اس بنا پر، میں ہو گی، اور دوسرے نصف میں سے چھٹکارا حاصل. اسپیکر 1 بالکل. لہذا، بائنری تلاش، اس میں سے a-- طرح ہے -ہم سے تقسیم اور فتح فون کرنے کی پسند. لہذا، آپ کیا کریں گے کیا ہے آپ درمیان میں نظر آئے گا اس سے ملتا ہے تو آپ کو نظر آئے گا کیا آپ کے لئے تلاش کر رہے ہیں. اگر ایسا نہیں ہوتا ہے اور، پھر آپ کو کرنے کی کوشش کریں پتہ لگا، اسے چھوڑ دیا جا رہا ہے نصف یا صحیح نصف. آپ تلاش کر رہے ہیں تو، یہ ہو سکتا ہے alphabetized تلاش ہے کہ کچھ پر، ارے تم، دیکھیں. یلیسن M سے پہلے آتا ہے؟ جی ہاں. لہذا، ہم جا رہے ہیں پہلے نصف میں نظر آتے ہیں. یا پھر یہ تعداد کے ساتھ کی طرح ہو سکتا. کچھ بھی ہے کہ آپ کر سکتے ہیں موازنہ، اس کے مطابق کیا جا سکتا ہے. تم پر بائنری تلاش کا استعمال کرسکتے ہیں. لہذا، کسی کو بھی یہ یاد رکھنا گراف یا یہ کیا ہے؟ یہ نام asymptotic پیچیدگی ہے. لہذا، اس گراف صرف کب تک بیان کرتا ہے کہ یہ کے طور پر ایک مسئلہ کو حل کی طرف لے جائے آپ چیزوں کی تعداد میں اضافہ کہ آپ استعمال کر رہے. لہذا، ہم لکیری وقت ہے جس میں ن، ہے. قدرے ہے جو دو N، تو بہتر، اب بھی سپر روزہ اگنے. اور پھر ہم جو ہے، لاگ ان کیا ہوگا اگر ہم بائنری تلاش کے بارے میں غور. ہم محسوس کرتے ہیں تو، آپ کا مسئلہ کے طور پر ، زیادہ اور زیادہ بڑا ہو جاتا ہے یہ آپ کو لے وقت اس کو حل کرنے واقعی میں اتنا اضافہ نہیں کرتا. اس مقابلے کی طرح ہے یہاں شروع میں. تم ٹھیک، کی طرح ہو. کچھ بھی یہاں واقعی نہیں کرتا معاملہ جس کو ہم استعمال سے ایک، لیکن آپ کو، ایک ملین کے لئے ایک ارب باہر حاصل. تم some-- --you're تلاش کرنے کی کوشش کر رہے ہیں ایک ٹیبل میں انجکشن تلاش کرنے کی کوشش. میں نے آپ کو اس مسئلہ کو چاہتے ہیں لگتا ہے کہ. آپ کو اس پیچیدگی، نہیں چاہتے لکیری کیونکہ سب کے لئے آپ آپ والا کے ذریعے تلاش کیا جائے جانتے ہر انفرادی انجکشن، گھاس کی بات یہ ہے، آپ کے انجکشن کے لئے تلاش کرنے کی کوشش کر. اور یہ کہ میری رائے میں بہت مزہ نہیں ہے. میں نے تیزی سے پسند ہے. مجھے موثر پسند. اور کے طور پر میہنتی طالب علموں آپ لوگ، آپ کو ہوشیار کام جانتے، ہیں نہیں مشکل قسم چیز، آپ کو کس طرح ان یلگوردمز قضاء. لہذا، ہم چلنے کے لئے جا رہے ہیں صرف ایک فوری مثال کے ذریعے. میں تم لوگوں کو لگتا ہے کہ بائنری تلاش پر ہاتھ، لیکن کیس میں کسی کو ایک چھوٹی سی ہے فجی، اس کو مضبوط بنانے کے لئے چاہتے ہیں، ہم صرف جانے کے لئے جا رہے ہیں یہاں ایک مثال کے ذریعے. اگر ایسا ہے تو ہم دیکھ رہے ہیں سرنی سات پر مشتمل. لہذا، ہم کرتے ہیں سب سے پہلی چیز ہے دائیں، درمیان میں نظر آتے ہیں؟ اور بھی آپ کو کوڈنگ جائے جا رہے ہیں صرف ایک سیکنڈ میں بائنری تلاش. لہذا، یہ مزہ ہونے جا رہا ہے. تو ہم میں دیکھیں درمیانی تھوڑا arrays کے 3. 3 7 کے برابر ہو جاتا ہے؟ ایسا نہیں ہوتا. یہ چھ ہے. لہذا، کے مقابلے میں اس سے بھی کم ہے یا سات سے بڑھ کر؟ سے بھی کم. جی ہاں. اچھا کام لوگ. مجھے چاہئے کی طرح محسوس کرتا ہوں کینڈی وجہ ہے کہ میں گز میں اسے باہر پھینک کرنا چاہتے ہیں. یہ میں نے اگلے ہفتے کیا کرنے جا رہا ہوں. یہ تیز تم لوگوں کو رکھیں گے. لہذا، ہم نے اس دور پھینک پہلی ششماہی، حق؟ اس سے بھی کم تھی. ہم کہ سب کچھ جانتے ہیں کہ بائیں ہاتھ کی طرف سے بھی کم ہو رہا ہے ہم اصل میں کے لئے تلاش کر رہے ہیں. لہذا، کوئی ضرورت کی کیا بات ہے اس پر توجہ دینا. بس اس کے بارے میں بھول جاؤ. تو، اب ہم اپنے دائیں ہاتھ کی طرف پر نظر ڈالیں، اور ہم، وہاں مشرق میں دیکھو اور اب یہ نو ہے. لہذا، 9 is-- --Everyone؟ ہم ہیں کیا اس سے بڑا حق، کے لئے تلاش؟ لہذا، ہم پھینک کرنے جا رہے ہیں درست کرنے کے لئے سب کچھ دور. اس طرح. اب، ہم سب ایک ہے کے ساتھ چھوڑ رہے. تو ہم چیک، اس میں سے ایک ہے کیا ہم کے لئے تلاش کر رہے ہیں؟ یہ ہے. ہم جو ہم چاہتے تھے پایا. تو ہم کیا کر رہے ہیں. Bilinear تلاش. اور آپ کو، ہم محسوس کریں تو وہاں سات آدانوں پڑا. یہ صرف تین بار کی طرح ہم سے لے لیا لیکن آپ کو ایک بلین کی طرح کر رہے ہیں، تم لوگ کتنے قدم یہ گا جانتے ہم چار ارب چیزوں تھا تو لے؟ کوئی اندازہ؟ یہ 32 ہے. کچھ تلاش کرنے کے لئے 32 اقدامات ایک چار ارب میں کیونکہ دو کے اختیارات کا عنصر سرنی. تو دو، 32 کرنے کے لئے ہے چار ارب کے لئے ہے. اتنی خوبصورت پاگل کس طرح آپ اب بھی اندر ہو اقدامات کے ایک کافی کم تعداد میں کچھ تلاش کرنے کے لئے چار ارب عناصر. اس بات پر تو کیا، ہم ہیں اس کوڈ کے لئے جا تاکہ آپ لوگ اصل میں یہ کر سکتے ہیں قسم یہ کس طرح کام کرتا. ٹھیک ہے، آپ لوگ کوڈ سکتا ہے تاکہ. میں تم لوگوں کو مطلع کرنے کے لئے جا رہا ہوں ایک تھوڑا سا کے لئے بات. جو ہے، آپ کے ارد گرد لوگوں کو معلوم کرنے کے لئے حاصل کیا کسی کے آخری حصے سے چاہتے تھے. تو اگر آپ کے ارد گرد لوگوں کو معلوم کرنے کے لئے حاصل. تھوڑا سا کے لئے بات کریں. اور تمام میں تم سے چاہتا ہوں لوگ صحیح اب صرف ہے pseudocode کی ایک خاکہ پیدا کرنے کی کوشش. ٹھیک ہے؟ واہ. میں تم لوگوں سے چاہتے ہیں سب آپ کر رہے ہیں ہے صرف اس کیس میں جبکہ بھرنے جا. تو میں نے ان کے بالائی مقرر کیا ہے اور کم حد ہے جس آغاز کی نمائندگی ہمارے صف کے اور آخر. اور آپ اصل میں کرنے کے لئے جا رہے ہیں لوپ کے ذریعے اور یہ اعداد و شمار کیا ہم اس دیر لوپ کے اندر کیا کر رہے ہیں. آپ باہر لگا سکتے ہیں تو تو میں پڑے مقدمات ہیں کیا وہاں ایک اشارہ کہ ہم یہاں ہے؟ آپ کو معلوم کرنا چاہتے ہیں تو مقدمات، ہم ان کے pseudocode گے اور پھر ہم اصل میں ان کے کوڈ دیں گے. اور یہ ہونے جا رہا ہے، میں نے امید ہے کہ یہ کروں گا، لگتا ہے کہ آپ توقع سے تھوڑا آسان ہو جائے. ، یہ اتنا کوڈ نہیں ہے کیونکہ اصل میں، جو واقعی ٹھنڈا ہے. MM-HM؟ طالب علم: [اشراوی]؟ انسٹرکٹر: جی ہاں. کچھ تھا وسط میں تلاش کرنے کے لئے. طالب علم: تو ہم اس کو استعمال کر سکتے ہیں. OK. انسٹرکٹر: کامل. تو ہے کہ ہم کیا کرنے کی ضرورت ہے پہلی چیز ہے. تاکہ مشرق تلاش. گریٹ. تو تم میں سے ایک خیال ہے کہ ہم کس طرح طاقت ہو اصل کوڈ کے ساتھ وسط جائے؟ طالب علم: جی ہاں. 2 سے زیادہ ن؟ انسٹرکٹر: تو (ن) 2 سے زیادہ. تاکہ یاد رکھنے کی ایک بات یہ ہے کہ آپ کے اوپری اور نچلے حد کو تبدیل. ہم حصہ constricting رہو صف کے ہم کے لئے تلاش کر رہے ہیں. تو (ن) 2 سے زیادہ صرف کام کریں گے پہلی چیز جو ہم کرتے ہیں. لہذا اکاؤنٹ میں اوپر اور نیچے لے جا، ہم کس طرح ہے کہ درمیانی عنصر حاصل ہو سکتا ہے؟ ہم درمیان چاہتے ہیں کیونکہ اوپر اور نیچے، دائیں کے درمیان؟ MM-HM؟ طالب علم: [اشراوی]. انسٹرکٹر: تو ہم نے کچھ متوسط ​​ہے. اور یہ بالائی علاوہ 2 سے زائد کم ہو لیں گے. بہت اچھے. ہم وہاں جا رہے. ایک ہی لائن میں نیچے. تم لوگوں کو آپ کے راستے پر ہیں. تو اب ہم ہمارے لئے ہے کہ مڈل، جو ہم کرنا چاہتے ہیں؟ صرف عام طور پر. آپ اس کے کوڈ کی ضرورت نہیں ہے. جی ہاں. طالب علم: [اشراوی]؟ انسٹرکٹر: تو یہ ہے کے علاوہ آپ ہیں کیونکہ دونوں کے درمیان اوسط تلاش کرنے ان میں. تو کیا تم اس قسم کی ان میں سے لگتا ہے کہ اگر اطراف سے میں اضافہ کا، آپ سے رجوع کے طور پر اس کے بارے میں سوچنا مڈل، آپ کو اس طرح چاہتے ہیں. لہذا اگر آپ کے دونوں کناروں پر تھے مڈل، اور ہم نے 5 اور 7 کی طرح ہے. کیا آپ ان کے ساتھ شامل کرتے ہیں تو 12 ملے، آپ کو 2 کی طرف سے تقسیم، 6 ہے. کبھی کبھی یہ مشکل ہے کہ کام کرتا ہے کیوں کی وضاحت، لیکن آپ کے ذریعے کام کرتا ہے تو ایک مثال کبھی کبھی، یہ آپ کو تو پتہ لگا مدد کروں گا یہ پلس یا مائنس ہونا چاہئے. جی ہاں. طالب علم: [اشراوی] جو بالکل وسط میں وہ جہاں ایک کیس تھا تو چھوٹے نمبروں کی ایک بہت کچھ ہے اور ایک بڑی تعداد کی طرح؟ انسٹرکٹر: تو آپ سب کی ضرورت صف کے وسط میں ہے. اگر ایسا ہے تو آپ کو چھوٹے تعداد کے ایک گروپ تھا اور پھر ایک واقعی بڑی تعداد آخر میں، اس سے کوئی فرق نہیں پڑتا. یہ سب معاملات ہیں ہے وہ، آپ کو صرف حل کر رہے ہیں کے وسط میں دیکھنا چاہتا ہوں سرنی آپ کو اب بھی ہو کیونکہ نصف میں آپ کا مسئلہ slicing کی. ٹھنڈا. تو اب ہم ہے کہ مڈل، ہم اگلے کیا کروں؟ طالب علم: کا موازنہ کریں. انسٹرکٹر: موازنہ. value_wanted لئے اتنا مڈل موازنہ. ٹھنڈا. تو کیا تم ہمارے پاس یہاں دیکھ ہم یہاں چاہتے ہیں اس کی قیمت. یہ ایک صف ہے یاد رکھیں. تاکہ مشرق انڈیکس سے مراد. تو ہم مشرق کی اقدار کیا کرنا چاہتے ہیں. اگر آپ چاہتے ہیں یہ مت بھولو ، ڈبل برابر کا موازنہ کرنے. آپ واحد تم برابر صرف اسے میں reassign کرنے جا، اور پھر، کورس کی، یہ بات ہے آپ چاہتے قدر ہونے جا رہا. تو ہے کہ ایسا نہ کرو. تو ہم تو دیکھنے کے لئے جا رہے ہیں وسط میں اقدار ہم چاہتے ہیں قیمت کے برابر ہے. آپ کے منحنی خطوط وحدانی میں مت بھولنا. ڈراپ باکس دور جانا چاہئے. تو ہم نے اس معاملے میں کیا کرتے ہیں؟ یہ ہم کو واپس کرنا چاہتے ہیں کیا ہے تو کیا ہوگا؟ ہم کہنے کی کوشش کر رہے ہیں. طالب علم: آف پرنٹ. انسٹرکٹر: ٹھیک ہے، ہم بند پرنٹ کرنے کے لئے نہیں کرنا چاہتا. تو یہ یہاں ایک bool ہے، ہم تو صحیح یا غلط واپس کرنا چاہتے ہیں. ہم اس تعداد ہے، کہہ رہے ہیں ایک [؟ RRA؟ ؟] یہ ہے اگر ایسا ہے تو، ہم صرف یہ سچ واپس. میں سچ جادو کر سکتے ہیں تو. طالب علم: آپ کیوں صفر کو واپس نہیں کرے گا؟ انسٹرکٹر: آپ کر سکتے تھے تو اگر تم چاہتے تھے صفر واپس. لیکن اس صورت میں ہے کیونکہ ہمارے تقریب ایک bool لوٹتا، ہم بھی صحیح یا غلط واپس کرنے کی ضرورت. طالب علم: آپ کب ہو ، بولین اظہار کرتے ہوئے کہا کہ آپ اسے جھوٹے کے برابر مقرر کر سکتے ہیں؟ میں کہنا چاہتا ہوں کہ اگر، تو اس شرط کی طرح اوپری ہے جھوٹی برابر کی طرح، نہیں پورا کیا جاتا. صرف اگر آپ کو یہ سمجھ جائے گا دوسری طرف جھوٹی ڈال دیا؟ انسٹرکٹر: جی ہاں. تو اصل میں آپ کو ہو تو کبھی کچھ کر جیسے اوپری ہے یا کم ہے، یہ سچ ہے یا جھوٹ لوٹتا اور یہ اصل میں برے انداز ہے کا کہنا ہے کہ برابر ہے صحیح یا برابر برابر جھوٹی برابر. تم اس نتیجہ کو استعمال کرنا چاہتے آپ چیک کے طور پر خود کے طور پر. میں چاہتا تھا نہیں کیا. یہی ہے جو میں چاہتا تھا. پوچھ رہے ہیں کہ آپ کی صورت میں کچھ کے بارے میں طرح C میں اس کو بچانے کے. تو ہم نے int اہم (باطل) ہے تو اور کچھ اس طرح. بالائی اور اگر آپ کے پاس ہے اگر آپ کر رہے ہیں اور کچھ ان پٹ کے آپ کر سکتے ہیں تو اس سے پوچھ کچھ اس طرح؟ ٹھیک ہے نا؟ طالب علم: میں کوشش کر رہا تھا یہ [اشراوی] کو ایسا کرنے کی. it's-- کیونکہ اگر انسٹرکٹر: حق. لہذا آپ کو اس کا حق، جھوٹے بننا چاہتا ہوں؟ طالب علم: جی ہاں. انسٹرکٹر: اس معاملے میں تو کیا تم یہ سچ نہیں ہے اگر اس پر عمل کرنا چاہتے ہیں. تو تم وہاں کیا کر ٹھنڈی چیز یہ ہے. لہذا فجائیہ یاد نقطہ چیزوں کی نفی؟ یہ [اشراوی] نہیں کا مطلب ہے کا کہنا ہے کہ. ہم صرف کی طرف دیکھو تو اگر یہاں اس حصے، تم ہوتا کہ تشخیص کہنا جھوٹی آپ یہ کرنا چاہتے ہیں کے طور پر. جھوٹے نہیں جو سچ ہے اس کو پھانسی دیں گے مطلب ہے. کہ عقل مندی ہے؟ طالب علم: جی ہاں. انسٹرکٹر: بہت اچھے. OK. تو ہم صرف واپس کر سکتے اس معاملے میں سچ. تو اب ہم دیگر دو ہے اس معاملے میں مقدمات. ہمارے دو دوسرے معاملات کیا ہیں؟ چلو صرف اسے اس طرح کرتے ہیں. تو چلو کسی اور کے ساتھ شروع کرتے ہیں اگر مشرق میں اقدار ہم چاہتے ہیں کی قیمت سے کم ہے. تاکہ وسط میں ہماری قیمت کم ہے ہم کے لئے تلاش کر رہے ہیں کہ قیمت سے. تو جانے جس سے آپ کو کیا کرنا ہم کو اپ ڈیٹ کرنا چاہتے ہیں لگتا ہے؟ اوپری یا کم؟ اپر؟ صف کے پس جس کی طرف ہم دیکھ رکھا جائے جا رہے ہیں؟ طالب علم: زیریں. انسٹرکٹر: ہم جا رہے ہیں بائیں پر لگ جائے. کم قیمت کم ہے تو اگر نہیں تو. یہاں آپ کی درمیانی قیمت اتنی ہم کیا چاہتے ہیں سے بھی کم ہے. تو ہم لے جانا چاہتا ہوں ہمارے صف کے دائیں جانب. تو ہم کرنے جا رہے ہیں ہماری کم جانے کو اپ ڈیٹ. تو ہم ہمارے زیریں میں reassign دونگا. اور آپ کو کم ہونا چاہئے کیا لگتا ہے؟ طالب علم: درمیانی قیمت؟ انسٹرکٹر: تو مڈل value-- طالب علم: پلس 1. انسٹرکٹر: --plus 1. کسی کو کیوں مجھے بتا سکتے ہو ہم نے اس کے علاوہ 1 ہے؟ طالب علم: [؟ کوئی قیمت نہیں؟] اس سے زیادہ برابر ہے. انسٹرکٹر: حق. ہم پہلے ہی جانتے ہیں کہ وجہ ہمارے درمیانی قیمت کے برابر نہیں ہے یہ اور ہم اس کو خارج کرنا چاہتے ہیں بعد کے تمام تلاش سے. آپ اس کے علاوہ 1، یہ بھول جاتے ہیں تو غیر معینہ مدت تک لوپ کو پسند آئے گا. اور آپ کو صرف ایک میں پھنس جائے گی لامحدود لوپ اور پھر آپ segfault کر لیں گے اور چیزوں کو برا جانا. تو ہمیشہ تم نہیں ہو کہ بات کو یقینی بنانے کے قدر شامل ہے کہ آپ کو صرف کی طرف دیکھا. تو ہم نے ایک پلس 1 کے ساتھ اس کی دیکھ بھال. تو اب ہم ہماری آخری شرط ہے حفاظت خاطر جو ہمیشہ مجھے آپ کو کم قیمت کا تو کوئی اور، یہاں چیک کر سکتے ہیں درمیانی قیمت سے زیادہ ہے ہم چاہتے ہیں. یہی ہے جو ہم چاہتے ہیں کہ اس کا مطلب بائیں ہاتھ سے نصف. لہذا جس سے ایک ہم کو اپ ڈیٹ کرنے کے لئے جا رہے ہیں؟ اپر. اور برابر کرنے کی جا رہی اس میں سے ایک کیا ہے؟ مشرق مائنس 1، کیونکہ کورس کے، ہم چاہتے ہیں ہم نہیں ہیں اس بات کو یقینی بنانے کے لئے پھر اس درمیانی قیمت کی طرف دیکھ. اور پھر ہم اس کے ہیں. یہ بات ہے. کہ تمام بائنری تلاش ہے. یہ درست ہے، اتنا برا نہیں ہے؟ اس کی 10 لائنوں کی طرح ہے سفید جگہ کے ساتھ کوڈ. لہذا بہت طاقتور، بہت مفید، تم کروگے آپ بعد میں psets میں سے ایک میں اس کا استعمال کیا ہو. شاید نہیں اس ایک، لیکن بعد میں. تو یہ جاننے کے. اس سے محبت. یہ اچھی طرح سے آپ کا علاج کریں گے. تو کسی کو کسی بھی ہے بائنری تلاش پر سوال؟ جی ہاں. طالب علم: یہ کوئی بات ہے آپ ن بھی عجیب ہے کہ آیا؟ انسٹرکٹر: نمبر ہم جیسے مڈل لئے ڈال کیونکہ ایک int، یہ صرف یہ تراش گے. یہ ایک عدد صحیح رہنا اور گا تو یہ ہو گا بالآخر سب کچھ کے ذریعے حل. تو آپ کو اس کے بارے میں فکر کرنے کی ضرورت نہیں. اچھا ہر کوئی؟ بہت اچھے. ٹھنڈا. لہذا، تم لوگ اس کو مل گیا. سلائیڈ شو. ہم کے بارے میں بات کر رہے تھے کے طور پر تو، میں جانتا ہوں ڈیوڈ پیچیدگی runtimes اور ذکر کیا. تو بہترین صورت میں، یہ صرف ہے ہم مسلسل وقت فون جس میں سے ایک،. کہ ہو سکتا ہے کہ کیوں کوئی مجھے بتا سکتے ہو؟ اس منظر نامے کے کس قسم کی سفید انقلاب گے؟ MM-HM. طالب علم: [اشراوی] first-- انسٹرکٹر: درمیانے ہونے کی وجہ تو ہم کرنے کے لئے آیا ہے کہ پہلے عنصر، حق؟ تو ایک کی ایک صف یا جو کچھ بھی ہم صرف کے لئے تلاش کر رہے ہیں وسط میں ذائقہ DAB ہونا ہوتا. تو ہے کہ ہمارے سب سے بہترین بات ہے. آپ نے شاید، حقیقی مسائل میں ملتا ہے کہ اکثر [اشراوی] تک پہنچنے کے لئے جا. کیا ہمارے بدترین کیس کے بارے میں؟ ہمارے بدترین صورت لاگ ان ن ہے. اور یہ کہ پورے کے ساتھ کیا ہے میں نے کے بارے میں بات کی تھی کہ دو چیز کے اختیارات. تو بدترین صورت میں اس کا مطلب ہو گا ہم نیچے سرنی کاٹنا پڑا کہ یہ ایک کا ایک عنصر تھا جب تک. تو ہم نے نصف میں کاٹ کرنے کے لئے تھا کے طور پر ہم ممکنہ طور پر کر سکتے کئی بار. یہ لاگ ان ن ہے کیونکہ ہے کیوں ہے آپ صرف دو کی طرف سے تقسیم کر کے رکھنے. لہذا مفروضات، چیزیں جو آپ اگر آپ کبھی بھی ہو تو جاننے کی ضرورت ہے ایک بائنری تلاش کا استعمال کرنے جا. آپ کے عناصر تعین کر لینا چاہیے. کیونکہ وہ حل کیا جا کرنے کے لئے ہے یہ واحد راستہ تم ہو آپ کے قابل ہو تو جان سکتا اس میں سے نصف کو نکال باہر کرنے. آپ کو اس گڑبڑ بیگ تھا تو اور نمبر پر آپ کو، کہہ رہے ہیں ٹھیک ہے، میں مڈل چیک کرنے جا رہا ہوں تعداد اور میں دیکھ رہا ہوں تعداد اس سے کم ہے، میں نے ابھی جا رہا ہوں منمانے ایک نصف باہر پھینک. اگر آپ نہیں جانتے آپ کہ دوسرے نصف میں تعداد. آپ کی فہرست کے مطابق رکھا جائے ہے. اس کے ساتھ ساتھ، یہ ہو سکتا ہے آگے ایک تھوڑا سا ہو رہا، لیکن آپ بے ترتیب رسائی حاصل کرنے کی ضرورت ہے. آپ کرنے کے قابل ہو جائے کرنے کی ضرورت ہے صرف کہ درمیانی عنصر کے پاس جاؤ. آپ گزرنا ہے تو کچھ کے ذریعے یا یہ آپ کو اضافی اقدامات کہ درمیانی عنصر سے حاصل کرنے، لاگ ان کریں (ن) اب کیونکہ نہیں ہے آپ کو اس میں زیادہ کام کا اضافہ کر رہے. اور یہ تھوڑا سا بنا دے گی دو ہفتوں میں زیادہ احساس، لیکن میں صرف کی قسم، دیباچے کے لئے چاہتا تھا تم لوگوں کو کیا ہے ایک خیال دے آنے کے لئے. لیکن ان دو ہیں اہم مفروضات آپ کو ایک بائنری فہرست کے لئے کی ضرورت ہے کہ. اس کے مطابق ہے اس بات کو یقینی بنائیں. اس کے لئے بہت بڑا ایک ہے آپ ابھی لوگ. اور یہ کہ ہم میں جا سکتے ہیں ہمارے ہر قسم کے باقی. تو چار sorts-- بلبلا، اندراج، انتخاب، اور ضم. وہ ٹھنڈی کے تمام قسم کے ہیں. تم لوگ CS 124 لینے کے لئے فیصلہ کرتے ہیں تو، آپ ہر قسم کے تمام قسم کے بارے میں پتہ چل جائے گا. اور تم ایک XKCD پرستار ہیں تو، وہاں ایک بہت ٹھنڈا کامک کے بارے میں ہے واقعی غیر مؤثر قسم کے، کی طرح ہے جس میں انتہائی آپ کو دیکھنے کے لئے جانے کی سفارش. ان میں سے ایک گھبراہٹ ترتیب دیں، کی طرح ہے جس کی طرح، اوہ نہیں، بے ترتیب صف واپس ہے. بند ہونے کا نظام. چھوڑ دو. لہذا نے geeky مزاحیہ ہمیشہ اچھا ہے. تو کسی طرح یاد کرتا کا صرف ایک عام خیال کی طرح بلبلا طرح کس طرح کام کرتا. تمہیں یاد ہے؟ طالب علم: جی ہاں. انسٹرکٹر: اس کے لئے جاؤ. طالب علم: آپ کے ذریعے جا رہے ہیں تو اور یہ بڑا ہے تو، پھر تم دونوں کا تبادلہ. انسٹرکٹر: MM-HM. بالکل ٹھیک. تو کیا تم صرف کے ذریعے iterate. تم دو نمبروں کی جانچ پڑتال. ایک سے پہلے بڑا ہے اس کے بعد ایک کے مقابلے میں، آپ کو صرف میں ہیں تاکہ ان کے تبادلہ اس طرح اعلی تعداد کے سب فہرست کے اختتام کی طرف اپ بلبلا اور تمام نچلے نمبروں بلبلا نیچے. وہ ٹھنڈی تم لوگوں کو دکھانا تھا ویڈیو چھںٹائی آواز اثر؟ اس پر وہ ٹھنڈی کی طرح ہے. رابرٹ نے ابھی کہا کے طور پر، الگورتھم تاکہ آپ کو فہرست کے ذریعے قدم ہے کہ، ملحقہ اقدار کو گماگمن وہ ترتیب میں نہیں ہو تو. اور پھر صرف بار بار کرتے رہیں جب تک آپ کو کسی بھی سویپ نہیں کرتے. اتنا برا نہیں، ٹھیک ہے؟ تو ہم صرف یہاں ایک فوری مثال ہے. تو اس طرح کی جا رہی ہے دیگر صعودی میں ان. تو ہم نے پہلے سے گزر جانا جب وقت، ہم آٹھ کے ذریعے دیکھو اور چھ ظاہر ہے نہیں ہیں ترتیب میں، ہم ان کے تبادلہ. تاکہ اگلے ایک کو دیکھو. آٹھ اور ترتیب میں چار نہیں. ان کے تبادلہ. اور اس کے بعد آٹھ اور دو، ان کے تبادلہ. ہم وہاں جا رہے. تاکہ آپ کے سب سے پہلے پاس کرنے کے بعد، آپ کو جانتے ہیں کہ آپ کی سب سے بڑی تعداد تمام طریقہ ہو جا رہا ہے یہ صرف ہے کیونکہ سب سے اوپر مسلسل ہونے جا رہا باقی سب سے بڑے اور یہ صرف بلبلا جا رہا ہے وہاں آخر تک تمام راستے. کہ ہر کسی کو سمجھ میں آتا ہے کرتا ہے؟ ٹھنڈا. تو پھر اگر ہم ہماری دوسری پاس پر نظر ڈالیں. چھ اور چار، سوئچ. چھ اور دو، سوئچ. اور اب ہم ترتیب میں چند چیزیں ہیں. ہر پاس کے لئے تو ہے کہ ہم ہماری پوری فہرست کے ذریعے بنانے کے، ہم جانتے ہیں کہ ہے کہ بہت سے تعداد کی طرح آخر میں حل کر دیا گیا ہے گا. تو ہم نے ایک تیسرے پاس کرتے، جس میں سے ایک سویپ ہے. اور پھر ہمارے چوتھے پر ہم صفر سلاٹ ہے، گزر. اور اس طرح ہم جانتے ہیں کہ ہماری صف کے مطابق کیا گیا ہے. اور یہ کہ بڑا ہے بلبلا طرح کے ساتھ بات. ہم جانتے ہیں کہ جب ہم نے اس ، کہ صفر سویپ ہے سب کچھ ہے کہ کا مطلب ہے کہ مکمل حکم میں ہے. یہ ہم چیک کس طرح کی طرح ہے. تو ہم نے بھی بلبلا کوڈ کرنے جا رہے ہیں ترتیب دیں جس میں بھی اتنا برا نہیں ہے. ان میں سے کوئی بھی نہیں ہے جو برے ہیں. میرے خیال میں وہ ایک چھوٹا سا ڈراونی لگ رہے ہو سکتے ہیں جانتے ہیں. میں لیا جب مجھے پتہ کلاس، اس وقت بھی جب میں نے کے لئے کلاس کی تعلیم تھا پہلی بار گزشتہ سال، میں کی طرح، میں نے یہ کس طرح کروں کیا گیا تھا؟ اس اصول میں سمجھ میں آتا ہے، لیکن ہم اصل میں اس کو کس طرح کرتے ہیں؟ جس میں بھی چلنا چاہتے ہیں یہی وجہ ہے یہاں لوگ آپ کے ساتھ کوڈ کے ذریعے. تو میں نے ایک pseudocode کے پاس تم لوگوں کو اس وقت کے لئے. لہذا صرف کے طور پر یہ بات ذہن میں رکھنا ہم سے زیادہ منتقل کرنے کے بارے میں ہیں. تو ہم نے کچھ کا انسداد ہے کہ ، ہمارے سویپ کے ٹریک رکھتا ہے ہم بات کو یقینی بنانے کی ضرورت ہے کیونکہ ہم اس کی جانچ پڑتال کر رہے ہیں کہ. اور ہم پوری صف پر iterate ہم صرف اس مثال کے ساتھ کیا تھا کے طور پر. عنصر پہلے سے کہیں زیادہ بڑا ہے تو ہم پر ہیں جہاں کے بعد عنصر، ہم ان کے تبادلہ اور ہم ہماری اضافہ کاؤنٹر، ہم تبادلہ جیسے ہی کیونکہ ہم نے اپنے جوابی کہ بتا دینا چاہتا ہوں. وہاں کوئی سوال ہے؟ کچھ تو یہاں پر مضحکہ خیز لگتا ہے. طالب علم: آپ کو صفر کے کاؤنٹر قائم کریں آپ کو لوپ کے ذریعے جانا ہے ہر وقت؟ آپ جا رکھنے کے لئے نہیں واپس ہر بار صفر کرنے کے لئے؟ انسٹرکٹر: ضروری نہیں. تو کیا ہوتا ہے کہ ہم یہاں کے ذریعے جانا ہے. تو دیر،، یہ یاد کرتے ہیں ناکام بغیر ایک بار پھانسی گا. تو یہ قائم کرنے کے لئے جا رہا ہے صفر کے برابر کاؤنٹر، پھر اس کے ذریعے iterate کرنے جا رہا ہے. اس کے ذریعے iterates ہے کے طور پر، یہ کاؤنٹر اپ ڈیٹ کرے گا. یہ کاؤنٹر تازہ کاریوں کے طور، یہ ہو چکا ہے جب، یہ صف کے آخر میں پہنچ گئی جب، ہماری فہرست کے مطابق نہیں کیا گیا ہے تو، انسداد اپ ڈیٹ کیا گیا ہے گا. تو پھر اس حالت چیک کرتا ہے اور اس OK، صفر سے انسداد بڑا ہے، کا کہنا ہے کہ. اگر ایسا ہے تو، اسے دوبارہ کرتے ہیں. تم تو جب آپ اس ری سیٹ کرنا چاہتے کے ذریعے جانا، کاؤنٹر صفر کے برابر ہے. اگر آپ کے مطابق کے ذریعے جانا تو سرنی، کچھ بھی نہیں، بدل یہ ناکام ہو جاتا، اور اگر آپ حل کی فہرست واپس آ جائیں. کہ سمجھ میں آتا ہے کرتا ہے؟ طالب علم: تھوڑا سا میں سکتا ہے یہ. انسٹرکٹر: OK. کسی دوسرے کی ہو تو آتا ہے کہ سوال. جی ہاں. طالب علم: کیا کریں گے تقریب عناصر گماگمن کے لئے ہو؟ انسٹرکٹر: تو ہم اصل میں لکھ سکتے ہیں ہم ابھی جا رہے ہیں کہ. ٹھنڈا. اس بات پر تو کیا، ایلیسن کی جا رہی ہے آلات پر واپس سوئچ کرنے کے لئے. یہ مزہ ہونے جا رہا ہے. اور ہم نے اپنے اچھا ہے یہاں بلبلا طرح کی چیز. تو میں نے پہلے ہی سائیکلنگ کیا صف کے ذریعے. ہم اپنے سویپ ہے کہ صفر کے برابر ہیں. تو ہم نے ملحقہ تبادلہ کرنا چاہتے عناصر وہ حکم سے باہر ہو تو. تو پہلی بات یہ کہ ہم کرنے کی ضرورت ہے ہمارے صف کے ذریعے iterate جاتا کرو. تو کس طرح آپ کو ہم شاید کیا رائے ہے؟ ہمارے صف کے ذریعے iterate؟ ہم کے لئے ہے اور میں 0 کے برابر ہے. ہم میں سے کم ہونا چاہتے ہیں ن مائنس 1 مائنس K مقابلے. اور میں ایک دوسرے میں اس کی وضاحت کریں گے. تو یہ ایک اصلاح یہاں ہے جہاں، میں ہر پاس کے بعد کہا کہ کس طرح یاد سرنی ہم کے ذریعے جو کچھ بھی on-- ہے جانتے ہیں کہ تاکہ ایک پاس کے بعد ہم اس کے مطابق کیا جاتا ہے جانتے ہیں کہ. دو پاس کرنے کے بعد ہم جانتے اس سب کے مطابق ہے. تین پاس کے بعد ہم اس کے مطابق ہے جانتے ہیں. جس طرح اس لئے میں iterating رہا ہوں یہاں سرنی کے ذریعے، یہ صرف جانے کے لئے اس بات کو یقینی بنا رہا ہے کر رہا ہے ہم جانتے ہیں کہ کیا کے ذریعے ناچھانٹا ہوا ہے. ٹھیک ہے؟ یہ صرف ایک اصلاح ہے. تم بس naively سے یہ لکھ سکتے تھے سب کچھ کے ذریعے iterating کر، یہ صرف زیادہ وقت لگے گا. اس چار لوپ کے ساتھ یہ ہے صرف ایک اچھا اصلاح ہم نے ہر مکمل ہونے کے بعد معلوم ہے کیونکہ یہاں صف کے ذریعے ایک iteration، یہاں ہر مکمل لوپ کی طرح، ہم جانتے ہیں ان عناصر میں سے ایک اور یہ کہ آخر میں حل کیا جائے گا. تو ہم نے ان لوگوں کے بارے میں فکر کرنے کی ضرورت نہیں ہے. کہ ہر کسی کو سمجھ میں آتا ہے کرتا ہے؟ کہ ٹھنڈی چھوٹی سی چال؟ اس صورت میں، اگر ایسا ہے تو ہم، ذریعے iterating کر رہے ہم تو اس کی جانچ کرنا چاہتے ہیں جانتے ہیں کہ صف ن اور ن پلس 1 کے حکم میں ہیں. OK. تو یہاں pseudocode کی ہے. ہم تو اس کی جانچ کرنا چاہتے صف ن اور ن پلس 1 کے حکم میں ہیں. تو ہم وہاں کیا کر سکتا ہے؟ یہ کچھ مشروط ہونے جا رہا ہے. یہ ایک ہے تو ہو جائے گا. طالب علم: صف ن ہے تو صف ن پلس 1 کے مقابلے میں کم. انسٹرکٹر: MM-HM. ویسے، سے کم یا اس سے بڑا. طالب علم: سے زیادہ. پھر ہم ان کے تبادلہ کے لئے چاہتے ہیں. بالکل ٹھیک. تو اب ہم کیا میں حاصل ان گماگمن کے لئے طریقہ کار؟ تو ہم اس کو مختصر طور پر کے ذریعے چلا گیا، سویپ تقریب کی ایک قسم کو گزشتہ ہفتے. کسی کو بھی یہ کام کیا ہے کہ کس طرح یاد ہے؟ تو ہم نے صرف صحیح، ان میں reassign نہیں کر سکتے؟ ان میں سے ایک ضائع ہو جائے گا کیونکہ. ہم نے کہا تو ایک تو بی بی اور کے برابر ہے A کے برابر ہے، ان میں سے دونوں اچانک B. کے لئے صرف برابر ہیں تو ہم نے کیا کرنا ہے جو ہم میں ہے ہے کہ ایک عارضی متغیر ہے ہمارا جبکہ میں سے ایک منعقد کرنے جا ہم گماگمن کے عمل میں ہیں. تو کیا ہمارے پاس ہے ہم نے کچھ int کے لئے پڑے گا ہے آپ نے اسے تفویض کرسکتے to-- temp کے برابر ہے جو بھی کسی ایک کے پاس آپ کو صرف، چاہتے آپ نے اسے اس بات کا یقین کے ٹریک رکھنے کے کر دے تو اس معاملے میں، میں جا رہا ہوں صف ن پلس 1 کے لئے تفویض. تو ہے کہ منعقد کرنے جا رہا ہے جو کچھ بھی قدر کہ دوسری بلاک میں ہے ہم دیکھ رہے ہیں کہ. اور ہم جا سکتے ہیں تو پھر ہم کیا کر سکتے ہیں ہے آگے اور میں reassign صف ن پلس 1، ہم کیونکہ ہم جانتے ہیں محفوظ کیا جاتا ہے کہ قیمت ہے. یہ بھی بڑا میں سے ایک ہے تم میں سے کوئی اگر ہم چیزوں میں نہیں جانتا آپ دو سوئچ جہاں اگر مسائل تھے کوڈ کی لائنیں اچانک چیزوں پر کام کیا. آرڈر CS میں بہت اہم ہے. تاکہ یقین ہے کہ آپ آریھ بنانے چیزیں باہر اگر ممکن ہو تو کرنے کے طور پر اصل میں کیا ہو رہا ہے. تو اب ہم کرنے جا رہے ہیں ، صف ن پلس 1 میں reassign ہم کیونکہ ہم جانتے ہیں محفوظ کیا جاتا ہے کہ قیمت ہے. اور ہم صف کی کہ تفویض کر سکتے ہیں ن یا اس کیس کی صف میں اندر. بہت سے متغیر. OK. تو اب ہم دوبارہ تعینات کر دیا ہے سرنی میں علاوہ 1 سرنی میں میں کیا ہے کے برابر. اور اب ہم واپس جا سکتے ہیں اور کیا صف میں تفویض؟ کوئی ہے؟ طالب علم: 10. انسٹرکٹر: 10. بالکل ٹھیک. اور ایک آخری بات. اب ہم اسے تبدیل کیا ہے تو، ہمیں کیا کرنا چاہیئے؟ ایک بات کیا ہے ہمیں بتاتے ہیں کہ جا رہا ہے ہم نے کبھی بھی اس پروگرام کو ختم تو کیا ہوگا؟ ہم جو ہمیں بتاتا ہے کہ ایک کے مطابق کی فہرست ہے؟ ہم کسی سویپ انجام نہیں کرتے ہیں تو، حق؟ سویپ تو کے برابر ہے اس کے آخر میں صفر. لہذا جب بھی آپ ہم جیسے، ایک سویپ انجام یہاں صرف کیا، ہم سویپ اپ ڈیٹ کرنا چاہتے. اور میں وہاں تھا معلوم ایک سوال اوائل کے بارے میں آپ یہ کر سکتے ہیں بجائے صفر یا ایک کا استعمال کے صحیح یا غلط. اور یہ کہ اس کو یہاں ہوتا ہے. تو یہ تو نہیں سویپ کہتے ہیں. سویپ صفر، ہے تو جس نے ہمیشہ مجھے is-- ملتا میری سچائیوں اور میری falses ملا. ہم مدد ہمیں اندازہ چاہتے درست کرنے کے لئے اور اگر یہ نہیں ہے. یہ صفر ہے اگر ایسا ہے تو، تو یہ غلط ہے. آپ کو ایک کے ساتھ اس کی نفی کرتے ہیں تو [؟ بینگ؟] یہ سچ ہو جاتا ہے. تو پھر اگر اس لائن executes ہے. سچ اور جھوٹے اور zeros اور ہیں پاگل ہو جاؤ. بس آپ کو آہستہ آہستہ چلنا ہے تو اس کے ذریعے اس احساس کرے گا. لیکن اس کا کیا یہ چھوٹا سا ہے کوڈ کا سا یہاں کرتا. تو یہ دیکھنے کے لئے چیک کرتا ہے ہم کسی سویپ کیا ہے. تو یہ کسی بھی چیز کے سوا، اگر صفر، یہ باطل ہونے جا رہا ہے اور پوری بات ہے دوبارہ پھانسی جا. ٹھنڈا؟ طالب علم: وقفے کیا کرتا ہے؟ انسٹرکٹر: صرف وقفے لوپ سے باہر ٹوٹ جاتا ہے. یہ اس صورت میں کرے گا تو صرف پروگرام آخر کی طرح اور آپ کو صرف کریں گے آپ کے مطابق فہرست ہے. طالب علم: حیرت انگیز. انسٹرکٹر: میں معافی چاہتا ہوں؟ طالب علم: کیونکہ ہم نے پہلے صفر لکھا زائد 1 لکھا استعمال کہ اگر پیش کرنے اس سے کام کریں گے یا نہیں. انسٹرکٹر: جی ہاں. تو اگر آپ کو صفر یا 1 واپس آ سکتے ہیں. اس صورت میں، کیونکہ ہم اصل میں نہیں ہو تقریب کے ساتھ کچھ کر، ہم صرف اس کو توڑنے کے لئے چاہتے ہیں. ہم واقعی اس کی کوئی پرواہ نہیں ہے. وقفے بھی تو اچھا ہے اسے باہر کو توڑنے کے لئے استعمال کیا جاتا ہے loops چار یا شرائط میں سے ہے کہ آپ عمل کر رکھنے کے لئے نہیں کرنا چاہتا. یہ صرف ان میں سے باہر لے جاتا ہے. یہ ایک nuance کی چیز کا تھوڑا سا ہے. وہاں ہے مجھے لگتا ہے جیسے ہاتھ لہراتے ہوئے کی ایک بہت، جیسا کہ آپ جلد ہی اس کے بارے میں پتہ چل جائے گا. لیکن آپ جلد ہی اس کے بارے میں پتہ چل جائے گا. میں وعدہ کرتا ہوں. OK. تو سب بلبلا طرح حاصل کرتا ہے؟ برا بھی نہیں. کے ذریعے iterate، سویپ چیزیں استعمال کرتے ہوئے عارضی متغیر، اور ہم سب کو وہاں مقرر کر رہے ہیں؟ ٹھنڈا. بہت اچھے. OK. واپس پاورپوائنٹ کرنے. جنرل میں کوئی سوالات کے بارے میں ان کو اب تک؟ ٹھنڈا. MM-HM. طالب علم: [اشراوی] عام طور پر int اہم. اس لئے اس کی ضرورت کے لئے آپ کو کیا ضرورت ہے؟ انسٹرکٹر: تو ہم صرف دیکھ رہے تھے صرف اصل چھنٹائی الگورتھم پر. اگر آپ کے اندر اس کو تھا تو ایک وسیع تر پروگرام کی طرح، اگر آپ کو ایک int اہم کہیں ہوگا. جہاں آپ پر منحصر اس الگورتھم کو استعمال کرتے، یہ کیا ہے اس بات کا تعین کرے گی اس کی طرف سے واپس کیا جا رہا. لیکن ہمارے کیس کے لئے، ہم سختی سے ہو اصل میں اس سے فرق پڑتا ہے کہ کس طرح کی طرف دیکھ ایک صف کے ذریعے iterate. تو ہم نے اس کے بارے میں فکر نہ کرو. تو ہم نے کے بارے میں بہترین صورت میں بات کر رہے تھے اور بائنری تلاش کے لئے بدترین منظرنامے. لہذا یہ کرنا بھی اہم ہے ہماری ہر قسم میں سے ہر ایک کے لئے کہ. تو کیا کرتے ہیں آپ کے خیال میں سب سے برا ہے بلبلا طرح کی صورت رن ٹائم؟ تم لوگوں کو یاد ہے؟ طالب علم: N مائنس 1. انسٹرکٹر: ن مائنس 1. تو ہے کہ وہاں ہیں کا مطلب ہے کہ ن مائنس 1 موازنہ. تاکہ احساس کرنے کے لئے ایک بات ہے پہلے iteration ہے کہ، ہم، ہم آپس میں موازنہ کے ذریعے جانا ان two-- تاکہ 1 ہے. ان دو، تین، چار. لہذا ایک iteration کے بعد ہم پہلے ہی چار موازنہ ہے. جب میں رن ٹائم اور (ن) کے بارے میں بات کر رہا ہوں. ن موازنہ کی تعداد کی نمائندگی کرتا ہے کتنے عناصر کی ایک تقریب کے طور پر ہمارے پاس ہے. ٹھیک ہے؟ تو ہم کے ذریعے جانا ہے، ہم چار ہے. آپ کو پتہ ہے اگلی بار ہم ایسا نہیں کرتے اس کی دیکھ بھال کے لئے ہے. ہم، ان دونوں کا آپس میں موازنہ ان دو، ان دو، اور ہم اس کی اصلاح کی ضرورت نہیں تھی تو میں نے لکھا ہے کہ چار کے لوپ کے ساتھ، آپ ویسے بھی یہاں میں موازنہ کیا جائے گا. تو اگر آپ کو کرنا پڑے گا صف کے ذریعے چلائے اور ن موازنہ ن اوقات، ہر بار ہم کیونکہ اس طرح کی ایک بات ہم کے ذریعے چلائے. اور ہم کے ذریعے چلانے کے ہر بار سرنی، ہم ن موازنہ کرنے. لہذا اس کے لئے ہماری رن ٹائم ہے دراصل ن، مربع جس میں بہت برا ہے ہمارے کہ کیونکہ آخر کو لاگ ہم چار تھا کا مطلب ہے کہ ارب عناصر، یہ ہے ہم چار ارب لے جا بجائے 32 مربع. لہذا سب سے بہتر نہیں رن ٹائم، لیکن کچھ چیزوں کے لئے، آپ کے اندر اندر ہیں تو آپ کو، جانتے عناصر میں سے ایک مخصوص حد بلبلا طرح استعمال کرنے کے لئے ٹھیک ہو سکتا ہے. OK. تو اب بہترین صورت رن ٹائم کیا ہے؟ طالب علم: زیرو؟ یا 1؟ انسٹرکٹر: تو 1 کروگے ایک موازنہ ہو. حق. طالب علم: N مائنس 1؟ انسٹرکٹر: تو، جی ہاں. تو ن مائنس 1. آپ ن کی طرح تصور ہے جب بھی مائنس 1، ہم صرف اس کو چھوڑ کرنے کے لئے ہوتے آپ ہو کیونکہ اور ہم صرف (ن) کا کہنا ہے کہ these-- ہر جوڑے میں سے ہر ایک کا موازنہ کرنے. تو یہ، 1 ن جا مائنس گے جس پر ہم ہم صرف تقریبا ن ہے کہونگا. آپ رن ٹائم کے ساتھ کام کر رہے ہو، سب کچھ تقرب میں ہے. جب تک کے طور مائپادک کے طور پر ہے درست، آپ بہت اچھے ہیں. ہم اس سے نمٹنے کس طرح ہے. بہترین کیس (ن)، ہے، تا کہ جس ، فہرست میں پہلے ہی کے مطابق ہے، کا مطلب ہے کہ اور ہمیں کیا سب کے ذریعے چلایا جاتا ہے اور اس کے مطابق ہے چیک کریں کہ. ٹھنڈا. ٹھیک ہے. آپ کو یہاں دیکھ کے طور پر تو، ہم کچھ زیادہ گراف ہے. تو ن مربع. مزہ. زیادہ جیسا کہ ہم دیکھتے ن سے بھی بدتر، اور شروع کریں 2N سے کہیں بدتر، زیادہ. اور پھر آپ کو بھی لاگ ان کی نوشتہ میں حاصل. اور آپ کو 124 لے، آپ میں حاصل پاگل کی طرح ہے جس کی لاگ ستارہ ہے، جیسے. آپ دلچسپی رکھتے ہیں تو، اگر تلاش شہتیر کے سٹار. یہ مذاق کی طرح ہے. تو ہم نے اس عظیم چارٹ ہے. بس ایک سر اپ، یہ ایک عجیب چارٹ ہے کرنا ہم کیونکہ آپ کے وسط مدتی لئے آپ ان thins کی طلب کرنے کے لئے طویل عرصے سے. تو صرف ایک سر اوپر، پر اس کے پاس آپ کا آپ اچھا دھوکے باز شیٹ پر مڈٹرم وہاں. تو ہم صرف بلبلا طرح کی طرف دیکھا. بدترین کیس، ن،، (ن) بہترین صورت مربع. اور ہم دوسروں کی طرف دیکھنے کی جا رہے ہیں. اور آپ کو، صرف دیکھ سکتے ہیں کے طور پر واقعی اچھی طرح کرتا ہے کہ کسی ایک ہم کیوں میں مل جائے گا، جس ضم طرح، ہے. تو ہم پر جانے کے لئے جا رہے ہیں اگلے ایک یہاں انتخاب طرح. کسی کو کس طرح یاد کرتا انتخاب کی طرح کام کیا؟ اس کے لئے جاؤ. طالب علم: بنیادی طور پر کے ذریعے جانا ایک حکم ہے اور ایک نئی فہرست مرتب کریں. اور جب تم عناصر ڈال رہے ہیں صرف کے طور پر میں، صحیح جگہ میں ڈال نئی فہرست میں. انسٹرکٹر: تو بالی ووڈ کہ اندراج کی طرح کی طرح زیادہ. لیکن آپ واقعی قریب ہیں. وہ بہت ہی ہیں. یہاں تک کہ میں نے انہیں کبھی کبھی سے ملا کر. میں طرح تھا اس کے حصے سے پہلے، انتظار. OK. لہذا اگر آپ چاہتے ہیں کیا کرتے، انتخاب کی طرح ہے آپ سوچ سکتے ہیں جس طرح یہ اور طریقہ کے بارے میں مجھے یقین ہے کہ میں نہیں حاصل کرنے کی کوشش کر دے انہیں اس کے ذریعے جاتا ہے، ملا اور یہ منتخب کرتا ہے سب سے چھوٹی تعداد ہے اور یہ آپ کی فہرست کے آغاز میں کہ رکھتا. یہ کہ سب سے پہلے جگہ کے ساتھ اس کا سویپ. وہ اصل میں مجھے ایک مثال ہے. بہت اچھے. تو صرف ایک راستہ نے اسے انتخاب کے بارے میں سوچنا ترتیب دیں، سب سے چھوٹی قیمت کو منتخب کریں. اور ہم کرنے جا رہے ہیں ایک مثال کے ذریعے چلائے میں کیونکہ میں مدد ملے گی لگتا ہے کہ میں انداز ہمیشہ مدد سوچتے ہیں. تو ہم نے کچھ کے ساتھ باہر شروع کہ مکمل طور پر ناچھانٹا ہوا ہے. ریڈ، ناچھانٹا ہوا ہو جائے گا سبز مطابق کیا جائے گا. یہ سب ایک دوسرے میں احساس کرے گا. تو ہم کے ذریعے جانا اور ہم iterate شروع سے آخر تک. اور ہم OK، 2 ہے، کا کہنا ہے کہ ہماری سب سے چھوٹی تعداد. تو ہم 2 لینے کے لئے جا رہے ہیں اور ہم جا رہے ہیں ہمارے صف کے سامنے میں منتقل کرنا یہ ہے کیونکہ سب سے چھوٹی تعداد ہمارے پاس ہے. تو ہے کہ اس نے یہاں کیا کر رہا ہے ہے. یہ صرف ان دو کا تبادلہ کرنے جا رہا ہے. تو اب ہم ایک کے مطابق کی ہے حصہ اور ایک ناچھانٹا ہوا حصہ. اور یاد کرنے کے لئے اچھا کیا ہے انتخاب کی طرح کے بارے میں ہم صرف منتخب کر رہے ہیں یہ ہے ناچھانٹا ہوا حصہ سے. مطابق حصہ آپ صرف اکیلے چھوڑ دیں. MM-HM؟ طالب علم: کیا ہے یہ معلوم ہوتا ہے کہ کس طرح اس کا موازنہ کئے بغیر سب سے چھوٹی صف میں ہر دوسرے قدر کے. انسٹرکٹر: یہ اس کا موازنہ کرتا ہے. ہم نے اس کو چھوڑا نہیں پسند. یہ مجموعی طور پر صرف عام ہے. جی ہاں. ہم میں ہوں کوڈ لکھنے جب یقین ہے کہ آپ کو زیادہ مطمئن کیا جائے گا. لیکن آپ سب سے پہلے اس کی دکان سب سے چھوٹی عنصر کے طور پر. تم آپس میں موازنہ اور آپ کو اوکے، یہ چھوٹا ہے، کہنا ہے کہ؟ جی ہاں. اسے رکھ. یہاں یہ چھوٹا ہے؟ نہیں؟ یہ آپ کی سب سے چھوٹی ہے آپ کی قدر میں reassign. اور آپ کو بہت زیادہ خوش ہو جائے گا ہم کوڈ کے ذریعے جانا جب. تو ہم کے ذریعے جانا ہے، ہم تو اس کے بعد، اس کا تبادلہ ہم یہ ناچھانٹا ہوا حصہ پر نظر ڈالیں. تو ہم تینوں باہر منتخب کرنے کے لئے جا رہے ہیں. ہم پر اس پر ڈال کرنے کے لئے جا رہے ہیں ہمارے کے مطابق حصہ کے آخر. اور ہم صرف کر رکھنے کے لئے جا رہے ہیں کہ کر، اور اس فعل، کہ. تو یہ یہاں pseudocode کی اپنی قسم ہے. ہم ایک دوسرے میں یہاں اس کوڈ دونگا. لیکن صرف کچھ چلنے کے لئے ایک اعلی سطح پر کے ذریعے. آپ کی طرف سے جانے کے لئے جا رہے ہیں میں کس سے ن مائنس 2 0 کے برابر ہے. کہ ایک اور اصلاح ہے. اس کے بارے میں بہت زیادہ فکر نہ کرو. تو جیسا کہ آپ کہہ رہے تھے. جیکب کہہ رہا تھا، کہ ہم کس طرح کرتے ہیں ہماری کم از کم کیا ہے کا ٹریک رکھنے کے؟ ہم کیسے جانتے ہیں؟ ہم آپس میں موازنہ کرنے کے لئے ہے ہماری فہرست میں سب کچھ. تاکہ کم از کم میں نے کے برابر ہے. یہ صرف اس صورت میں کہہ رہا ہے ہماری کم از کم قیمت کے انڈیکس. تو پھر اس کے ذریعے iterate کرنے جا رہا ہے J میں پلس 1 برابر سے اور یہ جاتا ہے. تو ہم نے پہلے سے ہی جانتے ہیں کہ کہ ہمارا پہلا عنصر ہے. ہم نے خود کو اس کا موازنہ کرنے کی ضرورت نہیں. تو ہم نے اگلے پر اس کا موازنہ شروع یہ میں پلس 1 ن ہے کیوں جن میں سے ایک ہے مائنس 1، ہے جو وہاں صف کے آخر سے. اور ہم صف میں نے کہا کہ اگر J، سرنی منٹ سے بھی کم ہے پھر ہم جہاں میں reassign ہماری کم از کم سوچکانکوں ہے. اور اگر کم از کم کے طور پر، میں نے کے برابر نہیں ہے جہاں میں ہم واپس یہاں ختم ہو گئی تھی. ہم سب سے پہلے اس میں سے ایک کیا تو جب چاہیں. اس صورت میں، اس میں شروع ہو جائے گا صفر، یہ دو ہونے کی وجہ سے ختم ہو گی. تو کم از کم آخر میں میں برابر نہیں کرے گا. کہ ہمیں یہ جاننے کی سہولت ہم ان کا تبادلہ کرنے کی ضرورت. میں نے ایک ٹھوس مثال کی طرح محسوس اس سے بہت زیادہ مدد ملے گی. اس لئے میں تم لوگوں کے ساتھ اس کوڈ دونگا ٹھیک ہے اب اور میں اس سے بہتر ہو جائے گا لگتا ہے کہ. قسم ہے کہ میں اس طرح سے کام کرنے کے لئے ہوتے یہ صرف ان کو دیکھنے کے لئے اکثر بہتر ہے. تو ہم کیا کرنا چاہتے ہے ہم سب سے پہلے سب سے چھوٹی چاہتے صف میں اپنی پوزیشن میں عنصر. بالکل ٹھیک یعقوب کہہ رہا تھا. تم کسی نہ کسی طرح اس مواد کو محفوظ کرنے کی ضرورت ہے. تو ہم یہاں شروع کرنے کے لئے جا رہے ہیں صف پر iterating. ہم یہ بات کہنے جا رہے ہیں ہماری صرف کے ساتھ شروع کرنے کے لئے سب سے پہلے ایک. تو ہم نے int کے لئے جا رہے ہیں سب سے چھوٹے میں بالکل سرنی کے برابر ہے. تو ایک بات، ہر محسوس کرنا اس لوپ executes ہے وقت، ہم ساتھ مزید ایک قدم شروع کر رہے ہیں. ہم شروع کرتے ہیں تو ہم اس میں سے ایک کی طرف دیکھو. ہم کے ذریعے iterate اگلی بار، ہم نے اس میں سے ایک میں شروع کر رہے ہیں اور یہ ہماری سب سے چھوٹی قیمت مقرر. تو یہ بلبلا طرح کی طرح ہے ہم جانتے ہیں کہ جہاں ایک پاس کے بعد کہ، یہ آخری عنصر کے مطابق ہے. انتخاب کی طرح کے ساتھ، یہ صرف برعکس ہے. ہر پاس کے علاقے میں، ہم جانتے ہیں کہ سب سے پہلے ایک کے مطابق ہے. دوسری پاس کرنے کے بعد، دوسرا ایک کے مطابق رکھا جائے گا. اور آپ کو سلائڈ مثالیں کے ساتھ دیکھا کے طور پر، ہمارے مطابق حصہ صرف بڑھتا جا رہا ہے. تو ہماری سب سے چھوٹی ایک کے قیام کی طرف سے arrays پر میں نے، سب یہ کر رہی ہے constricting رہا ہے کیا ہم اس طرح دیکھ رہے ہیں تعداد کم سے کم کرنے موازنہ کی ہم بنانے. کہ ہر کسی کو احساس ہے؟ کیا آپ اس کے ذریعے چلانے کے لئے میری ضرورت دوبارہ سست یا مختلف الفاظ میں؟ میں خوش ہوں. OK. تو ہم نے ذخیرہ کرنے کر رہے اس نقطہ پر قدر، لیکن ہم بھی انڈیکس محفوظ کرنا چاہتے ہیں. تو ہم نے ذخیرہ کرنے کے لئے جا رہے ہیں سب سے چھوٹی کی پوزیشن صرف میں ہونے جا رہا ہے جس میں سے ایک،. تو اب یعقوب مطمئن ہے. ہم ذخیرہ چیزیں ہیں. اور اب ہم کے ذریعے تلاش کرنے کی ضرورت ہے صف کے ناچھانٹا ہوا حصہ. اس معاملے میں یہ اتنا ہمارے ناچھانٹا ہوا ہو گا. یہ میں ہے. OK. تو جو ہم کرنے جا رہے ہیں لوپ کے لئے ایک ہونے جا رہا ہے. آپ کی ضرورت ہے جب بھی ایک صف کے ذریعے iterate، آپ کے دماغ میں ایک لوپ کے لئے میں جا سکتے ہیں. کچھ int K لئے So ہم کیا سوچتے ہیں برابر K ساتھ شروع کرنے کے برابر کرنے کے لئے جا رہی ہے؟ یہ ہم نے اپنے سب سے چھوٹے کے طور پر مقرر کیا ہے قدر اور ہم اس کا موازنہ کرنا چاہتے ہیں. ہم اس کا موازنہ کرنے کے لئے کیا چاہتے ہیں؟ یہ درست ہے، یہ اگلے ایک ہونے جا رہا ہے؟ تو ہم initialized جا کشمیر چاہتے کرنے میں پلس 1 سے شروع کرنا. اور ہم نے اس معاملے میں K چاہتے ہیں ہم پہلے سے ہی سائز یہاں ذخیرہ ہے، تو ہم صرف سائز کا استعمال کر سکتے ہیں. سائز صف کا سائز کیا جا رہا. اور ہم صرف کرنا چاہتے ہیں ایک ایک وقت کی طرف سے K اپڈیٹ. ٹھنڈا. تو اب ہم تلاش کرنے کی ضرورت یہاں سب سے چھوٹی عنصر. تو ہم کے ذریعے iterate، تو ہم ، کیا کہنا چاہتے ہیں تو K پر سرنی ہماری سب سے چھوٹی value-- سے بھی کم ہے ہم اصل میں ہیں جہاں یہ ہے کیا کا ٹریک رکھنے سب سے چھوٹی یہاں پھر ہم میں reassign کرنا چاہتے ہیں ہماری سب سے چھوٹی قیمت کیا ہے. یہ اوہ، ہم ہیں، کا مطلب ہے کہ یہاں ذریعے iterating. جو بھی قدر یہاں ہے ہے نہ ہماری سب سے چھوٹی چیز. ہم نے اس کے لئے نہیں کرنا چاہتا. ہم نے اس میں reassign کرنا چاہتے ہیں. ہم اسے reassigning رہے ہیں اگر ایسا ہے تو، کیا کریں آپ کو یہاں اس کوڈ میں ہو سکتا ہے لگتا ہے؟ ہم میں reassign کرنا چاہتے ہیں سب سے چھوٹا اور پوزیشن. تو اب سب سے چھوٹے کیا ہے؟ طالب علم: لڑی K. انسٹرکٹر: لڑی K. اور پوزیشن اب کیا ہے؟ کے سوچکانکوں کیا ہے ہماری سب سے چھوٹی قدر؟ یہ صرف کشمیر کی. سرنی K، K تو، وہ اپ سے ملنے. تو ہم نے اس میں reassign کے لئے چاہتا تھا. اور ہم، ہماری سب سے چھوٹی پایا پھر بعد لوپ کے لئے اس کے اختتام پر بہت یہاں ہم نے محسوس کیا ہماری سب سے چھوٹی قیمت ہے، تو ہم صرف اس کا تبادلہ. اس صورت میں، کی طرح ہمارے کہنا سب سے چھوٹی قدر یہاں سے باہر ہے. یہ ہماری سب سے چھوٹی قیمت ہے. ہم نے ابھی ابھی جو ہے، یہاں اس کا تبادلہ کرنا چاہتے ہیں کیا نیچے دیے گئے کہ سویپ تقریب ہم صرف لکھا جس، کیا ایک ساتھ مل کر ایک جوڑے منٹ پہلے. تو یہ واقف نظر آنا چاہئے. اور پھر یہ صرف iterate کے گا کے ذریعے اس پورے راستے تک پہنچ جاتا ہے جب تک آپ کا مطلب ہے کہ آخر، کرنے ناچھانٹا ہوا ہو صفر عناصر اور سب کچھ حل کر دیا گیا ہے. احساس ہے؟ زیادہ concretely ایک چھوٹا سا؟ کوڈ کی مدد کی؟ طالب علم: ایک سائز کے لئے، آپ کو کبھی نہیں واقعی اس کی وضاحت یا اسے تبدیل، یہ کس طرح جانتی ہے؟ انسٹرکٹر: تو ایک بات int کے سائز ہے نوٹس یہاں. تو ہم اس sort-- طرح میں کہہ رہے ہیں ہے اس میں ایک تقریب یہ ہے صورت انتخاب کی طرح، یہ منظور ہے تقریب کے ساتھ میں. یہ منظور نہیں کیا گیا تھا تو اگر میں، آپ کو کچھ کرنا ہوگا صف کی لمبائی کے ساتھ کی طرح یا آپ کے ذریعے iterate ہوتا لمبائی تلاش کرنے کے لئے. لیکن یہ منظور ہے کیونکہ میں، ہم صرف استعمال کر سکتے ہیں. تم صرف صارف فرض ہے کہ آپ کو ایک درست سائز دیا ہے کہ اصل کی نمائندگی کرتا ہے آپ کے صف کے سائز. ٹھنڈا؟ تم لوگوں کو ان کے ساتھ کسی بھی دشواری ہو تو یا اس سے زیادہ پریکٹس کوڈنگ قسم چاہتے ہیں اپنے اپنے طور پر، آپ کو کرنا چاہئے study.cs50 کے پاس جاؤ. یہ ایک آلہ ہے. وہ ایک چیکر ہے کہ آپ اصل میں لکھ سکتے ہیں. انہوں pseudocode کی کوشش کروں. وہ زیادہ ویڈیوز اور سلائڈ ہونا میں یہاں استعمال والوں سمیت. آپ اب بھی ایک محسوس کر رہے ہو تو اگر چھوٹی سی فجی، کہ باہر کرنے کی کوشش. ہمیشہ کی طرح، بھی، مجھ سے بات آئے. سوال؟ طالب علم: آپ کو کہہ رہے ہیں سائز ماضی میں بیان کیا جاتا ہے؟ انسٹرکٹر: جی ہاں. سائز پہلے سے اپ بیان کیا جاتا ہے یہاں تقریب اعلان میں. تو تم نے اس میں منظور کیا گیا ہے کہ فرض صارف کی طرف سے، اور سادگی کی خاطر، ہم فرض ہے کہ جا رہے ہیں صارف نے ہمیں صحیح سائز دیا. ٹھنڈا. تو اس انتخاب طرح ہے. دوستوں، میں آج ہم ایک بہت کچھ سیکھ رہے ہیں جانتے ہیں. اس سیکشن کے لئے ایک گھنے ڈیٹا ہے. تو اس کے ساتھ، ہم جا رہے ہیں اندراج کی طرح پر جانے کے لئے. OK. تو ہے کہ اس سے پہلے کہ ہمیں کیا کرنا ہے یہاں ہماری رن ٹائم تجزیہ. ، بہترین صورت میں تو میں نے تمہیں دکھایا جب سے حاصل کی جاچکی ٹیبل پہلے ہی میں اس قسم کی یہ دور دی. لیکن بہترین صورت رن ٹائم، ہم کیا سوچتے ہیں؟ سب کچھ حل کر. ن مربع. کسی کو بھی ایک وضاحت ہے آپ کو لگتا ہے کیوں کے لئے؟ طالب علم: آپ کے ذریعے موازنہ کر رہے ہیں انسٹرکٹر: حق. آپ کے ذریعے موازنہ کر رہے ہیں. ہر iteration پر، اگرچہ ہم، ایک کی طرف سے اس decrementing رہے اگر آپ اب بھی کے ذریعے تلاش کر رہے ہیں سب کچھ سب سے چھوٹی ایک تلاش کرنے کے. تو بھی اگر آپ سب سے چھوٹی قدر ، شروع میں یہاں ہے اگر آپ اب بھی اس کا موازنہ کر رہے ہیں باقی سب کے خلاف یہ سب سے چھوٹی بات ہے بات کو یقینی بنانا. تو اگر آپ کے ذریعے چل رہا ہے ختم کر دیں گے تقریبا ن اوقات مربع. ٹھیک ہے. اور بدترین صورت کیا ہے؟ اگر آپ جا رہے ہیں کیونکہ اس کے علاوہ مربع ن کہ اسی طریقہ کار کر جائے. اس معاملے میں، انتخاب کے پس قسم کا کچھ ہے ہم بھی متوقع رن ٹائم فون ہے کہ. لہذا دوسروں میں، ہم صرف جانتے اوپر اور نیچے کی حد. کس طرح پاگل پر منحصر ہے ہمارے فہرست ہے یا کس طرح ناچھانٹا ہوا یہ ہے، وہ ن یا مربع کے درمیان مختلف ہو. ہم نہیں جانتے. لیکن انتخاب کی طرح ایک ہی ہے، کیونکہ بدترین اور بہترین کیس، کہ ہمیں بتاتی ہے کہ ان پٹ کی کوئی بات نہیں کس قسم کی ہم یہ مکمل طور پر ہے کہ آیا، ہے حل کر یا مکمل طور پر یہ ہے، کے مطابق کر ریورس وقت کے اسی رقم لے جا رہا. اس صورت میں، آپ تو ہماری میز سے یاد، یہ اصل میں ایک قدر تھا کہ ان دو قسم کے، کی ضرورت نہیں ہے جس کی توقع رن ٹائم ہے. تو ہم جانتے ہیں کہ جب بھی ہم انتخاب طرح چلائیں، یہ کرنے کے لئے بات کی ضمانت ہے ایک مربع ن وقت چلانے. وہاں کوئی تبورتنییتا ہے. یہ صرف توقع کی جاتی ہے. اور، ایک بار پھر، آپ کو جاننے کے لئے چاہتے ہیں تو مزید، بہار میں CS 124 لے. ٹھیک ہے. ہم اس میں سے ایک کو دیکھا ہے. ٹھنڈا. تو اندراج کی طرح. اور میں شاید جا رہا ہوں اس کے ذریعے بلیز. میں تم لوگوں کو یہ کوڈ نہیں پڑے گا. ہم صرف اس کے ذریعے چل گے. تو اندراج کی طرح طرح کی ہے انتخاب کی طرح کرنے کے لئے اسی طرح اس میں ہم دونوں ایک ناچھانٹا ہوا ہے اور سرنی کے ایک حصے کے مطابق کیا. لیکن کیا مختلف ہے کہ ہے ہم ایک کی طرف سے ایک کے ذریعے جانا کے طور پر، ہم صرف جو کچھ بھی نمبر لے ، ہمارے ناچھانٹا ہوا میں اگلے ہے اور صحیح طریقے سے اس کی چھانٹی ہمارے کے مطابق صف میں. اس کو ایک مثال سے زیادہ احساس بنا دیں گے. تو سب کچھ ناچھانٹا ہوا کے طور پر شروع ہوتا ہے، صرف انتخاب کی طرح کے ساتھ پسند. اور ہم میں اس کی چھانٹی کرنے جا رہے ہیں ہم کیا گیا ہے کے طور پر دیگر صعودی. ہماری پہلی پاس پر اتنی ہم سب سے پہلے قیمت لے لو اور ہم اوکے، آپ ہیں، کا کہنا ہے کہ اب اپنے آپ کی طرف سے ایک فہرست میں. آپ کو ایک فہرست میں ہیں کیونکہ خود کی طرف سے، آپ کو حل کر رہے ہیں. ہونے کے لئے مبارک ہو اس صف میں پہلا عنصر. آپ نے پہلے ہی اپنے اپنے طور پر تمام حل کر رہے ہیں. تو اب ہم ایک کے مطابق کی ہے اور ایک ناچھانٹا ہوا سرنی. تو اب ہم سب سے پہلے لے. یہاں کس کے درمیان ہوتا اور یہاں، ہم کا کہنا ہے کہ ہے OK، ہم کو دیکھنے کے لئے جا رہے ہیں ہمارے ناچھانٹا ہوا صف کی پہلی قیمت اور ہم میں ان پٹ کرنے کے لئے اسے جا رہے ہیں اس کے مطابق صف میں صحیح جگہ. تو ہم 5 لے جاتا ہے جو ہم کرتے ہیں اور ہم، 5 3 سے بڑا ہے، ٹھیک ہے، کا کہنا ہے کہ تو ہم نے صرف صحیح داخل کہ کے دائیں جانب. ہم اچھے ہیں. تو پھر اگر ہم ہمارے اگلے ایک پر جاؤ. اور ہم 2 لے. ہم اوکے، 2 کم ہے، کا کہنا ہے کہ 3 سے، تو ہم جانتے ہیں کہ یہ اس میں کرنے کی ضرورت اب ہماری فہرست کے سامنے. تو جو ہم کرنا ہم ذیل 3 اور 5 کو دھکا ہے اور ہم کہ پہلے سلاٹ میں 2 منتقل. تو ہم صرف میں داخل کر رہے ہیں یہ ہونا چاہئے صحیح جگہ. پھر ہم پر نظر ہماری اگلے ایک، اور ہم 6 کہنا. OK، 6 سے زیادہ ہے ہمارے کے مطابق صف میں سب کچھ، تو ہم صرف ختم کرنے کے لئے اس پر ٹیگ. اور پھر ہم نے 4 کی طرف دیکھو. 4 سے 6 سے کم ہے، یہ کم ہے 5 سے لیکن یہ 3 سے بڑا ہے. تو ہم نے صرف صحیح میں داخل 3 اور 5 کے درمیان درمیان. تو تھوڑا بنانا زیادہ ٹھوس سا، یہاں کی طرح ہے کیا ہوا ہے کے خیال. ہر ایک ناچھانٹا ہوا عنصر کے لئے تو، ہم جہاں مطابق حصہ میں تعین یہ ہے. تاکہ ذہن میں رکھ مطابق اور ناچھانٹا ہوا، ہم کے ذریعے اور اعداد و شمار کو گزرنا کرنے کے لئے ہے اس کے مطابق صف میں فٹ بیٹھتا ہے جہاں باہر. اور ہم منتقلی کی طرف سے داخل اس کا حق نیچے کرنے کے لئے عناصر. اور پھر ہم صرف رکھنے ہم جب تک ذریعے iterating ایک مکمل طور پر مطابق فہرست ہے اب صفر جہاں ناچھانٹا ہوا ہے اور مطابق لیتا ہماری فہرست کے مکمل. لہذا، ایک بار پھر، اس سے بھی کام کرنے کے لئے زیادہ ٹھوس، ہم pseudocode کے ہے. تو بنیادی طور پر میں ہے ن مائنس 1 سے 0 کے برابر، کہ ہمارے صف کے صرف لمبائی ہے. ہم کے برابر ہے کہ کچھ عنصر ہے پہلی صف کے یا پہلی سوچکانکوں. ہم اس کے برابر J مقرر. J سے بڑا ہے تو جبکہ صفر اور صف، J مائنس 1 سے بڑا ہے عنصر، تمام ہے کہ ایسا کرنے سے رہا اس بات کو یقینی بنا رہا ہے آپ J واقعی کی نمائندگی کرتا ہے صف کے ناچھانٹا ہوا حصہ. اب بھی چیزیں موجود ہے جبکہ تو چھانٹی اور J مائنس ون کیا is-- کرنا عنصر اس کی ہے؟ J یہاں بیان نہیں کیا گیا. یہ پریشان کن کی طرح ہے. OK. ویسے بھی. لہذا J مائنس 1، آپ کی جانچ پڑتال کر رہے ہیں اس سے پہلے عنصر. تم ٹھیک، عنصر ہے، کہہ رہے ہیں میں چلو am-- جہاں بھی اس سے پہلے کہ اصل میں اس کو اپنی طرف متوجہ. تو اس کا کہنا ہے کہ دو ہماری دوسری پاس پر طرح. تو میں برابر ہو جا رہا ہے 1 سے، جس میں یہاں ہے. تو میں 1 کے برابر ہو جا رہا ہے. یہ 2، 4، 5، 6، 7 ہو گی. ٹھیک ہے. تو اس صورت میں ہمارے عنصر 4 کے برابر ہو جا رہا ہے. اور ہم ہے کہ کچھ J ہیں 1 کے برابر ہونے جا رہا. اوہ، J decrementing جاتا. یہ کہ یہ کیا ہے. لہذا J میں برابر ہے، تو یہ کیا ہے کہاوت، ہم آگے بڑھنے کے طور پر یہ ہے کہ ہم صرف اس بات کو یقینی بنا رہے ہیں ہم سے زیادہ نہیں ہو کہ ہم کوشش کر رہے ہیں اس طرح تخکرمن ہمارے مطابق فہرست میں چیزوں کو شامل کرنے کے لئے. لہذا J اس صورت میں 1 کے برابر ہے اور جب تو صف J مائنس 1 one-- سرنی J مائنس کہ ہے تو اس صورت میں 2 ہے عنصر سے بڑھ کر، پھر یہ سب کیا کر رہی ہے چیزوں کو منتقل کیا جاتا ہے. اس معاملے میں، سرنی J مائنس ایک پس 2 ہے جس سرنی صفر، ہو جائے گا. 2، 4 سے بڑا نہیں ہے لہذا اس پر عمل نہیں کرتا. لہذا شفٹ نیچے منتقل نہیں کرتا. کیا اس سے فرق پڑتا ہے یہاں صرف ہے نیچے آپ کے مطابق صف منتقل کی. اس صورت میں، اصل میں، ہم نے do-- سکتا کی اس 3 بنانے کے لئے ہیں. تو ہم ساتھ کے ذریعے چلنے کے لئے ہو تو اس مثال، ہم یہاں اب ہیں. اس کے مطابق ہے. یہ ناچھانٹا ہوا ہے. ٹھنڈا؟ تو میں اتنی، 2 کے برابر ہے ہمارے عنصر 3 کے برابر ہے. اور ہماری جے 2 کے برابر ہے. تو ہم ہم اور کے ذریعے دیکھو OK، سرنی J مائنس ایک ہے، کا کہنا ہے کہ عنصر سے بڑھ ہم دیکھ رہے ہیں؟ اور اس کا جواب صحیح، ہاں میں ہے؟ 4 3 اور جے سے بڑا ہے 2 ہے، تاکہ اس کوڈ executes. تو اب ہم پر ایک صف کیا کرتے ہیں 2، یہیں تا، ہم ان کے تبادلہ. تو ہم صرف OK، سرنی، کہنا 2 میں اب 3 بننے جا رہی ہے. اور J برابر کی جا رہی ہے 1 ہے، جس جے مائنس 1،. کہ، خوفناک ہے لیکن تم لوگوں کو اندازہ ہو. J اب 1 کے برابر ہے. اور صف J صرف کی جا رہی ہے 4 سال کی تھی جس میں ہمارے عنصر، کے برابر. مجھے کچھ مٹ مجھے نہیں کرنا چاہئے ہے یا miswrote کچھ ہے، لیکن تم لوگوں کو اندازہ ہو. یہ ن میں منتقل. یہ تھے اس وقت تو یہ لوپ کرے بار یہ ٹھیک، J اب 1 ہے، کہیں گے. اور صف J مائنس 1 اب 2 ہے. 2 ہمارے عنصر سے کم ہے؟ نہیں؟ یہی ہے جو ہم نے کا مطلب ہے کہ اس عنصر ڈالا ہمارے کے مطابق صف میں صحیح جگہ پر. پھر ہم نے اس کو لے کر سکتے ہیں اور ہم کہتے ہیں، OK، ہمارے کے مطابق صف میں یہاں ہے. اور یہ اس تعداد 6 لینے کے لئے اور ہو جائے گا طرح، اوکے، یہ تعداد زیادہ 6 سے کم ہے؟ نہیں؟ ٹھنڈا. ہم ٹھیک ہیں. اسے دوبارہ کرتے ہیں. ہم نے 7 کہنا. آخر زیادہ 7 میں کم ہے ہمارے کے مطابق صف کی؟ نمبر تو ہم ٹھیک ہیں. لہذا اس کے مطابق کیا جائے گا. بنیادی طور پر تمام اس کرتا ہے اسے لینے کے کہہ رہا ہے، کے پہلے عنصر آپ ناچھانٹا ہوا سرنی، یہ جاتا ہے جہاں یہ جاننے میں آپ کے مطابق صف میں. اور یہ تو صرف دیکھ بھال کرتا ہے سویپ کی کہ ایسا کرنے کی. آپ بنیادی طور پر صرف گماگمن رہے جب تک اسے صحیح جگہ میں ہے. بصری تصویر تم ہو یہ ہے کہ اس فعل پر نیچے سب کچھ آگے بڑھ رہے ہیں. تو یہ نصف بلبلا کی طرح طرح کی esque کے ہے. مطالعہ 50 چیک کریں. میں انتہائی کوشش کر کی سفارش کرتے ہیں اپنے اپنے طور پر اس ضابطے سے. آپ کو کسی بھی مسائل ہیں، یا اگر آپ چاہتے ہیں تو ایک اندراج کی طرح کے لئے نمونے کے کوڈ کو دیکھنے کے، براہ مہربانی مجھے بتاو. میں نے ارد گرد ہمیشہ ہوں. تو بدترین رن ٹائم اور سب سے بہترین صورت رن ٹائم. آپ لڑکے نے پہلے ہی ٹیبل سے دیکھا کے طور پر یہ مربع ن ہے اور دونوں ن، تمہیں دکھایا. لہذا اس قسم کی ہم بات کیا کی جا ہمارے گزشتہ قسم کے ساتھ کے بارے میں، بدترین کیس رن ٹائم ہے کہ اگر یہ مکمل طور پر ناچھانٹا ہوا ہے، ہم نے ان (ن) بار میں سے سب کا موازنہ کرنے ہے. ہم موازنہ کی ایک پوری بہت کچھ اس معکوس ترتیب میں ہے کیونکہ اگر، ہم، ٹھیک ہے، یہ کہنے جا رہے ہیں ، یہ اچھا ہے، پر ایک ہی ہے اور یہ ایک موازنہ کیا کرنا پڑے گا سب سے پہلے ایک کے خلاف واپس منتقل کر دیا جائے. اور ہم نے کی طرف حاصل کرنے کے طور پر دم آخر، ہم ہیں ، کا آپس میں موازنہ کا موازنہ، اور کرنے کے لئے سب کچھ کے خلاف آپس میں موازنہ. تو یہ کیا جا رہا ہے ختم ہو جاتی ہے تقریبا ن مربع. یہ تو آپ نے درست ہے تو آپ اچھے ہیں، 2، OK، کہتے. 3، آپ کو 2 کے مقابلے میں کر رہے ہیں. تم اچھے ہو. 4، آپ کو صرف پونچھ کے لئے آپس میں موازنہ. تم اچھے ہو. 6، تم ٹھیک ہو، پونچھ کے لئے آپس میں موازنہ. تو ہر جگہ کے لئے یہ پہلے سے ہی ہے تو مطابق کیا، آپ کو ایک کے مقابلے کی بنا رہے ہیں. تو یہ صرف ن ہے. اور ہم نے ایک بہترین کیس رن ٹائم ہے کیونکہ (ن) اور (ن) کی ایک بدترین صورت رن ٹائم کے مربع، ہم کوئی متوقع رن ٹائم ہے. یہ صرف پر منحصر وہاں ہماری فہرست کے افراتفری. اور ایک بار پھر، ایک اور گراف اور ایک اور میز. قسم درمیان اختلافات اتنی. میں نے بس کے ذریعے ہوا جا رہا ہوں، میں نے ہم بڑے پیمانے پر بات کی ہے کی طرح محسوس وہ کس طرح کے تمام قسم کے بارے میں کے مختلف ہوتی ہیں اور ایک ساتھ لنک. تو طرح گزشتہ ایک ہے ضم جس کے ساتھ میں تم لوگوں کو بور کرے. ہم ایک خوبصورت رنگین تصویر کی کیا ضرورت ہے. تو طرح ایک پنراورتی الگورتھم ہے ضم. تو تم لوگ جانتے ہو کہ کیا ایک پنراورتی تقریب ہے؟ کسی کو کہنا چاہتے ہیں؟ آپ کی کوشش کرنا چاہتے ہیں؟ تو ایک پنراورتی تقریب صرف ہے خود بلاتا ہے کہ ایک تقریب. تو تم لوگ واقف ہیں تو فبونیکی ترتیب کے ساتھ، کہ کیونکہ پنراورتی تصور ہے آپ نے پچھلے دو لے اور ان کے ساتھ شامل آپ کے اگلے ایک حاصل کرنے کے. تو پنراورتی، مجھے ہمیشہ لگتا ہے کہ ایک سرپل طرح کے طور پر تکرار کی لہذا آپ کو اس میں نیچے spiraling کے کی طرح ہو. لیکن یہ صرف ایک تقریب ہے کہ خود بلاتا. اور، اصل میں، واقعی جلدی میں اس طرح لگتا ہے کیا آپ کو دکھا سکتے ہیں. اگر ہم دیکھیں کہ یہاں تو پنراورتی،، یہ ہے پنراورتی طریقہ ایک صف پر خلاصہ. تو ہم سب کرتے ہیں ہم رقم کی تقریب ہے ایک سائز اور ایک صف میں لیتا ہے کہ رقم. اور اگر آپ کو نوٹس، سائز ایک ایک وقت کی طرف decrements. اور یہ کرتا ہے تمام x کے برابر ہے، اگر ہے صفر اگر تو صف کا سائز یہ صفر بتائےگا صفر کے برابر ہے. ورنہ اس خلاصہ صف کے آخری عنصر، اور اس کے بعد کی رقم لیتا ہے صف کی باقی. تو یہ صرف اس کو نیچے ٹوٹ رہا ہے چھوٹے اور چھوٹے مسائل میں. لمبی کہانی مختصر، تکرار، کہلاتی ہے کہ تقریب. کہ آپ کو اس سے باہر ہو گیا اور کچھ نہیں ہے تو، کہ ایک پنراورتی تقریب ہے کیا ہے. آپ 51 لے، تو آپ کو بہت ملے گا، تکرار کے ساتھ بہت آرام دہ اور پرسکون. یہ واقعی اچھا ہے. اس کی طرح میں احساس بنا دیا باہر 3 AM ایک رات. اور میں جانتا ہوں، کیوں کی طرح تھا میں نے اس کا استعمال کبھی نہیں کی ہے؟ بنیادی طور پر، ضم طرح کے لئے So کیا کرنے جا رہا ہے، یہ ہے ہے اس کو توڑنے اور اس کو توڑنے کے لئے جا یہ صرف واحد عناصر ہے جب تک نیچے. واحد عناصر کو الگ الگ کرنے کے لئے آسان ہیں. ہم یہ دیکھیں. تم سے ایک عنصر ہے، تو یہ بات ہے پہلے ہی کے مطابق سمجھا. ن عناصر کی ان پٹ پر لہذا، ن کم 2 ہے تو، صرف یہ ہے کہ کیونکہ اس کا مطلب واپس آ جائیں یہ ہم نے دیکھا ہے 0 یا 1 یا تو ہے. ان کے مطابق عناصر تصور کیا جاتا ہے. ورنہ نصف میں اسے توڑ. دوسری طرح، پہلی نصف ترتیب نصف، اور پھر ان کے ساتھ ضم. ایسا کیوں ہے کہ ضم طرح کہا جاتا ہے. ہم نے ان کو الگ الگ کر لیں گے تو کیا ہم یہاں ہے. تو ہم نے ان کو رکھنے کے رکھنے سرنی سائز 1 ہے جب تک. اسے 1 ہے تو جب، ہم ابھی آیا اس کے مطابق صف ہے کیونکہ، اور اس کے مطابق صف ہے، اور یہ کہ کے مطابق صف، ہم سب کو حل کر رہے ہیں. تو پھر ہم کیا کرتے ہیں ہم ہے ان کے ساتھ ضم کرنا شروع. لہذا جس طرح آپ کر سکتے ہیں ولی ہے کے بارے میں سوچنا آپ صرف چھوٹی ہٹانے ذیلی arrays میں سے ہر ایک کی تعداد اور صرف ابھرا سرنی پر یہ شامل. اگر ایسا ہے تو ہمارے پاس ہے جب آپ کو، یہاں دیکھو ان سیٹ ہم نے 4، 6، اور 1 ہے. ہم ان ضم کرنا چاہتے ہیں جب، ہم ان کی پہلی دو پر نظر اور ہم 1 چھوٹا ہے، ٹھیک ہے، کا کہنا ہے کہ، یہ سامنے کو جاتا ہے. 4 اور 6، موازنہ کرنے کی کوئی بات نہیں ہے یہ، صرف آخر کے لئے اس پر ٹیگ کرنے. ہم ان دونوں کو اکٹھا کرتے ہیں تو، ہم صرف ، ان دونوں کی چھوٹی ایک لو تاکہ اسے 1 ہے. اور اب ہم لے ان دو، تا 2 کے چھوٹے. ان دو، 3 کی چھوٹی. ان دو، 4، 5، 6 کے چھوٹے. تو کیا تم صرف ان سے دور ھیںچ رہے. اور وہ ہے کے وجہ ماضی میں حل کر دیا گیا، آپ کو صرف ایک ہے موازنہ نہیں ہر بار. یہاں بہت زیادہ کوڈ، صرف نمائندگی. تو تم نے وسط میں شروع کریں اور آپ کی طرح بائیں اور دائیں اور پھر آپ کو صرف ان کو ضم. اور ہم نے کوڈ کی ضرورت نہیں ہے کے لئے یہیں ضم. لیکن، پھر، تم پر جانے تو 50 کا مطالعہ، یہ ہو جائے گا. ورنہ مجھ سے باتیں آئے اگر آپ نہیں ہیں تو اب بھی الجھن میں. تو یہاں ٹھنڈی چیز کہ سب سے بہتر صورت ہے، بدترین کیس، اور متوقع رن ٹائم ، ن تمام شروع کر رہے ہیں جس ہم ہے کے مقابلے میں کہیں بہتر ہے ہمارے ہر طرح کے آرام کے لئے دیکھا. ہم نے دیکھا مربع ن کر دیا اور اصل میں جو ہم جو بہت اچھا ہے، ن لاگ ان ن کیا جاتا ہے یہاں ملتا ہے. یہ ہے کہ کس طرح زیادہ بہتر کی طرف دیکھو. اتنی اچھی وکر. تو بہت زیادہ موثر. اگر آپ کبھی بھی کر سکتے ہیں تو، استعمال طرح ضم. یہ آپ کو وقت بچائے گا. پھر، ہم نے کہا کہ، اگر آپ، یہ کم سے خطے میں نیچے ہیں یہ اتنا نہیں بناتا ایک فرق زیادہ. تم ہزاروں کے لئے اٹھو اور آدانوں کے ہزاروں، تم ضرور ایک چاہتے ہیں زیادہ موثر الگورتھم. سب کا اور، ایک بار پھر، ہمارے خوبصورت ٹیبل تم لوگ آج سیکھا کہ قسم. تو میں نے اسے ایک گھنے دن تھا جانتے. یہ ضروری نہیں جا رہا ہے آپ pset کے ساتھ آپ کی مدد کرنے. لیکن میں صرف ایک تردید بنانا چاہتے ہیں اس حصے صرف psets میں سے نہیں ہے. یہ سب مادی منصفانہ ہے تمہارا ہے midterms لئے کھیل. اور اگر تم CS ساتھ جاری کرتے بھی تو، یہ واقعی بہت اہم اصول ہیں کہ آپ کو جاننے کی ضرورت ہو گی. تو کچھ دن ہو جائے گا ایک تھوڑا اور pset کی مدد کی، لیکن کچھ ہفتے ہو گا بہت زیادہ اصل مواد کہ سپر لگتا نہیں کر سکتے ابھی آپ کے لئے مفید، اگر آپ جاری رکھتے ہیں تو لیکن میں وعدہ کرتا ہوں پر بہت، بہت مفید ہو گا. پس اس کے حصے کے لیے یہ بات ہے. تار پر نیچے. میں نے ایک منٹ کے اندر اندر اس نے کیا. لیکن تم وہاں جاؤ. اور میں ڈونٹس یا کینڈی پڑے گا. الرجک کسی کے لئے ہے راہ کی طرف سے کچھ بھی،؟ انڈے اور دودھ. لہذا ڈونٹس ایک نہیں ہیں؟ OK. ٹھیک ہے. چاکلیٹ نہیں؟ Starburst. Starbursts اچھے ہیں. OK. ہم جا رہے ہیں پھر اگلے ہفتے Starburst. یہی تو میں مل جائے گا ہے. تم لوگوں کو ایک عظیم ہفتے ہے. آپ رپورٹ پڑھیں. اگر آپ کو کوئی سوالات ہیں، تو مجھے بتانا. pset کے دو گریڈ ہونا چاہئے جمعرات کی طرف سے آپ کے لئے باہر. اگر آپ کو کوئی سوالات ہیں، تو مجھے کچھ تازہ ترین درجہ بندی کے طریقے کے متعلق یا کیوں میں نے راستے میں کچھ درجہ بندی ، مجھے ای میل کریں تھی، مجھ سے بات آئے. میں نے ایک چھوٹا سا پاگل رواں ہوں ہفتے، لیکن میں وعدہ کرتا ہوں میں اب بھی 24 گھنٹے کے اندر جواب دیں گے. تو ایک عظیم ہفتے، سب ہونا. اپنے pset پر گڈ لک.