DAVID MALAN: ٹھیک ہے. تو اس CS50 ہے، اور یہ ہے اب ہفتے میں تین کے آغاز. اب تک، ہم نے اپ تو C میں پروگرام لکھ رہے کہ ایک چھوٹی سی نظر یہاں کچھ اس طرح. تو ہم نے ایک جوڑے کی ہے تیز سب سے اوپر شامل. ہم باطل،، int اہم ہے، اور کیا ہے پھر کچھ وسط میں کیا، کے اندر کوڈ کے کچھ تھوڑا سا اس تقریب کی. لیکن اہم حقیقت یہ ہے کہ دیا گیا ہے ہم یہاں باطل کہہ دیا گیا ہے. تو باطل، اس وقت، مخصوص اس پروگرام، جب چلاتے ہیں، صرف اس کے نام کے ذریعے چلایا جا سکتا ہے. آپ کسی بھی دوسرے الفاظ ٹائپ نہیں کر سکتے ہیں یا پروگرام کا نام ہے جب کے بعد تعداد یہ چل رہا ہے. تو، مثال کے طور پر پروگرام، تھے خوش نامی ایک فائل میں مرتب، آپ ./hello کر سکتا ہے، لیکن یہ ہے. صرف ایک ہی طریقہ ہے کہ آپ کر سکتے ہیں اس پروگرام کے لئے ان پٹ فراہم ایک تقریب بلا کی طرف سے ہے. مثال کے طور پر، کیا تقریب ہم ابھی تک استعمال کرتے ہوئے کیا گیا ہے صارف سے ان پٹ حاصل کرنے کے لئے؟ سامعین: تار حاصل. DAVID MALAN: تار حاصل، یا int حاصل، یا آپ کو دوسروں کے دیکھا ہے، آپ نے ابھی تک انہیں استعمال نہیں کیا ہے یہاں تک کہ اگر، کی طرح، طویل طویل اور اس طرح حاصل. لیکن لگتا ہے کہ ہم اصل میں شروع کرنے کے لئے چاہتے ہیں تھوڑا سا زیادہ ہیں کہ میں لکھنے کے پروگراموں واضح طور سے، تھوڑا زیادہ، ورسٹائل، اور آپ ہے کہ حکم کی طرح امید ہے، رہا، ایک تھوڑا سا کے عادی. سی ڈی کی جگہ ڈراپ باکس کی طرح. یہ، کورس کے، تبدیلیاں آپ کی ڈائریکٹری، سنبھالنے آپ جان ہارورڈ کے گھر میں ہیں ڈائریکٹری، آپ ڈراپ باکس کے فولڈر میں. دریں اثنا، اس طرح ایک کمانڈ ، pset2 نامی ایک نئی ڈائریکٹری پیدا کرتا ہے آپ ہو سکتا ہے کے طور پر پہلے سے ہی ہے یا جلد ہی کے مسئلہ کے دو مقرر. بنانے ہیلو، کورس کے، ایک کمانڈ ہے کہ خوش نامی ایک پروگرام بناتا ہے خوش ڈاٹ سی نامی ایک فائل سے. اور ان میں سے ہر ایک میں مقدمات، اب، ہم نے کیا ہے نام نہاد پر ایک دلیل فراہم کرتے ہیں کمانڈ لائن، ٹمٹمانے فوری طور پر، اس کا جانتا ہے تو کیا کی تعمیر، اور اس کے لئے کہ mkdir پیدا کرنے کے لئے کیا فولڈر جانتا ہے، اور تو ہے کہ سی ڈی جانتا ہے جہاں آپ جانا چاہتے ہیں. لیکن اب تک، ہم کہہ رکھنے کہ اہم، آپ ڈیفالٹ تقریب، ایک باطل اظہار ہے ان قوسین کے اندر، جو اس کا مطلب ہے کہ کوئی بحث نہیں کر سکتے ہیں. تو آج سے شروع ہونے والے، ہم کیا کرنے جا رہے ہیں ، ہم شروع کرنے کے لئے جا رہے ہیں ہے یہ بھی طرح چیزوں کی حمایت. اصل میں، میں اس معاملے، جس سے آپ عام طور پر دستی طور پر ٹائپ نہیں ہے، یہ کر رہا ہے بنائیں ہمارے لئے، وہاں نہیں ہیں لیکن ایک ایک، دو، تین اضافی پروگرام کے نام کے بعد ڈور بجنا. تو ہم یہ کیسے حاصل کروں؟ ویسے، آج شروع، ہم چاہتے ہیں جہاں معاملات میں کے ذریعے ان پٹ فراہم کرنے کے لئے کمانڈ لائن سے نام نہاد، ہم انہوں نے مزید کہا شروع کرنے کے لئے جا رہے ہیں یہاں yellow-- میں کیا ہے int argc ہے کوما کے ساتھ باطل کی جگہ سٹرنگ argv کھلی بریکٹ بند بریکٹ. اب یہ دلچسپ ہے وجوہات میں سے ایک جوڑے کے لئے. ایک، یہ ہمارے لکھنے جا رہا ہے تھوڑا زیادہ متحرک ہیں کہ پروگراموں. لیکن، زیادہ compellingly، اس کو کھولنے کے لئے جا رہا ہے کے طور پر اب ایک بات چیت کیا arrays کے کر سکتے ہیں واقعی کیا ایک تار کے لئے، استعمال کیا جا واقعی ہڈ کے نیچے ہے، اگلے ہفتے تک ہم ڈائیونگ شروع مشین ہے کہ کس طرح کے طور پر بھی گہرے میں یہ چیزیں کام کے تمام بنا. لیکن اب کے لئے، کی طرف متوجہ کرتے ہیں، شاید، ایک تصویر. آپ کو ایک پروگرام لکھ اعلان مرکزی ساتھ اس طرح میں، اس طرح کے اہم ہے کہ دو دلائل، ایک int لیتا ہے and-- کیا ڈیٹا کی قسم دوسری دلیل ہے؟ سامعین: صف. DAVID MALAN: صف. یہ ایک کی طرح تو یہ پہلی نظر میں لگتا ہے سٹرنگ، لیکن مربع بریکٹ نوٹس. ہم متعارف آخری بار یاد ایک صف کے تصور. اور arrays مربع بریکٹ کا استعمال سیاق و سباق کے ایک جوڑے میں. آپ مربع استعمال کر سکتے ہیں بریکٹ ایک صف میں جانے کے لئے اور اس طرح، ایک خاص عنصر حاصل بریکٹ 0 یا 1 بریکٹ یا بریکٹ 2. لیکن ہم، تو مختصر طور پر، دیکھا گزشتہ ہفتے بھی آپ کرنے کے لئے ان مربع بریکٹ کا استعمال ایک صف کے سائز کا اعلان، آپ کو پیشگی میں جانتے ہیں کس طرح بہت سے ints کے یا کس طرح بہت سے ڈور یا جو بھی آپ اصل میں چاہتے ہیں. تو یہ بدل جاتا ہے وہاں یہاں ایک تیسری سیاق و سباق اس کے اندر کوئی نمبر ہے مربع بریکٹ کے. میں یہاں کے طور پر جب آپ، وضاحت، ہے argv کی طرح کچھ کے نام، جس کا صرف ایک پسند ہیں طریقہ ہے دلیل ویکٹر، کہہ، جس کی ایک اور پسند ہیں طریقہ ہے ، دلائل کی ایک صف کہہ کھلی بریکٹ بند بریکٹ صرف آپ کو ضروری نہیں ہے کا مطلب کتنا بڑا پیشگی معلوم سرنی، جا رہا ہے لیکن آپ کو یہ ایک صف ہونے جا رہا ہے جانتے ہیں. تم نہیں جانتے تو تعداد، وہاں میں ڈال نہیں ہے کھلی بریکٹ بند بریکٹ کے لئے ہے argv ایک تار نہیں ہے کا مطلب ہے کہ، لیکن ڈور کی ایک صف. تو syntactically، کیا اگر آپ گزشتہ ہفتے واپس لگتا ہے، یہ کہہ کے لئے اسی طرح کی ہے INT عمر کھلی بریکٹ کی طرح کچھ، اور پھر کچھ اس کے بعد. تو کیا اس طرح لگتی ہے؟ اصل میں ایک تصویر کو اپنی طرف متوجہ کرتے ہیں. تو آپ مین کے ساتھ اس پروگرام چلاتے ہیں دو دلائل کے اندر وضاحت کی ہے ان قوسین کے، آپ بنیادی طور پر کم از کم دو حصوں ہے میموری کی آپ کے حوالے ہڈ کے نیچے. ایک، اس مستطیل کے طور پر مدد دیتی ہے میں گے کے طور پر، جہاں argc بلایا جا رہا ہے. اور صرف ایک فوری recap کے طور پر، جہاں argc کے اعداد و شمار کی قسم کیا ہے؟ تو یہ ایک int ہے. تو ایک نمبر کی جا رہی ہے argc-- موڑ میں جانے کے لئے باہر دلیل شمار کے لئے کھڑا ہے. دریں اثنا، میں ایک صف کے طور پر argv تیار کی ہے. اور میں واقعی نہیں جانتے یہ ہو رہا ہے کہ کس طرح طویل، تو آج کے مقاصد کے لئے ڈاٹ ڈاٹ ڈاٹ. یہ کچھ کی لمبائی کی ہو سکتی ہے. لیکن میں یہاں تصویر ہے کم از کم چار مستطیل. تو ہے کہ دکانوں میموری کا ایک حصہ میں argv سٹرنگ سٹرنگ سٹرنگ ڈاٹ ڈاٹ ڈاٹ، اور argc صرف ایک حصہ ہے ایک عددی کے لئے میموری کی. تو اب، تھوڑا سا زیادہ عین مطابق ہو. تو، میں ڈور ہے جب اس صف میں، کہا جاتا argv کے، میں نے ان پر حاصل کرنے کے لئے چاہتے ہیں انفرادی طور پر، صرف گزشتہ ہفتے کی طرح، ہم سنکیتن استعمال کرنے کے لئے جا رہے ہیں argv بریکٹ 0 سب سے پہلی چیز ایک صف حاصل کرنے کے لئے. argv بریکٹ 1 حاصل کرنے کے لئے تو آگے دوسری بات، اور. اہم یہاں ہم اب بھی 0 ہو جا رہا ہے indexed-- ہم اب بھی 0 سے گنتی کر رہے ہیں. تو اب اصل چلو اس میں کچھ ڈال دیا. میں نامی ایک پروگرام مرتب کرنے کے لئے تھے خوش خوش ڈاٹ سی نامی ایک فائل سے، اور پھر میں نے اس پروگرام کو چلانے کے نقطہ کے ساتھ خوش سلیش، اپنے کمپیوٹر، اپنے لیپ ٹاپ کرتا ہے، ہڈ کے نیچے کی طرح نظر میں ڈاٹ چلانے لمحے خوش سلیش اور درج کریں مارا؟ ویسے، یہ شاید ہے ہم وضاحت کر سکتے ہیں آپ کے کمپیوٹر کے مواد کے طور پر میموری، یا میں RAM رینڈم رسائی میموری. دوسرے الفاظ میں، کمپیوٹر، کسی نہ کسی طرح جادوئی آپ کے لئے، جہاں argc میں نمبر 1 رکھتا ہے، AKA argcount، اور اس کے لفظی سٹرنگ رکھتا ہے ./hello argv بریکٹ 0. مجھے کوئی اندازہ نہیں، واضح طور سے، کیا ہے argv بریکٹ میں 1 یا 2 یا 3، صارف نہیں ہے کیونکہ اگر ، ./hello علاوہ کچھ ٹائپ ہم ان کا فرض ہے کہ جا رہے ہیں سب سے زیادہ امکان ردی کی ٹوکری میں اقدار ہیں، تو بات کرنے کی. میموری کی وہ مقدار موجود ہیں، لیکن یہ ہم پر منحصر نہیں ہے کیونکہ، ان کو دیکھنے کے لئے argcount صرف ایک ہے. اب، اسی اثناء میں، میں تو کسی دوسرے پروگرام کو چلانے کے لکھنے، زیادہ مناسب طریقے سے ایک کمانڈ ہے جو سی ڈی،، آپ ٹمٹمانے prompt-- سی ڈی خلا میں میں مؤثر طریقے سے، کہ جب چلانے Dropbox--، سی ڈی پروگرام چلایا جاتا ہے جب، جہاں argc، اپنے کمپیوٹر کی میموری کے اندر کے لئے ہے، سب سے زیادہ مختصر دوسرے نمبر 2. اور پھر argv بریکٹ O ہے سی ڈی، argv بریکٹ 1، ڈراپ باکس ہے اور اس کے بعد کے دوران کمانڈ مکمل، تو اس میموری کا سب بنیادی طور پر دور ہو جاتا ہے اور کچھ کے لئے استعمال کیا جاتا ہے. اور یہ کہ میں کہتا ہوں کہ یہی وجہ ہے دوسرا صرف ایک تقسیم. دریں اثناء، ہم mkdir pset2 کرتے ہیں تو، تصویر، تقریبا ایک ہی لگ رہا ہے لیکن argv کے اندر مختلف ڈور کے ساتھ. میں نے ہیلو بجنا ڈیش کرتے ہیں خوش ڈاٹ سی، اسی خیال. زیادہ چیزیں کے لئے میں بھرا ہوا ہے argv کے، اور argc، کورس کے، 4 ہے. تو دوسرے الفاظ میں، یہاں تک کہ اس صف اگرچہ کچھ کے، ڈاٹ ڈاٹ ڈاٹ کیا جا سکتا ہے متغیر کی لمبائی، تو بات کرنے کے لئے آپ کو ہمیشہ اس کی جہاں اختتام کا پتہ جہاں argc آپ کو بتانے جا رہا ہے کیونکہ، ہے کس موڑ پر آپ کو روکنے کے لئے ہے argv میں عناصر کو دیکھ کر. آپ کو صرف چار میں دیکھ سکتے ہیں اس کیس میں کل میں. تو اب میں ایک نظر ڈالیں، شاید، ایک سادہ پروگرام. صرف ہیلو کا کہنا ہے کہ ایک Zamyla کی طرح کسی کو. تو میں نے ایک پروگرام لکھنے جا رہا ہوں کا دعوی صرف ایک لمحے میں جس کے ذریعے میں کر سکتا تو میں چاہتا ہوں ./hello خلائی کیا Zamyla، اور میرا پروگرام کچھ باہر پرنٹ کرنے کے لئے کی طرح سپر آسان "ہیلو، کیا Zamyla." اب ماضی میں ہم GetString کا استعمال کیا ہے. ماضی میں، یہاں تک کہ اگر تو آپ، پروگرامنگ کے لئے نئے ہیں مشکلات آپ کو ایک کوڑا کر سکتے ہیں GetString کا استعمال کرتا ہے کہ پروگرام اور پھر printf کا استعمال کرتا ہے کیا Zamyla کو ہیلو کہنا. لیکن اس وقت GetString کا استعمال نہیں کرتے ہیں. مجھے اس کی بجائے Appliant میں جانے دو اور معیاری میں اے ڈاٹ ایچ شامل ہے. مجھے بھی CS50 ڈاٹ ایچ شامل ہیں. اب int اہم، اور اب میں ہوں آج باطل کرنے کے لئے نہیں جا رہا. اس کی بجائے، میں نے int argc ہے کرنے کے لئے جا رہا ہوں سٹرنگ argv کھلی بریکٹ بند بریکٹ، ایک بڑی تعداد کی وضاحت نہیں. اور اب یہاں میرا ایسا کرنے کے لئے نام نہاد ہے. اب میں کیا کرنے جا رہا ہوں ہوں، ہے ایمان کی چھلانگ کے تھوڑا سا کیا جا رہا، میں صارف کا فرض ہے کہ میں جا رہا ہوں درست طریقے سے اس پروگرام کو استعمال کرنے کے لئے جا، اور میں صرف کرنے جا رہا ہوں ، خوش printf کے٪ کیٹلوگ کرتے. تو کچھ بھی نہیں نئی. لیکن اب میں جو لفظ میں ڈال کرنا چاہتے ہیں پروگرام کا نام کے بعد صارف کی اقسام. تو میں کیا Zamyla ./hello خلائی کرتے ہیں تو، میں کسی نہ کسی طرح پروگرام تک رسائی حاصل کرنا چاہتے ہیں unquote جو "کیا Zamyla." اقتباس تو میں میری دلیل ویکٹر میں جا سکتے ہیں، میرا ڈور کی صف، اور کمانڈ ہے تو، پھر، ./hello جگہ، کیا Zamyla تھا کیا تعداد میں کرنا چاہتے ہیں یہاں argv میں ڈال کرنے کے لئے؟ سامعین: 1. DAVID MALAN: 1، کیونکہ بریکٹ 0 باہر کر دیتا ہے جا رہا ہے پروگرام کا نام ہم نے دیکھا، کے طور پر. تو بریکٹ 1 پہلا لفظ ہے مجھے لگتا ہے کہ، صارف، ٹائپ ہے. میں آگے بڑھو اور اس کو بچانے کے لئے جا رہا ہوں. میں اپنے فولڈر میں جانے کے لئے جا رہا ہوں جہاں میں نے اس فائل رکھ دیا ہے. میں نے ہیلو 3 بنانے کے کرنے جا رہا ہوں. معاضہ IO ٹھیک. ./hello کیا Zamyla کریں. میں نے کیا غلط کیا تھا؟ میں حیرت کی طرف سے پکڑا گیا تھا اپنے آپ سے صرف ایک لمحے کے لئے. میں نے کیا غلط کیا تھا؟ سامعین: نام. DAVID MALAN: فائل اصل hello3.c کہا. اور میں صرف کے لئے کیا مستقل مزاجی، ہم نے کی وجہ سے میں تھا hello.c کے کی آن لائن کوڈ میں ماضی. تو اس ./hello حل کریں بریکٹ ڈیش 3 کیا Zamyla. درج کریں. اور اب ہم، خوش کیا Zamyla ہے. دریں اثنا، میں نے اس کو تبدیل کر سکتے ہیں روب، یا واقعی کسی دوسرے لفظ. لیکن ایک کونے کیس پر غور کریں. اگر آپ کیا ہو گا توقع کر سکتے ہیں میں بالکل کسی کا نام نہیں ٹائپ کیا؟ سامعین: خرابی. DAVID MALAN: ایک غلطی شاید کسی قسم کے، کی. چلو دیکھتے ہیں. درج کریں. شہوت انگیز null. تو printf اصل میں کیا جا رہا ہے ہم میں سے ایک چھوٹا سا حفاظتی یہاں، اور لفظی کھلی قوس پرنٹنگ شہوت انگیز null، لیکن اس سے بھی بدتر چیزیں ہو سکتا ہے. اور صرف مظاہرہ کرنے کے لئے کچھ آپ بالکل ایسا نہیں کرنا چاہئے، میں جانے یہاں اور ارد گرد poking شروع. ٹھیک ہے نا؟ مجھے پتہ ہے کہ تصویر میں میموری، بنیادی طور پر یہ ہے argv بریکٹ 1 کیا Zamyla، argv کے ہے بریکٹ 0 ./hello ہے، یا ./hello 3. کیا بریکٹ 2 میں ہے؟ تو میں نے اس کا جواب کر سکتے ہیں دائیں، اپنے آپ کو سوال؟ میں صرف ایک 2 1 تبدیل کر سکتے ہیں. اب میں، 3 خوش recompile کر ./hello3 میں زوم اور ہٹ میں داخل ہے. افوہ. کوئی اقتباس نشان. دلچسپ. تو اس قسم کے ڈاؤن لوڈ، اتارنا ہے یہاں ہے کیا کیا. تو اور کیا اپنے لیپ ٹاپ کے اندر ہے؟ کی بریکٹ 3 کے ساتھ اس کو بچانے کے ہیں. ./hello 3، hello3 بنائیں. متجسس. اور اب واقعی bold-- 50 حاصل. تو ہے کہ گہری واقعی ڈائیونگ ہے اپنے کمپیوٹر کی میموری میں. 50 انڈیکس میں. تو خوش 3 ./hello 3 بنانے کے. متجسس. ٹھیک ہے، اب میں صرف ہوں لاپرواہ حاصل کرنے کے لئے جا رہا ہے. کی 5،000 جانے دو. ٹھیک ہے. تو مجھے تو recompile دو. ./hello 3، hello3 بنائیں. ٹھیک ہے. آپ میں سے کچھ اب، وہاں ہو سکتا ہے جا ایک روشنی بلب ہو. کس طرح بہت سے آپ کر کے سے پہلے اس پیغام کو دیکھا ہے؟ ٹھیک ہے. تو، کیوں؟ مشکلات are-- اور مختلف ہے اس کا سبب بن سکتا ہے کہ چیزوں کو، اور واضح طور پر آپ کو اچھی ہو company-- ہم واضح طور پر ہے کہا جاتا ہے کی وجہ سے ایک انقطاع غلطی. اور آج کے لئے لمبی کہانی مختصر ہے، میں میموری کا ایک طبقہ کو چھو لیا ہے میں نہیں ہونا چاہئے کہ. جہاں ایک طبقہ صرف ایک حصہ کا مطلب میموری کے میں نہیں ہونا چاہئے کہ. اب کمپیوٹر ضمانت دیتا ہے کہ اگر میں میں argv کے چھو کر سکتے ہیں کہ ./helloZamyla چلانے کے 0 بریکٹ اور argv بریکٹ 1. لیکن جہاں argc قیمت 2، کہ میں ہوں کا مطلب ہے صرف یہ اعزاز کی طرح ہے allowed-- چھو کرنے کے لئے سسٹم 0 بریکٹ اور بریکٹ 1. میں کسی بھی دور جاتے ہیں، نہیں ہے وہاں بالکل میموری جا رہا. میری RAM جسمانی طور پر موجود ہے کمپیوٹر میں. لیکن وہاں کیا ہے؟ بے شک، میں ایک سے زیادہ رہا ہوں ایک وقت میں پروگراموں. میں نہیں تھے تو میں seen-- ہو سکتا ہے Appliant پر یہ کر لیکن میرے میک یا PC-- پر کر سکتا ہے ایک ای میل کی فہرست میں دیکھا. میں نے فوری طور پر دیکھا ہے ہو سکتا پیغام میں نے حال ہی بھیجا ہے. ہو سکتا ہے کہ کچھ میموری میں کے ارد گرد طویل کی راہ کی طرف سے حاصل کیا جا سکتا تھا اس صوابدیدی مربع بریکٹ سنکیتن. یا، بدتر ابھی تک، آپ ہو سکتا ہے میرے پاس ورڈ کی ایک مل گیا میں نے حال ہی میں ٹائپ ایک ہے کہ تھا کہ پروگرام میموری میں محفوظ تھا تو مجھے تصدیق، اور پھر صرف کی قسم یہ چھوڑ دیا RAM میں میں نے اس پروگرام چھوڑ تک. اور یقینا، اس میں سے ایک ہے خطرہ اور ایک کے اختیارات سی طرح ایک زبان کا استعمال کرتے ہوئے آپ کو نرنکش رسائی حاصل ہے مکمل مواد کے لئے پروگرام کی میموری کی، اور جو برے لوگ کر سکتے ہیں یہاں تک کہ ان cases-- میں کیا خاص طور پر جب ہم ویب پروگرامنگ حاصل کرنے کے لئے سمسٹر کے اختتام کی طرف، ہم کریں گے ارد گرد ڑکیلنا اس topic-- نظرثانی، ممکنہ طور پر، کسی کے کمپیوٹر کی ہے میموری اور اس طرح کے عجیب چیزیں تلاش ہم وہاں دیکھا. یا اس سے بھی بدتر ابھی تک، پاس ورڈ ہے کہ وہ یا وہ بری چیزیں کرنے کے لئے استعمال کر سکتے ہیں. تو واضح طور پر میں، اس نے کیا کیا نہیں کرنا چاہئے عجیب چیزیں ہوتی شروع کرنے کے لئے کی وجہ سے. بے شک، یہ ایک پروگرام کے اجلاس ہونے کے تناظر ہے. یہ برابر ہو جائے گا ونڈوز میک OS یا میں پروگرام ونڈو صرف غائب. ایک غیر متوقع خرابی واقع ہوئی ہے. کمانڈ لائن کے ماحول میں ہم کچھ اس طرح دیکھیں. لیکن یہی وجہ ہے کہ، میں صرف ہوں چھونے ہے مجھ سے متعلق نہیں ہے کہ میموری. تو یہ ایک کے خلاف دفاع کرتے ہیں ایک مختلف طریقے سے تھوڑا سا اس پروگرام کو دیکھ کر. تو، ایک بار پھر، کنکال ہم پہلے دیکھا ہے اور میں اس وقت INT پر روشنی ڈالی ہے. اور یہ سب اس وقت اہم ہے واقعی ایک قیمت واپس. اگرچہ ہمارے لیکچر کے سب سے زیادہ میں ہم ایک بار کبھی استعمال نہیں کیا کرتے اہم میں کچھ واپس. ہم صرف printf بند لکھنا گھوبگھرالی منحنی خطوط وحدانی اور یہ بات ہے. لیکن مفت کے لئے، کیا سنکلک، آپ کے لئے کیا کر رہی مؤثر طریقے سے، آپ کے لئے 0 واپس آ رہا ہے. باہر کر دیتا ہے اور یہ ایک چھوٹا سا ہے 0 اچھا ہے counterintuitive--. یہ SE فی جھوٹے مطلب یہ نہیں ہے. 0 اچھا ہے، اور کسی بھی غیر 0 قیمت، دنیا کا فیصلہ کیا ہے، ایک غلطی کی نشاندہی کر سکتے ہیں. کیا تم نے کبھی گڑبڑ ہے تو آپ کے کمپیوٹر پر کچھ، یا ایک پروگرام صرف آپ پر مر گیا ہے اور آپ کو کچھ غلط ونڈو ہو گیا ہے آپ کی سکرین پر، کہہ غلطی 49 یا غلطی منفی 23-- ہے کہ کچھ بظاہر صوابدیدی قدر ایک پروگرامر مشکل کوڈت ہے کیونکہ 49 منفی یا مثبت طرح ایک قدر 23 کسی بھی تعداد کی نمائندگی کرنے، کہنے کی جرات، 4 ارب ممکن چیزیں کے ایک پروگرام ہے کہ میں غلط ہو سکتا ہے. تو میں کس طرح لے سکتا ہے اس کا فائدہ خود؟ ویسے، مجھے ایک پروگرام کو کھولنے میں نے پہلے ہی لکھا ہے کہ، اور آن لائن خوش 4 بلایا ارد گرد ڑکیلنا. اور یہ سوائے اس کے کہ، تقریبا ایک جیسی ہے اس غلطی کی جانچ پڑتال کا ایک تھوڑا سا ہے. اس صورت میں، میں نے ایک بار پھر اعلان کیا ہے دو دلائل لے کے طور پر اہم، لیکن اس وقت، 17 لائن پر، نوٹس میں وویک چیک کے تھوڑا سا کر رہا ہوں. میں اس بات کو یقینی بنا رہا ہوں جہاں argc برابر 2 برابر. یہ ہے کیونکہ اگر، کہ میں محفوظ طریقے سے کر سکتے ہیں کا مطلب ہے کہ نہ صرف بریکٹ 0، لیکن بریکٹ 1 چھو. اور میں آگے جانے کے لئے اور پرنٹ، اس صورت میں، کیا Zamyla یا روب یا میں نے ٹائپ ہے جو لفظ میں. اور اب صرف حاصل کرنے کے لئے ، زیادہ مناسب ایک چھوٹا سا میں واضح طور پر واپس جا رہا ہوں 0 سب کچھ ٹھیک ہے نشاندہی کرنے کے لئے. کچھ برا نہیں ہوا. لیکن کنونشن کی طرف سے، میں جا رہا ہوں 1 واپس، یا واضح طور پر کسی بھی غیر 0 قیمت، کچھ غلط ہو گیا تو. اب صارف نہیں جا رہا ہے واقعی چل رہا ہے محسوس کیا. بے شک میں اس ڈائریکٹری میں جانا ہے تو، ہم، میں زوم اور خوش 4 کروں میں توقع کے طور پر ./hello 4 کیا Zamyla برتاؤ کرتی ہے. لیکن میں قسم کی بجائے نہیں ہے تو کچھ، کچھ نہیں لگتا ہے، لیکن یہ کریش نہیں ہوتا. اور میں اس کے بجائے کچھ کرنا ہے تو روب کی طرح ایک پراکٹر ہے Thayer-- اشتراک میں صوابدیدی معلومات. لیکن نوٹس، argv کے 1، 2، 3، 4، اور 5 اب یاد میں موجود ہونا چاہئے. کہ، بھی، کیا نہیں ہے میرے پروگرام، توقع رکھتا ہے میں چاہے جانچ پڑتال کی ہے کیونکہ جہاں argc برابر 2 یا نہیں کے برابر ہے. تو اب میں اس کے خلاف کا دفاع کر رہا ہوں. اب، کے طور پر ایک طرف، ہم programmer-- یا بلکہ ہم users-- 0 یا 1 ہے لیکن ایک کا استعمال کرتے ہوئے کبھی نہیں دیکھ آلے، ٹھیک کرنے والا کھولتا، یا دوسرے اوزار کہا جاتا ہم سے پہلے دیکھیں گے کے طور پر طویل، آپ پروگرامر اصل میں ہو سکتا ہے کو دیکھنے کے کر سکتے ہیں آپ کے پروگرام کے اندر غلط ہو رہا. تو، جہاں argc پر کوئی سوال؟ جی ہاں. سامعین: میں نے دیکھا ہے جہاں وہ کردار نہیں ہے، [اشراوی] صرف سٹرنگ ستارہ D، انہوں نے کہا کہ کردار ستارے کوما. وہ یہاں کے برابر ہیں؟ DAVID MALAN: وہ یہ ہیں. سوال ہے تو، آپ کے پاس کبھی کبھار دیکھا پروگراموں نہیں ہے کہ اس طرح سٹرنگ argv بریکٹ کا کہنا ہے کہ لیکن اس کے بجائے کچھ کہنا چار ستارہ argv بریکٹ کی طرح. اور بھی دوسرے نہیں ہے آپ دیکھ سکتے ہیں کہ مختلف حالتوں. وہ یقینا برابر ہیں. ابھی کے لئے، ہم ان ہے تربیت پہیوں کی طرح CS50 میں سٹرنگ کی شکل میں لائبریری، لیکن صرف ایک ہفتے کے دوران میں یا تو ہم اس کو دور کرنے کے لئے جا رہے ہیں مکمل طور پر اور اصل رکاوٹ چار اور ستارہ پر نظر ہیں، اور ان لوگوں کو یاد کرنے کے لئے کس طرح متعلق نمائندگی زیادہ عام طور پر. تو ہم واپس آ جائیں گے. ہمارے argv کے یا جہاں argc پر سوال؟ جی ہاں. سامعین کیوں اس کو واپس کیا ایک خرابی [اشراوی]؟ DAVID MALAN: یہ کیا کیوں اوہ only-- ایک غلطی واپس! پچھلے صورت میں، جب ہم نے میموری کے ساتھ کے ارد گرد futzing گیا، کیوں یہ صرف ایک غلطی کو واپس کیا میں واقعی میں ایک بڑی تعداد ٹائپ ہے؟ مختصر جواب ہم صرف خوش ہے، ہے. عام طور پر، ایک کمپیوٹر مقدار میں میموری مختص، اور اس نے مجھے ایک بڑا کافی حصہ دیا میں نے محسوس کیا جا رہا ہے بغیر، دور ہے چھونے بریکٹ 2، بریکٹ 3، بریکٹ 50، لیکن جیسے ہی میں دھکیل دیا کے طور پر اپنی قسمت، میں باہر چلا گیا میموری کا حصہ کی حدود آپریٹنگ سسٹم نے مجھے دیا تھا. اور یہ کہ جب یہ ہے کو نافذ اور نہیں، انہوں نے کہا کہ. انقطاع غلطی. جی ہاں. سامعین: کس طرح کرتا ہے کمپیوٹر جہاں argc کی قدر جانتے ہیں؟ DAVID MALAN: کس طرح کرتا ہے کمپیوٹر جہاں argc کی قدر جانتے ہیں؟ آپ کو ایک پروگرام چلاتے ہیں، اس پروگرام، ٹمٹمانے فوری طور کی نوعیت کی طرف سے، کی صف حوالے کر دیا ہے ٹائپ کیا گیا ہے کہ الفاظ فوری طور پر، تھا فوری طور پر ٹائپ. اور اس طرح یہ آپ کے کام کر رہا ہے نظام بنیادی طور پر کہ آپ کے لئے اہم دلائل معمور. تو ہے کہ خدمات میں سے ایک ہے آپ کو حاصل ہے کہ، طرح کی خفیہ کے ہڈ کے نیچے ایک آپریٹنگ سسٹم. دیگر سوال؟ جی ہاں. سامعین: کور ڈمپ کیا مطلب ہے؟ DAVID MALAN: کور ڈمپ کیا مطلب ہے؟ تو یہ ایک اچھا سوال ہے. اور مجھ میں واپس جانے یہاں اس ڈائریکٹری. اور آپ محسوس کریں گے کہ میں وہاں ایک نئی فائل ہے. یہ واقعی بنیادی کہا جاتا ہے، اور یہ ہے اصل میں عام طور پر ایک مہذب سائز فائل. یہ بنیادی طور پر کے ایک سنیپ شاٹ ہے اپنے پروگرام کی میموری کی فہرست یہ گر کر تباہ ہو جب یا رام. اور یہ، مفید ہو گا ممکنہ طور پر، diagnostically، ہم مستقبل کے درس میں بات ایک بار اور ٹھیک کرنا کے بارے میں سیکشن، آپ اصل میں کر سکتے ہیں کی وجہ سے ایک ڈیجیٹل پوسٹ مارٹم کے برابر اس فائل پر اعداد و شمار کی مدد کے لئے آپ کو آپ کے پروگرام میں غلط نے کیا کیا. جی ہاں. سامعین: ایک کمانڈ میں جہاں argc ہے خود، یا آپ کو یہ کچھ نام کر سکتے ہیں؟ DAVID MALAN: اچھا سوال ہے. ، خود میں ایک کمانڈ جہاں argc ہے یا آپ کو یہ کچھ نام کر سکتے ہیں؟ یہ یقینی طور پر ایک کمانڈ نہیں ہے. یہ صرف ایک متغیر کی ہے یا ایک دلیل کے نام نام، اور تو بالکل ہم اس FOO کہہ سکتے، ہم کرتے ہیں جس میں اس بار، کہہ سکتے ہیں جانے کے لئے الفاظ کہ ایک کمپیوٹر ہونا سائنسدان کو جاتا ہے. لیکن کنونشن کی طرف سے، ہم argc اور argv استعمال. لیکن یہ صرف ایک انسان کی کنونشن، زیادہ کچھ نہیں. ٹھیک ہے. تو پتہ چلتا ہے، میں کیا گیا ہے ایک سفید lie-- کا تھوڑا سا کہہ اور واضح طور سے، مستقبل میں، آپ دیکھیں گے ہم دوسرے سفید جھوٹ بول رہا ہوں. لیکن اب کے لئے، ہم جا رہے ہیں ان میں سے ایک واپس چھیل. پہلے جب میں یہاں اس صورت میں ./hello یا ./hello 3 کی طرح ایک پروگرام بھاگ گیا کیا Zamyla، ہم کے مندرجات تھا میرا تقریبا کی طرح لگ کے کمپیوٹر کی میموری اس. لیکن ایک تار کیا ہے یاد. ہم ایک ایک ہفتہ پہلے کہا کیا سٹرنگ واقعی ہڈ کے نیچے ہے؟ سامعین: حروف کی صف. DAVID MALAN: یہ ایک ہے حروف کی صف ہے، ٹھیک ہے؟ تو ہم میں سے ایک صف ہو سکتا ہے ڈور، لیکن، کے نتیجے میں، ایک تار حروف کے ایک صف ہے. مجھے سچ میں کرنا چاہتے ہیں تو میں نے اس تصویر کو اپنی طرف متوجہ جب مقعد، میں واقعی میں ڈرائنگ کیا جانا چاہئے یہ تھوڑا سا زیادہ اس طرح، جس کے تحت ان میں سے ہر ایک میں میری argv صف کے اشاریہ جات، ایک پوری سٹرنگ خود ہے خود ایک صف میں ہے. اور اب سفید جھوٹ آج ہم کہہ رہے ہو تصویر نہیں کرتا ہے بالکل اس طرح نظر آئے. اصل میں، بہت کم چوکوں ہیں بڑے rectangles میں عام طور پر باہر وہاں. لیکن ہم طویل عرصے سے پہلے واپس آ جائیں گے. لیکن یہ، ./hello الٹا سلیش 0 ہے خصوصی کردار ہے کہ کیا جا رہا ہے ایک تار کے آخر demarcates، اور ہم ایک کے بعد ہے کیا Zamyla کا نام. تو اس کا کیا مطلب ہے؟ ٹھیک ہے، مجھے آگے بڑھو اور دو دیگر مثالوں کو کھولنے آن لائن دستیاب ہیں. ایک argv1.c کہا جاتا ہے اور دیگر argv2 ہے. یہ ایک سپر آسان پروگرام ہے ماضی کے پروگراموں سے مختلف ہے کہ اب میں استعمال کر رہا ہوں argc اور یہاں میں argv. اور اب میں لوپ کے لئے ایک کے ساتھ مربوط ہوں جہاں argc تک پر میں سے 18 لائن، = 0. اور میں کیا کرنے جا رہا ہوں یہاں کوڈ کے اس لائن کے ساتھ؟ انگریزی میں. ظاہر ہے، یہ جہاں argc کے استعمال کا ثبوت ہے. لیکن انگریزی میں، کیا کرتا ہے میں اس پروگرام چلاتے ہیں تو یہ کیا ہے؟ جی ہاں؟ سامعین: یہ پرنٹ کرنے کے لئے جا رہا ہے آپ کی آپ چاہتے ہیں کے طور پر کئی بار کی سکرین. DAVID MALAN: بالکل. تو جو کچھ بھی الفاظ میں یہ ہے، فوری طور پر ٹائپ قے کرنے کے لئے جا فی سطر مجھ پر ان میں سے ایک. تو آگے بڑھو اور اس کے کیا. میرے ڈائریکٹری میں جانے دو اور argv1 ./argv1 کروں. اور اب، یہ آسان رکھنے کے ہیں. کے سب سے پہلے میں کچھ بھی نہیں کرتے ہیں. یہ ایک بات کو پرنٹ کیا اور کہ بے شک پروگرام کا نام ہے، کہ بریکٹ 0 میں ہے کیونکہ. میں اب FOO کو کہتے ہیں، یہ کیا جا رہا ہے ان دو، اور میں FOO بار کا کہنا ہے کہ، یہ ان تین چیزوں کا کہنا ہے کہ جا رہا ہے. اب شاید، کسی حد تک دلچسپ ہے. لیکن یہ ہے argv یاد ڈور کی ایک صف ہے، لیکن ایک تار حروف کے ایک صف ہے، تو ہم نے ایک نشان تک چیزوں کو لے جا سکتے ہیں اور اس کے بنیادی لاگو منطق اور کوڈ ہے کہ اقرار، تھوڑا زیادہ خفیہ لگ رہا ہے. لیکن کی طرف سے ایک اندر در اندر ہونے لوپ، ماخوذ کچھ آپ ماریو سے یاد کر سکتے ہیں کرنے کے لئے، مثال کے طور پر، تو آپ اسے اس طرح کیا. تو اب میں ہوں، 19 لائن پر نوٹس پھر میرے دلائل پر iterating، 0 سے پر جہاں argc کے لئے. اور اب لائن میں 21-- ہوں گزشتہ ہفتے سے ایک چال قرضے میں نے کیا ہے کی جانچ پڑتال کر رہا ہوں argv بریکٹ میں کی لمبائی. میں (ن) میں اس کا جواب ذخیرہ کرنے رہا ہوں. اور پھر میں نے جموں سے مجموعی ہوں J 0 initialized ہے جہاں (ن)، کرنے کے لئے. تو، گنتی کے لئے کنونشن. آپ کو ایک ہے تو آپ، میں استعمال کیا جاتا ہے ایک بار اندر در اندر لوپ، آپ، پھر میں استعمال نہیں کر سکتے دوسری صورت میں آپ کو ممکنہ طور پر، clobber گے، اندرونی لوپ سے باہر کی قیمت. تو میں کنونشن کی طرف سے J استعمال کر رہا ہوں. ہم K استعمال کر سکتے ہیں. آپ کشمیر کے مقابلے میں زیادہ ہے تو، آپ کو شاید عام طور پر، بہت زیادہ nesting کے ہے. لیکن اب، میرے printf کا نوٹس لائن تھوڑا سا مختلف ہے. میں نے٪ s کو پرنٹ نہیں کر رہا ہوں، میں ہوں ،٪ C پرنٹنگ جس، کورس کے، ایک چار کے لئے ایک پلیس ہولڈر ہے. اور اب اس نحو کو نوٹس. نیا. ہم نے اس سے پہلے نہیں دیکھا ہے. لیکن منطقی طور پر، یہ صرف کا مطلب ہے کہ ہے argv میں ith تار حاصل اور کیا JTH حاصل؟ سامعین: کریکٹر. DAVID MALAN: اس سٹرنگ میں کردار. تو مربع بریکٹ کا استعمال کرتے ہوئے کی طرف سے مربع بریکٹ کے بعد، یہ پہلی ڈائیونگ ہے ہے argv کی ڈور میں، اور پھر دوسری J ساتھ مربع بریکٹ کے حروف میں ڈائیونگ ہے argv میں اس مخصوص سٹرنگ. اور پھر، صرف اچھے کی پیمائش کے لئے، میں یہاں ایک نئی سطر چھپائی رہا ہوں. تو اب مجھے آگے بڑھیں اور کھول دو ایک قدرے بڑا ونڈو تو ہم کارروائی میں یہ دیکھ سکتے ہیں. مجھے اس فولڈر میں جانے دو. اور اب کروں ہے argv-2-- argv کے 2 بنانے whoops--، ./argv 2. درج کریں. اور یہ تھوڑا مشکل ہے عمودی طور پر پڑھنے کے لئے، لیکن اس سے واقعی کا نام ہے ایک خالی لائن کی طرف سے کے بعد پروگرام،. اب مجھے آگے بڑھو اور FOO کرتے ہیں. اسی مشکل کو پڑھنے کے، لیکن یہ کرنے کے لئے یقینا فی لائن ایک کردار چھپائی. میں بار کرتے ہیں، اب یہ ہے لائن کی طرف سے ان لوگوں کو لائن پرنٹنگ. تو یہاں takeaway اتنا نہیں ہے واہ، یہ صاف نئی چال پر نظر، کہ جہاں آپ کو فہرست میں حاصل کر سکتے ہیں ایک صف کی مخصوص حروف کی، بلکہ ہم ان بنیادی لے جا رہے ہیں کس طرح ایک صف میں تخکرمن طرح کے خیالات، اور پھر ایک میں تخکرمن اس صف میں تھا کہ صف، اور صرف ایک ہی خیالات کا اطلاق تھوڑا سا زیادہ پیچیدہ مثالیں. لیکن بنیادی باتیں واقعی نہیں ہے یہاں تک کہ گزشتہ ہفتے کے بعد، تبدیل کر دیا گیا. اب یہ، کی بروقت طرح ہے کہ، ہفتے صفر میں، یاد ہم اس طرح ایک فون کی کتاب کے ساتھ کھیلا. اور یہ ظاہر ہے اگرچہ کاغذ کے جسمانی ٹکڑے ٹکڑے، آپ کی قسم کے بارے میں سوچ کر سکتے ہیں ایک صف کے طور پر ایک فون کی کتاب. آپ تھے تو یقینا، reimplement کرنے اس کے ٹکڑے ٹکڑے کر کے کاغذ کے ان ٹکڑوں ایک کمپیوٹر میں، شاید تم سے کچھ استعمال کریں گے ایک صف کے ان کے تمام ذخیرہ کرنے کے لئے کی طرح ایک طرح سے ناموں اور نمبروں Z. ذریعے تو اس کی وجہ سے، اچھا ہے یہ ہمیں ایک موقع کی اجازت دیتا ہے، تم کس طرح ہو سکتا ہے شاید، پر غور کرنے کے اصل میں اس طرح کچھ پر عمل درآمد. یہاں دروازے کی ایک سیریز کے ساتھ کے طور پر. میں could-- تو ہم ایک کی ضرورت ہے اوپر آنے کے لئے رضاکارانہ طور پر. چلو دیکھتے ہیں. ایک مجریچت چہرہ شاید، شاید مجریچت چہرہ. کس طرح اورینج میں کے بارے میں؟ یہاں. اورنج شرٹ، پر آئے. اب اور اس اقدام آگے بڑھو کی طرف سے میں ان کے دروازے، ایک لمحے کے لئے راستے سے باہر ان میں منتقل. آپ کا نام کیا ہے؟ اجی: DAVID MALAN: اجے. ڈیوڈ. آپ سے مل کر اچھا لگا. ٹھیک ہے. تو ہم نے ان چھ کے پیچھے ہے سکرین پر ڈیجیٹل دروازے یا، بلکہ، سات دروازے تعداد کی ایک پوری چڑھانے سکرین. اور میں تم سے کچھ بھی نہیں کہا ہے میں advance-- اتفاق کیا؟ اجی: پیشگی میں کچھ بھی نہیں. DAVID MALAN: تمام میں آپ کیا کرنا چاہتے ہیں اب میرے لئے تلاش کرنے کے لئے ہے، اور ہمارے لئے، واقعی، تعداد 50، ایک وقت میں ایک قدم. اجی: نمبر 50؟ DAVID MALAN: 50 نمبر. اور تم کیا ظاہر کر سکتے ہیں ان کے دروازے میں سے ہر ایک کے پیچھے صرف ایک انگلی سے چھونے سے. ارے. [ہنسی] [تالیاں] بہت اچھا کام کیا. ٹھیک ہے. ہم نے ایک خوبصورت تحفہ ہے یہاں آپ کے لئے انعام. فلموں میں اپنا انتخاب ہم گزشتہ ہفتے بات چیت کی. اجی: اوہ، آدمی. اوہ، میں Spaceballs دیکھا کبھی نہیں کیا ہے. DAVID MALAN: Spaceballs. ٹھیک ہے. تو صرف ایک لمحے پر منعقد. اس بنا How-- ایک سکھایا لمحے آپ کس طرح کے بارے میں جانا تھا 50 نمبر کو تلاش کرنے کے؟ اجی: میں تصادفی کا انتخاب کیا ہے. DAVID MALAN: تو آپ کا انتخاب تصادفی اور خوش ہے. اجی: جی ہاں. DAVID MALAN: ٹھیک ہے. بہترین. تو اب، اگر آپ کو نہیں تھا خوش، اور کیا ہو گیا ان دروازوں کے پیچھے ہو سکتا ہے؟ مجھے آگے جانا ہے تو اور یہاں ان کی تعداد کو ظاہر، وہ اصل میں بے ترتیب ترتیب میں ہیں. اور سب سے بہتر آپ کر سکتے ہیں کیا، واضح طور سے،، آخر میں، کی طرف سے ہے بدترین صورت میں، ان سب کی جانچ پڑتال. تو آپ کو، سپر خوش قسمت ہے جس ہم ایک الگورتھم فون کروں گا کیا نہیں ہے. جی ہاں، مبارک ہو. اگر آپ کر سکتے لیکن اب، مزاحیہ مجھے let's--. یہاں اس ٹیب میں جانے دو. اور یہاں واضح طور پر میں تعداد ایک بے ترتیب ترتیب لگتا ہے کیا، اور وہ تھے. لیکن اب میں اس کی بجائے دعوی کرتے ہیں کہ ان دروازوں کے پیچھے مطابق کر رہے ہیں کہ اعداد و شمار ہیں. مقصد اب بھی ہے ہم تعداد 50 مل. لیکن algorithmically ہے ایسا، اور آپ اس کے بارے میں جا رہے ہیں کہ کس طرح ہمیں بتاو. آپ اسے تلاش اور اگر، آپ کو فلم رکھنے. تم اس کے، آپ اسے واپس دینے کو تلاش نہیں کرتے. اجی: تو میں ختم ہو جاتا ہے چیک کرنے کے لئے جا رہا ہوں سب سے پہلے، there's-- تو تعین کرنے کے لئے [ہنسی اور تعریف] DAVID MALAN: یہاں تم جاؤ. کی ایک پر ایک نظر ڈالیں اجے کے پوروورتیوں کے، بہت خوش قسمت نہیں تھا جو شان،. ٹھیک ہے، یہاں آپ کا کام تو، شان، مندرجہ ذیل ہے. میں نے ان کے پیچھے چھپی ہوئی ہے دروازے نمبر سات، لیکن ان کے دروازے میں سے کچھ میں دور tucked کے ساتھ ساتھ دیگر غیر منفی تعداد ہیں. اور آپ کا مقصد اس کے بارے میں سوچنا ہے صرف ایک صف کے طور پر تعداد کے سب سے اوپر قطار. ہم ٹکڑے ٹکڑے کر کے ایک ہی تسلسل ہیں ان کے پیچھے تعداد کے ساتھ کاغذ کے. اور آپ کا مقصد صرف سب سے اوپر کا استعمال کرتے ہوئے، ہے صف یہاں، مجھے سات نمبر مل جائے. اور اس کے بعد ہم تنقید کے لئے جا رہے ہیں آپ یہ کام کر رہے کے بارے میں جانے کے لئے کس طرح. ، ہم نمبر سات براہ مہربانی تلاش کریں. نمبر 5، 19، 13. یہ ایک چال کا سوال نہیں ہے. 1. اس وقت آپ کا سکور بہت نہیں ہے اچھا، تو آپ کے ساتھ ساتھ جا رکھنے کے کر سکتے ہیں. 3. پر جاؤ. سچ کہوں تو، مجھے مدد کی لیکن حیرت نہیں کر سکتے ہیں کیا آپ کو بھی کے بارے میں سوچ رہے ہیں. SEAN: میں صرف سب سے اوپر صف سے لے سکتے ہیں. DAVID MALAN: صرف سب سے اوپر قطار. تو آپ بائیں بازو کی تین ہے. تو مجھے 7 مل. [سامعین تجاویز کے لیے] لہذا ان دونوں حیرت انگیز تھے بہت مختلف وجوہات کے لئے. تو یہ وہ جگہ ہے جہاں ہم ایک لمحے پہلے چھوڑ دیا، اور یہاں اہم بصیرت ان کے دروازے کی تعداد تھی ان کے پیچھے ہے کہ مثالی، کے مطابق کیا گیا جس کے لئے takeaway ہے کہ آپ کر سکتے ہیں یہ ہے کہ میں بنیادی طور پر بہتر یہ دوسری مثال اور، یقینا، اس شان کی تھی بے ترتیب تعداد کے ساتھ پہلی کوشش بس کے طور پر پہلے لیکن جیسے ہی ان کی تعداد کے مطابق ہیں کے طور پر، فون بک کی طرح، تم ظاہر ہے کیا کر سکتے ہیں؟ یا کس طرح آپ کو علم ہے کہ بیعانہ کر سکتے ہیں؟ جی ہاں. سامعین: [اشراوی] نصف جانا. DAVID MALAN: جی ہاں. بالکل ٹھیک. تو اجے کے ابتدائی سنتیں تھا مجھے یاد ہے، ختم ہو جاتا ہے چیک کرنے کے لئے، اور پھر ہم طرح کی تیار فوری طور پر مثال کے طور پر. ہم شروع لیکن اگر اس سے زیادہ کرنے کے لئے طریقے ان خطوط، لیکن میں شاید شروع کرنے مشرق، وہ حل کر رہے ہیں کیونکہ، جیسے ہی ہم ظاہر کے طور پر 16 نمبر، لہذا ہم know-- اور ہم that-- بالکل کرتے ہیں اس وجہ سے جانتے ہیں 50 کہ، آج کی صورت میں، درست کرنے کے لئے ہونا چاہئے ہے. تو صرف کی طرح ہفتے صفر جب میں ہم نصف میں فون کتاب پھاڑ اور نصف پھینک دیا دور مسئلہ، یہاں ایک ہی خیال. ہم اس نصف پھینک کر سکتے ہیں مسئلے کا دور. اور شاید آپ کو کیا algorithmically ہے کر سکتا ہے، آپ 50 ہونا ضروری ہے معلوم ہے کہ ایک بار درست کرنے کے لئے، یہ کہیں بھی ہے، وسط میں، وہاں کی کوشش ہے باقی کے دروازے کے. کورس کے، 50 زیادہ ہے 42 سے زیادہ ہے، تو ہم کر سکتے ہیں یہ باقی پھینک دور مسئلہ کی سہ ماہی، اور، آخر میں، شناخت 50 کی طرح کچھ. لیکن صرف کے ساتھ فون بک، ان کی تعداد میں پہلے سے ہی ہمارے لئے دیا گیا کے مطابق ترتیب، ہمیں چھوڑ دیتا ہے جس سوال کے ساتھ، کس طرح تم کرتے ہو کے مطابق ترتیب میں چیزیں حاصل؟ اور، واضح طور سے، کس قیمت پر؟ یہ ایک بات ہے فون بک کے حوالے اور اس کے بعد تلاش کی طرف سے اپنے دوستوں کو متاثر حق واقعی بہت تیزی سے ایک فون نمبر،؟ ایک تلاش کرنے کے لئے 32 صفحات پھاڑنا 4 ارب صفحات شخص، ہم ایک انتہائی مثال تھا. لیکن کتنا وقت لے لیا Verizon کے فون کتاب ترتیب دیں؟ یہ ہمیں لے گئے کتنا وقت ان سات تعداد ترتیب دیں؟ کہ ہم ہے کہ ایک سوال ہے اس طرح اب تک مکمل طور پر نظر انداز کر دیا. تو اب اس سوال کا جواب دیں. اور اب ہم تمام فلموں سے باہر ہیں، لیکن ہم کچھ کشیدگی گیندوں ہے. ، آٹھ رضاکاروں کا کہنا ہے کہ، اگر ہمیں یہاں شامل ہونے میں کوئی اعتراض نہیں کرے گا؟ کس طرح کے بارے میں، آگے بڑھو اور آپ کے چار، یہاں آپ تین؟ کچھ نئے چہرے جاؤ. اور وہاں آپ کے چار؟ اور کی نہیں تعصب دو now-- یہاں اور یہاں اختتام پر زیادہ تعداد آٹھ. پر چلو. ٹھیک ہے. تو ہم یہاں کے لئے کیا ہے تم میں سے ہر ایک بڑی تعداد ہے. آپ کو جانا چاہتے ہیں تو آگے، یہ تعداد لے. آپ کا نام کیا ہے؟ آرٹی: آرٹی. DAVID MALAN: آرٹی، ٹھیک ہے. آپ نمبر 1 ہیں. AMIN: امین. DAVID MALAN: امین. ڈیوڈ. آپ نمبر 2 ہیں. میں نے ہاتھ کے طور پر اور، آگے بڑھو آپ کو کاغذ کی چادریں، موسیقی کے سامنے اپنے آپ کو لائن وہاں کے طور پر اسی ترتیب میں کھڑا ہے. ANDY: ہیلو، اینڈی. DAVID MALAN: اینڈی، یہ آپ کو دیکھنے کے لئے اچھا ہے. نمبر 3. یعقوب: یعقوب. DAVID MALAN: یعقوب، نمبر 4. جہاز میں خوش آمدید. گرانٹ: گرانٹ. DAVID MALAN: گرانٹ. نمبر 5. ALANNA: Alanna. DAVID MALAN: Alanna، نمبر 6. فرانسس: فرانسس. DAVID MALAN: فرانسس، نمبر 7. اور؟ راہیل: راہیل. DAVID MALAN: راہیل، نمبر 8. ٹھیک ہے. آگے بڑھو اور اس کے لئے میں اپنے آپ کو حاصل. مجھے باقی ایک ڈال دو موسیقی جگہ میں کھڑے. جہاں آپ ایک موقف کی ضرورت ہے؟ ٹھیک ہے. آگے بڑھو اور صرف آپ کی تعداد ڈال دیا جہاں سامعین ان پر دیکھ سکتے ہیں، موسیقی ظاہری سامنا کھڑے. اور امید ہے کہ، ہمارے پہلے وویک چیک یہاں 4، 2، 6. اوہ اوہ. ایک منٹ رکو. ہم ایک 8 کی ضرورت نہیں ہے. میں سے آپ کو بے دخل کرنے کی ضرورت ہے کسی نہ کسی طرح مثال کے طور پر. نمبر نہیں، یہ ٹھیک ہے. چلو دیکھتے ہیں. ہم ایسا کر سکتے ہیں. کی طرف سے کھڑے ہو جاؤ. ہم وہاں جا رہے. صحیح. ٹھیک ہے. تو، اب ہم 8، 1، 3 7، 5 ہے. ٹھیک ہے. بہترین. تو ہاتھ میں سوال پر، ہے کیا لاگت، اور جو طریقہ کار کے ذریعے، ہم اصل میں یہاں ان کی تعداد کو حل کر سکتے ہیں ہم اس قسم کی پیچھے کی طرف کام کر سکتے ہیں تا کہ، بالآخر، اور decide-- یہ واقعی ہے متاثر کن، یہ واقعی موثر ہے، میں تقسیم کر سکتے ہیں اور ایک فون کی کتاب فتح؟ یہ کہ واقعی موثر ہے میں تقسیم اور فتح کر سکتے ہیں ان ڈیجیٹل ٹکڑے ٹکڑے بورڈ پر کاغذ کی، یہ ہم لاگت جا رہا ہے ہو سکتا ہے تو وقت یا توانائی یا CPU سائیکل میں خوش قسمتی اصل میں ہمارے اعداد و شمار حاصل کرنے کے لئے کچھ کے مطابق ترتیب میں؟ تو یہ سوال پوچھنا ہے. تو پہلا دور، ان کی تعداد ہے بہت بے ترتیب ترتیب میں، اور میں تجویز کرنے جا رہا ہوں ایک الگورتھم، یا عمل جس سے ہم ان لوگوں کو حل کر سکتے ہیں. میں رجوع کرنے کے لئے جا رہا ہوں اس خوبصورت naively کا خیال. اور میں تسلیم کرنے کے لئے جا رہا ہوں یہ میرے لئے ایک بہت کی طرح ہے کہ کے ارد گرد میرے ذہن لپیٹ پورے اعداد و شمار پر ایک بار مقرر. لیکن کیا آپ جانتے ہیں؟ میں کچھ کرنے کے لئے جا رہا ہوں بہت آسان معمولی اصلاحات. 4 اور 2 تو، حکم سے باہر ہیں مقصد سے 8 پر 1 سے جانے کے لئے ہے. تو آپ کیا جانتے ہیں؟ میں آپ کے پاس جا رہا ہوں آپ کو سوئچ تو لوگ، تبادلہ جسمانی طور پر پوزیشن اور کاغذ کے ٹکڑوں. اب 4 اور 6، ان کے حکم میں ہیں. میں ان ہو چھوڑنے کے لئے جا رہا ہوں. 6 اور 8، ان کے حکم میں ہیں. انہیں چھوڑ کر جا. حکم سے باہر 8 and1،. آپ کو دو گماگمن کوئی اعتراض نہیں ہوگا. اب 8 اور 3، تم لوگ تبادلہ کر سکتا ہے تو. 8 اور 7، تم لوگوں کو تبادلہ کر سکتا ہے تو. اور 8 اور 5، تم لوگوں کو تبادلہ کر سکتا ہے تو. اب، میں کیا ہوں؟ نہیں، ظاہر ہے نہیں. لیکن میں نے کر دیا ہے بہتر صورت حال، ہے نا؟ تمہارا نام کیا تھا، 8 نمبر؟ راہیل: راہیل. DAVID MALAN: تو راہیل ہے مؤثر طریقے سے بہت دور تک سے bubbled، کے آخر میں تمام طریقہ یہاں کی تعداد کے اپنے صف. اور اس طرح اس مسئلہ قسم کے حل ہے. اب، واضح طور پر، 2 اب بھی کرنے کی ضرورت ہے تھوڑا سا کو منتقل، اور 4 اور 6 اور 1. لیکن میں نے ایک ملا ہے لگ رہے ہو حل کے قریب چھوٹی. تو اس کی ایک ہی درخواست دے دو پھر بولی heuristic. 2 اور 4، ٹھیک ہے. 4 اور 6، ٹھیک ہے. 6 اور 1، ملی میٹر ملی میٹر. کے تبادلہ کریں. 6 اور 3، ملی میٹر ملی میٹر. کے تبادلہ کریں. 6 اور 7 ٹھیک ہے. 7 اور 5، نہیں. کے تبادلہ کریں. اور اب 7 اور 8. اور تمہارا نام کیا ہے پھر؟ فرانسس: فرانسس. DAVID MALAN: فرانسس. تو اب فرانسس بھی بہتر ہے پوزیشن، اب 7 اور 8 کیونکہ درست طریقے سے سب سے اوپر سے bubbled رہے ہیں. تو 2 اور 4، ٹھیک ہے. 4 اور 1، چلو سویپ. 4 اور 3، چلو سویپ. 4 اور 6، تم ٹھیک ہو. 6 اور 5، چلو سویپ. اور اب وہ لوگ اچھے ہیں. ہم وہاں تقریبا رہے ہیں. 2 اور 1، حکم سے باہر، تو سویپ. اور اب مجھے ایک وویک چیک کرتے ہیں. 2 اور 3، 3 اور 4، 4 اور 5، 5 اور 6، 6 اور 7، 8. ٹھیک ہے، تو ہم کیا کر رہے ہیں. لیکن کیا میں قیمت میں نے کیا یہاں ان کی تعداد الگ الگ؟ ویسے، کس طرح بہت سے اقدامات ممکنہ طور پر میں نے کیا ان لوگوں چھانٹ رہا ہے جب لے؟ ٹھیک ہے، ہم واپس اس سوال آ جائیں گے. لیکن، واضح طور سے، آپ کو مل گیا ہے تو ایک چھوٹا سا بور، ہے کی قسم یہ نہیں تھا کہ میں انکشاف شاید سب سے زیادہ موثر الگورتھم. اور یقینا، واضح طور سے، میں پسینہ آ رہا ہوں سب سے زیادہ آگے اور پیچھے چل. یہ خاص طور پر موثر محسوس نہیں کیا. تو کچھ اور کرنے کی کوشش کریں. تم لوگوں کو ری سیٹ کر سکتے ہیں ان آٹھ اقدار کو اپنے. اچھا کام. صرف کے لئے، ڈیجیٹل ایک نظر ڈالیں ایک لمحے ہم کچھ کرنے کی کوشش کرنے سے پہلے صرف کیا ہوا. یہاں، آپ کو ایک کو دیکھنے کے لئے کے بارے میں ہیں ان آٹھ انسانوں کے تصور جس نیلے اور سرخ سلاخوں تعداد کی نمائندگی. طویل بار، تعداد بڑی. کم بار، تعداد چھوٹے. اور کیا آپ کو دیکھنے کے لئے جا رہے ہیں میں ہے ان میں سے آٹھ کے مقابلے میں زیادہ بے ترتیب ترتیب. آپ ان سلاخوں کو دیکھنے کے لئے جا رہے ہیں کہ اسی الگورتھم کی طرف سے کے مطابق ہو رہی ہے، یا، ہدایات کی قائم کی جس ہم بلبلا طرح اب میں فون کروں گا. تو، دوسرے یا تو ہر، نوٹس دو بار، سرخ رنگ میں روشنی کر رہے ہیں کمپیوٹر کی طرف سے مقابلے میں کیا جا رہا ہے. اور اگر تو بڑا بار اور تھوڑا بار، حکم سے باہر ہیں وہ میرے لئے تبدیل کیا جا رہا ہے. اب یہ ناقابل یقین حد تک تکاؤ ہے یقینی طور پر، اس کو دیکھنے کے لئے، بہت دیر تک، لیکن نوٹس ، درست کرنے کے لئے آگے بڑھ رہے ہیں بڑے سلاخوں takeaway-- بائیں منتقل تھوڑا سلاخوں. اس عمل کو گرا دو اور اس کی رفتار تیز بہت تیزی سے ہو، تو ہم کر سکتے ہیں کی ایک اعلی سطح کے احساس حاصل، یقینا، بلبلا طرح کر رہا ہے. بے شک، یہ تک bubbling ہے فہرست کے دائیں ہاتھ کی طرف، یا صف، بڑا سلاخوں کے. اور اس کے برعکس، بہت کم بار ہیں بائیں طرف کے نیچے ان کے راستے سے bubbling، ایک تیز رفتار سے ہی سہی سے ہم نے پہلے کیا تھا. تو، مشکل انسانوں کے ساتھ دیکھنے کے لئے، لیکن ضعف کہ واقعی کیا ہے کیا ہو رہا تھا. لیکن بنیادی طور پر ایک کی کوشش کریں اب مختلف نقطہ نظر. کی ایک مختلف کوشش کرتے ہیں الگورتھم ہم آپ کے پاس ہے جس کے تحت لوگ ان اصل میں شروع اس آرڈر یہاں تھا جس کی پوزیشنوں،. اور اب آگے بڑھو. اور میں کچھ کرنے کے لئے جا رہا ہوں بھی آسان، ہے نا؟ ماضی میں، پھر pairwise گماگمن اور پھر، تقریبا ایک چھوٹا سا ہوشیار. ، سے بھی زیادہ naively سے باتیں کرتے ہیں جہاں میں ان لوگوں کو الگ الگ کرنا چاہتے ہیں تو، مجھے صرف تلاش رکھنے سب سے چھوٹی عنصر کے لئے. تو اب، 4 ہے میں نے دیکھا ہے سب سے چھوٹی تعداد. مجھے یاد ہے کہ میں جا رہا ہوں. نہیں، 2 بہتر ہے، اور یاد رکھیں کہ. 1 بھی چھوٹا ہے. 3، 7، 5. ٹھیک ہے. One-- تمہارا نام کیا ہے؟ آرٹی: آرٹی. DAVID MALAN: آرٹی. تو، آرٹی، آگے بڑھو. میں لائن سے باہر ھیںچو کرنے کے لئے جا رہا ہوں. آپ یہاں واپس آ سکتا ہے. اور میں اس کے لئے کمرے بنانے کے لئے کی ضرورت ہے. ہم یہاں ایک فیصلہ نقطہ ہے. ہم یہاں آرٹی لئے کمرے بنانے کے کر سکتے ہیں کس طرح نمبر 1 سے تعلق رکھتا ہے جہاں شروع میں؟ سامعین: شفٹ. DAVID MALAN: ٹھیک ہے، ہم سب کو تبدیل کر سکتے ہیں. لیکن ایک اصلاح تجویز. یہ ایک چھوٹا سا پریشان محسوس ہوتا ہے مجھے چار لوگوں سے پوچھنا کرنے کے لئے نیچے تمام طرح منتقل کرنے کے لئے. میں اور کیا کر سکتا ہے؟ سامعین: ان کے سوئچ. DAVID MALAN: ان کے سوئچ. اور تمہارا نام کیا ہے پھر؟ یعقوب: یعقوب. DAVID MALAN: یعقوب، منتقل. بہت زیادہ موثر صرف کرنے کے لئے آرٹی کے ساتھ یعقوب سویپ مقامات، مجبور کی مخالفت ان لوگوں کے تمام چار، کرنے کے لئے، آپ کا بہت بہت شکریہ ان کی صحیح پوزیشن. اب کیا آرٹی کے بارے میں اچھی بات ہے، انہوں نے ان کی صحیح پوزیشن میں ہے. پھر ایسا کرتے ہیں. 2، کہ میں نے دیکھا ہے سب سے چھوٹی تعداد ہے. 3، 7، 5. ٹھیک ہے. 2 ضرور سب سے چھوٹی ہے. کسی بھی کام کرنے کے لئے نہیں ہے. اسے دوبارہ کرتے ہیں. 6. سب سے چھوٹا؟ 8. نہیں. 4؟ ؤہ. 4 مجھے یاد. 3. مجھے 3 یاد. 7، 5. میں نے سب سے چھوٹی تعداد یہ پاس دیکھا ہے 3. آپ باہر آیا تھا تو. ہم کہاں آپ کو ڈال کرنے کے لئے جا رہے ہیں؟ اور تمہارا نام کیا ہے؟ ALANNA: Alanna. DAVID MALAN: Alanna، ہم ہیں آپ کو بے دخل کرنے کے لئے جا. لیکن اس کے، زیادہ موثر ہے صرف دو لوگوں تبادلہ کرنے کے لئے، ایک سے زیادہ لوگوں کے مقابلے میں اصل میں زیادہ sidestep کے. اب ایک بار پھر اس کے کیا. میں 4 منتخب، تو باہر آنے کے لئے جا رہا ہوں. اور جو منتقل کرنے کے لئے جا رہا ہے؟ نمبر 8، کورس کے. اب میں نمبر 5 ہے، تو باہر آئے. نمبر 8 دوبارہ بے دخل کرنے کے لئے جا رہا ہے. میں اب جگہ میں 6 نمبر تلاش کرنے کے لئے جا رہا ہوں. جگہ میں 7. جگہ میں 8. کیا ہم ابھی کیا ہے انتخاب کی طرح کہا جاتا ہے کچھ، ہم اس کو دیکھ تو، یہ ہے ایک چھوٹا سا مختلف محسوس کرنے کے لئے جا. آگے اور اس سے جانے دو مینو یہاں، اس visualization-- کی، فائر فاکس پر آئے to-- اس کو تبدیل. سلیکشن طرح تبدیل. اور کے طور پر اس سے پہلے اس کی رفتار تیز کرتے ہیں، اور اب تصور شروع. اور یہ الگورتھم ہے اس کے لئے ایک مختلف احساس. ہر iteration پر، واضح طور سے، اس سے بھی زیادہ براہ راست ہے. میں صرف سب سے چھوٹی عنصر منتخب کر رہا ہوں. اب، واضح طور سے، میں سمجھتا ہوں کہ ایک چھوٹا سا خوش قسمت ہے وقت، کہ میں اس انتہائی تیز رفتار کے مطابق. عناصر بے ترتیب تھے. یہ ہم آخر میں کریں گے، نہیں ہے بنیادی طور پر تیزی، دیکھیں. لیکن ایک تیسرا اور آخری دیکھتے ہیں کیا چل رہا ہے کے طور پر یہاں سے رجوع. تو آگے بڑھو اور آپ لوگ ری سیٹ ایک آخری وقت یہاں اس ترتیب میں ہونا. اور اب، میں جا رہا ہوں ، ایک چھوٹا سا زیادہ ہوشیار ہو صرف ہماری الگورتھم باہر منہاج القرآن کے. میں ایسا کرنے جا رہا ہوں. میں نہیں جا رہا ہوں آگے اور پیچھے اتنا. سچ کہوں تو، میں تک گیا ہوں یہ سب طے کرنا. میں صرف میں ہوں کیا لے جا رہا ہوں فہرست کے شروع میں دیا، اور میں حل کرنے کے لئے جا رہا ہوں کہ اور پھر وہاں. تو ہم یہاں ہیں. نمبر 4. میں تعداد کو شامل کرنے کے لئے جا رہا ہوں کے مطابق فہرست میں 4. کیا. اب میں دعوی کرتے ہیں، اور صرف اس سے زیادہ بنانے کے لئے واضح، میری فہرست کے اس حصے کے مطابق ہے. یہ ایک پاگل کے دعوی کی طرح ہے، لیکن یقینا 4 سائز میں سے ایک کی ایک فہرست کے مطابق ہے. اب، میں نمبر 2 پر لینے کے لئے جا رہا ہوں. نمبر 2 میں اب جا رہا ہوں صحیح جگہ میں داخل. تو جہاں 2 کا تعلق ہے؟ ظاہر ہے، یہاں پر. لہذا آگے بڑھیں اور اگر آپ کر سکتے، واپس منتقل. اور کیوں نہیں آپ لوگ صرف لیتے ہیں آپ کی موسیقی کے لئے آپ کے ساتھ اس وقت کھڑا ہے. اور زبردستی چلو آپ داخل فہرست کے آغاز میں. تو تھوڑا زیادہ کام. میں، کے ارد گرد یعقوب منتقل کرنا پڑا اور آپ کا نام کیا ہے؟ AMIN: امین. DAVID MALAN: امین. لیکن کم از کم میں آگے اور پیچھے نہیں جانا تھا. میں جا کے طور پر میں صرف چیزوں کو لے جا رہا ہوں. میں صرف ان کے داخل ہوں صحیح جگہ میں. 6، یہ اصل میں بہت آسان ہے. اگر آپ کی، وہاں آپ کو داخل کریں صرف تھوڑا سا پر منتقل کرنے کے لئے چاہتا تھا. نمبر 8، بھی بہت آسان. وہاں پر. ارے. نمبر 1 کو چیک نہیں کر سکتے ہیں یہاں امین کے ساتھ تبادلہ، اس کی وجہ جا رہا ہے گندگی کو آرڈر کرنے کے لئے. تو ہم نے ایک چھوٹا سا زیادہ ہوشیار ہونا پڑے گا. تو، آرٹی، تو آپ کر سکتے تھے ایک لمحے کے لئے واپس. ، آگے بڑھو اور اب منتقل ہمارے گزشتہ یلگوردمز کے برعکس، آرٹی کے لئے کمرے بنانے کے لئے یہاں شروع میں. دن کے آخر میں، تو میں اس قسم کی ہوں میں نے پہلے سے بچنے کے لئے کرنا چاہتا تھا کیا کر. اور تو میری الگورتھم طرح ہے کے، ذہنی، الٹا یہ اصل میں کیا تھا سے. میں صرف منتقل کر رہا ہوں ایک مختلف نقطہ پر. اب میں 3 میں ہوں. لات، اوہ. ہم پھر مزید کام کرنا ہے. تو آپ کو دھکا. چلو 8، 6، 4-- oh-- اوہ، اور 3 وہیں جا رہا ہے. اس وقت کم از کم معمولی بچت میں تو. 7، نہیں بہت زیادہ کام کیا جائے. آپ پاپ کرنا چاہتے ہیں تو واپس، آپ داخل کریں. اور آخر میں، 5، اگر آپ واپس پاپ کرنا چاہتے ہیں، ہم ، آپ کو منتقل کرنے کے لئے آپ کی ضرورت ہے، پانچ جب تک آپ، جگہ میں ہے. تو اب ایک میں اس کو دیکھنے کے لئے گراف اعلی سطح، اس الگورتھم کرتے ہیں تصور ایک اضافی وقت. تو یہ ہم اندراج کی طرح کہیں گے. ہم صرف کے طور پر اسے چلانے دونگا تیزی سے، اور یہاں یہ شروع. اور یہ، بھی، ایک مختلف احساس ہے. اس طرح کی بہتر ہو رہی ہے اور بہتر، لیکن یہ کامل نہیں ہے میں ان کمیوں میں اور ہموار جب تک. کیونکہ، ایک بار پھر، میں نے صرف لے جا رہا ہوں کیا میں بائیں سے دائیں کرنے کے لئے دیا جا رہا ہے. تو میں بہت خوش قسمت نہیں مل سکا کہ سب کچھ کامل تھا. ہم ان چھوٹی تھی یہی وجہ ہے کہ ہم وقت کے ساتھ طے ہے کہ mispositions. تو ان یلگوردمز کی سب کے لئے لگ رہے ہو تھوڑا سا مختلف تیزی آسکے پر چلانے کے. اصل میں، جو آپ کو ہے کا کہنا ہے کہ سب سے بہتر یا اب تک سب سے تیز رفتار؟ بلبلا طرح، سب سے پہلے؟ سلیکشن طرح، دوسرے؟ اندراج کی طرح، تیسرے؟ میں کچھ انتخاب طرح سنا. دیگر خیالات؟ تو یہ پتہ چلا ہے کہ ان یلگوردمز کی سب کے طور پر بنیادی طور پر صرف کے طور پر موثر ہیں بس کے طور پر، اس کے برعکس، ایک دوسرے یا ایک دوسرے کے طور پر غیر فعال، ہم بنیادی طور پر کر سکتے ہیں کی وجہ سے تینوں سے بہتر ان یلگوردمز کی. اور یہ کہ ایک سفید جھوٹ کے تھوڑا سا بھی، ہے. میں کے طور پر موثر کہنا ہے کہ جب یا غیر فعال کے طور پر، کہ کم از کم کے لئے ہے (ن) کے سپر بڑی اقدار. ہم یہاں صرف آٹھ افراد ہے تو، یا شاید سکرین پر 50 یا اس سلاخوں کے، آپ بالکل اختلافات محسوس کریں گے ان تین الگورتھم میں. لیکن (ن) کے طور پر، لوگوں کی تعداد، یا تعداد کی تعداد، یا فون میں لوگوں کی تعداد کتاب، یا ویب کے صفحات کی تعداد گوگل کے ڈیٹا بیس میں ، بڑا اور بڑا ہو جاتا ہے ہم دیکھیں گے کہ ان تینوں الگورتھم اصل میں بہت غریب ہیں. اور ہم نے بنیادی طور پر کر سکتے ہیں اس سے بہتر. ، آخر، ایک نظر ڈالیں کیا ان یلگوردمز شاید میں میں کی طرح آواز کچھ دوسروں کے تناظر کے ساتھ ساتھ اس کی راہ کی طرف یہاں تصور اس سے ہمیں متعارف کرائے گا الگورتھم کی ایک بڑی تعداد. چلو آگے بڑھو اور کو مبارکباد دو جن میں سے سب یہاں ہمارے شرکاء، بہت اچھی طرح سے خود کو حل. آپ کو ایک ودائی تحفہ لینے کے لئے چاہتے ہیں تو. آپ کے ساتھ ساتھ آپ کی تعداد کو برقرار رکھنے کے کر سکتے ہیں. اور آپ کو کیا دیکھیں گے، یا بلکہ، اب، سن ہے کہ ہم آواز ڈال کے طور پر ان سلاخوں کے میں سے ہر ایک اور، سافٹ ویئر کے ساتھ منسلک آواز کی مختلف تعدد، آپ کے دماغ کو زیادہ audioly لپیٹ کر سکتے ہیں ان چیزوں میں سے ہر ایک کے ارد گرد کی طرح نظر آتے. جس کا پہلا اندراج کی طرح ہے [ٹن] یہ بلبلا طرح ہے. [ٹن] سلیکشن طرح. [ٹن] ضم طرح کہا جاتا ہے کچھ. [ٹن] GNOME ترتیب. [ٹن] یہ CS50 کے لئے ہے. ہم آپ کو بدھ کو دیکھیں گے. راوی: اور اب، "گہرے Daven Farnham کی طرف سے خیالات، ". کیوں یہ ایک لوپ کے لئے ہے؟ کیوں نہیں اسے بہتر بنانے کے؟ میں ایک پانچ لوپ بنا تھا. [ہنسی]