[موسیقی بجانے] DAVID MALAN: ٹھیک ہے. ٹھیک ہے، پھر سے خوش آمدید. تو یہ، آغاز ہفتہ 4 ہے اس کے پہلے ہی. اور تم کہ گزشتہ ہفتے یاد گے، ہم ڈال صرف تھوڑا سا ایک طرف کے لئے کوڈ اور ہم تھوڑا زیادہ ہی بولنے لگی جیسے اعلی سطح کے، کے بارے چیزیں جو اگرچہ، تلاش اور چھانٹ رہا ہے کسی حد تک سادہ نظریات کی، ہیں مسائل کی ایک کلاس کے نمائندے آپ کو خاص طور پر حل کرنے کے لئے شروع ہو جائے گا آپ کو حتمی بارے میں سوچنا شروع کے طور پر منصوبوں اور دلچسپ حل آپ حقیقی دنیا کے مسائل پر ہو سکتا ہے. اب بلبلا طرح سادہ ترین میں سے ایک تھا اس طرح کے الگورتھم، اور یہ ان چھوٹے تعداد میں ہونے کی طرف سے کام کیا ایک فہرست میں یا ایک سرنی قسم کے میں اپ سب سے اوپر بلبلا ان کا راستہ، اور بڑی تعداد میں ان کے راستے کو نیچے لے اس فہرست کے آخر میں. اور ہم دیکھ سکتے ہیں یاد بلبلا طرح تھوڑا سا کچھ اس طرح. تو مجھے آگے بڑھو اور شروع کریں پر کلک کریں ہیں. میں بلبلا ترتیب دیں preselected ہے. اور تم یاد ہو کہ طویل نیلے لائنز چھوٹی، بڑی تعداد کی نمائندگی کرتے ہیں نیلے رنگ کی لائنوں کے طور پر، چھوٹے تعداد کی نمائندگی کرتے ہیں ہم بار بار اس کے ذریعے جاؤ اور ایک بار پھر، ہر ایک کے لئے اگلے دو بار موازنہ سرخ رنگ میں دوسرے، ہم تبادلہ کرنے کے لئے جا رہے ہیں سب سے بڑا اور سب سے چھوٹا تو وہ حکم سے باہر ہیں. اس پر جاؤ اور جاؤ اور جائیں گے تو پر، اور آپ کہ بڑا نظر آئے گا عناصر کو ان کے راستے بنا رہے ہیں حق، اور چھوٹے عناصر ہیں بائیں طرف ان کے راستے بنانے کے. لیکن ہم quantify کرنے لگے کارکردگی، اس الگورتھم کے معیار. اور ہم نے کہا کہ بدترین میں کیس، اس الگورتھم لیا تقریبا کتنے قدم؟ تو ن مربع. اور (ن) کیا تھا؟ سامعین: عناصر کی تعداد. DAVID MALAN: تو (ن) تھی عناصر کی تعداد. اور اس طرح ہم اکثر یہ کروں گا. ہم سائز کے بارے میں بات کرنا چاہتا ہوں کسی بھی وقت ایک مسئلہ یا ایک کے سائز کی ان پٹ، یا یہ لیتا ہے وقت کی رقم آؤٹ پٹ پیدا کرنے کے لئے، ہم صرف کروں گا عام جو بھی ان پٹ (ن) کے طور پر ہے. تو واپس ہفتے 0 میں، تعداد کے صفحات فون بک میں ن تھا. طلباء کی تعداد کمرے میں ن کیا گیا تھا. تو یہاں بھی ہم پیروی کر رہے ہیں کہ پیٹرن. اب ن مربع خاص طور پر نہیں ہے تیزی سے، تو ہم بہتر کرنے کی کوشش کی. اور اس طرح ہم کے ایک جوڑے کی طرف دیکھا دیگر الگورتھم، جس کے درمیان انتخاب طرح تھے. تھا انتخاب ترتیب دیں تو تھوڑا مختلف. یہ تقریبا آسان تھا، میں کہنے کی جرات، میں کے آغاز میں شروع کر دیا جس کے تحت ہمارے رضاکاروں کی فہرست اور میں صرف ایک بار پھر اور بار بار کے ذریعے چلا گیا سب سے چھوٹی باہر توڑ فہرست، ایک وقت میں عنصر اور یا اسے ڈال اس فہرست کے آغاز میں. لیکن یہ، بھی، ایک بار ہم نے سوچنا شروع کر دیا ریاضی اور بڑے کے ذریعے تصویر، کتنی بار کے بارے میں سوچا میں آگے اور پیچھے پیچھے جا کر اور کیا گیا تھا اور آگے، ہم، بدترین کیس میں کہا ہے کہ ترتیب دیں انتخاب بھی کیا تھا؟ ن مربع. اب حقیقی دنیا میں، یہ شاید اصل میں معمولی تیزی سے ہو. ایک بار پھر، کیونکہ میں رکھنے کے لئے کی ضرورت نہیں تھی میں نے حل کیا تھا ایک بار backtracking سب سے چھوٹی عناصر. لیکن ہم نے بہت بڑی (ن) کے بارے میں سوچنا، اور اگر تم قسم کی ریاضی کے طور پر باہر کرتے ہیں تو میں (ن) کے مربع کے ساتھ بورڈ پر کیا مائنس کچھ، سب کچھ ن مربع، ایک بار (ن) کے علاوہ واقعی میں بڑی ہو جاتا ہے، نہیں کرتا واقعی جتنا فرق. تو کمپیوٹر سائنسدانوں کے طور پر، ہم قسم چھوٹے کو نظر باری عوامل اور صرف عنصر پر توجہ مرکوز میں بنانے کے لئے جا رہا ہے کہ ایک اظہار سب سے بڑا فرق ہے. ٹھیک ہے، آخر میں، ہم نے دیکھا اندراج کی ترتیب میں. اور اس کی روح یہی تھا، لیکن iteratively کے ذریعے جاؤ اور بجائے ایک میں سب سے چھوٹا عنصر ایک کو منتخب کریں وقت، میں بجائے ہاتھ لیا کہ میں تمام، نمٹا، اور میں نے فیصلہ کیا گیا ٹھیک ہے، تم یہاں سے تعلق رکھتے ہیں. پھر میں نے اگلے عنصر پر منتقل کر دیا گیا اور فیصلہ کیا ہے کہ وہ یا وہ یہاں سے تعلق رکھتے تھے. اور پھر میں اور پر منتقل ہو گیا. اور میں، راستے میں، پر شاید کرنے کے لئے ان لوگوں کو منتقل ان کے لیے جگہ بنائی جا سکے. تاکہ ذہنی پلٹنے کی طرح تھا انتخاب طرح کی ہے کہ ہم اندراج کی طرح سے ملاقات کی. تو پائے جاتے ہیں پر ان موضوعات حقیقی دنیا میں. صرف چند سال پہلے، جب ایک مخصوص سینیٹر، صدر کے لئے دوڑ رہا تھا Eric Schmidt کے، کے وقت کے سی ای او گوگل، اصل میں موقع ملا اس کا انٹرویو کرنے کے لئے. اور ہم یہ YouTube اشتراک سوچا ہم کو تبدیل کر سکتے ہیں، تو یہاں آپ کے لئے کلپس حجم. [ویڈیو پلے بیک] اب، سینیٹر، آپ، گوگل میں یہاں ہو اور میں ایوان صدر کے بارے میں سوچنا اچھا لگتا ہے ایک کام کے انٹرویو کے طور پر. [ہنسی] اب اسے حاصل کرنے کے لئے مشکل ہے صدر کے طور پر ایک کام. اور آپ کے ذریعے جا رہے ہیں اب نٹھرتا. یہ گوگل میں ملازمت حاصل کرنے کے لئے بھی مشکل ہے. ہم سوال ہے اور ہم سے دعا گو ہیں ہمارے امیدواروں سوال. اور یہ ایک لیری Schwimmer سے ہے. [ہنسی] -تم لوگوں میں مذاق کر رہا ہوں؟ یہ یہیں پر ہے. کرنے کے لئے سب سے زیادہ موثر طریقہ کیا ہے ایک ملین دو بٹ ​​integers حل؟ [ہنسی] -اہ - -I'm افسوس ہے. شاید ہمیں چاہئے - -نہیں، نہیں، نہیں، نہیں، نہیں. -یہ ایک نہیں ہے - ٹھیک ہے. میں بلبلا ترتیب دیں گے جانے کے لئے غلط طریقے سے ہو. [ہنسی] [اتساہی اور تعریف] اس سے کس طرح کہا، پر آو؟ ٹھیک ہے. [END ویڈیو پلے بیک] DAVID MALAN: تو وہاں آپ کو یہ کرنا ہے. تو ہم نے ان کو چلانے quantify کرنے لگے اوقات، تو کچھ کے ساتھ، بات کرنے کے لئے ہے جو asymptotic سنکیتن، سے ملاقات کی صرف رخ ہماری طرح کا حوالہ دیتے ہوئے ایک اندھے لوگ چھوٹے عوامل آنکھ اور صرف رننگ ٹائم کی طرف دیکھ، ان یلگوردمز کی کارکردگی، (ن) وقت کے ساتھ واقعی میں بڑی ہو جاتا ہے کے طور پر. اور اس طرح ہم بڑی او اور بڑے اے متعارف ہم نے سوچا کہ اس کی نمائندگی کچھ ایک اوپری جانے کے طور پر کی. اور اصل میں، بیری، ہم کم کر سکتے ہیں مائک تھوڑا سا کے مقابلے میں؟ ہم نے اس کو ایک اوپری پابند ہے کے بارے میں سوچا. ن مربع ذرائع اتنی بڑی اے میں بدترین کیس کی طرح کچھ انتخاب طرح لے جائے گا مربع اقدامات ن. اندراج کی طرح کی طرح یا کچھ اور ن مربع اقدامات کرے گا. اب اندراج کی طرح کسی چیز کے لئے ترتیب دیں، بدترین کیس میں کیا تھا؟ ایک سرنی کو دیکھتے ہوئے، کیا سب سے برا ہے آپ کو تلاش کر سکتے ہیں جو کہ ممکنہ منظر نامے اپنے آپ کے ساتھ کا سامنا کرنا پڑا؟ یہ درست ہے، مکمل طور پر پیچھے کی طرف ہے؟ یہ مکمل طور پر پیچھے کی طرف ہے کیونکہ اگر آپ کام کی ایک پوری بہت کچھ کرنا ہے. کیونکہ آپ کو مکمل طور پر پیچھے کی طرف ہو، آپ کو تلاش کرنے کے لئے جا رہے ہیں یہاں سب سے بڑا عنصر، اگرچہ یہ وہاں ہے. تو کیا تم میں کہنا ٹھیک جا رہے ہیں وقت میں اس لمحے، آپ، یہاں سے تعلق رکھتے ہیں تو کیا تم اکیلے ہی چھوڑ دیں. تو پھر تم، اوہ، احساس لات، میں پڑے یہ قدرے چھوٹے عنصر منتقل آپ کے بائیں. پھر میں نے دوبارہ ایسا کرنے کی ضرورت اور بار بار. اور میں آگے پیچھے چلا گیا، تو آپ کی کارکردگی محسوس کی طرح کرے گا اس الگورتھم، کیونکہ مسلسل میں ہوں میں ہر کسی کے shuffling اس کے لئے کمرے بنانے کے لئے سرنی. تو وہ بدترین ہے. کے برعکس - اور یہ آخری بار ایک cliffhanger تھا - ہم نے کہا کہ اندراج ترتیب دیں کیا ایک اومیگا تھا؟ سب سے مقدمہ چلانے کیا ہے اندراج کی ترتیب کے وقت؟ تو یہ اصل میں (ن) ہے. کہ ہم کو چھوڑ دیا کہ خالی تھا بورڈ پر آخری بار. اور یہ (ن) کے اومیگا کیوں کی وجہ سے ہے؟ ٹھیک ہے، بہت بہترین صورت میں، کیا ہے اندراج کی ترتیب کے حوالے کیا جا رہا؟ مکمل طور پر حل ہے کہ ٹھیک ہے، ایک فہرست پہلے ہی ایسا کرنے کی کم سے کم کام کرتے ہیں. لیکن کس طرح اندراج کے بارے میں صاف ہے یہاں سے شروع ہوتا ہے اور اس کی وجہ یہ ہے کہ فیصلہ کرتا ہے، اوہ، تم تعداد میں ہیں ایک، آپ یہاں سے تعلق رکھتے ہیں. اوہ، کتنا خوش قسمتی. آپ کو نمبر دو ہیں. تم بھی یہاں سے تعلق رکھتے ہیں. بھی بہتر نمبر تین،، آپ یہاں سے تعلق رکھتے ہیں. اس کے آخر تک ہو جاتا ہے جیسے ہی کے طور پر فہرست فی اندراج کی قسم کی pseudocode ہم زبانی کے ذریعے چلتا ہے کہ آخری بار، یہ ہو چکا ہے. لیکن انتخاب ترتیب دیں، اس کے برعکس کی طرف سے، کیا کر رکھا ہے؟ رکھا فہرست سے گزر رہا بار بار بار. کلیدی بصیرت صرف وہاں تھا کیونکہ آپ کو پوری طرح دیکھ لیا ایک بار فہرست کے آخر میں آپ کو کچھ ہو سکتا ہے آپ کے منتخب کردہ عنصر تھا کہ بے شک اس وقت سب سے چھوٹی عنصر. ان مختلف ذہنی ماڈل آخر تو کچھ بہت حقیقی دنیا اپج اپ ہمارے لئے اختلافات، اسی طرح ان نظریاتی اختلافات asymptotic. تو صرف (ن) کے بڑے اے، تو، recap پر مربع، ہم کچھ اس طرح دیکھا ہے اس طرح اب تک یلگوردمز. (ن) کے بڑے اے؟ کہ سکتا ہے ایک الگورتھم کیا ہے (ن) کے بڑے اے ہونے کے لئے کہا جا سکتا ہے؟ بدترین صورت میں، یہ لیتا ہے اقدامات کا ایک لکیری تعداد. ٹھیک ہے، لکیری تلاش. اور سب سے بری صورت میں، جہاں ہے عنصر جب آپ کے لئے تلاش کر رہے ہیں لکیری تلاش کا اطلاق؟ ٹھیک ہے، بدترین کیس میں، یہ وہاں بھی نہیں ہے. یا دوسری بدترین صورت میں، یہ ہے ہے جو آخر میں تمام طریقہ، پلس یا مائنس ایک قدم فرق. تو دن کے آخر میں، ہم اسے لکیری ہے کہہ سکتے ہیں. (ن) کے بڑے اے لکیری تلاش کریں ہو جائے گا، بدترین صورت میں، کیونکہ عنصر بھی وہاں نہیں ہے یا یہ ہے آخر میں پورے راستے. ٹھیک ہے، (ن) کی لاگ ان کی بڑی اے. ہم کے بارے میں بڑی تفصیل سے بات نہیں کی یہ، لیکن ہم نے اس سے پہلے اس کو دیکھا ہے. کیا نام نہاد لوگارتمی میں چلتا ہے وقت، بدترین کیس میں؟ جی ہاں، تو بائنری تلاش. بدترین صورت میں اور بائنری تلاش کہیں میں عنصر ہو سکتا ہے مشرق، یا کہیں صف کے اندر. لیکن آپ کو صرف آپ کو ایک بار اسے تلاش میں، نصف میں فہرست تقسیم نصف، نصف میں، نصف میں. اور پھر voila، یہ وہاں ہے. یا پھر، بدترین کیس، یہ وہاں بھی نہیں ہے. لیکن تم اسے وہاں نہیں ہے نہیں جانتے آپ کو ترتیب دیں کے اس آخری عمر تک halving کی طرف سے سب سے نیچے کی سب سے عناصر اور halving اور halving. 1 بگ اے. تو ہم نے 3 2، بڑی اے کے بڑے اے سکتا. آپ کو صرف ایک مسلسل تعداد چاہتے ہیں کسی بھی وقت، ہم صرف صرف آسان بنانے کی ترتیب اس کی 1 کے بڑے اے کے طور پر. یہاں تک کہ حقیقت پسندانہ، یہ لیتا ہے تو اگرچہ یہ ایک ہے 2 یا اس سے بھی 100 اقدامات، اگر اقدامات کی مسلسل تعداد، ہم صرف 1 کے بڑے اے کا کہنا ہے کہ. ہے کہ ایک الگورتھم کیا ہے 1 کے بڑے اے میں؟ سامعین: لمبائی کی تلاش ایک متغیر کی. DAVID MALAN: تلاش ایک متغیر کی لمبائی؟ سامعین: نہیں، لمبائی یہ پہلے سے ہی حل ہے تو. DAVID MALAN: اچھا. ٹھیک ہے، تو کچھ کی لمبائی کی تلاش تو جیسا کہ کچھ کی لمبائی، ایک صف، کچھ متغیر میں ذخیرہ کیا جاتا ہے. آپ کو صرف، متغیر پڑھ سکتے ہیں کیونکہ یا متغیر پرنٹ، یا صرف عام طور پر جو کہ متغیر تک رسائی حاصل کر. مسلسل وقت لگتا ہے اور voila،. کے برعکس، فیرنا پر واپس لگتا ہے. سی کے پہلے ہفتے میں واپس لگتا ہے، صرف printf بلا اور پرنٹنگ سکرین پر کچھ arguably ہے مسلسل وقت، یہ صرف لیتا ہے کیونکہ ظاہر کرنے کے لئے CPU سائیکل کی کچھ تعداد سکرین پر کہ متن. یا انتظار - یہ کرتا ہے؟ کس طرح کسی اور ہم ماڈل ہو سکتا ہے printf کی کارکردگی؟ کسی کو، اختلاف کرنا چاہوں گا کہ شاید یہ واقعی مستقل وقت نہیں ہے؟ printf چل رہا ہے کر سکتے ہیں کیا معنی میں وقت، اصل میں ایک سٹرنگ پرنٹ سکرین، کچھ مسلسل مقابلے میں دوسرے. سامعین: [اشراوی]. DAVID MALAN: جی ہاں. تو یہ ہمارے نقطہ نظر پر منحصر ہے. ہم واقعی کرنے کے لئے ان پٹ کے بارے میں سوچتے ہیں تو سٹرنگ ہونے کے طور پر printf، اور اس وجہ سے ہم اس کے سائز کی پیمائش اس کی لمبائی کی طرف سے ان پٹ - اس کی فون کرنے دو اس کے ساتھ ساتھ اس کی لمبائی N - arguably، printf خود (ن) کے بڑے اے ہے یہ آپ ن اقدامات کرنے جا رہا ہے کیونکہ ان لوگوں کو (ن) میں سے ہر ایک سے باہر پرنٹ کرنے کے لئے سب سے زیادہ امکان حروف،. کم سے کم ہم فرض کریں کہ اس حد تک شاید یہ لوپ کے لئے ایک کا استعمال کرتے ہوئے ہے ہڈ کے نیچے. لیکن ہم اس پر نظر ڈالیں کرنا پڑے گا یہ بہتر سمجھنے کے لئے کوڈ. اور یقینا، ایک بار آپ لوگ شروع آپ کو آپ کے اپنے الگورتھم گے تجزیہ لفظی صرف ایسا. نےترگولک کی ترتیب اپنے کوڈ اور لگتا ہے کہ کے بارے میں - ٹھیک ہے، میں اس لوپ ہے یہاں یا میں یہاں ایک اندر در اندر loops ہے ن چیزوں ن بار ایسا کرنے کی جا رہی ہے کہ اور آپ کی وجہ سے اپنا راستہ الگ الگ کرسکتے کوڈ کے ذریعے، یہاں تک کہ اگر یہ ہے pseudocode اور نہ اصل کوڈ. تو مربع (ن) کے اومیگا کے بارے میں کیا؟ ایک الگورتھم کیا تھا کہ سب سے بہتر میں مقدمہ اب بھی لیا N مربع اقدامات؟ جی ہاں؟ سامعین: [اشراوی]. DAVID MALAN: تو انتخاب ترتیب دیں. اس مسئلہ میں بہت کم کیونکہ ایک بار پھر، میں نہیں جانتا کہ حقیقت یہ ہے کہ میں جب تک موجودہ سب سے چھوٹی ملا ہے میں نے تمام خوفناک عناصر کی جانچ پڑتال کی ہے. (ن) کا کہنا ہے کہ، کی تو اومیگا، ہم صرف ایک کے ساتھ آئے. اضافے کی ترتیب دیں. فہرست کے مطابق ہو تو پہلے ہی، سب سے بہتر صورت میں ہم صرف ہے اس کے ذریعے ایک پاس کرنے کے لئے، جس میں ہم نے اس بات کا یقین ہو موڑ پر. اور پھر کہا جا سکتا ہے اس بات کا یقین کے لئے، لکیری ہو. 1 اومیگا کے بارے میں کیا؟ سب سے بہترین صورت میں، لگ سکتے ہیں کیا، اقدامات میں سے ایک مسلسل نمبر؟ تو لکیری تلاش کریں، آپ کو صرف خوش ہو جاؤ اگر اور آپ کو تلاش کر رہے ہیں عنصر ، فہرست کے آغاز میں درست ہے آپ اپنے آغاز کر رہے ہیں جہاں کہ اگر اس فہرست کے لکیری traversal. اور یہ ایک کے سچ ہے چیزوں کی تعداد. مثال کے طور پر، یہاں تک کہ بائنری تلاش کریں 1 اومیگا ہے. اگر تم واقعی خوفناک کیا ملے کیونکہ اگر کے وسط میں خوش قسمت اور ذائقہ-dab آپ سرنی نمبر ہے آپ کے لئے تلاش کر رہے ہیں؟ تو کیا تم اس کے ساتھ ساتھ، وہاں خوش قسمت حاصل کر سکتے ہیں. یہ ایک، آخر میں، (ن) لاگ ان (ن) کے اومیگا. تو (ن) لاگ ان (ن)، ہم واقعی نہیں کیا ابھی تک کے بارے میں بات، لیکن - سامعین: طرح ضم؟ DAVID MALAN: ضم ترتیب دیں. یہی وجہ ہے کہ آخری بار کے cliffhanger تھا ہم نے تجویز پیش کی، اور ہم دکھایا جہاں ضعف، یلگوردمز ہیں. اور صرف ایک ایسی طرح ضم بنیادی طور پر تیز تر ہے کہ الگورتھم ان دیگر لوگوں میں سے کچھ سے زیادہ. اصل میں، میں نہ صرف مختصر ہے ضم سب سے زیادہ میں سب سے بہترین کیس N لاگ ان کریں (ن) کیس N لاگ ان کریں ن. اور آپ کا یہ اتفاق ہے جب اومیگا اور بڑے اے ایک ہی بات ہے؟ ہم اصل میں کیا ہے کے طور پر اس کی وضاحت کر سکتے ہیں یہ ہے، تاہم تھیٹا نامی ایک تھوڑا کم عام. لیکن یہ صرف دو حد کا مطلب ہے اس صورت میں، ایک ہی ہیں. تو اس طرح ضم، یہ کیا کرتا ہے ہمارے لئے واقعی نیچے ابلنا؟ ٹھیک ہے، حوصلہ افزائی یاد. مجھے ایک حرکت پذیری کہ ھیںچو کرتے ہیں ہم آخری وقت میں نہیں دیکھا. یہ ایک اسی خیال، لیکن یہ تھوڑا سا بڑا ہے. اور میں آگے بڑھو اور باہر کی طرف اشارہ کرنے جا رہا ہوں سب سے پہلے - ہم پر اندراج قسم ہے سب سے اوپر بائیں، تو پھر انتخاب ترتیب دیں، بلبلا طرح، دوسری قسم کے ایک جوڑے - شیل اور فوری - ہم بات نہیں کی ہے کہ کے بارے میں، اور ڈھیر اور طرح ضم. کم از کم آپ کی آنکھوں پر توجہ مرکوز کرنے کی کوشش کریں تو تو بائیں طرف تین سب سے اوپر اور میں کلک کرنے طرح ضم یہ سبز تیر. لیکن میں صرف کرنے کے لئے، ان سب کو چلانے دونگا آپ کے تنوع کا احساس دے دنیا میں موجود ہیں یلگوردمز. میں اس دوڑ دو کرنے جا رہا ہوں صرف چند سیکنڈ کے لئے. اور تم اپنی آنکھوں توجہ مرکوز اگر - ایک منتخب صرف ایک کے لئے الگورتھم، اس پر توجہ مرکوز پر - آپ کو دیکھنے کے لئے شروع کریں گے اس پر عمل درآمد ہے کہ پیٹرن. ضم طرح، نوٹس، کیا جاتا ہے. ڈھیر طرح، فوری ترتیب، شیل - ہم نے تین سے متعارف کرایا تو یہ لگتا ہے بدترین یلگوردمز گزشتہ ہفتے. لیکن یہ ہم پر آج یہاں اچھا ہے کہ ضم طرح کی طرف دیکھو، جس میں سے ایک ہے آسان والوں کو بھی، پر نظر کرنے کے لئے ہے یہ شاید آپ کے دماغ جھکنا گے صرف تھوڑا سا. یہاں ہم دیکھ سکتے ہیں صرف کتنا انتخاب طرح بیکار ہے. لیکن دوسرا پہلو پر، ہے لاگو کرنے کے لئے بہت آسان. اور ہو سکتا ہے پی سیٹ کریں 3 کے لئے، اس میں سے ایک ہے آپ کو لاگو کرنے کے لئے کا انتخاب کیا یلگوردمز سٹینڈرڈ ایڈیشن کے لئے. بالکل صحیح، بالکل ٹھیک. لیکن پھر (ن) بڑی ہو جاتا ہے کے طور پر، اگر آپ ایک تیزی سے الگورتھم کو لاگو کرنے کا انتخاب کرتے ہیں ترتیب دیں ضم پسند ہے، مشکلات میں بڑے ہیں اور بڑے نیوجیان، اپنے کوڈ کو صرف یہ ہے تیزی سے چلانے کے لئے جا رہے ہیں. آپ کی ویب سائٹ بہتر کام کرنے کے لئے جا رہا ہے. اپنے صارفین کو زیادہ خوش ہونے کے لئے جا رہے ہیں. اور اس طرح ان اثرات موجود ہیں اصل میں دینے کی ہمیں کچھ گہرے سوچا. تو کی ضم کیا پر ایک نظر ڈالیں دو ترتیب دیں سب کے بارے میں اصل ہے. ڈاؤن لوڈ، اتارنا چیز ضم ہے ترتیب دیں صرف یہ ہے. یہ ہم نے بلایا ہے کیا، پھر، ہے pseudocode، pseudocode وجود انگریزی کی طرح نحو. اور سادگی ہے دلچسپ کی طرح. تو (ن) کے عناصر کی ان پٹ پر - تاکہ صرف کا مطلب ہے، یہاں ایک سرنی ہے. اس میں ن چیزوں کو ملا. کہ ہم وہاں کہہ رہے ہو کہ تمام ہے. (ن) 2 سے کم ہے تو، واپس. تاکہ صرف چھوٹی سی بات ہے. (ن) سے بھی کم 2 ہے تو پھر ظاہر ہے 1 یا 0، جس صورت میں بات پہلے سے حل یا نابود کر رہا ہے، تاکہ صرف واپس. کوئی لینا دینا نہیں ہے. تاکہ دور پلک پر ایک سادہ معاملہ ہے. دوسری صورت میں، ہم نے تین مراحل پر ہے. عناصر کے بائیں نصف، ترتیب ترتیب عناصر کا حق نصف، اور پھر حل حصوں ضم. یہاں کس کا دلچسپ ہے یہ ہے کہ میں ٹھیک، punting کی طرح ہوں؟ ایک سرکلر تعریف کی قسم ہے اس الگورتھم کے لئے. اس الگورتھم کی کیا معنی میں ہے تعریف سرکلر؟ سامعین: [اشراوی]. DAVID MALAN: جی ہاں، میری چھنٹائی الگورتھم، اس کے اقدامات پر دو "قسم کی ہیں جنم لیتا ہے تاکہ کچھ. "اور سوال یہ ہے، اچھی طرح سے، کیا میں نے استعمال کرنے کے لئے جا رہا ہوں بائیں نصف الگ الگ کرنے کیلئے اور دائیں نصف؟ اور یہاں کی خوبصورتی یہ ہے کہ اگرچہ ایک بار پھر، اس کے دماغ کو موڑنے والا ہے حصہ ممکنہ طور پر، آپ وہی استعمال کر سکتے ہیں بائیں نصف کرنے الگورتھم. لیکن ایک منٹ رکو. آپ کو حل کرنے کے لئے کہا رہے ہیں جب بائیں نصف، دو کیا ہیں اقدامات پر آئندہ ہونے جا رہا؟ ہم کے بائیں نصف حل کریں گے بائیں نصف اور دائیں بائیں نصف کے نصف. لات، میں کس طرح ان دو الگ الگ کرتے ہیں حصوں، یا چوتھائی، اب؟ لیکن یہ ٹھیک ہے. ہم یہاں ایک چھںٹائی الگورتھم ہے. اور تم بھی فکر ہو سکتا ہے اگرچہ سب سے پہلے یہ ایک لامتناہی کی قسم ہے لوپ، یہ کبھی نہیں ہے کہ ایک چکر ہے ختم کرنے کے لئے جا رہے ہیں - یہ جا رہا ہے کیا ہوتا ہے ایک بار ختم؟ ایک بار (ن) سے بھی کم 2 ہے. جس کے آخر میں ہونے جا رہا ہے آپ رکھنا اگر halving اور اس کی وجہ ان حصوں halving میں halving، ضرور آخر میں آپ کو ختم کرنے کے لئے جا رہے ہیں صرف 1 یا 0 عناصر کے ساتھ. جس نقطہ، اس الگورتھم میں تم نے کیا کر رہے ہیں. تو اس میں حقیقی جادو الگورتھم میں ہونے لگتا ہے کہ آخری مرحلہ، ضم. صرف دو ضم اتنا آسان خیال چیزیں، کہ آخر کار کیا ہو رہا ہے ہم میں سے ایک سرنی کرنے کی اجازت دینے، چلو، آٹھ عناصر کا کہنا ہے کہ. تو میں نے آٹھ اور کشیدگی گیندوں ہے یہاں، آٹھ کاغذ کے ٹکڑے ٹکڑے کر، اور ایک گوگل گلاس - جس میں رکھنے کے لئے حاصل کریں. [ہنسی] DAVID MALAN: ہم آٹھ لے سکتے ہیں تو رضاکاروں، اور دیکھتے ہیں اگر ہم کر سکتے ہیں ہاں، تو اس سے باہر کھیلتے ہیں. واہ، ٹھیک ہے. کمپیوٹر سائنس مزہ ہو رہی ہے. ٹھیک ہے. تو کس طرح کے بارے میں آپ تین، وہاں سب سے بڑا ہاتھ. پیٹھ میں چار. اور کس طرح کے بارے میں ہم آپ کو کریں گے اس قطار میں تین؟ سامنے اور چار. تو، تم آٹھ اپ آو. [ہنسی] DAVID MALAN: میں اصل میں ہوں نہیں یہ کیا ہے اس بات کا یقین. یہ کشیدگی گیندوں ہے؟ ڈیسک لیمپ؟ مواد؟ انٹرنیٹ؟ ٹھیک ہے. تو اپ آو. کون پسند کرے گا - اپ آتے رہتے ہیں. چلو دیکھتے ہیں. اور اس کی جگہ میں آپ کو دکھاتی ہے - اگر آپ کی جگہ ایک میں ہیں. اہ اوہ، ایک منٹ رکو. 1، 2، 3، 4، 5، 6، 7 - اوہ، اچھا. ٹھیک ہے، ہم اچھے ہیں. ٹھیک ہے، تو سب کو، بیٹھو لیکن گوگل گلاس پر. مجھے قطار ان تک ہیں. آپ کا نام کیا ہے؟ MICHELLE: مشیل. DAVID MALAN: مشیل؟ ٹھیک ہے، آپ کی طرح نظر آتے حاصل geek، ٹھیک ہے کہ اگر. ٹھیک ہے، مجھے بھی، مجھے لگتا ہے، صرف ایک لمحے کے لئے. پیش تیار موڈ میں، ٹھیک ہے. ہم نے ایک ساتھ آنے کی کوشش کر رہا ہوں گوگل گلاس کے معاملے کا استعمال کرتے ہیں، اور ہم ایسا صرف مزہ آئے گا سوچا یہ لوگوں کو فورم پر ہوتے ہیں تو. ہم دنیا ریکارڈ کریں گے ان کے نقطہ نظر سے. ٹھیک ہے. نہیں شاید کیا گوگل کا ارادہ کیا. اگر آپ کو برا نہ لگے تو ٹھیک ہے، پہنے اگلے عجیب منٹ کے لئے اس کے، کہ بہت اچھا ہو جائے گا. ٹھیک ہے، تو ہم یہاں کے ایک سرنی ہے عناصر، اور کے طور پر فی کہ سرنی، ان لوگوں میں کاغذ کے ٹکڑے ' ہاتھ، فی الحال ناچھانٹا ہوا ہے. MICHELLE: اوہ، کہ تو عجیب ہے. DAVID MALAN: یہ بہت بے ترتیب ہے. اور صرف ایک لمحے میں، ہم کوشش کرنے کے لئے جا رہے ہیں ایک ساتھ مل کر طرح ضم لاگو کرنے کے لئے کہ کلیدی بصیرت ہے اور کہاں دیکھتے ہیں. اور ضم ترتیب کے ساتھ یہاں چال ہے ہم نے ابھی تک فرض نہیں ہے کہ کچھ. ہم اصل میں کچھ کی ضرورت ہے اضافی جگہ کی. تو کیا خاص طور پر ہونے جا رہا ہے اس کے بارے میں دلچسپ ہے کہ ان لوگ ایک چھوٹی سی کے ارد گرد منتقل کرنے کے لئے جا رہے ہیں بٹ، کیونکہ میں فرض کرنے جا رہا ہوں کہ جگہ کی ایک اضافی سرنی، ہے حق ان کے پیچھے، کا کہنا ہے کہ. وہ اپنی کرسی کے پیچھے ہیں، اگر ایسا ہے تو ثانوی سرنی ہے. وہ یہاں بیٹھ کر رہے ہیں تو، اس پرائمری سرنی. لیکن یہ ہم ہیں کہ ایک وسیلہ ہے بلبلا کے ساتھ ابھی تک لیوریجڈ نہیں ترتیب دیں، انتخاب ترتیب کے ساتھ، اندراج کی ترتیب کے ساتھ. گزشتہ ہفتے یاد ہے، ہر کوئی صرف کس قسم کی جگہ میں shuffled. انہوں نے کسی بھی اضافی میموری کا استعمال نہیں کیا. ہم لوگوں کے لئے کمرے بنا دیا ارد گرد کے لوگوں کو منتقل. تو یہ بھی ایک اہم بصیرت ہے. اس کاروبار بند کر میں عام طور پر، ہے وسائل کے کمپیوٹر سائنس،. کیا تم نے کچھ کو تیز کرنا چاہتے ہیں تو وقت کی طرح، آپ کے لئے جا رہے ہیں ایک قیمت چکانی پڑے. اور ان کی قیمتوں میں سے ایک بہت اکثر ہے خلا، میموری کی رقم یا مشکل آپ استعمال کر رہے ہیں کہ ڈسک کی جگہ. یا، واضح طور سے، رقم پروگرامر وقت. کتنا یہ انسانی، آپ کو لیتا ہے وقت، اصل میں کچھ اور لاگو کرنے کے لئے پیچیدہ الگورتھم. لیکن آج کے لئے، کاروبار بند وقت اور جگہ ہے. تم لوگوں کو صرف اپ کو پکڑ کر سکتے ہیں اگر ایسا ہے تو آپ تو ہم تم کہ نمبرز دیکھ سکتے ہیں بے شک 4، 2، 6، 1، 3، 7، 8 کے ملاپ. بہترین. تو میں نے orchestrate کرنے کی کوشش کرنے جا رہا ہوں چیزیں، اگر تم لوگ کر سکتے ہیں صرف یہاں میرے لیڈ پر عمل کریں. تو میں نے سب سے پہلے، لاگو کرنے کے لئے جا رہا ہوں ہے جو pseudocode کے پہلا قدم، (ن) ہے، تو (ن) کے عناصر کی ان پٹ، پر 2 سے بھی کم، پھر واپس. ظاہر ہے، کہ نہیں کرتا کا اطلاق کریں، تو ہم پر منتقل. تو عناصر کے بائیں نصف حل. تاکہ میں توجہ مرکوز کرنے جا رہا ہوں اس کا مطلب میری ان پر صرف ایک لمحے کے لئے توجہ یہاں چار لڑکوں. ٹھیک ہے، میں کیا کروں؟ سامعین: بائیں نصف ترتیب. DAVID MALAN: تو اب میں الگ الگ کرنے کیلئے ہے ان لوگوں کے بائیں نصف. ایک بار پھر، کیونکہ خود پر فرض مقصد یہ ہے کہ بائیں نصف کرنے کے لئے ہے. تم یہ کیسے کرتے ہیں؟ بس، یہاں تک کہ ہدایات پر عمل کریں ہم پھر سے کر رہے ہیں. تو بائیں نصف حل. اب میں ان دو لڑکوں کو چھانٹ رہا ہوں. اس کے بعد کیا آتا ہے؟ سامعین: بائیں نصف ترتیب. DAVID MALAN: بائیں نصف ترتیب. تو اب یہ، یہاں یہ سیٹ، 1 سائز کی ایک فہرست ہے. اور تمہارا نام کیا ہے دوبارہ؟ شہزادی گلبہار: راجکماری گل داؤدی. DAVID MALAN: راجکماری گل داؤدی یہاں ہے. اور اس طرح وہ پہلے سے ہی، کے مطابق ہے کیونکہ فہرست 1 سائز کا ہے. میں اگلے کیا کروں؟ اس فہرست میں ہے کیونکہ، ٹھیک ہے، واپس 2 سے بھی کم ہے جو سائز 1،. اس کے بعد اگلا قدم کیا ہے؟ اور اب تم قسم کی کرنا ہے آپ کے دماغ میں پیچھے. جس کا حق نصف، حل - تمہارا نام کیا ہے؟ LINDA: لنڈا. DAVID MALAN: لنڈا. اور اس طرح ہم کہ اب کیا کروں ہم سائز 1 کی ایک فہرست ہے؟ سامعین: واپس. DAVID MALAN: ہوشیار. ہم نے سب سے پہلے واپس آ جائیں، اور اب تیسری قدم - کی اور میں نے تو قسم کی طرف سے یہ بیان کرنا اب میں، اب دو نشستیں قبول ان دونوں عناصر کو ضم کرنے کے لئے ہے. تو اب بدقسمتی سے، عناصر حکم سے باہر ہیں. لیکن اس جہاں کو ضم کرنے کے عمل میں ہے مجبور حاصل کرنے کے لئے شروع ہوتا ہے. تم لوگوں کو صرف کے لئے کھڑے ہو کر سکتے ہیں اگر ایسا ہے تو ایک لمحے میں، میں ایک میں، آپ کی ضرورت کرنے جا رہا ہوں لمحے، آپ کی کرسی کے پیچھے ہٹنا. اور اگر لنڈا، 2 ہے کیونکہ 4 سے چھوٹا، کیوں نہیں کرتے سب سے پہلے آپ کے ارد گرد آئے؟ وہاں رہنا. لنڈا تو، آپ کے ارد گرد سب سے پہلے آتے ہیں. اب حقیقت میں یہ صرف ایک صف ہو تو ہم صرف حقیقی وقت میں اس کو منتقل کر سکتے ہیں اس کرسی سے اس جگہ پر. تو کچھ مسلسل لیا یہ تصور کریں کہ 1 اقدامات کی تعداد. اور اب - لیکن ہم آپ میں ڈال کرنے کی ضرورت ہے یہاں سب سے پہلا محل وقوع. اور اب آپ کے ارد گرد آ سکتا ہے تو ساتھ ساتھ، ہم جا رہے ہیں محل وقوع دو میں ہو. اور یہ ہے اس طرح محسوس کرتا ہے اگرچہ میں وقت لگ جاتا ہے اب اچھا کیا ہے اس کے بائیں نصف بائیں نصف اب کے مطابق ہے. اب ہم تو اگلے قدم، کیا تھا کہانی میں نے مزید کہا کہ ماضی؟ سامعین: دایاں نصف. DAVID MALAN: حق نصف ترتیب. تو کیا تم لوگ اس کے ساتھ ساتھ، یہ کرنا ہو گا. آپ کھڑے کر سکتے ہیں اگر ایسا ہے تو صرف ایک لمحے کے لئے؟ اور تمہارا نام کیا ہے؟ JESS: جیس. DAVID MALAN: جیس. ٹھیک ہے، تو جیس اب رہ گیا ہے حق نصف کے نصف. اور اس طرح وہ سائز 1 کی ایک فہرست ہے. وہ واضح حل ہے. اور تمہارا نام ایک بار پھر؟ MICHELLE: مشیل. DAVID MALAN: مشیل ظاہر ہے 1 سائز کی ایک فہرست. اس نے پہلے ہی حل ہے. تو اب جادو، ہوتا ضم عمل. تو جو سب سے پہلے آنے والا ہے؟ ظاہر ہے مشیل. تم واپس آ سکتا ہے کے ارد گرد تو. اب ہم اس کے لئے دستیاب ہے کی جگہ یہیں پر اس کرسی کے پیچھے ہے. اور اب آپ کے ساتھ ساتھ واپس آ سکتے ہیں، اب ہم دو، صاف ہو جائے کرنے کے لئے ہے، حصوں، سائز 2 میں سے ہر ایک - اور صرف عکاسی کے لئے، اگر آپ ایک جگہ تھوڑا سا بنا سکتے ہیں - ایک، ایک نصف یہاں چھوڑ دیا یہاں کا حق نصف. کہانی میں نے مزید کہا کہ ماضی. کیا اگلے قدم ہے؟ سامعین: ضم. DAVID MALAN: تو اب ہم پر ملنے کے لئے ہے. تو ٹھیک ہے، تو اب، شکر ہے، ہم صرف چار کرسیوں کو آزاد کر دیا. تو ہم زیادہ سے زیادہ میموری کے طور پر دو بار استعمال کیا جاتا ہے، لیکن کیا ہے ہم فلپ flopping درمیان دے سکتے ہیں دو arrays. جو تو تعداد میں سب سے پہلے آنے کے لئے ہے؟ تو ظاہر ہے، مشیل. تو کے ارد گرد آئے اور لے یہاں اپنی سیٹ. اور پھر نمبر 2 ظاہر ہے اگلے، تو تم یہاں آو. نمبر 4، نمبر 6. اور پھر، ایک ہے اگرچہ ملوث چلنے کی تھوڑا سا، واقعی، یہ فوری طور پر ہو سکتا ہے - ایک منتقل کی طرف سے ٹھیک ہے، اچھی طرح سے ادا کیا. [ہنسی] DAVID MALAN: اور اب ہم ہیں خوبصورت اچھی حالت میں. پورے کے بائیں نصف ان پٹ اب حل کیا گیا ہے. ٹھیک ہے، تو یہ لوگ تھے میرا کا فائدہ - کس طرح اس پر تمام لڑکیوں کو ختم کیا بائیں اور دائیں پر تمام لڑکوں؟ ٹھیک ہے، تو لوگ اب باری ہے '. تو میں نے آپ کے ذریعے چل نہیں رکھا جائے ان اقدامات. ہم reapply کر سکتے ہیں تو ہم دیکھیں گے اسی pseudocode. تم آگے بڑھو اور کھڑے کرنا چاہتے ہیں تو اور تم لوگ، مجھے تم سے مائک دیتے ہیں. آپ کو نقل تیار نہیں کر سکتے ہیں دیکھو اگر کیا ہم صرف یہاں پر کیا فہرست کے دوسرے سرے. کون، سب سے پہلے میں بات کرنے کی ضرورت ہے الگورتھم کی بنیاد پر؟ تو تم سے پہلے کیا کر رہے ہیں کی وضاحت آپ کو کسی بھی پاؤں کی نقل و حرکت کرتے ہیں. اسپیکر 1: ٹھیک ہے، تو بعد میں کے بائیں نصف ہوں بائیں نصف، میں واپس آ جائیں. ٹھیک ہے؟ DAVID MALAN: اچھا. اور پھر -: اسپیکر 1 DAVID MALAN: کون کرتا ہے مائک اگلے کے لئے جانا؟ اسپیکر: 1 اگلا، دوسرا نمبر. اسپیکر 2: تو میں نے حق نصف ہوں کے بائیں نصف کے بائیں نصف، اور میں واپس آ جائیں. DAVID MALAN: اچھا. تم نے بدلے. تو اب تم دونوں کے لئے اگلے اپ کیا ہے؟ اسپیکر 2: ہم چھوٹے ہے جو دیکھنا چاہتے ہیں. DAVID MALAN: بالکل درست. ہم ضم کرنا چاہتے ہیں. ہم ضم کرنے کے لئے استعمال کرنے کے لئے جا رہے ہیں کی جگہ تم وہ ہو، اگرچہ میں ظاہر ہے پہلے ہی حل ہے، ہم جا رہے ہیں اسی الگورتھم کی پیروی کرنے کے. تو جو پیچھے سب سے پہلے میں جاتا ہے؟ 3 تو، اور پھر 7. اور اب مائک جاتا ہے ان لوگوں کے لئے، ٹھیک ہے؟ اسپیکر 3: تو میں نے کا حق نصف ہوں بائیں نصف، اور میرے (ن) سے بھی کم ہے 1، تو میں صرف منظور کرنے جا رہا ہوں - DAVID MALAN: اچھا. اسپیکر 4: میں کا حق نصف ہوں حق کا حق نصف کے نصف، اور میں ہوں بھی ایک شخص، میں ہوں تو واپس کرنے والا. تو اب ہم ضم. اسپیکر 3: تو ہم واپس جانا. DAVID MALAN: تو آپ کو واپس میں جاؤ. تو 5 پھر 8، سب سے پہلے ہو جاتا ہے. ہے، جو اور اب سامعین، اب ہم ماضی پڑے قدم ہمارے ذہنوں میں واپس؟ سامعین: ضم. DAVID MALAN: ضم بائیں نصف اور دائیں اصل بائیں نصف کے نصف. تو اب - اور صرف یہ واضح کر دینا خلا کا ایک تھوڑا سا بنا تمہارے درمیان دو لڑکوں. تو اب دو فہرستیں ہے، بائیں اور دائیں. تو کس طرح اب ہم تم لوگوں کو میں ضم ہے سیٹوں کے سامنے صف دوبارہ؟ 3 سب سے پہلے ہو جاتا ہے. پھر 5، ظاہر ہے. اس کے بعد 7، اور اب 8. ٹھیک ہے، اور اب ہم ہیں؟ سامعین: نہیں کیا. DAVID MALAN: نہیں کیا، کیونکہ ظاہر ہے، باقی ایک قدم ہے. لیکن پھر میں نے اس کی وجہ سے استعمال کر رہا ہوں "آپ کے ذہن میں ماضی،" جیسے شبدجال یہ واقعی ہے کیونکہ یہ ہے کیا ہو رہا ہے. ہم نے ان اقدامات کے تمام کے ذریعے جا رہے ہیں لیکن ہم ایک کے لئے روک کی طرح ہیں میں لمحے، ڈائیونگ گہری الگورتھم، ایک لمحے کے لئے روک کر، الگورتھم میں گہرے ڈائیونگ، اور اب ہم اپنے میں ماضی کی طرح کرنا ہے ذہنوں اور ان تہوں کے تمام کالعدم ہم قسم کے ہولڈ پر رکھ دیا ہے. تو اب ہم نے 4 سائز کی دو فہرستیں ہیں. تم لوگوں کو ایک آخری بار کھڑے ہو جاتے ہیں تو اور یہاں کی جگہ کا تھوڑا سا بنا یہ بائیں طرف ہے کہ واضح کر دینا اصل، میں سے آدھے اصل کا حق نصف. کون سب سے پہلے نمبر کی ہے کہ ہم میں واپس ھیںچو کرنے کی ضرورت ہے؟ کورس کے مشیل،. تو ہم یہاں مشیل ڈال دیا. اور جو نمبر 2 ہے؟ نمبر 2 واپس کے ساتھ ساتھ پر آتا ہے. نمبر 3؟ بہترین. نمبر 4، نمبر 5، نمبر 6، نمبر 7، اور نمبر 8. ٹھیک ہے، تو یہ ایک بہت کی طرح محسوس اقدامات کی وجہ سے، اس بات کا یقین کے لئے ہے. لیکن اب ہم اس بات کی تصدیق نہیں کر سکتے تو دیکھتے ہیں ترتیب دیں intuitively کہ اس کے بنیادی الگورتھم، خاص طور پر کے طور پر n ہم نے دیکھا ہے کے طور پر، واقعی بڑی ہو جاتا ہے متحرک تصاویر کے ساتھ ہے، بنیادی طور پر تیزی سے. اس لیے میں سب سے زیادہ، اس الگورتھم کا دعوی سب سے بہتر صورت میں کیس اور بھی، (ن) کے اوقات لاگ ان کریں (ن) کے بڑے اے ہے. یہی وجہ ہے کہ، اس کے کچھ پہلو ہے (ن) کے اقدامات، لیکن اس الگورتھم ایک اور پہلو یہ کہیں میں ہے کہ iteration، کہ looping، کہ لاگ ان کریں (ن) کے اقدامات. ہم کیا ان پر ہماری انگلی ڈال کر سکتے ہیں دو نمبروں کا حوالہ دے رہے ہیں؟ ٹھیک ہے، جہاں - مائک کہاں گیا؟ اسپیکر 1: N لاگ ان ہو گا دو حصوں میں ہمیں توڑنے - بنیادی طور پر، دو کی طرف سے تقسیم. DAVID MALAN: بالکل درست. ہم اس طرح کسی بھی الگورتھم میں دیکھ کر کسی بھی وقت اب تک کے اس پیٹرن ہوئی ہے ، تقسیم تقسیم، تقسیم. اور یہ عام طور پر کم ہے ہے کہ کچھ لوگارتمی، لاگ ان کی بنیاد 2. لیکن یہ واقعی، کچھ بھی ہو سکتا ہے لیکن بیس 2 لاگ ان کریں. اب (ن) کے بارے میں کیا؟ میرے خیال سے ہم قسم کی آپ کو تقسیم کیا وہ دیکھ سکتا ہوں لوگ - اگر آپ کو تقسیم کیا،، آپ تقسیم اگر آپ کو تقسیم کیا، کیا تم نے تقسیم کیا. آخر کہاں سے آتی ہے؟ تو یہ ضم ہے. کیونکہ اس کے بارے میں سوچتے ہیں. تم ایک دوسرے کے ساتھ آٹھ افراد ضم، جب ان میں سے نصف کے چار میں سے ایک سیٹ ہیں جس کے تحت اور دوسرے نصف میں ایک اور ہیں چار میں سے مقرر کرتے ہیں، آپ کو کس طرح جاتے ہو ضم کرنے کے بارے میں؟ ٹھیک ہے، تم لوگوں نے یہ کیا منصفانہ intuitively. میں بجائے یہ کیا لیکن اگر تھوڑا زیادہ طریقے سے، میں میں نشاندہی کی ہے ہو سکتا ہے میرے بائیں کے ساتھ پہلی leftmost شخص ہاتھ، leftmost شخص کی طرف اشارہ کہ میرے دائیں ہاتھ سے نصف، اور صرف بعد میں کے ذریعے واک سب سے چھوٹی عنصر کی طرف اشارہ کی فہرست، ہر وقت، میری انگلی سے زیادہ آگے بڑھ رہے ہیں اور سے زیادہ کے طور پر بھر کی فہرست کی ضرورت ہے. لیکن اس کے بارے میں ضم کرنے کی کلید ہے کے عمل میں ان کے جوڑوں کا موازنہ کر رہا ہے عناصر کے. حق نصف سے اور بائیں سے نصف، میں نے ایک بار backtracking کبھی نہیں رہا ہوں. تو خود کو ضم کر رہی ہے کوئی اقدامات (ن) کے مقابلے میں. اور کتنی بار میں نے کیا ضم ایسا ہے؟ ٹھیک ہے، (ن) سے زیادہ نہیں، اور ہم صرف فائنل میں ضم کے ساتھ دیکھا کہ. اور اس لئے تم سے لیتا ہے کہ کچھ کرنا تو ، (ن) کے اقدامات پر ن اوقات، یا اس کے برعکس لاگ ان کریں یہ ہم (ن) کے اوقات لاگ ان ن دینے کے لئے جا رہا ہے. اور کیوں یہ بہتر ہے؟ ٹھیک ہے، ہم نے پہلے ہی کہ لاگ ان ہو تو ن ن سے بہتر ہے - ٹھیک؟ ہم، بائنری تلاش میں فون بک دیکھا مثال کے طور پر، لاگ ان ن ضرور تھا لکیری سے بہتر. کا مطلب ہے کہ (ن) بار لاگ ان (ن) ہے تاکہ ایک اور (ن) بار سے زیادہ کو یقینی طور پر بہتر ن، ن AKA مربع. اور یہ کہ ہم بالآخر محسوس کیا ہے. تعریف کا بہت بڑا دور، اگر ہم ان لوگوں کے لئے، کر سکتے تھے. [تالیاں] DAVID MALAN: اور آپ کی ودائی تحفہ - آپ کی تعداد کو برقرار رکھنے کر سکتے ہیں اگر آپ چاہیں تو. اور آپ کی ودائی تحفہ، ہمیشہ کی طرح. اوہ، اور ہم آپ کو بھیج دیا جائے گا فوٹیج، مشیل. آپ کا شکریہ. ٹھیک ہے. ایک کشیدگی گیند کرنے کے لئے اپنے آپ کو مدد. اور، مجھے اس دوران میں، ھیںچو دو پیش کرنے کے لئے ہمارے دوست روب Bowden اس پر کسی حد تک مختلف نقطہ نظر کے مطابق، اگر آپ ان کے بارے میں سوچ کر سکتے ہیں کے بعد سے ایک کسی حد تک میں ہو رہا اقدامات مختلف طریقے سے. کے بارے میں روب کیا ہے کے لیے اصل میں، سیٹ اپ ہمیں دکھانے کے لئے کہ ہم نے مان لیا گیا پہلے سے تقسیم تک کی کیا آٹھ چھوٹے فہرستوں میں بڑی فہرست، سائز 1 میں سے ہر ایک. تو ہم pseudocode ایک تبدیل کر رہے ہیں تھوڑا سا بس میں حاصل کرنے کی الگ الگ کرنے کیلئے کام ضم کس طرح کے بنیادی خیال ہے. لیکن کس کی رننگ ٹائم ایسا کرنے کے بارے میں ہے وہ اب بھی ہے ایک ہی ہونے جا رہا. اور پھر، یہاں سیٹ اپ ہے وہ یہ ہے کہ 1 سائز کی آٹھ فہرستوں کے ساتھ شروع کر دیا. تو کیا تم وہ کہاں حصہ بہت یاد کیا اصل میں لاگ ان کریں N، N لاگ ان، لاگ ان ن کیا ان پٹ کی تقسیم. [ویڈیو پلے بیک] قدم ایک کے لئے یہ ہے. بار بار قدم دو، کے لئے فہرستوں کی جوڑوں ضم. DAVID MALAN: ہم. صرف آڈیو آ رہا ہے میرے کمپیوٹر سے باہر. کی پھر سے کوشش کرتے ہیں. -بس منمانے جس میں منتخب - اب ہم چار فہرستوں ہے. اس سے پہلے معلومات حاصل کریں. DAVID MALAN: آمدید ہم چلے. -ضم 108 اور 15، ہم ختم اپ کے ساتھ کی فہرست میں 15، 108. ہم نے 50 اور 4 ضم 4، 50 کے ساتھ ختم. ہم، 8 اور 42 ضم 8، 42 کے ساتھ ختم. اور ہم، 23 اور 16 ضم ، 16 کے ساتھ 23 ختم. اب ہماری ساری کی فہرستیں سائز 2 کے ہیں. نوٹس ہے کہ میں سے ہر ایک چار فہرستوں کے مطابق ہے. تو ہم کو ضم کرنے شروع کر سکتے ہیں دوبارہ فہرستوں کے جوڑوں. ہم، 15 اور 108 اور 4 اور 50 ضم سب سے پہلے تو، پھر 15، 4 لے 50، اس وقت 108. ، 23 8، 42 اور 16 ضم، ہم سب سے پہلے لینا 8، پھر 16، پھر 23، پھر 42. تو اب ہم سائز کے صرف دو فہرستوں ہے 4، کے مطابق ہے جن میں سے ہر. تو اب ہم ان دونوں فہرستوں کو ضم. سب سے پہلے، ہم 4 لے، تو ہم لے 8، تو ہم، پھر 16، پھر 15 لے پھر اس کے بعد 23، 42، 50، 108. [END ویڈیو پلے بیک] DAVID MALAN: ایک بار پھر، نوٹس، وہ کبھی نہیں ایک دیئے گئے کپ ایک سے زیادہ وقت کو چھو لیا اس سے آگے بڑھانے کے بعد. تو وہ بار بار کبھی نہیں ہے. تو وہ ہمیشہ کی طرف بڑھ رہا ہے ہم اپنے ن مل گیا اور کہاں ہے. کیوں مجھے ایک حرکت پذیری ھیںچو کرنے کی اجازت نہیں ہم پہلے دیکھا، لیکن یہ اس وقت ضم طرح پر صرف توجہ مرکوز کی. مجھ سے آگے بڑھو اور زوم چلو یہ یہاں پر میں. پہلے مجھے ایک بے ترتیب ان پٹ کا انتخاب کرتے ہیں، اس آوردن، اور آپ کو دیکھ کے الگ الگ کرسکتے ہم نے حاصل کی جاچکی، پہلے کے لئے لیا کیا ضم طرح اصل میں کیا کر رہی ہے. آپ کو یا ان حصوں ملے تاکہ نوٹس ان حلقوں یا ان eighths مسئلہ یہ ہے کہ اچانک اچھی حالت لینے کے لئے شروع. اور پھر آخر میں، آپ دیکھ آخر اس بام، سب کچھ ایک دوسرے کے ساتھ ملا دیا گیا ہے. تو ان میں سے صرف تین مختلف ہیں اسی خیال پر لیتا ہے. لیکن صرف تقسیم جیسے اہم بصیرت، اور، بہت پہلے کلاس میں فتح ہم کسی نہ کسی طرح تقسیم کرنے کا فیصلہ کیا تھا کہ میں کچھ بڑا، میں مسئلہ روح میں ایک جیسے کے کچھ ترتیب دیں، لیکن چھوٹے اور چھوٹے اور چھوٹے اور چھوٹی. لگتا ہے کہ کے الگ الگ کرنے کیلئے اب ایک اور پرلطف طریقہ ان کے بارے میں، اگرچہ یہ نہیں ہے آپ ایک ہی بدیہی دینے والے افہام و تفہیم ہے، مندرجہ ذیل حرکت پذیری. تو یہ ایک دوسرے کے ساتھ ڈال ایک ویڈیو کسی کو ہے کہ مختلف منسلک کے لئے مختلف کارروائیوں کے ساتھ آواز اندراج کی ترتیب، ضم طرح کے لئے، اور دوسروں کے ایک جوڑے کے لئے. تو ایک لمحے میں، میں کھیلیں مارا جا رہا ہوں. یہ طویل عرصے کے بارے میں ایک منٹ ہے. اور تم اب بھی دیکھ سکتے ہیں اگرچہ پیٹرن، آپ کر سکتے ہیں اس وقت جو کچھ ہو رہا ان یلگوردمز کتنی بھی سن مختلف طریقے سے اور کے ساتھ کارکردگی کا مظاہرہ کچھ مختلف پیٹرن. اس اندراج کی طرح ہے. [ٹن چل رہا ہے] DAVID MALAN: یہ ایک بار پھر کوشش کر رہی ہے ہر عنصر داخل کرنے کے لیے اس جہاں میں. یہ بلبلا طرح ہے. [ٹن چل رہا ہے] DAVID MALAN: اور آپ کو لگتا ہے کی طرح کر سکتے ہیں نسبتا بہت کم کر رہا ہے کس طرح کام کرتے ہیں ہر قدم پر. یہ tediousness جیسا لگتا ہے. [ٹن چل رہا ہے] DAVID MALAN: یہ انتخاب قسم ہے، ہم سے ہم چاہتے عنصر کو منتخب کریں جہاں پھر سے گزر رہا ہے اور بار بار اور شروع میں ڈال. [ٹن چل رہا ہے] DAVID MALAN: یہ ضم قسم ہے، جس کیا آپ واقعی محسوس کرنے شروع کر سکتے ہیں. [ٹن چل رہا ہے] [ہنسی] DAVID MALAN: GNOME کہا جاتا ہے کچھ نہ کچھ ہم نے دیکھا نہیں ہے جس طرح،. [ٹن چل رہا ہے] DAVID MALAN: تو، اب، مجھے دیکھنے دو امید ہے کہ آپ کی طرف سے ہیں، کے طور پر مشغول میں نے ایک چھوٹی سی پرچی کر سکتے ہیں موسیقی، یہاں میں ریاضی کے سا. تا کہ ہم کر سکتے ہیں ایک چوتھی راستہ ہے ان کا مطلب کیا ہے کے بارے میں سوچنا تیزی سے اپنے پیاروں سے زیادہ ہونا افعال ہم پہلے دیکھا ہے کہ. اور تم سے کورس میں آ رہی ہو تو ایک ریاضی پس منظر، آپ اصل میں پہلے سے ہی شاید جانتے ہیں کہ آپ اس ٹیکنالوجی پر ایک اصطلاح تپپڑ کر سکتے ہیں - یعنی تکرار، ایک تقریب کہ کسی نہ کسی طرح خود کو بلاتا ہے. اور ایک بار پھر، کہ ضم طرح یاد pseudocode معنوں میں پنراورتی تھا کہ ضم طرح کی اقدامات میں سے ایک ترتیب دیں فون کرنے کے لئے تھا - کہ خود ہے. لیکن شکر ہے، کیونکہ ہم رکھی ، طرح بلا، یا ترتیب دیں ضم خاص طور پر ایک چھوٹے اور چھوٹے اور چھوٹی فہرست، ہم آخر میں ہم فون کروں گا جو باہر bottomed شکریہ ایک بنیاد کیس، اونچا کوڈت کیس ہے کہ فہرست چھوٹی ہے تو، سے کم 2 نے کہا کہ اس صورت میں، صرف فوری طور پر واپس کر دیں. ہم اس خصوصی معاملے کی ضرورت نہیں تھی تو، الگورتھم سب سے نیچے سے باہر، کبھی نہیں کرے گا اور آپ کو واقعی ایک میں ملے گا صحیح معنوں میں ہمیشہ کے لئے لامتناہی لوپ. لیکن اب ہم ڈال چاہتے تھے کہ لگتا ہے اس پر کچھ نمبرز، پھر (ن) کا استعمال کرتے ہوئے ان پٹ کے سائز کے طور پر. اور میں نے کیا ہے، تم سے پوچھنا چاہتا میں ملوث کل وقت ضم طرح چل رہا ہے؟ یا اس سے زیادہ عام طور پر، کیا ہے وقت میں اس کی قیمت؟ ویسے یہ کہ پیمائش کرنے کے لئے بہت آسان ہے. (ن) سے بھی کم 2 ہے تو وقت ملوث (ن) کے عناصر میں چھانٹ رہا ہے، (ن) 2 ہے، 0 ہے. ہم صرف واپس ہے. کیا جا کرنے کے لئے کوئی کام نہیں ہے. اب arguably، ہو سکتا ہے یہ ایک قدم یا دو رقم کا پتہ کرنے کے لئے اقدامات کام، لیکن یہ 0 کے قریب کافی ہے کہ میں نے ابھی کوئی کام نہیں ہے کہنے جا رہا ہوں فہرست اتنا چھوٹا ہے کہ اگر ضرورت uninteresting جائے گا. لیکن اس معاملے دلچسپ ہے. پنراورتی کیس کی شاخ تھی کسی نے کہا کہ pseudocode، ترتیب دیں بائیں نصف، صحیح ترتیب آدھا، دو حصوں ضم. اب کیوں یہ اظہار کرتا ہے کہ اخراجات کی نمائندگی کرتے ہیں؟ ٹھیک ہے، (ن) کے ٹی صرف کا مطلب ہے (ن) کے عناصر کو حل کرنے کے لئے وقت. اور اس کے بعد کے دائیں ہاتھ کی طرف وہاں نشانی برابر ہے، (ن) کے ٹی تقسیم کی طرف سے 2 کس کی قیمت کا حوالہ دیتے ہوئے ہے؟ بائیں نصف چھانٹ. 2 کی طرف سے تقسیم (ن) کے دیگر ٹی ہے شاید پر لاگت کا حوالہ دیتے ہوئے حق نصف حل. اور پھر (ن) کے علاوہ؟ ضم کر رہا ہے. کیونکہ تم دونوں فہرستوں، میں سے ایک ہے تو سائز 2 سے زیادہ (ن) اور ایک سائز کے (ن) 2 کے دوران، آپ کو بنیادی طور پر کو چھو کرنے کی ضرورت صرف روب کی طرح ان عناصر میں سے ہر ایک، کپ میں سے ہر ایک کو چھو لیا، اور صرف ہم میں سے ہر ایک طرف اشارہ کے طور پر اسٹیج پر رضاکاروں. تو (ن) کو ضم کرنے کی قیمت ہے. اب بدقسمتی سے، اس فارمولے خود پنراورتی بھی ہے. (ن) ہے اگر اگر ایسا ہے، کا کہنا ہے کہ،، سوال 16، تو اسٹیج پر 16 لوگ موجود ہے یا ویڈیو میں 16 کپ، کتنے کل یہ ان کے اقدامات کرنے لگتا ہے ضم ترتیب کے ساتھ؟ یہ اصل میں ایک واضح جواب نہیں ہے اب تم میں سے حل کرنے کی ضرورت ہے کیونکہ تکراری طور پر اس فارمولے کا جواب. مجھے تجویز کرتے ہیں لیکن اس کی وجہ سے، ٹھیک ہے ہم ذیل عمل ہے. 16 لوگوں کو الگ الگ یا ملوث وقت 16 کپ کی نمائندگی ہونے جا رہا ہے عام طور پر 16 کے ٹی کے طور پر. لیکن اس کے مطابق، ہمارے برابر گزشتہ فارمولا، 2 مرتبہ رقم وقت کی یہ الگ الگ کرنے لگتے ہیں 8 کپ کے علاوہ 16. اور پھر، اس کے علاوہ 16، ضم کرنے کا وقت ہے اور 8 میں سے دو بار ٹی ہے بائیں اور دائیں نصف نصف حل کرنے کے لئے وقت. لیکن پھر یہ کافی نہیں ہے. ہم نے گہرے میں گوتا لگا کرنا ہے. یہ ہم جواب دینے کی ضرورت کا مطلب ہے سوال، 8 ٹی کیا ہے؟ ویسے 8 T صرف 2 ہے 4 کے علاوہ 8 بار ٹی. ٹھیک ہے، 4 ٹی کیا ہے؟ 4 میں سے 2 ٹی پلس 4 میں سے صرف 2 بار ٹی ہے. ٹھیک ہے، 2 ٹی کیا ہے؟ 2 T 1 پلس 2 میں سے صرف 2 بار ٹی ہے. اور پھر، ہم حاصل کرنے کی طرح ہیں اس سائیکل میں پھنس گیا. لیکن اس کے بارے میں مارا ہے بیس کیس نام نہاد. 1 ٹی کیا ہے، کیونکہ ہم نے کا دعوی کیا تھا؟ 0. تو اب آخر میں، ہم پیچھے کی طرف کام کر سکتے ہیں. 1 T 0 ہے، تو اب میں ایک واپس جا سکتے ہیں یہاں اس لڑکے کے لئے لائن، اور میں کر سکتا ہوں 1 T 0 میں پلگ. تو اس کا مطلب ہے کہ یہ 2 مرتبہ صفر برابر دوسری صورت میں 0، پلس 2 کے طور پر جانا جاتا ہے. اور اس طرح کہ پورے اظہار 2 ہے. میں نے جن کے جواب 2 T، لے اب تو 2 ہے، مشرق لائن، ٹی میں پلگ 4، کہ مجھے 2 بار دیتا ہے 2 پلس 4، 8 تو. پھر میں گزشتہ 8 میں پلگ ہے تو لائن، کہ مجھ سے 2 مرتبہ 8، 16 دیتا ہے. اور ہم اس وقت سے جاری ہے کہ اگر 24، 16 میں انہوں نے مزید کہا، ہم آخر میں ایک ہو جاؤ 64 کی قدر. اب میں اور خود کی طرح بولتا ہے کہ (ن) سنکیتن کے لئے کچھ نہیں، بڑی اے، ہم ہے کہ اومیگا کے بارے میں بات کی گئی. لیکن یہ 64 بے شک یہ ہے کہ باہر کر دیتا ہے 16، ان پٹ کے سائز، 16 کی بنیاد 2 لاگ ان کریں. اور یہ، ایک چھوٹا سا نا واقف ہے تو صرف واپس لگتا ہے کہ، اور اس کے واپس آ جائیں گے آپ کو آخر میں. یہ لاگ ان بیس 2 ہے تو اسے 2 کی طرح ہے کیا آپ 16 دیتا ہے کے لئے اٹھایا؟ اوہ، وہ 4 کے، تو یہ 16 گنا 4 ہے. اور ایک بار پھر، یہ ایک بڑی بات نہیں ہے یہ تو ایک پیار میموری کی طرح اب ہے. لیکن اب کے لئے، ایمان پر لے 16 لاگ ان کریں 16 64 ہے. اور تو بے شک، اس سادہ وویک کے ساتھ چیک کریں، ہم اس بات کی تصدیق کی ہے - لیکن رسمی طور پر ثابت نہیں - کہ ضم کی رننگ ٹائم ترتیب دیں بے شک ہے ن ن لاگ ان کریں. اتنا برا بھی نہیں. اس سے یقینی طور پر بہتر ہے ہم نے ابھی تک دیکھا، اور ہے یلگوردمز ہم لیوریجڈ ہے کیونکہ،، ایک ہے تکرار نامی تکنیک. کہ، اس سے لیکن زیادہ دلچسپ تقسیم اور فتح کے تصور. پھر سے، واقعی ہفتے 0 چیزیں کہ یہاں تک کہ اب میں بار بار چلنے والی ہے زیادہ متوجہ کرنے کا طریقہ. اب ایک مزہ چھوٹی سی مشق، آپ نے تو ایسا کبھی نہیں - اور آپ شاید نہیں پڑے گا، کیونکہ عام قسم لوگوں کو ایسا کرنے نہیں لگتا. لیکن میں google.com پر اور اگر جاتے ہیں تو میں نے کے بارے میں کچھ سیکھنا چاہتی ہوں تکرار، درج کریں. [ہنسی] [مزید ہنسی] DAVID MALAN: برا مذاق آہستہ آہستہ پھیل. [ہنسی] DAVID MALAN: بس کے معاملے میں، یہ وہاں ہے. میں اس کے غلط ہجے نہیں کیا، اور مذاق ہے. ٹھیک ہے. آپ کو اگلے لوگوں کے لئے اس کی وضاحت تو یہ بالکل ابھی کلک کیا ہے. لیکن تکرار، زیادہ عام طور پر، سے مراد بلا ایک تقریب کے عمل خود، یا اس سے زیادہ عام طور پر، ایک تقسیم ہو سکتا ہے کہ کچھ میں مسئلہ جیسے کو حل کرنے کی طرف سے ٹکڑوں حل نمائندے کے مسائل. ٹھیک ہے، چلو تبدیل کریں گیئرز صرف ایک لمحے کے لئے. ہم نے بعض cliffhangers پر ختم کرنے کے لئے پسند تاکہ قائم کرنے کے لئے شروع کرتے ہیں مرحلے، کئی منٹ کے لئے، ایک بہت سادہ خیال پر - دو عناصر گماگمن کی ہے کہ، ہے نا؟ یہ تمام یلگوردمز کی ہم رہا ہوں گزشتہ چند کے بارے میں بات لیکچرز کچھ شامل گماگمن کی ترتیب دیں. آج یہ ان کے حاصل کرنے کی طرف سے دکھایا گیا تھا اپ ان کی کرسیوں سے باہر اور گھوم رہا ہے، لیکن کوڈ میں، ہم کریں گے صرف ایک سرنی کی طرف سے ایک عنصر لے اور دوسرے میں plop یہ. ہم ایسا کرنے کے بارے میں اتنا کیسے جا سکتا ہوں؟ ٹھیک ہے، مجھے آگے بڑھو اور لکھ دو یہاں ایک فوری پروگرام. میں آگے بڑھو اور کیا کرنے جا رہا ہوں یہ مندرجہ ذیل کے طور پر. چلو اس کو فون - ہم اس سے ایک فون کرنے کے لئے کیا چاہتے ہیں؟ اصل میں، نہیں. آپ کے وزٹرز کا ماضی ہیں. میں نے ایسا نہیں کرنا چاہتے ابھی cliffhanger. یہ مزہ خراب کر دے گی. بجائے اس کرتے ہیں. میں نے ایک چھوٹا سا لکھنے کے لئے چاہتے ہیں کہ مان لیں پروگرام کا اور یہ کہ اب اس استوار ہے تکرار کا خیال. میں قسم کی وہاں آگے خود کی ہو گئی. میں مندرجہ ذیل کام کرنے جا رہا ہوں. سب سے پہلے، ایک فوری، معیاری io.h کے شامل ہیں cs50.h. کے طور پر ساتھ ساتھ ایک شامل ہیں اور پھر میں نے آگے جانے کے لئے جا رہا ہوں اور INT اہم صفر کا اعلان ہمیشہ کی طرح راہ میں. میں نے فائل misnamed ہے احساس ہوا، تو مجھے بس یہاں تو ایک. ج توسیع شامل دو ہم مناسب طریقے سے اسے مرتب کیا جا سکتا ہے. اس تقریب سے دور شروع کریں. اور تقریب میں کافی، لکھنے کے لئے چاہتے ہیں صرف پوچھتا ہے کہ ایک ہے اس کے بعد ایک بڑی تعداد کے لیے صارف اور تازہ اضافہ کر دیتی ہے اس کے درمیان تمام نمبر نمبر اور، کا کہنا ہے کہ، 0. تو سب سے پہلے میں آگے جانے کے لئے جا رہا ہوں اور INT (ن) کا اعلان. پھر میں کچھ کوڈ کاپی کہ ہم تھوڑی دیر کے لئے استعمال کیا جاتا ہے. کچھ سچ ہے جبکہ. میں ایک لمحے میں اس پر واپس آ جائیں گے. مجھے کیا کرنا چاہتے ہیں؟ میں printf مثبت کہنا چاہتا ہوں عددی براہ مہربانی. اور پھر میں جا رہا ہوں ن INT حاصل ہو جاتا ہے کا کہنا ہے کہ. تو ایک بار پھر، کچھ boilerplate کوڈ ہم نے اس سے پہلے استعمال کیا جاتا ہے کہ. اور میں ایسا کرنے جا رہا ہوں (ن) سے بھی کم ہے جبکہ 1. تو یہ یقینی بنائیں گے کہ صارف مجھے ایک مثبت عدد صحیح دیتا ہے. اور اب میں مندرجہ ذیل کام کرنے کے لئے جا رہا ہوں. میں نمبروں کی سب شامل کرنا چاہتے ہیں (ن)، یا 0 اور 1 کے درمیان اور (ن) اور، equivalently، کل رقم حاصل کرنے کے لئے. اتنی بڑی سگما علامت آپ کو یاد کر سکتے ہیں. تو میں نے سب سے پہلے فون کر کے ایسا کرنے جا رہا ہوں سگما نامی ایک تقریب، (ن) میں گزر رہا ہے، اور پھر میں جا رہا ہوں printf کا کہنا ہے کہ اس کا جواب درست نہیں ہے. لہذا مختصر میں، میں ہو جاؤ اور صارف سے INT. میں نے اس کے مثبت ہے کو یقینی بنانے کے. میں ایک متغیر بلایا جواب کا اعلان اس میں قسم INT اور اسٹور واپسی ان پٹ کے طور پر (ن) میں گزر سگما کی قدر. اور پھر میں اس کا جواب باہر پرنٹ. بدقسمتی سے، سگما لگتا ہے اگرچہ میں ہو سکتا ہے کچھ کی طرح math.h فائل، اس کے اعلان، یہ اصل میں نہیں ہے. تو ٹھیک ہے. میں نے یہ خود کو نافذ کر سکتے ہیں. میں نے فون کیا ایک پروگرام کو لاگو کرنے جا رہا ہوں سگما، اور یہ ایک لینے کے لئے جا رہا ہے پیرامیٹر - چلو صرف وہ ایم فون، صرف تو یہ مختلف ہے. اور پھر یہاں، میں کہنے جا رہا ہوں M 1 سے کم ہے تو ٹھیک ہے، - یہ ہے بہت پروگرام uninteresting. تو میں نے آگے جانے والے اور رہا ہوں فوری طور پر واپس 0. یہ صرف سب شامل کرنے کے لئے کوئی مطلب نہیں ہے 1 اور M M اگر درمیان نمبرز خود کو 0 یا منفی ہے. اور پھر میں نے آگے جانے کے لئے جا رہا ہوں اور بہت iteratively یہ کرتے ہیں. میں، پرانے اسکول کے اس طرح کرنے کے لئے جا رہا ہوں اور میں آگے جانے کے لئے جا رہا ہوں اور میں کرنے جا رہا ہوں یہ کہتے ہیں کہ 0 بننے کے لئے رقم کا اعلان. پھر میں ہے جا رہا ہوں INT کے لوپ کے لئے ایک - اور مجھے یہ ہمارے ملنے کے لئے کرنے دو تقسیم کوڈ، لہذا آپ کو ایک کاپی ہے گھر میں. INT میں پر 1 ملتا ہے میں سے کم یا میٹر کے برابر ہے. میں پلس پلس. اور پھر اندر لوپ کے لئے اس کی - ہم پہنچ ہی گئے ہیں - رقم رقم کے علاوہ 1 ملتا ہے. اور پھر میں رقم واپس کرنے کے لئے جا رہا ہوں. تو میں نے فوری طور پر یہ کیا بہت اقرار. لیکن پھر، اہم تقریب سندر ہے ہم نے کوڈ کی بنیاد پر براہ راست ابھی تک لکھا. ایک مثبت حاصل کرنے کے لئے ڈبل لوپ کا استعمال کرتا ہے صارف سے INT. میں اس وقت ایک نیا فنکشن کہ INT گزر (ن)، پھر، یہ بلا، سگما ملاقات کی. اور میں واپسی قیمت، جواب ذخیرہ اس وقت بلیک باکس کی طرف سے ایک متغیر میں، سگما کے طور پر جانا جواب ملاقات کی. پھر میں نے اس کو پرنٹ. اب ہم کہانی کو جاری رکھتے ہیں تو، سگما کس طرح لاگو کیا جاتا ہے؟ میں مندرجہ ذیل کے طور پر لاگو کرنے کے لئے تجویز پیش کی. غلطی سے چیکنگ سے پہلے، تھوڑا سا صارف نہیں ہے اس بات کو یقینی بنانے کے لئے میرے ساتھ خلط ملط اور میں گزر رہا ہے کچھ منفی یا 0 قدر. پھر میں نے فون کیا ایک متغیر کا اعلان خلاصہ اور یہ 0 کے لئے مقرر کیا. اور اب میں مجھے برابر سے منتقل کرنے کے لئے شروع 1 تمام کرنے کا طریقہ اپ اور میٹر بھی شامل ہے، میں سب شامل کرنا چاہتے ہیں کیونکہ M کے ذریعے ایک سے نمبر، شامل ہیں. اور اندر لوپ کے لئے اس کے، میں صرف کرتے ہیں رقم اب یہ ہے جو کچھ بھی ملتا ہے، اس کے علاوہ میں کی قدر. میں پلس قیمت. ایک ایک طرف کے طور پر، اگر آپ کو یہ نہیں دیکھا تو اس سے پہلے، کچھ syntactic چینی کی ہے اس لائن کے لیے. کے علاوہ میں نے برابر کے طور پر میں نے اس کو دوبارہ سے لکھنا کر سکتے ہیں صرف اپنے آپ کو چند keystrokes کو بچانے کے لئے اور تھوڑا سا ٹھنڈے دیکھنے کے لئے. لیکن بس اتنا ہی. یہ فعل ہی بات ہے. بدقسمتی سے، اس کوڈ کی ابھی تک مرتب کرنے کے لئے نہیں جا رہا. میں ہوں کس طرح سگما 0، بنانے چلاتے ہیں تو میں چللایا کرنے کے لئے جا رہے ہیں؟ کیا یہ اچھا نہیں جا رہا ہے؟ سامعین: [اشراوی]. DAVID MALAN: جی ہاں، میں اعلان نہیں کیا سب سے اوپر، ٹھیک؟ اپ کی تقریب سی قسم کے بیوکوف ہے یہ صرف ہے کہ میں آپ کو ایسا کرنے بتا کیا کرتا ہے، اور آپ کو اس لئے کہ یہ کرنا ہے. میں یہاں درج کریں مارا اور اگر ایسا ہے، تو میں جا رہا ہوں سگما کے بارے میں ایک انتباہ شامل ہو جاؤ اعلان. اوہ، کوئی مسئلہ نہیں. میں نے سب سے اوپر تک جا سکتے ہیں، اور میں کر سکتا ہوں ٹھیک ہے، کا کہنا ہے کہ، ایک منٹ رکو. سگما واپس کہ ایک تقریب ہے ایک INT اور یہ توقع رکھتا ہے ایک ان پٹ، نیم وقفہ کے طور پر INT. یا میں پورے تقریب میں ڈال سکتے ہیں اہم اوپر، لیکن عام طور پر، میں ہوتا یہ ہے، کیونکہ اس کے خلاف کی سفارش ہمیشہ سب سے اوپر تو میں اہم ہے اچھا تم نے صحیح میں گوتا لگا اور جان سکتا ہے کیا پروگرام سب سے پہلے اہم پڑھنے سے کر رہا ہے. تو اب مجھے سکرین واضح ہیں. ریمیک سگما 0. تمام چیک کرنے کے لیے لگتا ہے. مجھے سگما 0 چلاتے ہیں. مثبت بین. میں نے اس کا نمبر دے دیں گے 3 آسان رکھنے کے لئے. تو نے مجھے 3 دینا چاہئے پلس 2 پلس 1، لہذا 6. درج کریں، اور بے شک میں 6 ملتا ہے. میں بڑا کچھ کر سکتے ہیں - 50، 12، 75. بس ایک مماس کے طور پر، میں کیا کرنے جا رہا ہوں ایک بہت بڑا طرح مضحکہ خیز کچھ نمبر، اوہ، اصل میں باہر کام کیا ہے - ہاں، میں سچ کہہ رہا ہے کہ نہیں لگتا. چلو دیکھتے ہیں. کی واقعی اس کے ساتھ خلط ملط کرتے ہیں. یہ ایک مسئلہ ہے. کیا چل رہا ہے؟ کوڈ اتنا برا نہیں ہے. یہ ابھی بھی لکیری ہے. سیٹی بجا، اگرچہ ایک اچھا اثر ہے. کیا چل رہا ہے؟ میں نے یہ سنا تو اس بات کا یقین نہیں ہے. تو یہ باہر کر دیتا ہے - اور یہ ایک ایک طرف کے طور پر ہے. یہ بنیادی نہیں ہے تکرار کا خیال. میں کوشش کر رہا ہوں کیونکہ یہ باہر کر دیتا ہے ، سب سے زیادہ اتنی بڑی تعداد کی نمائندگی کرتے ہیں امکان یہ غلط تشریح کی جا رہی ہے ایک مثبت نہیں تعداد کے طور پر سی کی طرف سے، لیکن منفی نمبر. ہم اس بارے میں بات کی، لیکن نہیں کیا ہے یہ منفی نمبروں ہیں باہر کر دیتا ہے اس کے علاوہ دنیا میں مثبت نمبرز. اور آپ کر سکتے ہیں جس کے ذریعے ذرائع ایک منفی نمبر کی نمائندگی کرتے ہیں بنیادی طور پر، آپ کو ایک استعمال ہے اس بات کی نشاندہی کرنے کے لئے خصوصی بٹ منفی سے زیادہ مثبت. یہ اس سے بھی تھوڑا سا زیادہ پیچیدہ ہے لیکن اس کے بنیادی خیال ہے. تو بدقسمتی سے، سی ایک بردوست ہے تو اصل معنی کے طور پر ان کی بٹس، اوہ، یہ ایک منفی نمبر، میری لوپ ہے یہاں مثال کے طور پر، اصل میں کبھی نہیں ہے ختم کرنے والا. میں واقعی میں کچھ پرنٹ کیا گیا تو اگر بار بار، ہم کریں گے ایک پوری بہت دیکھ کر. لیکن پھر اس بات کے علاوہ ہے. یہ واقعی میں سے صرف ایک قسم ہے ہم آ جائیں گے کہ دانشورانہ تجسس آخر میں کرنے کے لئے واپس. لیکن اب کے لئے، یہ ایک درست ہے نفاذ ہم فرض کریں کہ اگر صارف ints فراہم کرے گا کہ ints کے اندر اندر فٹ. لیکن میں، کہ اس کوڈ کو، واضح طور سے دعوی اتنا زیادہ صرف کیا جا سکتا ہے. ہاتھ میں مقصد ایک بڑی تعداد لینے کے لئے ہے تو جیسے میٹر اور تمام کا اضافہ یہ اور 1، یا اس کے برعکس کے درمیان نمبرز 1 کے درمیان اور اس کے، میں دعوی میں ضم ہے کہ اس خیال قرضے لے سکتا ہوں کہ ترتیب دیں ایک مسئلہ لے رہا تھا، جو تھا اس کے سائز اور اس کی تقسیم چھوٹے کچھ میں. شاید نصف، لیکن چھوٹے، لیکن نہیں representatively وہی. اسی خیال، لیکن ایک چھوٹی مسئلہ. تو میں نے اصل میں رہا ہوں - مجھے اس فائل کو محفوظ کرنے دیں ایک مختلف ورژن نمبر کے ساتھ. ہم اس ورژن میں فون کروں گا 1 کی بجائے 0. اور میں اس میں واقعی میں کر سکتے ہیں کا دعوی اس طرح میں اس reimplement دماغ موڑنے طریقہ. میں نے اکیلے اس کا حصہ چھوڑ کر جا رہا ہوں. میٹر کم ہے تو میں کہنے جا رہا ہوں سے زیادہ یا 0 کے برابر بھی - میں نے صرف ایک چھوٹا سا بننے والا ہوں مزید مقعد اس وقت - میری غلطی چیکنگ کے ساتھ میں آگے بڑھو اور 0 واپس کرنے کے لئے جا رہا ہوں. یہ صوابدیدی ہے. میں نے ابھی صرف فیصلہ کر رہا ہوں اگر صارف مجھے ایک منفی نمبر فراہم کرتا ہے، میں ہوں 0 آرہے ہیں، اور انہوں نے پڑھا ہے چاہئے دستاویزات کی زیادہ باریک بینی سے. ورنہ - میں کرنے والا ہوں کیا محسوس. ورنہ میں میٹر کے علاوہ واپس کرنے کے لئے جا رہا ہوں - میٹر کی سگما کیا ہے؟ ٹھیک ہے، M M پلس مائنس 1 سگما، پلس مائنس M 2، کے علاوہ میٹر مائنس 3. میں اس سے باہر کے تمام لکھنے کے لئے نہیں کرنا چاہتا. میں کیوں پنٹ صرف نہیں کرتے؟ تکراری طور پر ایک تھوڑا سا کے ساتھ اپنے آپ کو فون چھوٹے مسئلہ، نیم وقفہ، اور یہ ایک دن کہتے ہو؟ ٹھیک ہے؟ اب یہاں بھی آپ کو لگتا ہے یا فکر ہو سکتا ہے یہ میں ہوں کہ ایک لامتناہی لوپ ہے کہ میں نے عمل درآمد کر رہا ہوں جس کے تحت inducing، کالنگ سگما کی طرف سے سگما. لیکن اس کی وجہ سے، بالکل ٹھیک ہے میں نے ایک لائنیں جو شامل آگے سوچا؟ سامعین: [اشراوی]. DAVID MALAN: 23 پر 26، جس میں میری تو حالت ہے. کے بارے میں اچھی بات ہے کیونکہ کیا یہاں باقی نکالنا، میں رکھنے کی وجہ سے حوالے سگما چھوٹے مسائل، چھوٹے مسائل، چھوٹے - یہ نہیں ہے نصف سائز. یہ صرف ایک چھوٹے بچے کے قدم ہے لیکن یہ ٹھیک ہے. آخر میں، ہم کام کریں گے کیونکہ نیچے 1 یا 0 کرنے کے لئے ہمارے راستے. اور ایک بار ہم 0 مارا، سگما نہیں ہے اب خود فون کرنے والا. یہ فوری طور پر 0 واپس جا رہا ہے. لہذا اثر، ہوا کی طرح آپ کو یہ تو اپ آپ کے دماغ میں، م پلس شامل کرنے کے لئے ہے M مائنس 1، پلس مائنس M 2، پلس مائنس میٹر 3، پلس ڈاٹ، ڈوٹ، ڈوٹ، م مائنس M، آخر میں آپ 0 دے، اور اثر کے تمام شامل کرنے کے لئے بالآخر ہے ایک دوسرے کے ساتھ ان چیزوں کو. تو ہم، تکرار کے ساتھ، نہیں ہے مسئلہ حل ہے کہ ہم اس سے پہلے حل نہیں ہو سکتا ہے. بے شک، اس ورژن 0، اور ہر تاریخ کے لئے مسئلہ، solvable رہا ہے صرف loops کے لئے استعمال کرتے ہوئے کے ساتھ یا کرتے ہوئے loops یا اسی طرح کی تعمیر کرتے ہیں. لیکن تکرار، میں daresay، ہمیں دیتا ہے کے بارے میں سوچ کا ایک مختلف طریقے مسائل، ہم نے ایک لے سکتے ہیں جس کے تحت اگر مسئلہ کچھ سے تقسیم کسی حد تک کچھ میں کسی حد تک بڑے پیمانے پر چھوٹے، میں ہم اسے حل کر سکتے ہیں کا دعوی ہے کہ شاید تھوڑا elegantly شرائط میں ڈیزائن کی، کم کوڈ کے ساتھ، اور ہو سکتا ہے کہ مسائل کو حل کریں گے ہم آخر میں کروں گا کے طور پر، مشکل ہو خالصتا iteratively کو حل کرنے، ملاحظہ کریں. میں نے کیا تھا کہ لیکن cliffhanger ہم پر چھوڑنا چاہتے ہیں یہ تھا. مجھ سے آگے بڑھو اور کھول دیں سے ایک فائل اپ - اصل میں، مجھے جانے دو اور یہ اصلی جلدی کرو. مجھ سے آگے بڑھو اور تجویز کرتے ہیں مندرجہ ذیل. آج کے کوڈ کے علاوہ یہ فائل یہاں ہے. یہاں یہ ایک، noswap. تو یہ کہ ایک بیوکوف چھوٹا سا پروگرام ہے میں دعوے کرنا کہ اپ whipped مندرجہ ذیل. بنیادی میں، یہ سب سے پہلے ایک اعلان INT X کہا جاتا ہے اور یہ دیتا ہے 1 کی قدر. پھر یہ ایک INT Y اعلان اور یہ قیمت 2 دیتا ہے. تو یہ X اور Y کیا ہے باہر پرنٹ. اس کے بعد، ڈاٹ ڈاٹ ڈاٹ گماگمن، کہتے ہیں. اس کے بعد ایک تقریب بلا ہونے کا دعوی X میں گزر رہا ہے اور، سویپ کہا جاتا ہے کہ امید ہے خیال جن میں سے Y، x اور y کیا واپس آ جائے گا مختلف، کے برعکس. اس وقت یہ تبدیل دعوی! فجائیہ نقطہ نظر کے ساتھ. تو یہ X اور Y باہر پرنٹ. لیکن یہ پتہ چلا ہے کہ یہ بہت نیچے سادہ مظاہرے یہاں اصل میں چھوٹی گاڑی ہے. میں نے ایک عارضی طور پر اعلان کر رہا ہوں اگرچہ متغیر اور عارضی طور پر میں ڈال یہ تو میں reassigning رہا ہوں ب کی ایک قیمت - میں نے کی وجہ سے، جو مناسب محسوس ہوتا ہے TEMP میں ایک کی ایک کاپی بچا لیا. پھر میں برابر کرنے کے لئے ب کو اپ ڈیٹ TEMP میں جو کچھ بھی تھا. ایک منتقل کرنے کے شیل کھیل کے اس طرح اس کا استعمال کرتے ہوئے کی طرف سے ایک میں میں ب اور ب متوسط ​​آدمی TEMP محسوس ہوتا ہے کہا جاتا ہے بالکل مناسب. میں نے اس کو چلانے جب لیکن میں یہ دعوی کوڈ، اب میں کروں گا کے طور پر - مجھ سے آگے بڑھیں اور اسے یہاں چسپاں کر دیں. میں اس noswap.c فون کرتا ہوں. نام سے پتہ چلتا ہے کے طور پر اور یہ نہیں ہے ایک صحیح پروگرام ہونے جا رہا. noswap بنائیں. / کوئی تبادلہ. X 1 ہے، Y، 2 ہے گماگمن، تبدیل. X 1 ہے، Y 2 ہے. یہ بھی بنیادی طور پر غلط ہے یہ بالکل ایسا لگتا ہے اگرچہ میرے لئے مناسب. اور وہاں ایک وجہ ہے، لیکن ہم نہیں ہو ابھی اس کی وجہ ظاہر کرنے والا. میں چاہتا تھا دوسری cliffhanger ابھی کے لیے کے ساتھ آپ کو چھوڑ کرنے کے لئے ایک، یہ ہے کوپن کوڈ پر قسم کے اعلان. دیر دن کے ساتھ ہماری جدت اس سال ایک غیر چھوٹی سی تعداد کو اکسایا ہے سوالات کی، جس میں تھی نہیں ہماری نیت. یہ کوپن کوڈ کی نیت، جس کے تحت آپ کو مسئلے کا حصہ کرتے ہیں تو اس طرح، ایک اضافی دن ہو رہی ہے، جلد از جلد مقرر تم لوگوں کو میں مدد کرنے کے لئے واقعی میں تھا اپنے آپ کو جلد از جلد، طرح شروع آپ incentivizing کی طرف سے. ہمیں بھر میں لوڈشیڈنگ تقسیم میں مدد ملتی ہے دفتری اوقات بہتر تاکہ یہ جیت کی طرح ہے. بدقسمتی سے، میں نے اپنے ہدایات لگتا ہے لہذا، تاریخ، بہت واضح، نہیں ہے میں نے اس ہفتے کے آخر میں واپس چلے گئے اور اپ ڈیٹ پر بڑا، bolder متن میں رپورٹ ان کی طرح گولیوں کی وضاحت. اور صرف کی طرف سے، زیادہ عوامی سطح پر یہ کہنا پہلے سے طے شدہ، مسئلہ سیٹ جمعرات کی وجہ سے ہیں دوپہر میں، نصاب کے مطابق. آپ کا حصہ مکمل، جلد شروع ہو تو 12:00 میں بدھ کی طرف سے مقرر مسئلہ ش، ایک کوپن سے متعلق اس حصے کوڈ، خیال آپ کو توسیع کر سکتے ہیں کے لئے اپنے اخری تاریخ P جمعہ تک قائم ہے. یہی تھوڑا سا پی کے ایک چھوٹے حصہ بند ہے عام طور پر کیا ہے کرنے کے لئے رشتہ دار مقرر بڑا مسئلہ ہے، اور آپ خرید اپنے آپ کو ایک اضافی دن. ایک بار پھر، اس کے بارے میں سوچ آپ کو ملتا ہے مسئلہ سیٹ، آپ کو ملتا ہے دفتری اوقات جلد. لیکن کوپن کوڈ بھی مسئلہ ہے تم نے اسے جمع کرانے کے نہ بھی ہو تو، کی ضرورت ہے. لیکن compellingly یہ ہے. (مرحلے فسفسانا) اور ان لوگوں کو چھوڑ کر جلد از جلد اسے افسوس والے ہو. جیسا کہ بالکنی پر لوگ ہیں. پر لوگوں کے لئے ایڈوانس میں میں معافی چاہتا ہوں ہو جائے گا کہ وجوہات کی بناء پر بالکنی صرف ایک لمحے میں صاف کریں. تو ہم میں سے ایک ہے خوش قسمت ہیں میں CS50 کی سابق سربراہ تدریسی ساتھیوں dropbox.com نامی ایک کمپنی. وہ بہت دل کھول کر ایک عطیہ دیا ہے اتنا گنجایش کے لیے یہاں کوپن کوڈ، کی طرف سے جو ہے معمول 2 گیگا بائٹس. تو میں نے سوچا کیا ہم اس پر کروں گا آخری نوٹ، ایک سستا کا تھوڑا سا کرتے ہے صرف ایک لمحے میں، ہم ظاہر کرے گا جس کے تحت فاتح اور جو کوپن ہے اگر تم ان کے پاس جا سکتے ہیں کہ کوڈ ویب سائٹ، اس میں ٹائپ کریں، اور voila، ایک ہو جاؤ آپ کے لئے پوری بہت زیادہ ڈراپ باکس کی جگہ آلات اور آپ کی ذاتی فائلوں کے لیے. اور سب سے پہلے، جو حصہ لینے کے لئے چاہتے ہیں اس ڈرائنگ میں؟ ٹھیک ہے، اب یہ اور بھی زیادہ مزہ آئے بناتا ہے. یہ 25 گیگا بائٹ موصول جو شخص کوپن کوڈ - دور ہے جس میں دیر سے زیادہ مجبور اب، شاید دنوں - ایک کے سب سے اوپر پر بیٹھا ہے جو ایک ہے ہے جن کے نیچے سیٹ کشن کہ کوپن کوڈ. اب آپ نیچے دیکھ سکتے ہیں اپنی سیٹ تکیا. [ویڈیو پلے بیک] -ایک، دو، تین. [چللا] تم ایک گاڑی ہو جاؤ! آپ کو ایک گاڑی لے! DAVID MALAN: ہم دیکھیں گے بدھ کے روز آپ کو. تم ایک گاڑی ہو جاؤ! آپ کو ایک گاڑی لے! آپ کو ایک گاڑی لے! آپ کو ایک گاڑی لے! آپ کو ایک گاڑی لے! DAVID MALAN: بالکنی لوگ، آ یہاں نیچے سامنے، ہم مع اضافت ہے جہاں. -ہر کوئی ایک کار ہو جاتا ہے! ہر کوئی ایک کار ہو جاتا ہے! [END ویڈیو پلے بیک] راوی: اگلے CS50 میں - اسپیکر 5: ارے ارے ارے ارے ارے میرے ارے ارے ارے ارے ارے ارے - [UKELELE ادا کرتا ہے]