[موسیقی بجانے] اسپیکر 1: ٹھیک ہے. ہر کوئی واپس حصے میں استقبال. میں آپ سب کو کامیابی ہیں امید ہے کہ آپ کا کوئز سے برآمد گزشتہ ہفتے سے. میں نے اس کے اوقات میں تھوڑا سا پاگل جانتے. اگر آپ نہیں ہیں تو میں نے پہلے کہہ رہا تھا معیاری انحراف کے اندر اندر، واقعی، خاص طور پر، اس کے بارے میں فکر نہ کرو ایک کم آرام کے حصے کے لیے. یہ ہے کہ آپ کہاں ہونا چاہئے کے بارے میں ہے. آپ تو بہت اچھا، بہت اچھا کیا تو. اگر آپ کو Kudos. اور آپ کو لگتا ہے تو آپ کی ضرورت ہے پسند ایک تھوڑا سا زیادہ مدد، براہ مہربانی تک پہنچنے کے لئے آزاد محسوس کرتے ہیں TFs میں سے کسی کے لئے باہر. ہم سب یہاں مدد کرنے کے لئے ہیں. ہم پڑھاتے یہی وجہ ہے کہ. میں نے آپ کے لئے یہاں ہر پیر ہوں یہی وجہ ہے کہ جمعرات لڑکوں اور دفتر میں گھنٹے. تو مجھے مطلع کرنے کے لئے براہ مہربانی بلا جھجھک آپ کسی چیز کے بارے میں فکر مند ہیں تو یا تمام سوالات پر اگر کچھ وہاں ہے کہ تم واقعی میں خطاب کرنے چاہیں. تو آج کا ایجنڈا ہے تمام اعداد و شمار ڈھانچے کے بارے میں. ان میں سے کچھ صرف صرف ہونے جا رہے ہیں اگر آپ ان کے ساتھ familiarized حاصل کرنا. کیا تم نے کبھی عمل درآمد نہیں کر سکتے ہیں اس کلاس میں ان کو. تم کروگے ان میں سے کچھ، آپ ہجے کنندہ pset کے لئے طرح. آپ اپنی پسند کے لئے پڑے گا ہیش میزیں اور کوشش کرتا ہے کے درمیان. تو ہم ضرور ان پر جا رہا ہوں. یہ قسم کی یقینی طور پر زیادہ ہونے جا رہا ہے ایک اعلی سطح کے حصے کی آج، اگرچہ، کیونکہ وہاں ان میں سے ایک بہت ہیں، اور اگر ہم پر عملدرآمد کی تفصیلات میں چلا گیا ان میں سے سب پر، ہم نہیں کریں گے بھی منسلک کی فہرست کے ذریعے حاصل اور شاید ہیش میزیں کا ایک تھوڑا سا. پس میرے ساتھ صبر. ہم کر جا نہیں کر رہے ہیں جتنا اس وقت کوڈنگ. آپ اس کے بارے میں کوئی سوالات ہیں یا اگر آپ اس پر عمل کیا دیکھنا چاہتے ہیں یا اپنے آپ کے لئے اس کی کوشش کریں، میں ضرور مشورہ دیتے ہیں ، study.cs50.net کرنے جا جس ان میں سے سب کی مثالیں ہیں. یہ میری POWERPOINTS پڑے گا نوٹوں کے ساتھ کہ جب ہم کچھ پروگرامنگ کے طور پر بھی استعمال کرتے ہیں مشقیں، خاص طور پر چیزوں کے لئے لنک کی فہرست اور بائنری طرح درختوں پوٹ اور سنکیتوں. اتنے کم زیادہ اعلی سطح، جس تم لوگوں کے لئے اچھا ہو سکتا ہے. تو اس کے ساتھ، ہم شروع ہو جائے گی. اور بھی، yes-- quizzes ہے. میں اندر ہیں جو تم میں سب سے زیادہ لگتا ہے کہ میرے حصے، آپ quizzes ہے لیکن کسی کو یا کسی وجہ سے میں آتا ہے کہ آپ ایسا نہیں کرتے، وہ یہیں سامنے ہو. لہذا فہرست منسلک. جاتا ہے کی وجہ سے میں اس قسم جانتے آپ کا کوئز پہلے واپس کرنا. اس سے پہلے ہفتہ تھا ہم اس بارے میں سیکھا ہے. لیکن اس صورت میں، ہم صرف کریں گے گہرائی میں تھوڑا سا زیادہ جانا. تو کیوں نہ ہم ایک منتخب کر سکتے ہیں ایک صف پر منسلک فہرست؟ انہیں کیا امتیازی حیثیت رکھتے ہیں؟ جی ہاں؟ سامعین: آپ کو توسیع کر سکتے ہیں ایک سے منسلک ایک صف کی مقررہ سائز کے مقابلے کی فہرست. اسپیکر 1: ٹھیک ہے. ایک صف میں ایک جبکہ سائز مقرر کیا ہے لنک کی فہرست ایک متغیر سائز ہے. ہم نہیں جانتے تو یہ تو کس طرح جتنا ہم محفوظ کرنا چاہتے ہیں، ایک لنک کی فہرست ہمیں ایک عظیم دیتا طرح کرنے کی ہے کہ ہم صرف یہ کر سکتے ہیں کیونکہ دوسرے نوڈ پر شامل کریں اور پر شامل کریں دوسرے نوڈ اور دوسرے نوڈ پر شامل کریں. لیکن کیا ایک تجارتی آف ہو سکتا ہے؟ کسی کو تجارت بند کو یاد ہے arrays اور منسلک فہرستوں کے درمیان؟ Mmhmm؟ سامعین: آپ کو کرنا پڑے پورے راستے کے ذریعے جانے کے منسلک فہرست کے ذریعے ایک فہرست میں ایک عنصر کو تلاش کریں. ایک صف میں، آپ کر سکتے ہیں صرف ایک عنصر تلاش. اسپیکر 1: ٹھیک ہے. لہذا arrays کے ساتھ سامعین: [اشراوی]. اسپیکر 1: arrays کے ساتھ، ہم ہیں کیا رینڈم رسائی کہا جاتا ہے. اگر ہم چاہتے ہیں کہ کیا جاتا ہے کا مطلب ایک فہرست کی کبھی پانچویں پوائنٹ یا کے پانچویں نکتے ہمارے سرنی، ہم صرف اس پر قبضہ کر سکتے ہیں. یہ ایک منسلک فہرست ہے، ہم ہیں دائیں، کے ذریعے iterate کرنے کے لئے؟ تو ایک عنصر میں تک رسائی حاصل کرنے ایک صف، مسلسل وقت ہے یہ کرے گا ایک لنک کی فہرست کے ساتھ جبکہ سب سے زیادہ امکان ہے کیونکہ ہو سکتا ہے کہ لکیری وقت ہونا ہمارے عنصر آخر میں تمام طریقہ ہے. ہم نے ہر چیز کے ذریعے تلاش کرنے کے لئے ہے. ان تمام اعداد و شمار کے ساتھ تو ہم جا رہے ہیں ڈھانچے پر تھوڑا زیادہ وقت خرچ کیا جائے گا، pluses اور منفی کیا ہیں. ہم کرنے کے لئے چاہتے ہو سکتا ہے جب دوسرے پر ایک کا استعمال کرتے ہیں؟ اور یہ کہ کی طرح ہے بڑی بات یہ ہے کہ دور لے. تو ہم یہاں ہے ایک نوڈ کی تعریف. یہ ایک عنصر میں کی طرح ہے ہمارے منسلک فہرست، ہے نا؟ تو ہم سب واقف ہیں ہمارے typedef structs کے ساتھ، ہم نے آخری بار جائزہ لینے میں گئے جس. صرف پیدا یہ بنیادی طور پر تھا ہم استعمال کر سکتا ہے کہ ایک اور ڈیٹا کی قسم. اور اس صورت میں، یہ کچھ نوڈ ہے کہ اندر کچھ عددی منعقد کریں گے. اور پھر دوسرا حصہ یہاں ہے؟ کوئی ہے؟ سامعین: [اشراوی]. اسپیکر 1: جی ہاں. یہ اگلے نوڈ پوائنٹر ہے. تو یہ اصل میں یہاں ہونا چاہئے. اس قسم کی ایک پوائنٹر ہے اگلی چیز نوڈ. اور وہ کیا ہے کہ وہ اپنے نوڈ کو گھیرے ہوئے. ٹھنڈا. تلاش کے ساتھ ٹھیک ہے، تو، ہم تھے کے طور پر اگر آپ نہیں ہیں تو صرف، ہاتھ سے پہلے کہہ کے ذریعے تلاش کرنے کے لئے جا، آپ اصل میں iterate کرنا پڑے آپ کے منسلک فہرست کے ذریعے. ہم تعداد کے لئے تلاش کر رہے ہیں تو اگر 9، ہم اپنے سر پر شروع ہو جائے گا اور یہ کہ شروع میں ہمیں دکھاتا ہے ہمارے منسلک کی فہرست کے، حق؟ اور ہم OK، اس کرتا ہے، کا کہنا ہے کہ نوڈ 9 نمبر پر مشتمل؟ نہیں؟ ٹھیک ہے، اگلے ایک کے پاس جاؤ. اس پر عمل. اسے 9 نمبر شامل ہے؟ نمبر اگلے ایک پر عمل کریں. تو ہم اصل میں iterate کرنا پڑے ہمارے منسلک فہرست کے ذریعے. ہم صرف 9 ہے، جہاں سے براہ راست نہیں جا سکتا. اور آپ لوگ اصل میں کرنا چاہتے ہیں تو وہاں کچھ چھدم کوڈ کو دیکھیں. ہم یہاں کچھ تلاش کی تقریب ہے کہ اس میں وقت لگتا ہے کیا in-- لیتا ہے؟ تم کیا سوچتے ہو؟ اتنا آسان سے ایک. یہ کیا ہے؟ سامعین: [اشراوی]. اسپیکر 1: ہم کے لئے تلاش کر رہے ہیں کی تعداد. ٹھیک ہے نا؟ اور کیا اس کے مطابق ہو گا؟ یہ ایک پوائنٹر ہے؟ سامعین: ایک نوڈ. اسپیکر 1: فہرست میں ایک نوڈ ہم صحیح، میں تلاش کر رہے ہیں؟ تو ہم نے کچھ نوڈس یہاں پوائنٹر ہیں. یہ جا رہا ہے کہ ایک نقطہ ہے دراصل ہماری فہرست کے ذریعے iterate. ہم فہرست کے برابر مقرر یہ صرف ہے کیونکہ کے برابر مقرر ہمارے منسلک فہرست کے آغاز. اور اگر یہ نل نہیں ہے جبکہ، جبکہ ہم اب بھی، ہماری فہرست میں چیزیں ہیں کہ نوڈ ہے تو دیکھنے کے لئے چیک ہم کے لئے تلاش کر رہے ہیں کی تعداد. سچ واپس. ورنہ، صحیح، اس کو اپ ڈیٹ؟ یہ نل ہے، تو ہم باہر نکلنے ہمارے جبکہ لوپ اور جھوٹے واپس کیونکہ اس کا مطلب ہم یہ نہیں مل سکا ہے. کہ سب کو یہ کیسے کام کرتا ہے حاصل کرتا ہے؟ OK. آپ، اندراج کے ساتھ تو تین مختلف طریقے ہیں. کیا آپ واقعی شامل کر سکتے ہیں، پریپنڈ کرسکتے ہیں پر مختلف میں اور آپ کو داخل کر سکتے ہیں. اس صورت میں، ہم ہیں ایک prepend کے کیا کرنے جا. کسی کو کس طرح ان جانتی ہے تین مقدمات اختلاف ہو سکتا ہے؟ تو prepend آپ کو ڈال کا مطلب ہے کہ یہ آپ کی فہرست کے سامنے. پس اس کا مطلب ہو گا، کوئی بات نہیں ہے کہ آپ نوڈ، کوئی بات نہیں ہے کیا قیمت کیا ہے، آپ جا رہے ہیں OK، سامنے اسے یہاں ڈال کرنے کے لئے؟ یہ سب سے پہلے ہو رہا ہے آپ کی فہرست میں عنصر. آپ یہ شامل ہے، تو یہ جا رہا ہے آپ کی فہرست کی پشت پر جانے کے لئے. اور مختلف تم ہو کا مطلب ہے میں داخل جگہ میں اصل میں ڈال دیا جا رہا یہ رکھتا ہے جہاں آپ کے منسلک فہرست کے مطابق. ایک بار پھر، آپ کو کس طرح استعمال کرتے ہیں ان لوگوں کو اور جب آپ استعمال کرتے ہیں انہیں آپ کے کیس پر منحصر ہے مختلف ہو گا. اس کی ضرورت نہیں ہے تو کے مطابق رکھا جائے، prepend کے لئے جاتا کیا زیادہ تر لوگوں کے ہونے کے لئے آپ ایسا نہیں کرتے کیونکہ کا استعمال مکمل فہرست کے ذریعے جانے کے لئے ہے صحیح، اس پر شامل کرنے کے لئے اختتام تلاش کرنے کے لئے؟ آپ کو صرف صحیح میں اسے رہنا کر سکتے ہیں. تو ہم ایک کے ذریعے جائیں گے اندراج 1 درست اب. میں جا رہا ہوں تا کہ ایک بات انتہائی اس pset پر کی سفارش کرتے ہیں ہمیشہ کی طرح، چیزیں باہر اپنی طرف متوجہ کرنے کے لئے ہے. آپ کو اپ ڈیٹ ہے کہ یہ بہت ضروری ہے صحیح ترتیب میں آپ کا اشارہ اگر آپ ان کو اپ ڈیٹ کیونکہ اگر قدرے حکم سے باہر، آپ کو ختم کرنے کے لئے جا رہے ہیں آپ کی فہرست کے کچھ حصوں کو کھونے. تو مثال کے طور، اس معاملے میں، ہم ہیں 1 سے صرف نقطہ پر سر کہہ رہا. ہم صرف یہ کرتے ہیں یہ 1 محفوظ کئے بغیر، ہم نے کوئی اندازہ نہیں ہے 1 اب کی طرف اشارہ کرنا چاہئے، ہم کھو دیا ہے کی وجہ سے کیا سر کی طرف اشارہ کیا. تو ایک بات یاد رکھنے کی جب آپ کو ایک prepend کے کر رہے ہیں کیا کو بچانے کے لئے ہے پہلا سر پوائنٹس، پھر اس کے بعد میں reassign، اور پھر اپ ڈیٹ کریں کیا آپ نیا نوڈ کی طرف اشارہ کرنا چاہئے. اس صورت میں، یہ ایسا کرنے کا ایک طریقہ ہے. ہم اسے اس طرح کیا تھا تو اگر جہاں ہم صرف، سر دوبارہ تعینات ہم بنیادی طور پر ہمارے پاس کھونے کے مکمل فہرست، ہے نا؟ ایسا کرنے کا ایک طریقہ کے لئے 1 نقطہ ہے کے لئے ہے اگلے، اور پھر 1 کے سر نقطہ ہے. یا آپ کی طرح قسم کے ایسا کر سکتے ہیں میں نے کے بارے میں بات کی تھی جس میں عارضی اسٹوریج،. لیکن تمہاری reassigning صحیح ترتیب میں اشارہ بہت، بہت بننے جا رہا ہے اس pset کے لئے اہم. دوسری صورت میں، آپ کو ایک ہیش کی ضرورت کے لئے جا رہے ہیں ٹیبل یا صرف ہونے جا رہا ہے کہ ایک کوشش لفظوں کا صرف ایک حصہ ہے کہ آپ کو you're-- mmhmm تو چاہتے ہیں اور؟ سامعین: عارضی کیا تھی سٹوریج چیز آپ کے بارے میں بات کر رہے تھے؟ اسپیکر 1: عارضی اسٹوریج. تو بنیادی طور پر ایک اور آپ یہ کر سکتے ہیں جس طرح کی طرح، کچھ کے سر کی دکان ہے اس عارضی متغیر ذخیرہ. 1 سے تفویض اور پھر اشارہ کرنے 1 اپ ڈیٹ جو کچھ بھی کرنے کے لئے سر کی طرف اشارہ کرنے کے لئے استعمال. اس طریقے سے ظاہر ہے زیادہ خوبصورت آپ کی وجہ سے ایک عارضی قیمت کی ضرورت نہیں، لیکن اگر صرف ایسا کرنے کا ایک طریقہ کی پیشکش. اور ہم اصل ہے اس کے لیے کچھ کوڈ. لنک کی فہرست کے لئے So، ہم اصل میں کچھ کوڈ ہے. تو یہ prepending جاتا، یہاں داخل. تو یہ سر پر اس میں داخل ہوتا ہے. تو پہلی بات یہ، آپ کو کرنے کی ضرورت ہے کورس کے، آپ کے نئے نوڈ بنانے، اور نل کے لئے کی جانچ پڑتال. ہمیشہ اچھے. اور پھر آپ کو اقدار تفویض کرنے کی ضرورت. جب بھی آپ، آپ کو ایک نیا نوڈ بنانے یہ اگلے کی طرف اشارہ ہے پتہ نہیں کیا، لہذا آپ شہوت انگیز null اسے ابتدا کرنا چاہتے ہیں. یہ کچھ کی طرف اشارہ کر ختم ہوتا ہے تو ورنہ، اس reassigned اور یہ ٹھیک ہے ہو جاتا ہے. یہ پہلی چیز ہے تو فہرست میں، اس کی ضرورت ہے کیونکہ اتارنا null کی طرف اشارہ کرنے کے اس فہرست کے آخر ہے. تو پھر یہ داخل کرنا، ہم یہاں دیکھیں ہمارے نوڈ کے اگلے قیمت مقرر کر رہے ہیں سر ہے جو کچھ بھی ہو، جو ہم یہاں تھا کیا ہے. کہ کیا ہم صرف کیا ہے. اور پھر ہم نقطہ پر سر بتائے رہے ہیں. ہمارے نئے نوڈ، یاد ہے کیونکہ، نئے، ایک نوڈ کے لئے کچھ پوائنٹر ہے اور یہ کہ بالکل وہی سر ہے کیا ہے. یہ بالکل ہم کیوں ہے یہ تیر accessor ہے. ٹھنڈا؟ Mmhmm؟ سامعین: ہم کرنے کی ضرورت ہے پہلا اتارنا null کی نئی اگلے ابتدا، یا ہم صرف سربراہ کے لئے اس کی ابتدا کر سکتے ہیں؟ اسپیکر 1: اگلے نئی شروع کرنے کے لئے نل کرنے کی ضرورت ہے تم نہیں جانتے کیونکہ یہ کہاں جا رہا ہے. اس کے علاوہ، اس قسم کی ہے صرف ایک پیرا میٹر کو پسند. آپ اسے شہوت انگیز null برابر صرف بنانے کے لئے مقرر اس بات کا یقین آپ کے تمام اڈوں کو احاطہ کرتا رہے ہیں کہ آپ تاکہ کسی بھی reassignment کا کام کرنے سے قبل آپ کو ہمیشہ یہ ہو گا کہ ضمانت رہے ہیں ایک مخصوص قیمت کی طرف اشارہ کیا جائے ایک ردی کی ٹوکری کی قدر کی طرح بمقابلہ. جی ہاں، ہم تفویض، کیونکہ خود کار طریقے سے اگلے نئے، لیکن یہ صرف ایک کی طرح زیادہ ہے اچھی پریکٹس اسے ابتدا کرنا اس راہ میں اور اس کے بعد میں reassign. ٹھیک ہے، تو اب دوگنا فہرست منسلک. ہم کیا سوچتے ہیں؟ کیا کے ساتھ مختلف ہے دوگنا فہرست منسلک؟ لہذا ہمارے منسلک کی فہرست میں، ہم کر سکتے ہیں صرف حق، ایک ہی سمت میں منتقل؟ ہم صرف اگلے ہے. ہم صرف آگے جا سکتے ہیں. دوگنا منسلک کی فہرست کے ساتھ، ہم بھی پیچھے کی طرف منتقل کر سکتے ہیں. تو ہم نہ صرف ہے ہم محفوظ کرنا چاہتے ہیں کہ یہ تعداد، یہ اگلے کی طرف اشارہ ہے جہاں ہم ہیں اور ہم صرف کہاں سے آیا. تو اس کے لئے کی اجازت دیتا ہے کچھ بہتر traversal کی. لہذا دوگنا منسلک نوڈس، بہت ہی اسی طرح، حق؟ فرق صرف ہم اب ہے ایک اگلے اور سابقہ ​​پڑے. یہ صرف فرق ہے. ہم تھے، اگر تو prepend یا append-- ہم کرنے یہاں اس کے لئے کوئی کوڈ کو نہیں رکھتے لیکن آپ کو کوشش کرنے کے لئے تھے تو ، اہم چیز یہ داخل آپ کو بنانے کے لئے کی ضرورت ہے یقین ہے کہ آپ بتائے رہے ہیں. دونوں اپنے سابقہ ​​اور آپ درست طریقے سے اگلے پوائنٹر. تو اس معاملے میں، تم کروگے صرف اگلے ابتدا نہیں، آپ نے پچھلے ابتدا. ہم نے فہرست کے سربراہ میں ہو، تو ہم سر برابر نیا بنا دے گا نہ صرف، لیکن ہمارے نئے گزشتہ کرنا چاہئے حق، سر کی طرف اشارہ؟ کہ صرف فرق ہے. اور آپ کے ساتھ زیادہ مشق کرنا چاہتے ہیں تو داخل کے ساتھ منسلک کی فہرست، کے ساتھ ان، ڈالنے کے ساتھ، کو خارج کرنے کے ساتھ ایک مختلف فہرست میں، study.cs50.net چیک کریں. عظیم مشقوں کی ایک گروپ ہے. میں بہت زیادہ ان کی سفارش کرتے ہیں. میرے خیال سے ہم ان کے ذریعے جانے کا وقت تھا چاہتے لیکن اعداد و شمار کے ڈھانچے کی ایک بہت کچھ ہے کے ذریعے حاصل کرنے. OK، ہیش میزیں تاکہ. شاید یہ سب سے زیادہ ہے آپ کی pset کے لئے مفید سا یہاں آپ کو ہو جائے جا رہے ہیں کیونکہ ان میں سے ایک، یا ایک کوشش کو لاگو. مجھے سچ میں ہیش میزیں کی طرح. وہ کافی ٹھنڈا ہو. تو بنیادی طور پر ہے کیا ایسا ہوتا ہے ایک ہیش ٹیبل ہے ہم سچ فوری ضرورت ہے جب ہے اندراج، منسوخی، اور تلاش. وہ لوگ ہم ہیں کہ چیزیں ہیں ایک ہیش ٹیبل میں ترجیح. انہوں نے، بہت بڑا حاصل کر سکتے ہیں لیکن ہم کوشش کرتا ہے کے ساتھ نظر آئے گا کے طور پر، بہت بڑے ہیں کہ چیزیں ہیں. لیکن بنیادی طور پر، سب ایک ہیش میز ایک ہیش تقریب ہے کہ ہر ایک میں ڈال کرنے کے بالٹی آپ کو بتاتا آپ کے ڈیٹا کی، میں آپ کے عناصر میں سے ہر. ایک طریقہ یہ ایک ہیش ٹیبل کے بارے میں سوچنا یہ چیزوں کی صرف بالٹیاں ہے یہ ہے کہ، ہے نا؟ آپ کی طرف سے چیزوں کو حل کر رہے ہیں تو جب ان کے نام کے پہلے حرف کی طرح، اس قسم کے ایک ہیش ٹیبل کی طرح ہے. میں گروپ کر تھے تو تو تم لوگ یہ ہے کے نام سے شروع ہوتا ہے جو شخص کے گروپوں میں یہاں پر ایک کے ساتھ، یا سالگرہ اورجس ہے ، جنوری، فروری، مارچ میں ہے جو کچھ بھی، کہ مؤثر طریقے سے ہے ایک ہیش میز پیدا. یہ صرف بالٹیاں پیدا کر رہا ہے کہ آپ میں آپ کے عناصر کی چھانٹی آپ کو ان آسان تلاش کر سکتے ہیں تا کہ. مجھے اس کی ضرورت ہے جب اس طرح پس تم میں سے ایک کو تلاش کرنے کے، میں تلاش کرنے کی ضرورت نہیں آپ کے ناموں میں سے ہر ایک کے ذریعے. میں اوہ، طرح ہو سکتا ہے، مجھے معلوم ہے ڈینیل کی سالگرہ in-- ہے سامعین: --April. اسپیکر 1: اپریل. تو میں نے اپنے اپریل میں دیکھیں بالٹی، اور کسی بھی قسمت کے ساتھ، وہ صرف وہاں سے ایک میں ہو جائے گا اور میرا وقت، اس معنی میں مسلسل تھا میں نے نظر ہے جبکہ اگر لوگوں کی ایک پوری چڑھانے کے ذریعے، یہ بہت طویل لے جا رہا ہے. تاکہ ہیش میزیں واقعی صرف بالٹیاں ہیں. آسان طریقہ میں ان کے بارے میں سوچنا. تاکہ ایک بہت ہی اہم چیز کے بارے میں ایک ہیش میز ایک ہیش تقریب ہے. تو چیزوں میں بس کی طرح، کے بارے میں بات آپ کا پہلا نام کے آپ کے پہلے حرف یا آپ کی سالگرہ ماہ، ان خیالات ہیں کہ واقعی ایک ہیش تقریب کرنے کا correlate. یہ فیصلہ کرنے کے صرف ایک طریقہ ہے جس میں تم ٹھیک، رہے عنصر میں چلا جاتا بالٹی؟ لہذا اس pset کے لئے، آپ کو دیکھ سکتے ہیں آپ چاہتے ہیں کسی ہیش تقریب بہت زیادہ. اپنی خود کی ہونا ضروری نہیں ہے. کچھ واقعی ٹھنڈی والوں وہاں سے باہر ہیں پاگل ریاضی کی ہر طرح وہاں کیا ہے کہ. اور آپ کو آپ کو بنانے کے لئے چاہتے ہیں تو سپر روزہ spellchecker، میں ضرور کریں گے ان میں سے ایک پر غور. لیکن وہاں بھی ہیں کمپیوٹ کی طرح سادہ لوگ ہیں، الفاظ، کی رقم کی طرح ہر خط ایک بڑی تعداد ہے. رقم کی گنتی. کہ بالٹی کا تعین کرتا ہے. انہوں نے یہ بھی آسان لوگ ہیں کہ صرف ایک چلو یہاں سب کی طرح ہیں، بی کے سب یہاں ہے. ان لوگوں میں سے کسی ایک. بنیادی طور پر، یہ صرف آپ کو بتاتا ہے جو سرنی انڈیکس میں جانا چاہئے آپ کے عنصر. بس bucket-- فیصلہ کرنے یہ سب ایک ہیش تقریب ہے. لہذا ہم یہاں ہے جو ایک مثال ہے سٹرنگ کا صرف پہلا حرف کہ میں صرف کے بارے میں بات کر رہا تھا. تو کیا تم صرف ہے کہ کچھ ہیش ہے آپ سٹرنگ مائنس A کے پہلے حرف، آپ کو کچھ دے گا جس 0 اور 25 کے درمیان تعداد. اور جو کچھ تم کیا کرنا چاہتے ہے اس کی نمائندگی کرتا ہے اس بات کو یقینی بنانے کے آپ ہیش کا سائز table-- کتنے بالٹیاں ہیں. ان میں سے بہت سے کے ساتھ ہیش افعال، وہ ہو جا رہا ہے کہ شاید کیا اقدار واپس لوٹنے پر جہاں تک بالٹیاں کی تعداد اوپر ہونا آپ اصل میں ہے کہ آپ ہیش ٹیبل میں، لہذا آپ کو بنانے کی ضرورت ہے اس بات کا یقین ہے اور ان کی طرف سے جدید. دوسری صورت میں، یہ کہا جا رہا ہے، اوہ، یہ بالٹی 5،000 میں ہونا چاہئے لیکن آپ کو صرف 30 ہے آپ ہیش ٹیبل میں بالٹیاں. اور ظاہر کی، ہم سب جانتے کچھ پاگل غلطیوں کے نتیجے میں کرنے کے لئے جا. لہذا طرف MOD کی بات کو یقینی بنائیں آپ ہیش ٹیبل کے سائز. ٹھنڈا. collisions سے تو کیا. ہر کوئی اب تک اچھا ہے؟ Mmhmm؟ سامعین کیوں کرے گا اتنے بڑے پیمانے پر قدر واپس؟ اسپیکر 1: الگورتھم پر منحصر آپ ہیش تقریب کا استعمال کرتا ہے. ان میں سے کچھ کوشش کروں گا پاگل ضرب. اور یہ ہو رہی ہے کے بارے میں سب ایک بھی تقسیم، تاکہ وہ واقعی کچھ کرتے کبھی کبھی پاگل باتیں. وہ سب ہے. اور کچھ؟ OK. collisions سے تو کیا. بنیادی طور پر، میں نے پہلے کہا کے طور پر، بہترین صورت میں، میں نے پر غور کسی بھی بالٹی ہے ایک چیز کے لئے جا، تو میں حق، بالکل نظر کرنے کی ضرورت نہیں ہے؟ میں یا تو یہ وہاں ہے معلوم ہے یا یہ ہے نہیں، اور یہ کہ اگر ہم واقعی چاہتے ہیں. لیکن ہم نے دسیوں ہزاروں کی ہے تو ڈیٹا پوائنٹس اور اس تعداد سے کم بالٹیاں کی، ہم جا رہے ہیں collisions سے جہاں بالآخر کچھ اور ایک میں ختم کرنے کے لئے جا رہا ہے پہلے سے ہی ایک عنصر ہے کہ بالٹی. تو سوال، کیا ہے ہم اس صورت میں کیا کروں؟ ہم کیا کرتے ہیں؟ ہم پہلے ہی وہاں کچھ ہے؟ ہم صرف اسے باہر پھینک کر سکتا ہوں؟ نمبر ہم نے ان میں سے دونوں کو رکھنے کے لئے ہے. پس جس طرح کہ جب ہم عام طور پر یہ کہ رہا ہے؟ آنکڑا ڈھانچہ کیا ہے ہم صرف کے بارے میں بات کی؟ سامعین: لنک کی فہرست. اسپیکر 1: ایک لنک کی فہرست. تو اب، بجائے ان میں سے ہر ایک کی بالٹیاں صرف، ایک عنصر ہونے اس کا ایک لنک کی فہرست پر مشتمل کرنے کے لئے جا رہا ہے اس میں سے hashed رہے تھے کہ عناصر. OK، ہر کسی کو اس قسم کی اس خیال حاصل کرتا ہے؟ ہم ایک صف نہیں کر سکتے تھے کیونکہ ہم کس طرح بہت سی چیزوں کو نہیں جانتے کیونکہ وہاں میں ہونے جا رہے ہیں. ایک لنک کی فہرست میں ہمیں اجازت دیتا ہے صرف صحیح تعداد ہے کہ حق، کہ بالٹی میں سے hashed رہے ہیں؟ تحقیقات کررہی ہے تو لکیری بنیادی طور پر اس idea-- یہ ایک تصادم سے نمٹنے کے لئے ایک طریقہ ہے. آپ کیا کر سکتے ہیں اس میں، تو ہے کیس، بیری 1 میں سے hashed گیا تھا اور ہم نے پہلے سے ہی ہے وہاں کچھ، آپ کو صرف جب تک نیچے جا رکھنے آپ کو ایک خالی سلاٹ جائے. کہ اس کو ہینڈل کرنے کا ایک طریقہ ہے. ہینڈل کرنے کے لئے دوسرے طریقے اس کے ساتھ ہوتا ہے جو ہم نے ابھی منسلک بلایا فہرست chaining کہا جاتا رہا ہے. تو یہ خیال ہے تو کام کرتا ہے آپ کے خیال میں آپ کے ہیش میز سے زیادہ بڑا ہے آپ کے ڈیٹا سیٹ یا اگر کوشش کریں اور جکڑا جانا کم سے کم کرنے چاہتے ہیں یہ بالکل ضروری ہے جب تک. تو ایک بات لکیری ہے ظاہر ہے کا مطلب ہے کہ تحقیقات آپ ہیش تقریب ہے کہ کافی کے طور پر مفید نہیں ہے آپ استعمال کو ختم کرنے جا رہے ہیں کیونکہ آپ ہیش تقریب، ایک نقطہ پر ہو رہی ہے، تم سے نیچے کی تحقیقات لکیری دستیاب ہے کہ کسی جگہ. لیکن اب، کورس کے، کچھ بھی ، وہاں ختم ہو جاتی ہے کہ کسی اور کیا آپ کی ضرورت کے لئے جا رہے ہیں مزید بھی نیچے جائیں تلاش. اور بہت زیادہ ہے تلاش کے خرچے کہ ایک عنصر inputting کی میں چلا جاتا ہے اب آپ کے ہیش ٹیبل میں، ٹھیک ہے؟ اور اب تم جاؤ اور کوشش کریں اور تلاش ہے جب بیری دوبارہ، آپ اسے ہیش کرنے جا رہے ہیں، اور یہ، کہا جا رہا ہے اوہ، بالٹی 1 میں نظر آتے ہیں، اور اسے ہونا کرنے والا نہیں ہے بالٹی 1 میں، لہذا آپ کو ہو گزرنا پڑے جا ان کے باقی کے ذریعے. تو یہ، کبھی کبھی مفید ہے لیکن زیادہ تر مقدمات میں، ہم نے اس کے کہنے جا رہے ہیں جکڑا جانا؟ آپ کیا کرنا چاہتے ہیں ہے. تو ہم نے یہ پہلے کے بارے میں بات. میں نے خود کے تھوڑا آگے کی ہے. لیکن جکڑا جانا؟ بنیادی طور پر یہ ہے کہ آپ ہیش ٹیبل میں ہر ایک بالٹی صرف ایک لنک کی فہرست ہے. تو ایک اور طریقہ، یا زیادہ تکنیکی جس طرح، ایک ہیش ٹیبل کے بارے میں سوچنا یہ صرف ایک صف ہے کہ ہے لنک کی فہرست، میں سے جو جب آپ کو آپ کی ڈکشنری لکھ رہے ہیں اور آپ اسے لوڈ کرنے کی کوشش کر رہے ہیں، ایک کے طور پر اس کے بارے میں سوچ لنک کی فہرست کے سرنی یہ بہت آسان کر دے گا آپ کی ابتدا کرنے کے لئے. سامعین: تو ہیش ٹیبل ایک پہلے سے مقرر سائز ہے، بالٹیاں کی ایک [اشراوی] کی طرح؟ اسپیکر 1: ٹھیک ہے. لہذا اس کا ایک سیٹ نمبر ہے آپ determine-- کہ بالٹیاں جس نے تم لوگوں کو کرنا چاہئے ساتھ کھیلنے کے لئے آزاد محسوس کرتے ہیں. یہ بہت اچھا ہو سکتا ہے دیکھتے ہیں کیا ہوتا آپ بالٹیاں کی آپ کا نمبر تبدیل کے طور پر. لیکن ہاں، یہ ایک بالٹیاں کے سیٹ نمبر. کیا آپ کے طور پر فٹ ہونے کے لئے کی اجازت دیتا ہے کی آپ کو ضرورت کے طور پر بہت سے عناصر یہ علیحدہ chaining جہاں آپ سے ہے ہر ایک بالٹی میں فہرستوں سے لنک کیا ہے. کہ آپ کے ہیش ٹیبل کا مطلب بالکل وہی سائز ہو جائے گا آپ، ٹھیک ہو جائے گا اس کی ضرورت ہے؟ کہ لنک کی فہرست کے پورے نقطہ ہے. ٹھنڈا. وہاں تو سب ٹھیک ہے؟ ٹھیک ہے. آہ. صرف کیا ہوا؟ واقعی اب. کوئی مجھے مار رہا ہے اندازہ لگا. اوکے ہم میں جانے کے لئے جا رہے ہیں تھوڑا پاگل ہیں جو کوشش کرتا ہے،. میں ہیش میزیں کی طرح. میرے خیال میں وہ بہت ٹھنڈا ہو. کوشش کرتا بھی، ٹھنڈا ہیں. تو کسی ایک کوشش کیا ہے یاد آتی ہے؟ آپ پھر سے چلے جانا چاہیے یہ مختصر طور پر درس میں؟ آپ کو یہ کیسے کام کرتا ہے کی طرح ہے یاد ہے؟ سامعین میں صرف جھکی ہوں ہم اس پر جا سکا ہے کہ. اسپیکر 1: ہم اس پر جا سکتا ہوں. OK، ہم سچ میں جانے کے لئے جا رہے ہیں اب یہ ہے سے زیادہ ہم کہہ رہے ہیں. سامعین: یہ ایک ریٹریول درخت کے لئے ہے. اسپیکر 1: جی ہاں. یہ ایک ریٹریول درخت ہے. بہت اچھے. تو یہاں محسوس کے لئے ایک بات یہ ہے کہ ہم انفرادی حروف کو دیکھ رہے ہیں یہاں، ٹھیک ہے؟ تو ہماری ہیش تقریب کے ساتھ پہلے، ہم مجموعی طور پر الفاظ کو دیکھ رہے تھے، اور اب ہم میں مزید تلاش کر رہے ہیں حروف، حق؟ تو ہم یہاں اور مینڈل زائد میکسویل ہے. تو بنیادی طور پر ایک کرنے کی کوشش کا ایک طریقہ کے بارے میں سوچنا کرنے اس کے بارے میں ہے کہ ہر سطح کے یہاں ہے حروف کی ایک صف ہے. تو یہ تمہاری جڑ نوڈ کا حق، یہاں ہے؟ اس کے تمام حروف ہے ہر لفظ کے آغاز کے لئے حروف تہجی. اور جو کچھ تم کیا کرنا چاہتے ہے کا کہنا ہے کہ، ٹھیک ہے، ہم کچھ M لفظ ہے. ہم میکسویل کے لئے ملاحظہ کرنے کے لئے جا، تا رہے ہم نے ایک پورے ایم اور ایم پوائنٹس پر جانے دوسرے ایک سرنی جہاں ہر پر جب تک کے طور پر وہاں لفظ، ایک ہے کہ ایک لفظ ہے دوسرا خط کے طور پر، جب تک کے طور پر ایک لفظ ہے کہ وہاں ہے کے طور پر دوسرا خط کے طور پر B ہے، یہ ایک پوائنٹر پڑے گا کچھ اگلے سرنی کرنے کے لئے جا. شاید وہاں نہیں ہے لفظ کہ MP کچھ ہے، اس میں P پوزیشن پر اتنا سرنی، یہ صرف نل ہو گی. یہ رواج نہیں ہے، ٹھیک ہے، کہیں گے کہ ایم اوکے، ایک P کی طرف سے کے بعد کیا ہے؟ تو ہم اس، ہر ایک کے بارے میں کیا سوچتے ہیں ان چھوٹی چیزوں میں سے ایک اصل میں ان میں سے ایک ہے Z. کے ذریعے ایک سے بڑی arrays کے تو چیزوں میں سے ایک کیا ہو سکتا ہے کہ ایک کوشش کے ایک واپسی کی قسم ہے؟ سامعین: میموری کا ایک بہت. اسپیکر 1: یہ درست ہے، میموری کا ایک ٹن ہے؟ یہاں ان بلاکوں میں سے ہر ایک 26 خالی جگہوں، 26 عنصر ایک صف کی نمائندگی کرتا ہے. لہذا کوشش کرتا خلائی بھاری ناقابل یقین حد تک ملتا ہے. لیکن وہ بہت تیز ہیں. تاکہ ناقابل یقین حد تک تیزی سے لیکن واقعی خلا غیر فعال. قسم کے اعداد و شمار ہے جس میں سے ایک باہر آپ چاہتے ہیں. ان میں آپ pset کے لئے واقعی بہت اچھے ہیں لیکن وہ میموری کا ایک بہت لینے کرتے، لہذا آپ سے دور سے تجارت. جی ہاں؟ سامعین: یہ ممکن ہو گا پھر ایک کوشش قائم کی اور ایک بار جب آپ تمام اگر آپ یہ ہے کہ اس میں ڈیٹا کہ احساس کرے گا تو مجھے پتہ نہیں ہے. میں سے چھٹکارا حاصل کرنے گیا تھا، تمام نل حروف، لیکن اس کے بعد آپ انڈیکس them-- کرنے کے قابل نہیں ہو گی اسپیکر 1: آپ کو اب بھی ان کی ضرورت ہے. سامعین: - اسی طرح ہر بار. اسپیکر 1: جی ہاں. تم دو کرنے نل حروف ضرورت وہاں ایک لفظ بھی نہیں ہے اگر آپ کو معلوم ہے. کیا آپ چاہتے ہیں کچھ ہے بین کیا؟ OK. ٹھیک ہے، اس لیے ہم جا رہے ہیں تھوڑا سا جانے کے لئے پیچھے تکنیکی تفصیل میں ایک کی کوشش کریں اور ایک مثال کے ذریعے کام. ٹھیک ہے، تو یہ ایک ہی بات ہے. ایک لنک کی فہرست میں، ہمارے مرکزی جبکہ ؟ قسم of-- میں چاہتا لفظ کیا ہے - بلاک کی تعمیر کی طرح ایک نوڈ تھا. ایک کوشش میں، ہم بھی، ایک نوڈ لیکن یہ مختلف طریقے سے وضاحت کی گئی ہے. تو ہم نے کچھ bool کے لئے ہے کہ ایک لفظ ہے کہ آیا اصل کی نمائندگی کرتا ہے اس مقام پر موجود ہے، اور اس کے بعد ہم، یہاں یا بلکہ بعض صف ہے یہ ایک پوائنٹر ہے 27 حروف کی سرنی. اور یہ اس، اس معاملے میں، کے لئے ہے 27-- میں تم سب کی طرح ہیں یقین ہے کہ ہوں،، انتظار حروف تہجی میں 26 حروف ہیں. کیوں ہم 27 ہے؟ تو پر منحصر آپ کو اس پر عمل درآمد کے راستے، یہ ایک pset سے ہے کہ اپوسٹروفاس لئے کی اجازت دی. تو یہ کیوں اضافی ایک ہے. تم نے بھی کچھ میں پڑے گا مقدمات شہوت انگیز null مختتم ایک کے طور پر شامل کیا جاتا ہے یہ ہو جائے کرنے کی اجازت ہے کہ حروف، اور یہ کہ وہ کرنے کے لئے کی جانچ پڑتال کا طریقہ یہ ہے اس لفظ کے آخر ہے تو دیکھنے. اگر آپ دلچسپی رکھتے ہیں تو، باہر کی جانچ پڑتال study.cs50 پر کیون کی ویڈیو، اس کے ساتھ ساتھ وکی پیڈیا ہے کے طور پر وہاں کچھ اچھے وسائل. لیکن ہم صرف اس قسم کے ذریعے جانے کے لئے جا رہے ہیں آپ ایک کوشش کے ذریعے کام کر سکتے ہیں کہ کس طرح کی آپ کو ایک دی کر رہے ہیں تو. تو ہم یہاں ہے کہ ایک سپر آسان ایک ہے ان میں الفاظ "بیٹ" اور "زوم" ہے. اور ہم کو یہاں دیکھ کے طور پر، یہاں اس چھوٹی سی جگہ ہمارے bool کے کی نمائندگی کرتا ہے جی ہاں، یہ ایک لفظ ہے، کہتے ہیں. اور پھر یہ ہمارا ہے حروف کی arrays، حق؟ تو ہم کے ذریعے جانے کے لئے جا رہے ہیں اس کی کوشش میں "بیٹ" کی تلاش. تو صحیح، سب سے اوپر شروع ہو؟ اور ہم B کے مساوی ہے کہ پتہ دوسری انڈیکس، دوسرا عنصر اس صف میں، A اور B کیونکہ. لہذا تقریبا دوسرا شخص. اور یہ ٹھیک ہے،، میں اس ٹھنڈی پیروی، کا کہنا ہے کہ اگلی صف کے، ہم کو یاد کیونکہ اگر، یہ ان کا ہے کہ ہر ایک میں نہیں ہے اصل عنصر پر مشتمل ہے. یہ arrays میں سے ہر ایک دائیں، ایک پوائنٹر پر مشتمل ہے؟ اس کے بنانے کے لئے ایک اہم امتیاز ہے. میں نے اس کی کوشش کرتا ہے ہیں be-- جا رہا ہے جانتے پہلی بار پر حاصل کرنے کے لئے واقعی مشکل، تو یہ ہے، چاہے دوسری یا تیسری بار اور یہ قسم اب بھی ہے مشکل بظاہر کی، آپ گھڑی جانا تو میں وعدہ کرتا ہوں پھر مختصر کل، یہ شاید ایک بہت زیادہ احساس بنا دیں گے. یہ ہضم کرنا ایک بہت لیتا ہے. میں اب بھی کبھی کبھی ہوں طرح، انتظار، ایک کوشش کیا ہے؟ میں یہ کس طرح استعمال کروں؟ تو ہم نے اس معاملے میں B ہے، جس میں ہمارے دوسرے انڈیکس ہے. اگر ہم نے، کا کہنا ہے کہ، C یا د یا کسی دوسرے کے خط، ہم انڈیکس کہ واپس نقشہ کرنے کی ضرورت ہمارے صف کے اس کے مساوی ہے. تو ہم rchar طرح لے جائے گا اور صرف ہم ایک 25 0 میں نقشے پر بند منہا. اچھا ہر کوئی ہم کس طرح ہمارے حروف نقشہ؟ OK. تو ہم نے دوسرے ایک اور ہم پر جانے دیکھیں، جی ہاں، یہ نل کے لئے نہیں ہے. ہم اس کو اگلی صف کے لئے پر منتقل کر سکتے ہیں. تو ہم اس کی اگلی صف کے لئے پر جائیں. اور اب ہم، اوکے، کہنا ہم ایک یہاں ہے تو دیکھنے کے لئے کی ضرورت ہے. A خالی ہے یا یہ کرتا ہے اصل میں آگے منتقل؟ تو ایک اصل چلتا اس صف میں آگے. اور ہم OK، T ہماری آخری حرف ہے، کا کہنا ہے کہ. تو ہم انڈیکس میں ٹی کرنے کے لئے جانا. اور پھر ہم آگے بڑھنے کیونکہ ایک اور ایک موجود ہے. اور یہ ایک، جی ہاں، بنیادی طور پر کا کہنا ہے کہ یہ ایک لفظ ہے کہ وہاں کا کہنا ہے کہ یہاں اگر آپ اس پر عمل کریں کہ اگر راہ، آپ پہنچ چکے ہیں ایک لفظ میں، ہم جانتے ہیں کہ جس میں "بیٹ" ہے. جی ہاں؟ سامعین: کہ ہے کرنا یہ معیاری ہے تو 0 انڈیکس اور کے طور پر 1 پر ایک قسم ہے یا آخر میں ہے؟ اسپیکر 1: نہیں. ہم میں واپس دیکھو تو اگر ہمارا یہاں اعلامیہ، یہ ایک bool ہے، تو یہ آپ کی نوڈ میں اس کی اپنی عنصر ہے. لہذا یہ صف کا حصہ نہیں ہے. ٹھنڈا. ہم اپنے لفظ کو ختم کریں اور جب تو ہم ہیں اس صف میں، ہم کیا کرنا چاہتے یہ ایک لفظ ہے کے لئے ایک چیک کرنا ہے. اور اس صورت میں، اس کے ہاں لوٹ آئیں گے. تو ہے کہ نوٹ پر، ہم نے اس "چڑیاگھر" جانتے ہیں - "چڑیا گھر" ایک لفظ ہے جو کہ انسانوں کے طور پر ہم جانتے ہیں ہے نا؟ لیکن یہاں کریں گے کی کوشش کر رہے ہیں نہیں، یہ نہیں ہے، کا کہنا ہے کہ. اور یہ کہیں گے کہ ہم کیونکہ یہاں ایک لفظ کے طور پر اس کے نامزد نہیں کیا ہے. یہاں تک کہ ہم گزرنا کر سکتے ہیں اگرچہ اس صف کے ذریعے، اس کی کوشش کریں، کوئی، کہیں گے کہ چڑیا گھر آپ کی ڈکشنری میں نہیں ہے ہم نہیں ہے کیونکہ اس طرح کے طور پر اس کے نامزد. لہذا ایک ہی راستہ that-- اتنا کرنا اوہ، معاف کرنا، اس میں سے ایک. تو اس معاملے میں، "چڑیاگھر" نہیں ہے ایک لفظ، لیکن یہ ہماری کوشش میں ہے. لیکن اس میں سے ایک میں، ہم یہ چاہتے ہیں "غسل،" کیا ہوتا لفظ متعارف کرانے ہم کے ذریعے ب، ایک، ٹی پیروی ہے. ہم اس صف میں ہیں، اور ہم ح کے لئے تلاش کرنے کے لئے جانا. اس صورت میں، جب ہم ح پوائنٹر کی طرف دیکھو، یہ ٹھیک، شہوت انگیز null اشارہ کر رہا ہے؟ یہ واضح طور پر ہے تو جب تک ایک صف پر اشارہ کرتے ہوئے، تم فرض تمام اشارہ کہ اس صف میں شہوت انگیز null اشارہ کر رہے ہیں. تو اس صورت میں، ح اشارہ کر رہا ہے ہم کچھ نہیں کر سکتے ہیں تو شہوت انگیز null، تو یہ بھی لوٹ آئیں گے جھوٹے، "غسل" یہاں میں نہیں ہے. تو اب ہم اصل میں ہیں کے ذریعے جانے کے لئے کی جا رہی ہم کس طرح اصل کہیں گے کہ "چڑیا گھر" ہماری کوشش میں ہے. ہم کس طرح ہماری کوشش میں "چڑیا گھر" داخل ہے؟ ہم کے ساتھ شروع کر دیا، اسی طرح ہے کہ میں اتنا ہمارے منسلک فہرست، ہم جڑ شروع. شک میں، میں شروع کیا جب ان چیزوں کی جڑ. اور ہم، اوکے، Z کہیں گے. Z اس میں موجود ہے، اور یہ کرتا ہے. تو کیا تم پر آگے بڑھ رہے ہیں آپ کی اگلی صف کے، ٹھیک ہے؟ اور پھر اگلے ایک پر، ہم اوکے، اے موجود ہے، کا کہنا ہے کہ؟ یہ کرتا ہے. یہ پھر. اور اس طرح ہمارے اگلے ایک پر، ہم، کہا ہے OK، "چڑیاگھر" پہلے ہی یہاں موجود ہے. ہم کیا کرنے کی ضرورت ہے یہ سب برابر مقرر کیا گیا ہے درست کرنے کے لئے، وہاں ایک لفظ ہے کہ وہاں. آپ کو سب کچھ کے بعد کیا تھا تو اس نقطہ سے پہلے تک، یہ، ایک لفظ ہے، تو صرف اس طرح کے برابر مقرر. جی ہاں؟ سامعین: تو پھر اس سے فرق پڑتا ہے "بی اے" میں ایک لفظ بھی ہے اس کا مطلب؟ اسپیکر 1: نہیں. تو اس معاملے میں، "بی اے" ہم ملے گا یہاں، ہم، یہ ایک لفظ ہے کہیں گے اور یہ اب بھی کوئی ہو گا. ٹھیک ہے؟ Mmhmm؟ سامعین: آپ ایک بار تو یہ ایک لفظ اور آپ اسے پھر، ہاں کہنے میٹر پر جانے کے لئے بھی شامل ہو گی؟ اسپیکر 1: تو ایسا کرنا پڑتا ہے with-- تم میں اس کی لوڈ کر رہے ہیں. آپ کو "چڑیا گھر" میں ایک لفظ کا کہنا ہے کہ. آپ چیک کرنے کے لیے جاتے ہیں تو کی طرح، آپ کیا کہنا چاہتے ہیں، "چڑیا گھر" اس لغت میں موجود ہے؟ آپ کو صرف '، چڑیا گھر "کے لئے تلاش کرنے کے لئے جا رہے ہیں اور پھر یہ ایک لفظ ہے تو دیکھنے کے لئے چیک کریں. تم کبھی نہیں منتقل کرنے کے لئے جا رہے ہیں کہ نہیں ہے کیونکہ میٹر ذریعے کیا آپ کے لئے تلاش کر رہے ہیں. تو اگر ہم واقعی کرنا چاہتا تھا اس کی کوشش میں "غسل" کا اضافہ کریں، ہم بھی یہی کریں گے ہم کے ساتھ کیا تھا کے طور پر "چڑیا گھر،" جب ہم دیکھیں گے، سوائے کوشش کریں اور ح کے لئے حاصل، یہ موجود نہیں ہے. کوشش کر کے طور پر تو آپ کو اس کے بارے میں سوچ کر سکتے ہیں ایک لنک کی فہرست میں ایک نیا نوڈ کو شامل کرنے کے، تو ہم نے ایک اور شامل کرنے کے لئے کی ضرورت ہو گی تو جیسے یہ arrays میں سے ایک،. اور پھر ہم صرف ح مقرر کیا گیا ہے جو ہم کرتے ہیں اس کی طرف اشارہ اس صف کے عنصر. اور پھر کیا ہم یہاں کیا چاہتے ہیں؟ سچ کے برابر اضافہ کریں کیونکہ یہ ایک لفظ ہے. ٹھنڈا. میں جانتا ہوں. کوشش کرتا ہے سب سے زیادہ دلچسپ ہیں. مجھ پر اعتماد کرو، میں جانتا ہوں. تو ایک بات کی کوشش کرتا ہے کے ساتھ کا احساس کرنے، میرے خیال میں وہ بہت موثر ہیں، نے کہا. تو ہم نے وہ دیکھا ہے خلا کے ایک ٹن تک کا وقت لگ. وہ بردوست کی طرح رہے. تو کیوں نہ ہم نے کبھی ان کا استعمال کریں گے؟ وہ ہیں کیونکہ ہم ان کا استعمال ناقابل یقین حد تک موثر. کیا تم نے کبھی تلاش کر رہے ہیں تو اگر ایک لفظ، آپ کو صرف کر رہے ہیں لفظ کی لمبائی کی طرف سے جکڑے ہوئے. لہذا اگر آپ کو ایک کے لئے تلاش کر رہے ہیں لمبائی پانچ میں سے ہے کہ لفظ، آپ صرف کبھی کی ضرورت کے لئے جا رہے ہیں اوکے، سب سے زیادہ پانچ موازنہ بنانے کے؟ تو یہ بنیادی طور پر ایک مسلسل بناتا. اندراج اور تلاش کی طرح بنیادی طور پر مسلسل وقت ہیں. کیا آپ نے کبھی حاصل کر سکتے ہیں اگر ایسا ہے تو مسلسل وقت میں کچھ اور، کہ یہ ہو جاتا ہے کے طور پر کے طور پر اچھا ہے. تم سے بہتر نہیں مل سکتا ان چیزوں کے لئے مسلسل وقت. تو ہے کہ میں سے ایک ہے کوشش کرتا ہے کی بھاری کے pluses. لیکن یہ بہت جگہ ہے. لہذا آپ کو اس قسم کی کو فیصلہ کرنا ہے کیا آپ کے لئے زیادہ اہم ہے. اور آج کے کمپیوٹر پر، خلائی ایک کوشش کا وقت لگ سکتا ہے کہ شاید متاثر نہیں کرتا آپ کہ زیادہ، لیکن ہو سکتا ہے تم سے کچھ کے ساتھ کام کر رہے ہو کہ، اب تک، کہیں زیادہ چیزیں ہیں اور ایک کوشش صرف مناسب نہیں ہے. جی ہاں؟ سامعین: ٹھہرو، لہذا آپ 26 ہے ہر ایک میں حروف؟ اسپیکر 1: Mmhmm. جی ہاں، اگر آپ 26 ہے. آپ کو کچھ پھر لفظ مارکر اور ہے آپ کو ہر ایک میں 26 اشارہ ہے. اور وہ point-- رہے سامعین: اور ہر 26، وہ ایک 26 ہے؟ اسپیکر 1: جی ہاں. آپ کر سکتے ہیں اور یہ کہ، کیوں ہے یہ بہت تیزی سے وسعت دی، دیکھیں. ٹھیک ہے. تو ہم، درختوں میں حاصل کرنے کے لئے جا رہے ہیں جس میں مجھے پسند آسان ہے محسوس ہوتا ہے اور شاید کرے گا ایک اچھا تھوڑا دنڈورام ہونا وہاں کی کوشش کرتا ہے سے. تو امید ہے کہ آپ میں سے بیشتر اس سے پہلے کہ ایک درخت دیکھا ہے. خوبصورت پسند نہیں باہر والوں کو، جو میں نے کسی کو بھی معلوم نہیں ہے کہ حال ہی میں باہر چلا گیا. میں ایپل اس ہفتے کے آخر اٹھا گئے تھے، اور گوش اوہ میرے، یہ خوبصورت تھا. میں پتے نہیں جانتے تھے وہ خوبصورت نظر سکتی. تو یہ صرف ایک درخت صحیح، ہے؟ یہ صرف کچھ نوڈ ہے، اور یہ دوسرے نوڈس میں سے ایک گروپ کی طرف اشارہ ہے. آپ کو یہاں دیکھ کے طور پر، یہ ہے بار بار چلنے والی تھیم کی قسم. نوڈس نوڈس اشارہ کرتے ہوئے اس قسم کی ہے کئی ڈیٹا ڈھانچے کے جوہر. یہ صرف ہم کس طرح پر منحصر انہیں ایک دوسرے کی طرف اشارہ ہے اور ہم کس طرح گزرنا ان کے ذریعے اور کس طرح ہم تعین کرتا ہے کہ چیزیں داخل ان کی مختلف خصوصیات. تو صرف کچھ اصطلاحات، جس میں نے پہلے استعمال کیا ہے. لہذا جڑ بہت سب سے اوپر ہے جو کچھ بھی ہے. ہم ہمیشہ شروع جہاں یہ ہے. تم نے بھی سربراہ کے طور پر سوچ سکتے ہیں. لیکن درخت کے لئے، ہم نے کے لئے ہوتے ہیں جڑ کے طور پر اس کا حوالہ دیتے. نیچے دیے یہاں پر کچھ بھی بہت، بہت bottom-- میں سمجھا پتے ہیں. تو اس کے ساتھ ساتھ جاتا ہے پورے درخت چیز، ہے نا؟ پتے اپنے درخت کے کناروں پر ہیں. اور پھر ہم بھی کے ایک جوڑے کی ہے شرائط سلسلے میں نوڈس کے بارے میں بات کرنے کے لئے ایک دوسرے سے. تو ہم نے، والدین بچوں، اور بہن بھائیوں. تو اس معاملے میں، 3 ہے 5، 6، اور 7 کے والدین. لہذا والدین ہے جو کچھ بھی ہے تم جو کچھ بھی اوپر ایک قدم تو صرف، کا حوالہ دیتے ہوئے ایک خاندان کے درخت کی طرح. امید ہے کہ یہ سب ایک چھوٹا سا ہے بٹ کی کوشش کرتا ہے کے مقابلے میں زیادہ بدیہی. بہن بھائیوں ہے کہ کسی بھی ہیں حق ایک ہی والدین،؟ وہ یہاں ایک ہی سطح پر ہیں. اور پھر میں، تھا کے طور پر کہہ، بچوں صرف کر رہے ہیں ذیل میں ایک قدم ہے جو کچھ بھی ہے سوال میں نوڈ، ٹھیک ہے؟ ٹھنڈا. تو ایک بائنری درخت. کیا کسی ایک پر ایک اندازہ خطرہ کر سکتے ہیں بائنری درخت کی خصوصیات؟ سامعین: میکس دو پتیوں. اسپیکر 1: ٹھیک ہے. تو دو پتیوں کی زیادہ سے زیادہ. تو اس سے پہلے اس میں سے ایک میں، ہم اس سے ایک تھا کہ، تین تھے، لیکن ایک بائنری درخت میں اگر آپ ان دونوں میں سے ایک زیادہ سے زیادہ ہے والدین فی بچوں، ہے نا؟ ایک ہے دلچسپ خصوصیت. کسی کو بھی معلوم ہے؟ بائنری درخت. تو ایک بائنری درخت سب کچھ کرنا پڑے گا the-- پر اس ایک کو حل کر نہیں ہے لیکن ایک کے مطابق بائنری درخت میں، حق پر ہر چیز ، والدین سے بڑا ہے اور بائیں جانب سب کچھ والدین سے بھی کم ہے. اور یہ کہ ایک کوئز رہا ہے سوال کرنے سے پہلے، اتنا اچھا جاننا. تو ہم اس کی وضاحت کے طریقہ، پھر، ہم کسی دوسرے نوڈ ہے. یہ کیا کی طرح لگ رہا؟ دوگنا سامعین: لنک کی فہرست اسپیکر 1: ایک ڈبل لنک کی فہرست، ہے نا؟ تو ہم نے اس کی جگہ لے لے اگر پچھلے اور اگلے کے ساتھ، یہ دوگنا منسلک فہرست ہو گی. لیکن اس معاملے میں، ہم اصل بائیں اور دائیں اور یہ بات ہے. دوسری صورت میں، یہ بالکل ایسا ہی ہے. ہم اب بھی عنصر ہے آپ، کے لئے تلاش کر رہے ہیں اور آپ کو صرف دو اشارہ ہے جو بھی کرنے جا اگلے ہے. جی ہاں، تو بائنری تلاش درخت. ہم پر، ہر چیز کو محسوس ہو گا یہیں زیادہ than-- ہے فوری طور پر یا سب کچھ یہاں سے دائیں ، ہر چیز سے بڑا ہے یہاں سے بھی کم ہے. تو ہم کے ذریعے تلاش کرنے کے لئے تھے، تو یہ بائنری تلاش کے بہت قریب نظر آنا چاہئے یہاں، ٹھیک ہے؟ بجائے لگ سوائے نصف صف میں، ہم صرف یا تو بائیں طرف دیکھ رہے ہیں طرف یا درخت کی دائیں جانب. یہ تھوڑا آسان ہو جاتا ہے. تو، مجھے لگتا ہے. آپ کی جڑ نل ہے اگر ایسا ہے تو، ظاہر ہے یہ صرف جھوٹ ہے. یہ وہاں ہے اور اگر، ظاہر ہے کہ یہ سچ ہے. اس سے کم ہے، ہم بائیں تلاش. اس سے بڑا ہے تو، ہم حق کی تلاشی. درحقیقت یہ وہ بائنری تلاش کی طرح ہے صرف ایک مختلف آنکڑا ڈھانچہ کہ جو ہم استعمال کر رہے ہیں. اس کی بجائے ایک سرنی کے ایک، یہ صرف ایک بائنری درخت ہے. OK، پوٹ. اور بھی، یہ ہم کی طرح لگتا ہے وقت کا ایک تھوڑا سا کے لئے ہو سکتا ہے. ہم ایسا کرتے ہیں، تو میں جانے کے لئے خوش ہوں اس کے کسی بھی زیادہ بار بار. ٹھیک ہے، تو پوٹ. کسی کو کیا یاد کرتا stacks-- ایک اسٹیک کے کسی بھی خصوصیات؟ OK، ہم میں سے اکثر اتنی، مجھے لگتا ہے کہ، کھانے میں کھانے halls-- ہم کرنے کے لئے پسند نہیں کر سکتے جتنا. لیکن ظاہر ہے، آپ کو ایک اسٹیک کے بارے میں سوچ کر سکتے ہیں لفظی صرف ٹرے کے اسٹیک کے طور پر یا چیزوں کی ایک اسٹیک. اور اہم کیا ہے احساس کرنے یہ ہے کہ ہے خصوصیت کچھ ہم اسے by-- فون ہے کہ LIFO ہے. کسی کو بھی اس کے لئے کھڑا کیا جانتا ہے؟ Mmhmm؟ سامعین: پہلا، میں گزشتہ باہر. اسپیکر 1: ٹھیک ہے، سب سے پہلے، میں گزشتہ باہر. اگر ہم جانتے ہیں تو، ہم چیزیں stacking رہے ہیں اپ، سب سے آسان بات off-- قبضہ کرنے اور ہو سکتا ہے صرف ایک ہی چیز ہم نے قبضہ کر سکتے ہیں ہمارے اسٹیک بڑا کافی ہے اگر بند کہ سب سے اوپر عنصر ہے. تو جو کچھ بھی پر پیش کیا گیا ہم یہاں دیکھتے ہیں کے طور last--، جو بھی نکالا گیا سب سے زیادہ پر recently-- ہے پہلی ہونے جا رہا ہم پاپ کہ بات، ٹھیک ہے؟ تو کیا ہم یہاں ہے ایک اور typedef کے struct کی. یہ واقعی صرف ایک طرح ہے آنکڑا ڈھانچہ میں کورس کریش، تاکہ آپ لوگوں پر پھینک دیا ایک بہت ہے. میں جانتا ہوں. لہذا ابھی تک کسی دوسرے struct کی. ڈھانچے کے لئے Yay. اور اس صورت میں، یہ کچھ پوائنٹر ہے کچھ صلاحیت ہے کہ ایک صف پر. تو کیا یہ ہمارے اسٹیک کی نمائندگی کرتا ہے یہاں، ہماری اصل صف کی طرح کہ ہماری عناصر انعقاد ہے. اور پھر ہم یہاں کچھ سائز ہے. اور عام طور پر، اگر آپ کو رکھنا چاہتے ہیں آپ کے اسٹیک کتنا بڑا کا ٹریک اس کی اجازت ہے کیا ہو رہا ہے کیونکہ کیا آپ واقعی سائز معلوم ہے اگر ایسا کرنے کی، یہ آپ کو کہنے کی اجازت دیتا، ٹھیک ہے، میں صلاحیت میں ہوں؟ مجھے مزید کچھ شامل کر سکتے ہیں؟ اور یہ بھی آپ کو بتاتا جہاں آپ کے اسٹیک کے سب سے اوپر ایسا ہے کیا آپ جانتے ہیں کہ کیا اصل سے دور لے جا سکتے ہیں. اور یہ کہ اصل جا رہا ہے یہاں ایک چھوٹا سا زیادہ واضح ہو. لہذا دھکا، ایک بات کے لئے، اگر آپ دھکا لاگو کرنے کے لئے کبھی تھے، میں صرف یہ کہہ رہا تھا کے طور پر، آپ اسٹیک حق، ایک محدود سائز ہے؟ ہمارے صف کچھ صلاحیت تھی. یہ ایک صف ہے. یہ ایک مقررہ سائز ہے، تو ہم کرنے کی ضرورت ہے ہم زیادہ نہیں ڈال رہے ہیں اس بات کو یقینی بنانے کے ہم سے اپنے صف میں اصل کے لئے جگہ ہے. لہذا جب آپ ایک دھکا پیدا کر رہے ہیں تقریب، تم ٹھیک، کا کہنا ہے کہ ایسا پہلی بات، میں نے اپنے اسٹیک میں خلا ہے؟ ، مجھے نہیں پتہ ہے اگر، افسوس کیونکہ میں نے آپ کے عنصر کی دکان نہیں سکتا. میں کرتا ہوں، تو آپ کو محفوظ کرنا چاہتے ہیں یہ اسٹیک کے سب سے اوپر، ہے نا؟ اور یہ ہمارے پاس ہے یہی وجہ ہے ہمارے سائز کا ٹریک رکھنے کے لئے. ہم نے اپنے سائز کا ٹریک رکھنے نہیں کرتے ہیں تو، ہم نے اسے ڈال کرنا پتہ نہیں کہاں. ہم کس طرح بہت سی چیزوں کو نہیں جانتے پہلے ہی ہمارے صف میں ہیں. ظاہر ہے جیسے طریقے ہیں کہ شاید تم یہ کر سکتا. آپ شہوت انگیز null کے لئے سب کچھ ابتدا کر سکتا اور پھر جدید ترین نل کے لئے چیک، لیکن ایک بہت آسان بات صرف یہ ہے OK، سائز کا ٹریک رکھنے، کہنے کے لئے. مجھے معلوم ہے جیسے میں چار عناصر ہیں میرے صف میں، اگلی بات اتنی ہم پر ڈال دیا ہے کہ، ہم ہیں انڈیکس 4 میں جمع کی جا رہی. اور پھر، کورس کی، اس کا مطلب ہے کہ آپ نے کامیابی سے کچھ کے دھکیل دیا ہے آپ اسٹیک پر، آپ سائز میں اضافہ کرنا چاہتے ہیں آپ کو پتہ ہے تا کہ آپ کو ایسا کہاں ہیں تم پر زیادہ چیزوں کو دھکا کر سکتے ہیں. ہم پاپ کرنے کی کوشش کر رہے ہیں اگر ایسا اسٹیک دور کچھ، پہلی بات یہ ہے کیا ہو سکتا ہے ہم کے لئے چیک کرنے کے لئے چاہتے ہیں؟ آپ کو لینے کی کوشش کر رہے ہیں آپ کے اسٹیک بند کچھ. آپ کو یقین نہیں ہے ہیں آپ کے اسٹیک میں کچھ؟ نمبر تو جو ہم جانچ کرنا چاہتے ہیں کر سکتے ہیں؟ سامعین: [اشراوی]. اسپیکر 1: سائز کے لئے چیک کریں؟ سائز. تو ہم تو دیکھنے کے لئے چیک کرنے کے لئے چاہتے ہیں ہمارے سائز OK، 0 سے بڑا ہے؟ اور اگر ہے، تو پھر ہم کم کرنا چاہتے ہیں 0 کی طرف سے ہمارے سائز اور اس کی واپسی. آخر کیوں؟ پہلا ایک میں ہم تھے آگے بڑھانے، ہم نے اسے دھکا دے دیا سائز اور اس کے بعد اپ ڈیٹ کر کے سائز پر. اس صورت میں، ہم سائز decrementing رہے اور پھر اسے توڑ، اسے اتارنے ہمارے صف سے. کیوں ہم ایسا کر سکتے ہیں؟ تو میں نے اپنے اسٹیک پر ایک چیز ہے تو، اس نقطہ پر میرے سائز کیا ہو گا؟ 1. اور جہاں عنصر 1 ذخیرہ کیا جاتا ہے؟ کیا انڈیکس میں؟ سامعین: 0. اسپیکر 1: 0. تو اس صورت میں، ہم ہمیشہ sure-- بنانے کی ضرورت ہے بجائے لوٹنے کے سائز مائنس 1، ہم کیونکہ ہمارے عنصر ہے کہ پتہ 1 کم پر محفوظ کیا جا کرنے کے لئے جا ہمارے سائز جو کچھ بھی ہے، اس صرف اس کا خیال رکھتا ہے. یہ ایک تھوڑا سا زیادہ خوبصورت طریقہ ہے. اور ہم صرف ہمارے تدریج پھر سائز اور سائز کے واپس. Mmhmm؟ سامعین: میں، صرف عام طور پر لگتا ہے کیوں یہ آنکڑا ڈھانچہ کرے فائدہ مند ہو؟ اسپیکر 1: یہ آپ سیاق و سباق پر منحصر ہے. اصول میں سے کچھ کے لئے تاکہ، تم ٹھیک with-- کام کر رہے ہیں، ایک فائدہ مند ایک ہو تو مجھے دیکھنے دو کہ باہر کے مقابلے میں زیادہ فائدہ مند ہے CS کی. stacks کے ساتھ، کسی بھی وقت آپ کی ضرورت ہے کسی چیز کی یاد رکھیں کہ سب سے زیادہ حال ہی میں شامل ہے جب ہے آپ ایک اسٹیک کے استعمال کرنا چاہتے ہیں جا رہے ہیں. اور میں ایک اچھا نہیں سوچ سکتا حق اب اس کی مثال. لیکن جب بھی سب سے حال ہی بات یہ ہے، آپ کے لئے سب سے اہم ہے کہ جب ایک اسٹیک ہے مفید ہو جا رہا ہے. میں نے تو اس میں سوچنے کی کوشش کر رہا ہوں اس کے لئے ایک اچھا موجود ہے. میں اگلے میں ایک اچھی مثال کے بارے میں سوچنا تو 20 منٹ، میں ضرور آپ کو بتائے گا. لیکن مجموعی طور پر، اگر کچھ ہو، جیسے میں نے سب سے زیادہ، جہاں سب سے زیادہ حال ہی میں کہا کہ کہ، سب سے زیادہ اہم ہے ہے جہاں ایک اسٹیک کھیل میں آتا ہے. قطار جبکہ مخالف کی طرح ہیں. اور تمام تھوڑا کتوں. ٹھیک ہے، یہ اچھا نہیں ہے؟ میں نے مجھے ایسا کرنا چاہیے کی طرح محسوس صرف ایک خرگوش ویڈیو ہے حق کے وسط میں تم لوگوں کے لئے سیکشن یہ ایک شدید سیکشن ہے کیونکہ. تاکہ ایک قطار. بنیادی طور پر ایک قطار ایک لائن کی طرح ہے. تم لوگوں کو میں نے اس بات کا یقین کر روزمرہ استعمال ہوں، صرف ہماری ڈائننگ ہال میں چاہوں. تو ہم میں جانا ہے اور میں ہوں، ہمارے ٹرے حاصل اس بات کا یقین آپ کو لائن میں انتظار کرنا پڑے swipe کے یا آپ کھانا حاصل کرنے کے. یہاں فرق تو اس فیفو ہے. لہذا LIFO پہلی، میں آخری تھا تو باہر، فیفو پہلی پہلے باہر، میں ہے. تو یہ آپ کو ڈال جہاں جو کچھ بھی ہے پہلی پر آپ کا سب سے اہم ہے. آپ انتظار کر رہے تھے تو اگر ایک line-- میں آپ کر سکتے ہیں اگر آپ کے پاس گیا تو اس کا تصور نئے آئی فون مل جاؤ اور یہ ایک اسٹیک تھا جہاں لائن میں آخری آدمی، سب سے پہلے اس کو مل گیا لوگ ایک دوسرے کو قتل کریں گے. لہذا فیفو، ہم سب بہت واقف ہیں یہاں حقیقی دنیا میں کے ساتھ، اور یہ سب اصل میں کے ساتھ کیا ہے قسم کی اس پوری لائن تخلیق اور ساخت قطار میں کھڑے. اسٹیک کے ساتھ تو جبکہ، ہم دھکا اور پاپ ہے. ایک قطار کے ساتھ، ہم ہیں enqueue اور dequeue. تو enqueue بنیادی طور پر مطلب پیٹھ پر ڈال دیا، اور dequeue اسباب لے سامنے سے بند. لہذا ہمارے آنکڑا ڈھانچہ ہے ایک تھوڑا سا زیادہ پیچیدہ. ہم کا ٹریک رکھنے کے لئے ایک دوسری چیز ہے. یہ، سر کے بغیر اتنی صحیح، بالکل ایک اسٹیک ہے؟ یہ ایک اسٹیک کے طور پر ایک ہی ساخت ہے. مختلف صرف ایک ہی چیز ہے اب ہم ہے آپ کیا سوچتے ہیں جس میں اس کے سر، ہے کا ٹریک رکھنے کے لئے کی جا رہی ہے؟ سامعین: سب سے پہلے ایک. اسپیکر 1: ٹھیک ہے، ہم میں ڈال دیا ہے کہ پہلی بات. ہمارے قطار کے سربراہ. لھذا جس نے بھی لائن میں پہلے ہے. ٹھیک ہے، تو ہم ان enqueue کرنا ہے تو. ایک بار پھر، کسی کے ساتھ ان اعداد و شمار کے ڈھانچے، ہم ایک صف کے ساتھ کام کر رہے ہو، ہم ہم کی جگہ ہے تو جانچ پڑتال کرنے کی ضرورت ہے. یہ مجھ سے کہہ طرح ہے تم لوگ، اگر آپ کو ایک فائل کو کھولنے، اگر، آپ شہوت انگیز null کے لئے چیک کرنے کی ضرورت ہے. یہ ایک پوٹ کی کسی کے ساتھ اور قطار، آپ کی ضرورت ہے ہم ہیں کیونکہ جگہ ہو تو دیکھنے کے لئے ایک مقررہ سائز سرنی کے ساتھ نمٹنے، ہم سب کو 5 تک یہاں 0، 1 دیکھنے کے طور پر. تو ہم نے اس معاملے میں کیا کرتے ہیں چیک ہے ہم اب بھی جگہ ہے تو دیکھنے کے لئے. ہمارے سائز صلاحیت سے کم ہے؟ اگر ایسا ہے تو، ہم پر اس کی دکان کے لئے ضرورت ہم اپنے سائز کو اپ ڈیٹ اور پونچھ. تاکہ دم اس معاملے میں کیا ہو سکتا ہے؟ یہ واضح طور پر لکھا نہیں ہے. ہم اسے کیسے جمع کریں گے؟ دم ہو جائے گا؟ تو اس مثال سے گزر تے ہیں. تو یہ 6 سائز کے ایک صف کے دائیں، ہے؟ اور ہم ابھی، ہمارے سائز 5 ہے ہے. ہم اس میں ڈال دیا اور جب، یہ جا رہا ہے حق پانچواں انڈیکس، میں جانے کے لئے کس طرح؟ تاکہ دم میں ذخیرہ. پونچھ کو لکھنے کے لئے ایک اور طریقہ پر کرے گا صرف سائز کے انڈیکس میں ہمارے صف، ٹھیک ہو جائے؟ اس کے سائز 5 ہے. اگلی بات 5 میں جانے کے لئے کی جا رہی ہے. ٹھنڈا؟ OK. یہ تھوڑا سا زیادہ پیچیدہ ہو جاتا ہے ہم سر کے ساتھ الجھ شروع کرنے پر. جی ہاں؟ سامعین: اس کا مطلب یہ ہے کہ اگر ہم ایک صف کا اعلان کر دیا ہے کہ اس پانچ عناصر لمبی تھی اور تو پھر ہم اس پر اضافہ کر رہے ہیں؟ اسپیکر 1: نہیں. تو اس معاملے میں، یہ ایک اسٹیک ہے. یہ اعلان کیا جائے گا 6 سائز کے ایک صف کے طور پر. اور اس صورت میں، ہم صرف ایک خلائی چھوڑ دیا ہے. ٹھیک ہے، تو ایک بات اس میں ہے کیس، ہمارے سر 0 میں ہے تو، اس وقت ہم صرف سائز میں شامل کر سکتے ہیں. لیکن یہ تھوڑا trickier ہو جاتا ہے دراصل اس کی وجہ، وہ ایک سلائڈ کی ضرورت نہیں ہے اس کے لئے، تو میں جا رہا ہوں یہ نہیں ہے کیونکہ ایک اپنی طرف متوجہ کرنے کے لئے کافی اتنا آسان آپ کو ایک بار چیزوں میں سے چھٹکارا حاصل کرنے کے لئے شروع. ایک اسٹیک کے ساتھ جبکہ پس آپ صرف کبھی ہے سائز کیا ہے کے بارے میں فکر کرنے کی جب آپ پر کچھ اضافہ کر رہے ہیں، ایک قطار کے ساتھ آپ کو بھی بنانے کی ضرورت ہے آپ کے سر کے لئے حساب کر رہا ہے کہ اس بات کا یقین، کیونکہ قطار کے بارے میں ایک ٹھنڈی چیز یہ ہے کہ آپ کی صلاحیت پر نہیں ہیں تو، آپ اصل میں اس کے ارد گرد لپیٹ کر سکتے ہیں. ٹھیک ہے، تو ایک کے thing-- اوہ، اس خوفناک چاک ہے. غور کرنے کے لئے ایک بات کا معاملہ ہے. ہم صرف پانچ کروں گا. ٹھیک ہے، تو ہم جا رہے ہیں سر یہاں ہے کہنا. یہ 0، 1، 2، 3، 4 ہے. سر وہاں ہے، اور ان میں چیزیں ہیں، براہ مہربانی. اور ہم صحیح، میں کچھ شامل کرنا چاہتے ہیں؟ اتنی بات ہے کہ ہم کرنے کی ضرورت ہے جانتے سر ہمیشہ ہے اس طرح منتقل کرنے کے لئے جا رہا ہے اور پھر لوپ پیچھے کے ارد گرد، ٹھیک ہے؟ تو یہ قطار حق، جگہ ہے؟ یہ، بہت شروع میں جگہ ہے اس کے برعکس کی طرح ہے. تو ہم کیا کرنے کی ضرورت ہے کہ ہم دم حساب کرنے کی ضرورت. آپ کو پتہ ہے اگر آپ کا سر نہیں چلا گیا ہے، پونچھ میں صرف اپنے صف ہے سائز کے انڈیکس. لیکن حقیقت میں، اگر آپ کو ایک قطار استعمال کررہے ہیں تو، اپنے سر کو شاید اپ ڈیٹ کیا جا رہا ہے. تو آپ کیا کرنے کی ضرورت کیا ہے اصل میں دم حساب. تو جو ہم کرنا یہ فارمولہ ہے یہاں میں آپ کو مطلع کرنے کے لئے جا رہا ہوں جس کے لوگوں کے بارے میں سوچتے ہیں، اور پھر ہم اس کے بارے میں بات کریں گے. تو یہ صلاحیت ہے. تو یہ اصل میں لونگا آپ کو ایسا کرنے کا ایک طریقہ دینے. کیونکہ اس صورت میں، میں کیا کروں؟ ہمارے سر 1 پر، ہمارے سائز 4 ہے ہے. ہم 5 کی طرف سے اس جدید کے، تو ہم 0 حاصل، جس جہاں ہم نے اسے ان پٹ چاہئے. تو پھر اگلی صورت میں، ہم ایسا کرنے کے لئے تھے، ہم اوکے، چلو کچھ dequeue چلو، کا کہنا ہے کہ. ہم اس کو dequeue. ہم صحیح، اس عنصر کو باہر لے؟ اور اب ہمارے سر، یہاں اشارہ کر رہا ہے اور ہم ایک اور بات میں شامل کرنا چاہتے ہیں. یہ بنیادی طور پر ہے واپس ہماری لائن، ہے نا؟ قطار صف کے ارد گرد لپیٹ کر سکتے ہیں. کہ اہم اختلافات میں سے ایک ہے. پوٹ، اگر آپ ایسا نہیں کر سکتے. قطار کے ساتھ، آپ کر سکتے ہیں فرق پڑتا ہے کہ سب اس کی وجہ آپ کو پتہ ہے کہ وہ کیا سب سے زیادہ حال ہی میں شامل کر دیا گیا. ہر چیز میں شامل کیا جا رہا ہے کے بعد سے اس leftward سمت، اس معاملے میں، اور اس کے بعد کے ارد گرد لپیٹ، آپ کر سکتے ہیں نئے عناصر میں ڈال جاری رکھنے صف کے سامنے میں یہ واقعی نہیں ہے کیونکہ اب صف کے سامنے. تم کے آغاز کے بارے میں سوچ کر سکتے ہیں اپنے سر اصل میں ہے جہاں کے طور پر صف. تو یہ فارمولا کس طرح ہے آپ کو آپ کی دم کو شمار. کہ سمجھ میں آتا ہے کرتا ہے؟ OK. OK، dequeue کے، اور اس کے بعد آپ لوگ 10 منٹ ہیں مجھے کسی بھی واضح سوال پوچھنا میں نے یہ پاگل ہے جانتے ہیں کیونکہ آپ، چاہتے ہیں. ، ایک ہی راستے میں بہت ٹھیک ہے تم لوگوں کو دیکھا تو مجھے نہیں معلوم، لیکن CS تمام نمونوں کے بارے میں ہے. چیزیں بہت زیادہ ہیں صرف چھوٹے انداز کے ساتھ، ایک ہی. یہاں اتنی ہی بات. ہم تو ہم اصل کو دیکھنے کے لئے چیک کرنے کے لئے کی ضرورت ہے حق ہمارے قطار میں کچھ، ہے؟ OK، 0 سے ہمارے سائز بڑا ہے، کہنا ہے کہ؟ ٹھنڈا. ہم ایسا کرتے ہیں، تو ہم ہمارے سر، منتقل جس میں صرف یہاں کا مظاہرہ کیا ہے. ہم ایک سے زیادہ ہونے کا ہمارے سر کو اپ ڈیٹ. اور پھر ہم تدریج ہمارے سائز اور عنصر واپس. بہت زیادہ ٹھوس نہیں ہے study.cs50.net پر کوڈ، اور میں انتہائی جانے کی سفارش آپ کے پاس وقت ہے تو اس کے ذریعے، یہاں تک کہ اگر یہ صرف ایک چھدم کوڈ ہے. اور تم لوگوں کے ذریعے بات کرنا چاہتے ہیں تو مجھے ایک ایک پر کے ساتھ، مجھے بتائیں کہ جانتے. میں نے کے لئے خوشی ہوگی. ڈیٹا ڈھانچے، تو تمہیں CS 124 لے، تمہیں میں ڈیٹا ڈھانچے پر بہت ملتا ہے جانتے ہیں کہ مزہ اور یہ تو صرف آغاز ہے. لہذا میں نے یہ مشکل ہے معلوم ہے. یہ ٹھیک ہے. ہم جدوجہد. میں اب بھی کرتے. تو اس کے بارے میں بہت زیادہ فکر نہیں کرتے. لیکن ہے کہ بنیادی طور پر آپ ہے ڈیٹا ڈھانچے میں کورس کریش. مجھے یہ بہت جانتے. کچھ بھی ہے کہ جب ہم پھر سے جانے کے لئے پسند کریں گے؟ ہم کے ذریعے بات کرنا چاہتے ہیں کچھ بھی؟ جی ہاں؟ سامعین: یہ مثال کے طور پر، تاکہ نئے دم ہے کہ ختم 0 میں ہے؟ اسپیکر 1: جی ہاں. سامعین: OK. تو پھر، کے ذریعے جا آپ 1 کے علاوہ 4 یا ہے پڑے گا اسپیکر 1: تو کیا تم، کہہ رہے تھے ہم جانے کے لئے چاہتے ہیں جب یہ پھر سے کرتے؟ سامعین: جی ہاں. اگر آپ باہر figuring ہے تھے تو تو جہاں ہیں آپ کو اس میں سے پونچھ حساب لگانے؟ اسپیکر 1: تو دم میں نے اس کو تبدیل کر دیا in-- تھا. تو یہاں اس مثال میں، یہ تھا ہم اوکے، دیکھ رہے ہیں صف؟ تو ہم میں 1، 2، 3، اور 4 میں چیزیں ہیں. تو ہم اپنے سر پر 1 کے برابر ہے اس نقطہ، اور ہمارے سائز 4 کے برابر ہے اس نقطہ پر، ہے نا؟ آپ سب کو یہ بات ہے اتفاق کرتا ہوں؟ تو ہم سر بڑے سائز، کرتے ہیں جس ہمیں 5 دیتا ہے، اور پھر ہم 5 کی طرف سے جدید. ہم 0 ہمیں بتاتا ہے کہ جس میں، 0 حاصل ہم کہاں جگہ ہے جہاں ہمارے دم، ہے. سامعین: ایک ٹوپی کیا ہے؟ اسپیکر 1: صلاحیت. معذرت. تو ہے کہ آپ کی صف کا سائز ہے. جی ہاں؟ سامعین: [اشراوی] سے پہلے ہم عنصر واپس؟ اسپیکر 1: تو ہم منتقل سر یا لمحے واپس؟ ہم ایک منتقل تو، اگر سائز تدریج کریں؟ رکو. میں ضرور ایک اور بھول گیا. کوئی بات نہیں. ایک اور فارمولا نہیں ہے. جی ہاں، آپ کو واپس کرنا چاہتے ہیں سر اور پھر اسے واپس منتقل. سامعین: ٹھیک ہے، کیونکہ اس سے کم نقطہ، سر، 0 میں تھا اور پھر آپ کو واپس کرنا چاہتے ہیں 0 انڈیکس اور پھر سر 1 ہے؟ اسپیکر 1: ٹھیک ہے. میں نے ایک اور لگتا ہے کہ وہاں اس طرح کے فارمولے قسم. میں جتنی چوٹی پر میرے سر یہ نہیں ہے میں تم سے غلط ایک کو دینے کے لئے نہیں کرنا چاہتا. لیکن میں اس کے لئے بالکل درست ہے لگتا کا کہنا ہے کہ، ٹھیک ہے، اس عنصر کو ذخیرہ جو کچھ بھی سر کے عنصر تدریج is-- آپ سائز، آپ کے سر پر منتقل، اور واپسی کہ جو کچھ عنصر ہے. یہ بالکل درست ہے. OK. یہ نہیں ہے مجھے لگتا ہے جیسے most-- طرح تم نہیں ہو یہاں سے باہر چلنے کے لئے جا کی طرح، جی ہاں، میں کوشش کرتا ہے جانتے ہیں. میں نے وہ سب مل گیا. یہ ٹھیک ہے. میں وعدہ کرتا ہوں. لیکن اعداد و شمار کے ڈھانچے کچھ ہیں نہیں یہ وقت کی ایک بہت کچھ کرنے کے لئے استعمال کرنے کے لئے لیتا ہے. سب سے مشکل شاید میں سے ایک چیزیں، میں نے کورس میں، لگتا ہے کہ. تو یہ یقینی طور پر لیتا ہے تکرار اور at-- میں دیکھ واقعی منسلک کی فہرست میں معلوم نہیں تھا میں ان کے ساتھ اب تک بہت کچھ کیا ہے جب تک، اسی طرح ہے کہ میں نے نہیں کیا واقعی اشارہ سمجھتے میں نے لیا ہے جب تک دونوں کے لئے سکھانے کے لئے یہ سال اور اس کے ساتھ میرے اپنے psets میں کرتے. یہ اعادہ اور وقت کی ایک بہت لیتا ہے. اور آخر میں، اس کی قسم کے پر کلک کریں گے. لیکن اس دوران میں، آپ کی قسم ہے تو کے ایک اعلی سطحی تفہیم کس یہ ان کے پیشہ، کرتے اور جو ہے جو cons-- ہم واقعی اس بات پر زور دیتے ہیں، خاص طور پر انٹرو کورس میں. کی طرح، کیوں ہم استعمال کریں گے ایک ایک صف پر کی کوشش کریں؟ طرح، مثبت کیا ہیں اور ان لوگوں میں سے ہر ایک کے منفی؟ اور تجارت آف سمجھنے ان ڈھانچے کے ہر ایک کے درمیان حق اب بہت زیادہ اہم ہے کیا ہے. پاگل ہو سکتی ہے ہے کہ سوال یا دو دھکا کو لاگو کرنے کے لئے آپ سے کہنے جا رہا ہے یا POP یا enqueue اور dequeue کو لاگو. لیکن سب سے زیادہ حصہ کے لئے، کہ سب رکھنے اعلی سطح کی تفہیم اور اس سے زیادہ ایک بدیہی گرفت ہے اصل سے زیادہ اہم اس پر عملدرآمد کرنے کے قابل ہونے. یہ واقعی میں بہت اچھا ہو گا کہ آپ سب تو باہر جاؤ اور ایک کوشش کو لاگو جا سکتے، لیکن ہم یہ ضروری نہیں ہے سمجھ میں ٹھیک ہے اب سب سے زیادہ معقول چیز. لیکن آپ کو آپ چاہتے ہیں تو، آپ کی pset میں کر سکتے ہیں کرنے، اور پھر آپ کو پریکٹس ملے گی، اور پھر شاید تمہیں میں واقعی یہ سمجھ. جی ہاں؟ سامعین: لوگ ہیں OK، جو اتنی ہم pset میں استعمال کرنے کا مطلب؟ میں نے ان میں سے ایک کو استعمال کرنے کی ضرورت ہے؟ اسپیکر 1: جی ہاں. تو آپ کو آپ کا انتخاب ہے. میں، ہم کر سکتے ہیں کہ اس معاملے میں لگتا ہے pset کے ایک تھوڑا سا کے بارے میں بات میں نے ان کے ذریعے بھاگ گیا کیونکہ. آپ کی pset میں So، آپ کو آپ کے لئے ہے کوشش کرتا یا ہیش میزیں کے انتخاب. کچھ لوگوں کی کوشش کریں گے اور، بلوم فلٹر استعمال لیکن ان لوگوں کو تکنیکی طور پر درست نہیں ہیں. کیونکہ ان کے احتمالی نوعیت کی، وہ کبھی کبھی جھوٹے مثبت دے. وہ اگرچہ، میں پرسکون نظر آتے ہیں. انتہائی تلاش کر کی سفارش کرتے ہیں ان کی طرف سے کم از کم. لیکن آپ کو آپ کا انتخاب ہے ایک ہیش میز اور ایک کوشش کے درمیان. اور یہ کہ جہاں ہونے جا رہا ہے آپ کو آپ کی ڈکشنری میں لوڈ. اور آپ کو منتخب کرنے کے لئے کی ضرورت ہو گی آپ ہیش تقریب، تم نے کتنے منتخب کرنے کے لئے کی ضرورت ہو گی آپ ہو بالٹیاں، اور یہ مختلف ہوگی. آپ کو زیادہ بالٹیاں ہے تو طرح، شاید یہ تیزی سے چلائے جائیں گے. لیکن ہو سکتا ہے کہ آپ کو ایک برباد کر رہے ہو جگہ کی بہت اگرچہ اس طرح سے،. آپ اس کا پتہ کرنا ہے. Mmhmm؟ سامعین: آپ کہ پہلے کہا ہم دوسرے ہیش افعال کو استعمال کرسکتے ہیں، ہم کرنے کی ضرورت نہیں ہے ایک ہیش فنکشن بنائیں؟ اسپیکر 1: صحیح، ہاں. تو لفظی اپنے ہیش تقریب کے لئے، گوگل کی طرح "ہیش تقریب" اور کچھ ٹھنڈا والوں کے لئے نظر. آپ کو تعمیر کرنے کی توقع نہیں کر رہے ہیں آپ کے اپنے ہیش افعال. لوگوں خرچ ان ان چیزوں پر theses کے. لہذا آپ کی اپنی تعمیر کے بارے میں فکر نہ کرو. کے ساتھ شروع کرنے کے لئے ایک آن لائن تلاش کریں. ان میں سے کچھ آپ کو کرنا پڑے تھوڑا سا جوڑتوڑ اس بات کا یقین واپسی اقسام سے مطابقت اور whatnot، شروع میں اتنی، میں نے کچھ استعمال کرتے ہوئے کی سفارش کریں گے واقعی آسان ہے کہ ہو سکتا ہے صرف پہلے حرف پر hashes کا. اور پھر آپ جو کام کر رہے ہیں ایک بار، ایک ٹھنڈے ہیش فنکشن شامل. Mmhmm؟ سامعین: ایک کوشش بھی سکیں گے یا موثر لیکن، like-- لئے صرف مشکل اسپیکر 1: تو ایک کوشش، مجھے لگتا ہے، لاگو کرنے کے لئے ہے intuitively مشکل ہے لیکن بہت تیز ہے. تاہم، زیادہ جگہ لیتا ہے. ایک بار پھر، آپ میں ان لوگوں کے دونوں اصلاح کر سکتے ہیں مختلف طریقوں اور طریقے ہیں to-- سامعین: ہم کس طرح اس پر درجہ بندی کر رہے ہیں؟ یہ matter-- کرتا اسپیکر 1: تو آپ نارمل انداز درجہ بندی کر رہے ہیں. آپ کے ڈیزائن پر درجہ بند کیا جائے جا رہے ہیں. جو بھی جس طرح تم کرتے، آپ چاہتے ہیں یہ ہو سکتا ہے کے طور پر اس کے طور پر خوبصورت ہے بات کو یقینی بنائیں اور کے طور پر موثر ہو سکتا ہے کے طور پر. لیکن اگر آپ ایک کوشش یا ہیش انتخاب کرتے ہیں تو میز، جب تک یہ کام کرتا ہے کے طور پر، ہم نے اس کے ساتھ خوش ہیں. تم سے کچھ کا استعمال کرتے ہیں اور اگر کہ hashes کا پہلے حرف پر، کہ، ٹھیک ہے جیسے شاید ڈیزائن وار کی طرح. ہم نے بھی پہنچ رہے ہیں اس سمسٹر میں نقطہ مجھے پتہ نہیں ہے اگر آپ اگر آپ نہیں ہیں تو noticed-- لوگ pset کے گریڈ ایک تھوڑا سا رد کیونکہ ڈیزائن اور whatnot کی، کہ بالکل ٹھیک ہے. یہ ایک نقطہ پر ہو رہی ہے، جہاں آپ کی پروگراموں زیادہ پیچیدہ ہو رہے ہیں. زیادہ مقامات ہیں تم پر بہتر بنا سکتے ہیں. تو یہ بالکل عام ہے. یہ تم ہو کہ نہیں ہے آپ pset پر برا کر. یہ صرف ہم اب آپ پر مشکل ہو رہے ہو رہا ہے. تو سب یہ محسوس ہو رہا ہے. میں صرف آپ کی psets میں درجہ بند کیا. میں نے سب کو یہ محسوس کر رہی ہے جانتے ہیں. تو اس کے بارے میں فکر مند مت ہو. اور آپ کے بارے میں کوئی سوالات ہیں پہلے psets میں ہیں یا آپ کو بہتر کرنے کے طریقے، میں کوشش اور مخصوص تبصرہ مقامات، لیکن کبھی کبھی یہ دیر ہو چکی ہے اور میں تھکا ہوا ہو. کسی بھی دوسری چیزیں ہیں کے بارے میں اعداد و شمار ڈھانچے؟ میں تم لوگوں کو واقعی نہیں کرتے یقین اب ان کے بارے میں بات کرنا چاہتے ہیں، وہاں ہیں تو لیکن، میں خوش ہوں کچھ کے طور پر اس کے ساتھ ساتھ، ان کے اوپر جانا لیکچر اس ماضی سے ہفتے یا گزشتہ ہفتے. میں نے تو، گزشتہ ہفتے کے تمام جائزہ لینے تھا معلوم ہم نے کچھ کا جائزہ لینے کے دوران چھوڑا گیا ہو لیکچر سے. میں نے جواب دے سکتے ہیں کوئی سوال؟ اوکے، سب ٹھیک. ویسے، تم لوگوں نے ابتدائی 15 منٹ باہر نکل جاؤ. میں، اس کم از کم سیمی مددگار تھا امید ہے کہ اور میں اگلے ہفتے آپ لوگ دیکھیں گے، یا جمعرات دفتری اوقات. نمکین کے لئے وہاں درخواستوں ہیں اگلے ہفتے کے لئے، یہ بات ہے؟ میں آج کینڈی بھول گیا. اور میں نے گزشتہ کینڈی لایا ہفتے، لیکن یہ، کولمبس ڈے تھا تا چھ لوگوں کی طرح جو وہاں تھے خود کو کینڈی میں سے چار بیگ تھا. مجھے Starbursts لا سکتے ہیں آپ کی طرح ایک بار پھر، اگر. Starbursts؟ OK، اچھا لگتا ہے. ، ایک عظیم دن لوگ ہے.