স্পিকার 1: ঠিক আছে, তাই আমরা ফিরে হয়. এবং CS50 স্বাগতম. এই সপ্তাহে সাত শেষে. সুতরাং যে শেষ সময় প্রত্যাহার, আমরা শুরু সামান্য আরো পরিশীলিত এ খুঁজছেন ডাটা স্ট্রাকচার. আপ এখন পর্যন্ত যেহেতু, সমস্ত আমরা সত্যিই ছিল আমাদের নিষ্পত্তি এই একটি অ্যারের ছিল. কিন্তু আমরা অ্যারের বাতিল না আগে যে সব আকর্ষণীয়, যা প্রকৃতপক্ষে এটা আসলে, কিছু কি হয় এই সহজ ডাটা pluses গঠন এ পর্যন্ত? এটা ভাল কি? এ পর্যন্ত আমরা দেখা করেছি? আপনি কি পেয়েছিলাম না? কিছুই নেই. Student: [শ্রবণাতীত]. স্পিকার: 1 কি যে? Student: [শ্রবণাতীত]. স্পিকার 1: স্থায়ী আকার. ঠিক আছে, তাই কেন নির্দিষ্ট আকার যদিও ভাল? Student: [শ্রবণাতীত]. স্পিকার 1: ঠিক আছে, তাই এটা কার্যকর হবে আপনি একটি ধার্য করতে পারবেন যে অর্থে স্থান নির্দিষ্ট পরিমাণ, যা আশা অবিকল যতটা হয় স্থান হিসাবে আপনি চান. সুতরাং যে একেবারে একটি প্লাস হতে পারে. একটি অ্যারের অন্য আপ সাইড কি? হ্যাঁ? Student: [শ্রবণাতীত]. স্পিকার 1: সকল - দুঃখিত? Student: [শ্রবণাতীত]. স্পিকার: 1 মেমরির মধ্যে সব বক্স বা পরবর্তী প্রতিটি অন্যান্য. এবং যে সহায়ক এর - কেন? যে বেশ সত্য. কিন্তু কিভাবে আমরা সত্য যে শোষণ করতে পারে? Student: [শ্রবণাতীত]. স্পিকার 1: ঠিক, আমরা ট্র্যাক রাখতে পারে সমস্তকিছু বুদ্ধিমান যেখানে এক যথা ঠিকানা, ঠিকানা মেমরি যে তাল প্রথম বাইট. বা স্ট্রিং এর ক্ষেত্রে, প্রথম ঠিকানা যে স্ট্রিং গৃহস্থালি. এবং সেখান থেকে আমরা জানতে পারেন স্ট্রিং এর শেষে. আমরা দ্বিতীয় উপাদান, খুঁজে পেতে পারেন তৃতীয় উপাদান, এবং তাই ঘোষণা. এবং যে বর্ণনা তাই অভিনব উপায় বৈশিষ্ট্য অ্যারে আমাদের দিতে হয় র্যান্ডম অ্যাক্সেস. শুধু বর্গাকার বন্ধনী ব্যবহার করে স্বরলিপি এবং একটি নম্বর, আপনি তিড়িং লাফ পারেন অ্যারের মধ্যে একটি নির্দিষ্ট উপাদান ধ্রুবক সময়, বড় হে মধ্যে এক, তাই কথা বলতে. কিন্তু কিছু downsides আছে হয়েছে. একটি অ্যারের খুব সহজেই কি না? এটা ভাল কি না? Student: [শ্রবণাতীত]. স্পিকার: 1 কি যে? Student: [শ্রবণাতীত]. স্পিকার: 1 আকার করতে হবে. অ্যারের downsides হয় যাতে কি অবিকল বিপরীত upsides হয়. সুতরাং downsides এক এটি একটি নির্দিষ্ট আকার যে. তাই যদি সত্যিই আপনি এটা বৃদ্ধি করতে পারবে না. আপনি একটি বড় খণ্ড reallocate করতে পারেন মেমরি, এবং তারপর পুরোনো উপাদান সরাতে নতুন অ্যারের মধ্যে. এবং তারপর বিনামূল্যে পুরাতন অ্যারে, উদাহরণস্বরূপ, malloc বা একটি অনুরূপ ব্যবহার করে realloc বলা হয় ফাংশন, যা reallocates মেমরি. Realloc, একটি সরাইয়া হিসাবে, আপনি দিতে চেষ্টা করে অ্যারের পরের যে মেমরি যদি আপনি ইতিমধ্যেই আছে. কিন্তু এটি সরাতে পারে পুরাপুরি কাছাকাছি. কিন্তু সংক্ষিপ্ত, যে অধিকার, বেশী? কারণ আপনি মেমরির একটি খণ্ড থাকে তাহলে এই মাপের, কিন্তু আপনি কি সত্যিই এক করতে চান এই মাপের, এবং আপনি সংরক্ষণ করতে ইচ্ছুক মূল উপাদান, আপনি প্রায় একটি রৈখিক সময় কপি প্রক্রিয়া যা থেকে ঘটতে প্রয়োজন নতুন পুরাতন অ্যারে. এবং বাস্তবতা অপারেটিং জিজ্ঞাসা আবার এবং আবার সিস্টেম এবং আবার মেমরি বড় অংশ শুরু করতে পারেন জন্য পাশাপাশি আপনি কি কিছু সময় খরচ. সুতরাং এটি একটি আশীর্বাদ ও অভিশাপ উভয় সত্য লুকিয়ে রাখলেও এই অ্যারে নির্দিষ্ট আকার আছে. কিন্তু আমরা এর পরিবর্তে কিছু পরিচয় করিয়ে দিতে হলে ভালো, যা আমরা একটি লিঙ্ক বলা তালিকা, আমরা কয়েক upsides পেতে কয়েক এখানে downsides হিসাবে ভাল. একটি লিঙ্ক তালিকা শুধু একটি ডাটা সুতরাং গঠন এই সি structs গঠিত একটি struct, রিকল, ঠিক যেখানে ক্ষেত্রে, একটি অথবা আরও বেশি নির্দিষ্ট জন্য একটি ধারক ভেরিয়েবল ধরনের. এই ক্ষেত্রে, কি তথ্য ধরনের কাজ struct ভিতরে মনে করা হয় যে শেষ সময় আমরা একটি নোড বলা হয়? এই rectangles প্রত্যেকটি একটি নোড হয়. এবং ছোট rectangles প্রতিটি এটা ভিতরে একটি ডাটা টাইপ. আমরা কি ধরনের কি বলেছেন তারা সোমবার ছিল? হ্যাঁ? Student: [শ্রবণাতীত]. স্পিকার: 1 এক পরিবর্তনশীল পয়েন্টার অথবা আরো নির্দিষ্টভাবে, কোন int, এন জন্য, এবং নীচে একটি পয়েন্টার. যারা উভয়, 32 বিট হতে ঘটতে এই CS50 মত একটি কম্পিউটারে কমপক্ষে অ্যাপ্লায়েন্স, এবং তারা করছি মাপ সমান টানা. তাই কি পয়েন্টার ব্যবহার করে থাকেন দৃশ্যত যদিও? অ্যারে যখন কেন এখন এই তীর যোগ করুন এত সুন্দর ও পরিষ্কার এবং সহজ? পয়েন্টার জন্য কি করছে আমাদের এই নোডের প্রতিটি? Student: [শ্রবণাতীত]. স্পিকার 1: যথাযথভাবে. এটা যেখানে আপনি কহন এর পরের এক. তাই আমি ধরণের এর উপমা ব্যবহার বাছাই করার একটি থ্রেড ব্যবহার করে একসঙ্গে এই নোডের থ্রেড. এবং যে আমরা করছি ঠিক কি পয়েন্টার, কারণ এই প্রতিটি মেমরির অংশ হতে পারে অথবা সংলগ্ন, পিঠে পিঠে পিঠে উপস্থিত RAM-র ভিতর, কারণ প্রতিটি সময় আপনি বলার অপেক্ষা রাখে না malloc কল, সম্পর্কে যথেষ্ট দেত্তয়া একটি নতুন নোডের জন্য বাইট, এটা প্রতাপ এখানে অথবা এখানে হতে পারে. এখানে হতে পারে. এখানে হতে পারে. আপনি ঠিক জানি না. কিন্তু ঠিকানার মধ্যে পয়েন্টার ব্যবহার করে যারা নোড, আপনি তাদের সেলাই করতে পারেন একসঙ্গে চাক্ষুষরূপে দেখায় যে একটি উপায় এই জিনিস, এমনকি যদি একটি তালিকা মত সব আপনার এক বা সর্বত্র ছড়িয়ে আউট আপনার দুই বা RAM-র আপনার চার গিগাবাইট আপনার নিজের কম্পিউটার এর ভিতরে. তারপর,, downside হয় তাই একটি লিঙ্ক তালিকা কি? আমরা একটি মূল্য কত দৃশ্যত দেন? Student: [শ্রবণাতীত]. স্পিকার: 1 আরো স্থান, ডান? আমরা এই ক্ষেত্রে, পরিমাণ দ্বিগুণ করেছি স্থান আমরা সর্বস্বান্ত করেছি প্রতিটি জন্য প্রতিটি নোডের জন্য 32 বিট থেকে int-এ আছে, তাই এখন আমরা 64 বিট আছে, কারণ সেইসাথে একটি পয়েন্টার কাছাকাছি রাখা. আপনি আরও দক্ষতা পেতে আপনার struct যদি এই সহজ জিনিস চেয়ে বড়. আপনি আসলে ভিতরে একজন ছাত্র থাকে তাহলে যা স্ট্রিং একটি দম্পতি জন্য নাম এবং ঘর, হয়তো একটি আইডি নম্বর, পুরাপুরি হয়তো কিছু অন্যান্য ক্ষেত্র. আপনি একটি বৃহৎ যথেষ্ট struct আছে যদি তাই হয়, তারপর হয়তো পয়েন্টার খরচ যেমন একটি বড় চুক্তি. এই যে কোণার ক্ষেত্রে একটি বিট আমরা যেমন একটি সহজ আদিম সংরক্ষণ করছেন লিঙ্ক তালিকা ভিতরে. কিন্তু বিন্দু একই. আপনি নিশ্চিতভাবে আরো খরচ করছেন স্মৃতি, কিন্তু আপনি পেয়ে থাকেন নমনীয়তা. এখন আমি একটি উপাদান যোগ করতে চান তাহলে, কারণ এই তালিকার শুরুতে, আমি একটি নতুন নোড বরাদ্দ করা আছে. এবং আমি যারা আপডেট করতে শুধু চলন্ত দ্বারা একরকম তীর চারপাশে কিছু পয়েন্টার. আমি মধ্যে কিছু সন্নিবেশ করতে চান তাহলে তালিকা মাঝখানে, আমি করতে হবে না আমরা কি সরাইয়া সবাই ধাক্কা আমাদের স্বেচ্ছাসেবকদের সঙ্গে সপ্তাহ 'অতীতে যারা একটি অ্যারের প্রতিনিধিত্ব করেন. আমি একটি নতুন নোড বরাদ্দ করতে পারেন তারপর ঠিক মধ্যে তীর নির্দেশ বিভিন্ন নির্দেশ না হয়, কারণ প্রকৃত থাকা আছে আমি টানা করেছি মত মেমরি একটি সত্য লাইন এখানে পর্দায় এটি. এবং তারপর অবশেষে, আপনি সন্নিবেশ করতে চান তাহলে তালিকার শেষে কিছু, এটা এমনকি সহজ. এই, নির্বিচারে স্বরলিপি সাজানোর কিন্তু 34 এর পয়েন্টার, একটি অনুমান নিতে. অধিকাংশ তার পয়েন্টার মান কি একটি পুরানো মত সম্ভাব্য টানা সাজানোর সেখানে স্কুলের অ্যান্টেনা? Student: [শ্রবণাতীত]. স্পিকার 1: এটা সম্ভবত নাল এর. এবং প্রকৃতপক্ষে যে এক লেখকের নাল উপস্থাপনা. কারণ আপনি একেবারে এবং এটি নাল এর জানতে হবে যেখানে একটি লিঙ্ক শেষ তালিকার মধ্যে নিম্নলিখিত রাখা পাছে, এবং এই তীর অনুসরণ অনুসরণ কিছু আবর্জনা মান. সুতরাং নাল নেই যে বোঝান হবে সংখ্যা 34 ডানদিকে আরো নোড, এই ক্ষেত্রে. তাই আমরা যদি আমরা বাস্তবায়ন করতে পারে উত্থাপন কোডের মধ্যে এই নোডের. এবং আমরা এই ধরনের দেখা করেছি সিনট্যাক্স আগে. Typedef ঠিক করার জন্য একটি নতুন ধরনের সংজ্ঞায়িত আমাদের মত আমাদের একটি প্রতিশব্দ দেয় স্ট্রিং গৃহস্থালি * ছিল. এই ক্ষেত্রে, এটা আমাদের দিতে যাচ্ছে সাঁটে লেখার স্বরলিপি যাতে struct নোড পরিবর্তে শুধুমাত্র হিসেবে লেখা যেতে পারে অনেক ক্লিনার, যা নোড. এটি কম ভার্বোস অনেক. একটি নোড ভিতরে দৃশ্যত কোন int হয় বলা N, এবং তারপর একটি struct নোড * যা আমরা চেয়েছিলেন ঠিক কি মানে তীর অন্য, একটি পয়েন্টার মানে সঠিক একই তথ্য ধরনের নোড. এবং আমি মনে করি আমরা একটি বাস্তবায়ন হতে পারে যে প্রস্তাব ভালো অনুসন্ধান ফাংশন, যা প্রথম নজরে মনে হতে পারে একটু জটিল. কিন্তু এটা প্রেক্ষাপটে দেখুন. আমাকে এখানে প্রয়োগ উপর যান. আমার সম্পর্কে নামক একটি ফাইল খুলুন তালিকা শূন্য বিন্দু জ. এবং যে শুধুমাত্র সংজ্ঞা আমরা উপস্থিত রয়েছে শুধু এই তথ্যের জন্য একটি মুহূর্ত আগে দেখেছি টাইপ একটি নোড বলা হয়. তাই আমরা যে একটি বিন্দু জ ফাইলের মধ্যে রেখেছি. এবং একটি সরাইয়া, এমনকি এই হিসাবে যদিও আপনি দেখতে চলেছেন যে প্রোগ্রাম না সব যে জটিল, এটি প্রকৃতপক্ষে এর এটি এমন একটি প্রোগ্রাম লেখার সময় প্রচল টান, ডাটা ধরনের জিনিষ রাখা কখনও কখনও, ভিতরে আপনার ধ্রুবক হেডার ফাইল এবং না অগত্যা মধ্যে আপনার সি ফাইলের অবশ্যই, যখন আপনার প্রোগ্রাম বৃহত্তর এবং বৃহত্তর পাবেন, যাতে জন্য উভয় তাকান যেখানে আপনি কি জানেন কিছু ক্ষেত্রে ডকুমেন্টেশন, অথবা ভালো মূলসূত্র, জন্য কিছু টাইপ সংজ্ঞা. আমি এখন তালিকা শূন্য বিন্দু খুলুন যদি সি, কিছু বিষয় লক্ষ্য করা. এটি কয়েক হেডার ফাইল অন্তর্ভুক্ত যা আমরা আগে দেখা করেছি. এটা নিজস্ব হেডার ফাইলটি অন্তর্ভুক্ত করা হয়েছে. এবং একটি সরাইয়া হিসাবে, কেন যে ডবল এর এখানে কোট, হিসাবে কোণ বিরোধিতা লাইন বন্ধনী যে আমি সেখানে হাইলাইট করেছি? Student: [শ্রবণাতীত]. স্পিকার 1: হ্যাঁ, তাই এটি একটি স্থানীয় ফাইলের. এখানে আপনার নিজস্ব একটি স্থানীয় ফাইল সুতরাং যদি লাইন 15, উদাহরণস্বরূপ, আপনি ব্যবহার ডবল কোট পরিবর্তে কৌণিক বন্ধনী. এখন এই আকর্ষণীয় ধরনের. আমি একটি বিশ্বব্যাপী ঘোষণা করেছি যে বিজ্ঞপ্তি লাইন 18 এই প্রোগ্রামে পরিবর্তনশীল প্রথমে বলা হয়, এই হচ্ছে ধারণা প্রথমে একটি পয়েন্টার হতে যাচ্ছে আমার লিঙ্ক তালিকা মধ্যে নোড, এবং আমি করেছি আমি করেছি, কারণ এটা null যাও সক্রিয়া কোনো প্রকৃত বরাদ্দ না কোনো ঠিক নোড. তাই এই কি আমরা pictorially, প্রতিনিধিত্ব করে ছবি হিসাবে একটি মুহূর্ত আগে দেখেছি এ পর্যন্ত যে পয়েন্টার দিকে বামে. সুতরাং অধিকার এখন, যে পয়েন্টার একটি তীর করা হবে না. এটা পরিবর্তে শুধুমাত্র নাল হয়. কিন্তু এটা হবে কি প্রতিনিধিত্ব করে প্রথম প্রকৃত ঠিকানা এই তালিকার মধ্যে নোড. তাই আমি এটা একটি বিশ্বব্যাপী হয় বাস্তবায়িত করেছি এই সব, আপনি দেখতে পাবেন, কারণ প্রোগ্রাম জীবনে বাস্তবায়ন হয় না আমার জন্য একটা লিঙ্ক তালিকা. এখন আমি এখানে কয়েক এগুলির নমুনা পেয়েছেন. আমি ভালো বৈশিষ্ট্য প্রয়োগ করার সিদ্ধান্ত নিয়েছে মুছে ফেলার আগে, সন্নিবেশ, অনুসন্ধান করা, এবং ট্র্যাভেরসাল - জুড়ে শেষ ঠিক হচ্ছে হাঁটার তালিকা, তার উপাদান খুঁজে মুদ্রণ. এবং এখন এখানে আমার মূল রুটিন এর. এবং আমরা খুব বেশি সময় ব্যয় হবে না, এই থেকে এই আশা, সাজানোর হয় এখন দ্বারা পুরানো টুপি. আমি, নিম্নলিখিত কাজ করতে যাচ্ছি ব্যবহারকারী cooperates সময়. এক সুতরাং, আমি প্রিন্ট চলেছি এই মেনু খুঁজে. এবং আমি এটি ফরম্যাট করেছি পরিচ্ছন্নভাবে আমি পারে. মানে এক ব্যবহারকারী ধরনের যে, যদি তারা কিছু মুছে দিতে চাই. মানে দুই ব্যবহারকারী ধরনের যে, যদি তারা কিছু সন্নিবেশ করতে চান. এবং তাই ঘোষণা. আমি তখন অনুরোধ জানানো যাচ্ছে না তারপর একটি কমান্ডের জন্য. এবং তারপর আমি GetInt ব্যবহার করতে যাচ্ছি. তাই এই একটি সত্যিই সহজ menuing হয় আপনি শুধু টাইপ আছে ইন্টারফেস এক একটি সংখ্যা ম্যাপিং যারা কমান্ড. এবং এখন আমি একটা চমৎকার ক্লিন সুইচ আছে চালু করুন যাচ্ছে বিবৃতি ব্যবহারকারী ইন টাইপ যাই হোক না কেন তারা এক টাইপ করা হলে, আমি করব মুছে দিন কল এবং বিরতি. তারা দুই টাইপ, আমি করব সন্নিবেশ কল এবং বিরতি. এবং এখন আমি প্রতিটি রেখেছি বিজ্ঞপ্তি একই লাইনে এই. শুধু এই একটি রচনাশৈলীসংক্রান্ত সিদ্ধান্ত. সাধারণত আমরা কিছু করেছি দেখা ভালো লেগেছে. কিন্তু আমি, সত্যি, আমার প্রোগ্রাম করার সিদ্ধান্ত নিয়েছে আরো পাঠযোগ্য লাগছিল কারণ এটি মাত্র চারটি ক্ষেত্রে ছিল ঠিক এই মত তার তালিকা দেখাবে. শৈলী সম্পূর্ণভাবে বৈধ ব্যবহার. এবং আমি এই এতক্ষণ কাজ করতে যাচ্ছি ব্যবহারকারী শূন্য টাইপ করেনি, যা আমি সিদ্ধান্ত নিয়েছে তারা প্রস্থান করার জন্য চাই অর্থ. তাই এখন আমি কি লক্ষ্য এখানে কাজ করতে যাচ্ছেন. আমি দৃশ্যত তালিকা মুক্ত করতে যাচ্ছি. শুধু একটা মুহূর্ত যে কিন্তু আরও অনেক কিছু. এর প্রথম এই প্রোগ্রাম চালানো যাক. তাই আমাকে একটি বড় টার্মিনাল করা যাক উইন্ডো, বিন্দু স্ল্যাশ তালিকা 0. আমি এগিয়ে যান এবং সন্নিবেশ করতে যাচ্ছি টাইপ দুই, এখন একটি 50 মত নম্বর, এবং আপনি তালিকার এখন 50 দেখতে পাবেন. এবং আমার টেক্সট শুধুমাত্র একটি বিট আপ scrolled. তাই এখন তালিকার মধ্যে রয়েছে বিজ্ঞপ্তি নম্বর 50. দুটি গ্রহণ করে অন্য সন্নিবেশ করুক না এর. এর মত নম্বর টাইপ করা যাক. তালিকা এখন 50 দ্বারা অনুসরণ এক,. শুধু এই একটি টেক্সচুয়াল উপস্থাপনা তাই তালিকা. এবং এর মত আরো এক নম্বর সন্নিবেশ করা যাক আশা করছি, যা সংখ্যা 42, কারণ, মাঝখানে শেষ পর্যন্ত যাচ্ছে বিশেষ প্রকারের এই প্রোগ্রাম এটি টিপে তাদের উপাদান. তাই সেখানে আমরা এটা আছে. যে পারে সুপার সহজ প্রোগ্রাম একেবারে আমি একটি অ্যারে ব্যবহার করা হয়, কিন্তু আছে একটি লিঙ্ক তালিকা ব্যবহার করা হবে কি ঠিক তাই আমি পরিবর্তনশীল করতে পারেন বৃদ্ধি এবং এটি সঙ্কুচিত. সুতরাং, যদি এর অনুসন্ধানের জন্য কটাক্ষপাত করা যাক আমি কমান্ড তিনটি চালানোর জন্য, আমি অনুসন্ধান করতে চান সংখ্যা 43,, বলার জন্য. এবং কিছুই দৃশ্যত পাওয়া যায় নি, আমি কোন সাড়া ফিরে পেয়েছিলাম কারণ. তাই আবার এই কাজ করতে দিন. অনুসন্ধান করুন. 50, বরং বা অনুসন্ধানের জন্য চলুন শুরু করা যাক খোঁজো 42 জন্য, যা একটা চমৎকার হয়েছে একটু সূক্ষ্ম অর্থ. এবং আমি সেখানে জীবনের অর্থ খুঁজে পাওয়া যায় নি. আপনি না জানেন, তাহলে সংখ্যা 42, রেফারেন্স, এটি Google. ঠিক আছে. তাই কি আমার জন্য এই প্রোগ্রাম করা হয়েছে? এটা ঠিক আমার সম্পর্কে এইভাবে সন্নিবেশ অনুমোদিত উপাদানের জন্য পর্যন্ত এবং অনুসন্ধান. তারপর,, দ্রুত এগিয়ে চলুন শুরু করা যাক আমরা এ glanced যে ফাংশন সোমবার একটি টিজার হিসেবে. এই ফাংশন, তাই আমার জন্য, অনুসন্ধান দাবি প্রথম দ্বারা তালিকার মধ্যে একটি উপাদান এক হলে ব্যবহারকারীকে এবং তারপর আহ্বান একটি প্রকৃত int-পেতে GetInt আপনার জন্য অনুসন্ধান করতে চান যে. তারপর এই বিজ্ঞপ্তি. আমি একটি অস্থায়ী ভেরিয়েবল তৈরি করতে যাচ্ছি লাইন 188 সালে পয়েন্টার বলা হয় - PTR - এটা কিছু বলা যেতে পারে. এবং এটি একটি নোড একটা পয়েন্টার আমি সেখানে নোড * বলেন কারণ. এবং আমি এটা সমান হতে আরম্ভ করছি প্রথম তাই আমি কার্যকরভাবে আছে আমার আঙুল, তাই খুব নেভিগেশন, কথা বলতে তালিকায় প্রথম উপাদান. এখানে নিলাম আমার ডান হাত PTR আমি তাই যদি একই জিনিস নির্দেশ করে যে প্রথম নির্দেশ করা হয়. তাই এখন ফিরে কোড, পরে কি - iterating যখন এই একটি সাধারণ উদাহরণ হল একটি ভালো একটি কাঠামো ওভার লিঙ্ক তালিকা. আমি যখন নিম্নলিখিত কাজ করতে যাচ্ছি পয়েন্টার তাই null সমান না হয় আমার আঙুল কিছু নাল নির্দেশ করা হয় না মান, পয়েন্টার তীর N উল্লেখ্য সমান হলে. আমরা N যে প্রথম বিজ্ঞপ্তি পাবেন কি প্রতি GetInts টাইপ ব্যবহারকারী এখানে কল. এবং পয়েন্টার তীর N এর মানে কি? আমরা এখানে ছবি ফিরে যান ভাল যদি, আমি নির্দেশ করে একটি আঙুল থাকে তাহলে নয়, ধারণকারী প্রথম যে নোড তীর মূলত যে যেতে মানে নোড এবং অবস্থান N এ মান দখল এই ক্ষেত্রে, ডাটা ফিল্ড N বলা হয়. একটি সরাইয়া হিসাবে - এবং আমরা এই একটি দম্পতি দেখেছি সপ্তাহ আগে কেউ যখন জিজ্ঞাসা - এই বাক্য গঠন নতুন, কিন্তু এটা না আমাদের ক্ষমতা দিতে আমরা ইতিমধ্যে আছে কি না. ব্যবহার করে সমতূল্য এই শব্দগুচ্ছ কী ছিল বিন্দু স্বরলিপি এবং তারা একটি দম্পতি সপ্তাহ আগে আমরা ফিরে peeled যখন এই একটি বিট অকালে স্তর? Student: [শ্রবণাতীত]. স্পিকার 1: ঠিক, এটা তারা ছিল, এবং তারপর, এটা সঙ্গে, তারা বিন্দু N ছিল এখানে প্রথম বন্ধনী, যা দেখায়, সত্যি, আমি অনেক কিছু মনে পড়তে আরো রহস্যপূর্ণ. কিন্তু তারা পয়েন্টার, হিসাবে সবসময়, মানে সেখানে যান. এবং একবার আপনি কি তথ্য আছে, আছেন যদি ক্ষেত্রের কিছু r আপনি অ্যাক্সেস করতে চান? ওয়েল আপনি অ্যাক্সেস বিন্দু স্বরলিপি ব্যবহার একটি structs তথ্য যদি ক্ষেত্রের কিছু r, এবং আমি বিশেষভাবে N চাই. সত্যি, আমি এই তর্ক করবে পড়া ঠিক কঠিন. এটা যেখানে আপনি মনে রাখা কঠিন এব w বন্ধনী ববহার, যান তারা এবং যে সব. তাই বিশ্বের কিছু অন্বিত গৃহীত চিনি, তাই কথা বলতে. বলার অপেক্ষা রাখে না শুধু একটি সেক্সি ভাবে, এই সমতূল্য, এবং সম্ভবত আরও বেশি ধারণাসম্পন্ন. পয়েন্টার প্রকৃতপক্ষে একটি পয়েন্টার হয়, তীর স্বরলিপি উপায় আছে যান এবং এটি এই ক্ষেত্রে যদি ক্ষেত্রের কিছু r N বলা হয়. আমি তা খুঁজে পেতে যদি তাই হয়, আমি কি লক্ষ্য. আমি কেবল প্রিন্ট আউট, আমি শতাংশ আমি খুঁজে পাওয়া যায় নি যে কোন int মান প্লাগিং. আমি ধরনের করার জন্য শুধু একটা দ্বিতীয় জন্য ঘুম কল পর্দায় বিরতি জিনিস ব্যবহারকারী শুষে একটি দ্বিতীয় দিতে ঠিক কি ঘটেছে. এবং তারপর আমি বিরতি. অন্যথা, আমি কি করব? আমি সমান পয়েন্টার আপডেট পরবর্তী পয়েন্টার তীর. তাই ঠিক পরিষ্কার করা, এই যান মানে , আমার পুরানো স্কুল স্বরলিপি আছে ব্যবহার করে. এই মাত্র যাই হোক না কেন যেতে মানে তাই আপনি খুব মধ্যে, যা নির্দেশ করে করছি প্রথম ক্ষেত্রে আমি নির্দেশ না হয় এটা নয় সঙ্গে struct. তাই আমি সেখানে চলে গেছে করেছি. এবং তারপর বিন্দু স্বরলিপি মানে, পরবর্তী সময়ে মূল্য পেতে. কিন্তু মান, তা টানা যদিও একটি সংকীর্ণ হিসাবে, শুধু একটি সংখ্যা. এটি একটি সাংখ্যিক ঠিকানা. কিনা, কোড এই এক লাইন, তাই , ভালো লেখা আরো রহস্যপূর্ণ পথ, অথবা এই মত, সামান্য বেশি স্বজ্ঞাত উপায় মাত্র, আমার হাত সরানো মানে পরের এক প্রথম নোড থেকে, তারপর, এবং তারপর পরবর্তী এক, এবং এক পরের, এবং তাই ঘোষণা. সুতরাং আমরা অন্য অধিষ্ঠান না, সন্নিবেশ ও বিলোপ এর বাস্তবায়নের এবং ট্র্যাভেরসাল, প্রথম দুই যা মোটামুটি জড়িত হয়. এবং আমি এটা পেতে বেশ সহজ মনে করি শব্দগতভাবে এরকম যখন হারিয়ে গেছে. কিন্তু কি আমরা এখানে করতে পারেন নির্ধারণ করার চেষ্টা করুন কিভাবে শ্রেষ্ঠ চাক্ষুষরূপে এই কাজ করতে. আমি উত্থাপন করা হবে, কারণ যে আমরা যদি এই মধ্যে উপাদান প্রবেশ করাতে চান বিদ্যমান তালিকা, যা পাঁচটি উপাদান আছে - 9, 17, 22, 26, এবং 33 - আমি এই বাস্তবায়ন চালু ছিল যদি কোড, আমি যেতে কিভাবে বিবেচনা করতে হবে এই করছেন. এবং আমি শিশুর পদক্ষেপ গ্রহণ উত্থাপন করা হবে এই ক্ষেত্রে আমি বলতে চাচ্ছি যদ্দ্বারা, কি হয় সম্ভব পরিস্থিতিতে যে আমরা সাধারণ সম্মুখীন হতে পারে? একটি লিঙ্ক সন্নিবেশ জন্য রূপায়ণকারী যখন তালিকা, শুধু এই একটি হতে হবে আয়তন পাঁচ নির্দিষ্ট উদাহরণ. যদি আপনি একটি নম্বর প্রবেশ করাতে চান ভাল যদি এক নম্বর বলতে চাই, এবং যেখানে সাজানো ক্রম বজায় রাখা সম্ভবত এক নম্বর প্রয়োজন আছে এই নির্দিষ্ট উদাহরণে যেতে? শুরুতে না. কিন্তু আকর্ষণীয় যে কি আছে আপনি এই এক সন্নিবেশ করতে চান তাহলে তালিকা, কি বিশেষ পয়েন্টার প্রয়োজন দৃশ্যত আপডেট হবে? প্রথম. তাই আমি এই প্রথম ক্ষেত্রে, তর্ক করবে আমরা একটি, বিবেচনা করতে পারে যে এ ঢোকাতে জড়িত দৃশ্যকল্প তালিকার শুরুতে. এর এমনকি একটি সহজ হয়তো বা বন্ধ ছোঁ চলুন শুরু করা যাক সহজ ক্ষেত্রে অপেক্ষাকৃত বেশী. আমি প্রবেশ করাতে চাইছেন সাজানো ক্রম সংখ্যা 35. এটা সম্ভবত ওইখানে জন্যে. তাই কি পয়েন্টার সম্ভবত যাচ্ছে যে দৃশ্যকল্প আপডেট করতে হবে? 34 এর পয়েন্টার নাল না হয়ে উঠছে কিন্তু struct ঠিকানা সংখ্যা 35 ধারণকারী. সুতরাং যে ক্ষেত্রে দুই এর. তাই আগে থেকেই, আমি quantizing সাজানোর আছি আমি এখানে কি আছে কত কাজ. এবং পরিশেষে, সুস্পষ্ট মধ্যম কেস প্রকৃতপক্ষে, মাঝখানে, আমি যদি চাই যে যায় বলুন 23, ভালো কিছু সন্নিবেশ 23 এবং 26 এর মধ্যে, কিন্তু আছে এখন জিনিষ একটু বেশি পেতে জড়িত কারণ কি পয়েন্টার পরিবর্তন করার প্রয়োজন? 22 সম্ভবত পরিবর্তন করা প্রয়োজন তাই সে আর 26 র দিকে নির্দেশ করে যাবে না. তিনি নতুন নোডের দিকে নির্দেশ করে যা প্রয়োজন আমি কল করে বরাদ্দ করতে হবে malloc বা কিছু সমতুল্য. কিন্তু তারপর আমি যে নতুন নোড, 23 প্রয়োজন এই ক্ষেত্রে, তার পয়েন্টার আছে যাকে নির্দেশ করে? 26. এবং একটি হতে যাচ্ছে এখানে অপারেশন আদেশ. কারণ আমি মূর্খতাপূর্ণভাবে এই কাজ, এবং আমি যদি শুরুতে উদাহরণস্বরূপ শুরু জন্য তালিকা, এবং আমার লক্ষ্য 23 সন্নিবেশ করা হয়. এবং আমি এটা অন্তর্গত, চেক এখানে, নয় কাছাকাছি? নং এটি 17 এর পরে, এখানে অন্তর্গত? নং এটি 22 পরবর্তী এখানে জন্যে আছে? হ্যাঁ. এখন আমি এখানে নির্বুদ্ধি করছি, এবং না এই মাধ্যমে চিন্তা, আমি প্রতাপ 23 আমার জন্য নতুন নোড বরাদ্দ. আমি থেকে পয়েন্টার আপডেট হতে পারে নোড প্রতি নির্দেশ, 22 বলা এটা নতুন নোড. এবং তারপর আমি আপডেট করার জন্য কি কি আছে নতুন নোড এর পয়েন্টার হতে? Student: [শ্রবণাতীত]. স্পিকার 1: যথাযথভাবে. 26 নির্দেশ করে. আমি ইতিমধ্যে আপডেট না কিন্তু যদি dammit 22 এর পয়েন্টার এই লোক এ নির্দেশ, এবং আপনি এখন আমি অনাথ, বিশ্রাম তালিকা, তাই কথা বলতে. এখানে অপারেশন তাই অর্ডার গুরুত্বপূর্ণ হতে যাচ্ছে. এই কাজের জন্য আমি চুরি হতে পারে ছয় স্বেচ্ছাসেবকদের বলে. এবং আমরা এই কাজ করতে না পারেন, এর দেখতে দিন দৃশ্যত পরিবর্তে কোড জিনিস. এবং আমরা কিছু সুদৃশ্য চাপ আছে আজ আপনার জন্য বল. ওকে, কিভাবে এক দুই, এর মধ্যে ফিরে - সেখানে প্রান্তে. আপনাদের উভয়ের তিন, চার, শেষ না. এবং পাঁচ, ছয়. নিশ্চিত. পাঁচ ও ছয়. ঠিক আছে এবং আমরা আসবো আপনাকে বলছি আপনি পরবর্তী সময়. ঠিক আছে, উপর আসা. ঠিক আছে, আপনি এখানে প্রথম আপ করছি, যেহেতু আপনি awkwardly এক হতে চাই এখানে গুগল গ্লাস? ঠিক আছে, তাই ঠিক আছে, কাচ, একটি ভিডিও রেকর্ড. ঠিক আছে, আপনি যেতে ভাল. ঠিক আছে, তাই আপনাকে বলছি ওভার আসতে পারেন যদি এখানে, আমি অগ্রিম প্রস্তুত কিছু সংখ্যা. ঠিক আছে, উপর এখানে আসা. এবং কেন আপনি একটু যেতে না আরও যে উপায়. এবং এর দেখতে দিন, আপনার নাম কি, গুগল গ্লাস সঙ্গে? Student: বেন. স্পিকার: 1 বেন? ঠিক আছে, বেন, আপনি আক্ষরিক, প্রথম হতে হবে. সুতরাং আমরা আপনাকে পাঠাতে যাচ্ছেন পর্যায় শেষে. ঠিক আছে, এবং যদি আপনার নাম? Student: জেসন. স্পিকার: 1 জেসন, ঠিক আছে আপনি পাবেন সংখ্যা নয় হতে. আপনি বেন যে পথ অনুসরণ করতে চান তাই আপনি যদি. Student: জিল. স্পিকার: 1 জিল, আপনি হতে যাচ্ছেন 17, যা আমি এই আরও কাজ করতে চাই তাহলে intelligently, আমি হবে অন্যান্য শেষে শুরু. আপনি যে উপায় না. 22. এবং আপনি কি করছেন? Student: মেরি. স্পিকার: 1 মেরি, আপনি 22 হবেন. এবং আপনার নাম? Student: ক্রিস. স্পিকার: 1 ক্রিস, আপনি 26 হবেন. এবং তারপর সর্বশেষে. Student: ডায়ানা. স্পিকার: 1 ডায়ানা, আপনি 34 হবেন. সুতরাং আপনি এখানে উপর আসা. ঠিক আছে, তাই সাজানো নিখুঁত ইতিমধ্যে অর্ডার. এবং এর এগিয়ে যান এবং এই কাজের জন্য যাতে আমরা সত্যিই করতে পারেন - বেন আপনি খুঁজছেন শুধু ধরনের করছি খুঁজে কোথাও আছে মধ্যে. ঠিক আছে, তাই এর এগিয়ে যান এবং এই বর্ণা করা যাক আমি অনেক ভালো, অস্ত্র ব্যবহার করে, ঠিক, কি যাচ্ছে. তাই এগিয়ে যান এবং নিজের দিতে পাদদেশ বা নিজের মধ্যে দুই. এবং এক হাত দিয়ে এগিয়ে যান এবং নির্দেশ আপনি যে কেহ প্রতি নির্দেশ করা উচিত এই উপর ভিত্তি করে. আপনি নাল হন তাহলে শুধু নির্দেশ সরাসরি নিচে মেঝে থেকে. ঠিক আছে, তাই ভাল. তাই এখন আমরা একটি লিঙ্ক তালিকা আছে, এবং আমাকে আমি ভূমিকা পালন করব উত্থাপন PTR, তাই আমি বিরক্ত করবে না প্রায় এই বহন. এবং তারপর - কেউ মূঢ় প্রচল - আপনি চান এই কিছু কল করতে পারেন - পূর্বসুরী পয়েন্টার, pred পয়েন্টার - এটা ঠিক আমরা দিয়েছে ডাক নাম এর আমার বাম হাত থেকে আমাদের নমুনা কোড. পালন করা যাচ্ছে যে অন্য দিকে যারা কে ট্র্যাক পরিস্থিতিতে নিম্নলিখিত. সুতরাং প্রথম, আমি বন্ধ ছোঁ করতে চান, আমি অনুমান ঢোকাতে যে প্রথম উদাহরণ বলে, 20, তালিকায়. তাই আমি কাউকে প্রয়োজন যাচ্ছি আমাদের জন্য নম্বর 20 embody. তাই আমি malloc কেউ প্রয়োজন শ্রোতাদের কাছ থেকে. উপর আসা. আপনার নাম কি? Student: ব্রায়ান. স্পিকার: 1 ব্রায়ান, ঠিক আছে, তাই আপনি 20 ধারণকারী নোডের মধ্যে হইবে. ঠিক আছে, উপর এখানে আসা. এবং অবশ্যই, যেখানে ব্রায়ান অন্তর্গত? সুতরাং, এর মাঝখানে - আসলে, একটি মিনিট অপেক্ষা করুন. আমরা যাতে এই আউট করছেন. আমরা অনেক কঠিন এই করছেন এটা প্রথমে প্রয়োজন আর. ঠিক আছে, আমরা বিনামূল্যে ব্রায়ান চলুন এবং পাঁচ হিসাবে realloc ব্রায়ান. ঠিক আছে, তাই এখন আমরা সন্নিবেশ করতে চান পাঁচ হিসাবে brian. তাই পরের এখানে আসা শুধু একটা মুহূর্ত জন্য বেন. এবং আপনি সম্ভবতঃ বলতে পারেন এই গল্প কোথায় যাচ্ছে. কিন্তু এখানে এর ওপর সাবধানে চিন্তা অপারেশন অর্ডার. এবং এটি অবিকল এই চাক্ষুষ এর লম্বা লাইনে দাড়িয়ে যাচ্ছে যে নমুনা কোড. তাই এখানে আমি PTR প্রাথমিকভাবে প্রতি নির্দেশ আছে না প্রতি SE বেন, এ, কিন্তু যাই হোক না কেন এ তিনি রয়েছে, মূল্য, যা এই ক্ষেত্রে - আপনার নাম আবার কি? Student: জেসন. স্পিকার: 1 জেসন, বেন এবং আমি উভয় তাই এই মুহূর্তে জেসন নির্দেশ করে. তাই আমি এখন নির্ধারণ করা আছে, ব্রায়ান যেখানে অন্তর্গত? শুধু তাই আমি এক্সেস আছে এখনই তার N তথ্য আইটেম. তাই আমি চেক করা হয় যাচ্ছে না জেসন আর brian কম? উত্তর সত্য. তাই এখন, কি দরকার সঠিক করার জন্য? আমি কিভাবে অনেক পয়েন্টার আপডেট করা দরকার এই গল্পের মোট মধ্যে? আমার হাত এখনো নির্দেশ করে যেখানে জেসন, এবং আপনার হাত - আপনি চাইলে সাজানোর মত আপনার হাত রাখা, আমি , একটি প্রশ্ন চিহ্ন জানি না. ঠিক আছে, ভাল. ঠিক আছে, আপনি যাতে কয়েক প্রার্থী. বেন বা আমি বা ব্রায়ান বা জেসন হয় অন্যথায় বা সবাই, যা পয়েন্টার পরিবর্তন করার প্রয়োজন? কিভাবে মোট অনেক? ঠিক আছে, তাই দুই. আমার পয়েন্টার সত্যিই আর কোন ব্যাপার না আমি শুধু অস্থায়ী কারণ. সুতরাং, সম্ভবতঃ, এই দুটি বলছি এর বেন ও ব্রায়ান উভয়. সুতরাং আমরা আপডেট সম্পর্কে উত্থাপন করা যাক বেন, যেহেতু তিনি প্রথম. এই তালিকায় প্রথম উপাদান এখন ব্রায়ান হতে যাচ্ছে. ব্রায়ান এ তাই বেন বিন্দু. ঠিক আছে, এখন কি? কে কার দিকে তীক্ষ্ন পায়? Student: [শ্রবণাতীত]. স্পিকার 1: ঠিক আছে, তাই ব্রায়ান আছে জেসন এ দিকে নির্দেশ করে. কিন্তু আমি যে পয়েন্টার ট্র্যাক হারিয়েছে? জেসন যেখানে আমি জানি না? Student: [শ্রবণাতীত]. স্পিকার 1: আমি আছি আমি, কি অস্থায়ী পয়েন্টার. এবং সম্ভবতঃ, আমি পরিবর্তীত হয়নি নতুন নোড দিকে নির্দেশ করে. তাই আমরা কেবল ব্রায়ান পয়েন্ট থাকতে পারে যে কেহ এ নির্দেশ করছি. এবং আমরা কাজ সম্পন্ন হয়. সুতরাং ক্ষেত্রে এক, এ সন্নিবেশ তালিকার শুরুতে. দু 'টি ​​মূল পদক্ষেপ ছিল. এক, আমরা বেন আপডেট আছে, এবং তারপর আমরা ব্রায়ান আপডেট আছে. এবং তারপর আমি বিরক্ত করতে হবে না বাকি মাধ্যমে traipsing আমরা ইতিমধ্যে পাওয়া তালিকা, কারণ তার তিনি belonged অবস্থান, কারণ প্রথম উপাদান বাকি. ঠিক আছে, তাই বেশ সহজবোধ্য. আমরা প্রায় করছেন আসলে, মতানুযায়ী এই অত্যন্ত জটিল হবে. সুতরাং এখন শেষ অফ ছোঁ যাক তালিকা, এবং কোথায় জটিলতা শুরু হয়. শ্রোতাদের কাছ থেকে তাই এখন যদি আমি alloc. যে কেউ 55 খেলতে চান? ঠিক আছে, আমি প্রথম আপনার হাত দেখেছি. উপর আসা. হ্যাঁ. আপনার নাম কি? Student: [শ্রবণাতীত]. স্পিকার: 1 Habata. ঠিক আছে, উপর আসা. আপনি সংখ্যা 55 হবেন. তাই আপনি, অবশ্যই, অংশভুক্ত তালিকার শেষে. সুতরাং আমার সাথে সিমুলেশন রিপ্লে দিন শুধু একটা মুহূর্ত জন্য PTR হচ্ছে. তাই আমি প্রথম দিকে নির্দেশ করে যাচ্ছি বেন নির্দেশ এর যাই হোক না কেন. আমরা এখন ব্রায়ান নির্দেশ করছেন উভয়. তাই 55 এর কম পাঁচ নয়. তাই আমি নিজেকে আপডেট করতে যাচ্ছি ব্রায়ান এর পরের পয়েন্টার প্রতি নির্দেশ যারা এখন অবশ্যই জেসন হয়. 55 তাই, কম নয় নয় আমি PTR আপডেট করতে যাচ্ছি. আমি PTR আপডেট করতে যাচ্ছি. আমি PTR আপডেট করতে যাচ্ছি আমি PTR আপডেট করতে যাচ্ছে. এবং আমি যাচ্ছি - হুম, কি আপনার নাম আবার? Student: ডায়ানা. স্পিকার: 1 ডায়ানা প্রতি নির্দেশ করা হয়, অবশ্যই, তার বাম হাত দিয়ে নাল এ. তাই যেখানে Habata আসলে আছে পরিষ্কারভাবে অন্তর্গত? বাম এখানে. সুতরাং কিভাবে আমি এখানে তার লাগাতে জানি আমি আপ মাতাল করেছি মনে. কি PTR শিল্প কারণ সময় এই মুহূর্তে? শূন্য. তাই, যদিও দৃশ্যত আমরা করতে পারেন সম্ভবত এই সব দেখতে এখানে মঞ্চে না. আমি পূর্ববর্তী ট্র্যাক রাখা না করেছি তালিকার মধ্যে না. আমি ইশারা একটি আঙুল থাকে না এই ক্ষেত্রে, নোডের সংখ্যা 34. তাই এর আসলে এই শুরু করা যাক. তাই এখন আমি আসলে প্রয়োজন একটি দ্বিতীয় স্থানীয় পরিবর্তনশীল. এবং এই আপনি দেখতে পাবেন কি প্রকৃত নমুনা সি কোড হিসাবে, আমি যেতে, যেখানে আমি নির্দেশ আমার ডান হাত আপডেট যখন জেসন, যার ফলে আমি পিছনে ব্রায়ান যাব ভাল আমার বাম হাত ব্যবহার করা শুরু আমি যেখানে আমি যেতে, যাতে আপডেট এই তালিকার মাধ্যমে - আরো awkwardly আমি উদ্দেশ্যে আর এখন এখানে দৃশ্যত - আমি পেতে যাচ্ছি তালিকার শেষে. এই হাত সুন্দর, যা এখনও নাল হয় ইঙ্গিত আর অন্য, অনর্থক আমি তালিকার শেষে পরিষ্কারভাবে আছি কিন্তু এখন অন্তত আমি এই আছে পূর্বসুরী পয়েন্টার, তাই এখানে প্রতি নির্দেশ এখন কি হাত এবং কি পয়েন্টার প্রয়োজন আপডেট হবে? যার হাতে আপনি চান প্রথম পুনরায় কনফিগার করার জন্য? Student: [শ্রবণাতীত]. স্পিকার 1: ঠিক আছে, তাই এর ডায়ানা. আপনি কোথায় নির্দেশ করতে চান এ diana এর বাম পয়েন্টার? 55 এ, সম্ভবতঃ, যাতে আমরা সেখানে সন্নিবেশিত করেছি. এবং যেখানে 55 পয়েন্টার যেতে হবে? নিচে নাল প্রতিনিধিত্বমূলক. এবং আমার হাত, এই সময়ে, না তারা ঠিক ছিল কারণ কোন ব্যাপার অস্থায়ী ভেরিয়েবল. তাই এখন আমরা কাজ সম্পন্ন হয়. সুতরাং অতিরিক্ত আছে জটিলতা - এবং এটা বাস্তবায়ন করার জন্য যে হার্ড না কিন্তু আমরা একটি দ্বিতীয় পরিবর্তনশীল প্রয়োজন নিশ্চিত যে আমি আমার ডানে সরানো আগে হাত, আমি আমার বাম মান আপডেট হাত, pred এই ক্ষেত্রে পয়েন্টার, তাই আমি একটি trailing পয়েন্টার আছে যে আমি যেখানে ট্র্যাক রাখতে. এখনই একটি সরাইয়া হিসাবে, আপনি এই চিন্তা করছি এটা ভালো মাধ্যমে, এই মতানুযায়ী একটি রাখা আছে আপনি একটু বিরক্তিকর এই বাম হাতের ট্র্যাক. কি অন্য সমাধান হবে এই সমস্যা হয়েছে? আপনি ডাটা পুনঃডিজাইন পেয়েছিলাম যদি আমরা কথা বলছি গঠন এখনই মাধ্যমে? শুধু এই ধরনের একটি সামান্য মতানুযায়ী যদি , চাই, দুই পয়েন্টার আছে বিরক্তিকর কাদের, তালিকা মাধ্যমে পারে যাচ্ছে , একটি আদর্শ বিশ্বের, রক্ষণাবেক্ষণ আমরা প্রয়োজন যে তথ্য? হ্যাঁ? Student: [শ্রবণাতীত]. স্পিকার 1: যথাযথভাবে. রাইট, তাই একটি আকর্ষণীয় আসলে আছে একটি ধারণা জীবাণু. এবং একটি পূর্ববর্তী পয়েন্টার এই ধারণা, পূর্ববর্তী উপাদান নির্দেশ করে. কি আমি দেহী যদি তালিকা নিজেই ভিতরে? এবং তা ঠাহর করা কঠিন হতে যাচ্ছে এই সব কাগজ ছাড়াই মেঝে থেকে পতনশীল. কিন্তু এই ছেলেরা উভয় ব্যবহৃত অনুমান তাদের হাতে কোনো পূর্ববর্তী আছে যার ফলে পয়েন্টার, এবং পরবর্তী পয়েন্টার, আমরা একটি দোকর ডাকবো কি রূপায়ণকারী লিঙ্ক তালিকা. যে, আমাকে আবার গুটিয়ে বাছাই যাবে আরো অনেক কিছু সহজে সম্পর্কে ছাড়াই প্রোগ্রামার, রাখা হচ্ছে নিজে ট্র্যাক - সত্যিকারের স্বয়ং - আমি পূর্বে ছিল যেখানে তালিকার মধ্যে. তাই আমরা যে দেবে না. যে কারণ আমরা এটা সহজ রাখা হবে দুইবার হিসাবে, একটি মূল্যে আসা যাচ্ছে পয়েন্টার জন্য অনেক স্থান, আপনি একটি দ্বিতীয় এক না. কিন্তু যে প্রকৃতপক্ষে একটি সাধারণ এর তথ্য কাঠামো হিসেবে পরিচিত দোকর তালিকা সংযুক্ত. এখানে চূড়ান্ত উদাহরণ এবং কি করা চলুন শুরু করা যাক তাদের দুর্বিপাক আউট এই ছেলেরা. Malloc 20 তাই. আছে করিডোর থেকে আসা. ঠিক আছে, আপনার নাম কি? Student: [শ্রবণাতীত]. স্পিকার: 1 দুঃখিত? Student: [শ্রবণাতীত]. স্পিকার: 1 Demeron? ওকে উপর আসা. আপনি 20 হইবেন. আপনি সম্ভবত যাচ্ছে 17 এবং 22 এর মধ্যে অন্তর্গত. তাই আমাকে আমার পাঠাভ্যাস করা যাক. আমি পয়েন্টার শুরু যাচ্ছি ব্রায়ান নির্দেশ করে. এবং আমি আমার বাম হাত আছে যাচ্ছি আমি সরানো হিসাবে শুধুমাত্র ব্রায়ান আপডেট জেসন, পরীক্ষণ নয়টি 20 টিরও কম আছে? নং 17 আর 20 এর কম হয়? নং 22 আর 20 এর কম হয়? হ্যাঁ. তাই কি পয়েন্টার বা হাত পরিবর্তন প্রয়োজন যেখানে তারা এখন প্রতি নির্দেশ করছেন? তাই আমরা 20 নির্দেশ করে 17 করতে পারেন. সুতরাং যে সূক্ষ্ম. যেখানে আমরা বলতে চাই না আপনার পয়েন্টার এখন? 22 এ. 22 যেখানে এবং আমরা আবার, ধন্যবাদ জানি আমার অস্থায়ী পয়েন্টার যাও. তাই আমরা ঠিক আছে করছি. তাই কারণ এই অস্থায়ী সঞ্চয়ের আমি সবার যেখানে ট্র্যাক রাখা করেছি. আর এখন আপনি চাক্ষুষরূপে যেখানে যেতে পারেন আপনি অংশভুক্ত, এবং এখন আমরা 1, 2, 3, প্রয়োজন 4, 5, 6, 7, 8, 9 চাপ বল, এবং জন্য সাধুবাদ একটি বৃত্তাকার এই ছেলেরা, আমরা পারে. চমত্কারভাবে কাজ. [সাধুবাদ] স্পিকার 1: ঠিক আছে. এবং আপনি টুকরা রাখতে পারে mementos হিসাবে কাগজ. ঠিক আছে, তাই, এটি অনেক বিশ্বাস সহজ যে ভিতর দিয়ে হেটে যেতে এটা আসল কোড তুলনায় মানুষের. কিন্তু আপনি কি শুধু একটা মুহূর্ত মধ্যে খুঁজে পাবেন এখন, যে একই - উহু, আপনাকে ধন্যবাদ. আপনাকে ধন্যবাদ - আপনি যে একই তথ্য খুঁজে পাবেন যে গঠন, একটি লিঙ্ক তালিকা, আসলে করতে পারেন এমনকি আরও একটি বিল্ডিং ব্লক হিসেবে ব্যবহার করা অত্যাধুনিক ডাটা স্ট্রাকচার. এবং এখানে খুব থিম বুঝতে পারি যে আমরা একেবারে আরো চালু করেছি বাস্তবায়ন মধ্যে জটিলতা এই অ্যালগরিদম. সন্নিবেশ, এবং আমরা এটা মাধ্যমে গিয়েছিলাম, মুছে ফেলার আগে আপনার ও অনুসন্ধান, একটি সামান্য এটা আরো বেশী জটিল একটি অ্যারের সঙ্গে ছিল. কিন্তু আমরা কিছু গতিশীলতা লাভ করে. আমরা একটি অভিযোজিত তথ্য কাঠামো পেতে. কিন্তু আবার, আমরা কিছু থাকার একটি মূল্য অতিরিক্ত জটিলতা, উভয় এটি প্রয়োগ. এবং আমরা র্যান্ডম অ্যাক্সেস দেওয়া করছি. এবং সৎ হবে, কিছু চমৎকার আছে না স্লাইড পরিষ্কার আমি আপনাকে দিতে পারে যে এখানে বলছেন কেন একটি লিঙ্ক তালিকা একটি অ্যারের চেয়ে ভাল. এবং যে এটি ছেড়ে. থিম, এমনকি এখন reoccurring কারণ আরও তাই আগামী সপ্তাহের মধ্যে হয় অগত্যা না যে একটি সঠিক উত্তর. আমরা পৃথক অক্ষ আছে এটা কেন সমস্যা সেটের জন্য নকশা. এটা খুবই কনটেক্সট সংবেদনশীল হতে হবে আপনি যদি এই তথ্য ব্যবহার করতে চান কিনা গঠন বা যে এক, এবং এটা করবে না শর্তাবলী আপনার গুরুত্বপূর্ণ কি উপর নির্ভর করে সম্পদ ও জটিলতা. কিন্তু আমার সম্পর্কে উত্থাপন করা যাক যে আদর্শ তথ্য গঠন, পবিত্র ঈপ্সিত বস্তু হতে হবে ধ্রুবক সময় যে কিছু, নির্বিশেষে অনেক উপাদান কিভাবে এটা ভিতরে, এটি আশ্চর্যজনক নয় একটি হলে তথ্য কাঠামো উত্তর ফিরে ধ্রুবক সময়. হ্যাঁ. এই শব্দ আপনার অভিধান বিশাল হয়. অথবা না, এই শব্দ নয়. অথবা সেখানে কোনো ধরনের সমস্যা. ওয়েল এর দেখতে দিন আমরা অন্তত না পারেন, তাহলে যে দিকে একটি পদক্ষেপ গ্রহণ করা. আমাকে একটা নতুন তথ্য কাঠামো উত্থাপন করা যাক যে বিভিন্ন জিনিষ ব্যবহার করা যেতে পারে, এই ক্ষেত্রে একটি হ্যাশ টেবিল বলা হয়. এবং তাই আমরা glancing ফিরে আসলে করছি একটি এই ক্ষেত্রে অ্যারের, এবং এ কিছুটা ইচ্ছামত, আমি এই টানা করেছি একটি সাজানোর সঙ্গে একটি অ্যারে হিসাবে হ্যাশ টেবিল দুই মাত্রিক অ্যারে - অথবা বরং এটি একটি দুই হিসাবে এখানে ফোটানো এর মাত্রিক অ্যারে - কিন্তু এই মাত্র যেমন আকার 26 শ্রেণীবিন্যাস, যে যদি আমরা অ্যারের টেবিল, টেবিল বন্ধনী কল শূন্য উপরের আয়তক্ষেত্র হয়. ছক বন্ধনী 25 আয়তক্ষেত্র হয় নীচে. এবং এই আমি একটা তথ্য দিতে পারে কিভাবে আমি সংরক্ষণ করতে ইচ্ছুক যা গঠন মানুষের নাম. সুতরাং উদাহরণস্বরূপ, এবং আমি না আঁকা হবে এখানে ওভারহেড নেভিগেশন পুরো জিনিস, যদি আমি আমি এখন যাচ্ছি যা এই অ্যারে ছিল, একটি হ্যাশ টেবিল কল, এবং এই আবার পাঁচ শূন্য. এখানে এই অবস্থান এক, এবং তাই ঘোষণা. আমি এই তথ্য ব্যবহার করতে চান যে দাবি গঠন, আলোচনা অনুরোধে জন্য, মানুষ এর নাম ধারণ করার জন্য, এলিস এবং বব এবং চার্লি এবং অন্যান্য এই নামগুলো. সুতরাং সূত্রপাত হিসেবে এখন এই মনে একটি অভিধান, বলে যে, শব্দের প্রচুর সঙ্গে. তারা নাম হতে ঘটতে এখানে আমাদের উদাহরণে. এবং এই, সম্ভবত, সব খুব germane হয় আমরা, একটি বানান পরীক্ষক রূপায়ণকারী সমস্যার জন্য ছয় সেট করা হতে পারে. আমরা মোট আয়তন 26 একটি অ্যারে আছে তাই আপনি যদি এই 25TH অবস্থান যাতে নীচে, এবং আমি এলিস যে দাবি অভিধান প্রথম শব্দ আমি উপস্থিত RAM-র মধ্যে সন্নিবেশ করতে চান যে নাম, এই তথ্য গঠন মধ্যে, যেখানে আপনি কহন সহজাত যে এলিস এর NAME এই অ্যারের মধ্যে যেতে হবে? আমরা 26 অপশন আছে. আমরা তার লাগাতে চান কোথায়? আমরা বন্ধনী শূন্য করতে চান তার ডান? এলিস জন্য, যে শূন্য কল করা যাক. এবং B এক হতে হবে, এবং সি দুটি হতে হবে. সুতরাং আমরা লিখে চলুন এখানে এলিস এর নাম আপ. তারপর আমরা বব, তার সন্নিবেশ যদি নাম এখানে যেতে হবে. চার্লি এখানে যেতে হবে. এবং তাই ঘোষণা নিচে মাধ্যমে এই তথ্য কাঠামো. এটি একটি চমৎকার ডাটা স্ট্রাকচার. কেন? ভাল চলমান সময় কি এই মধ্যে একটি মানুষের নাম ঢোকাতে এখনই ডাটা স্ট্রাকচার? এই টেবিল বাস্তবায়িত হয় যে দেওয়া, সত্যিই, একটি অ্যারে হিসাবে. ওয়েল, এটা ধ্রুব সময়. এটা এক অর্ডার. কেন? ওয়েল আপনি কিভাবে নির্ধারণ করবেন এলিস জন্যে কোথায়? আপনি তার নাম যা অক্ষর তাকান? প্রথম. এটি একটি স্ট্রিং এর এবং যদি আপনি, সেখানে পেতে পারেন শুধু স্ট্রিং এ খুঁজছেন দ্বারা বন্ধনী শূন্য. স্ট্রিং এর zeroth অক্ষর তাই. যে সহজ. আমরা ক্রিপ্টো যে করেনি নিয়োগ সপ্তাহ আগে. এবং তারপরে আপনি যে এলিস এর জানা অক্ষর একটি মূলধন হয়, আমরা বিয়োগ করতে পারেন 65 বা পুঁজি একটি নিজেই, বন্ধ যে আমাদের শূন্য দেয়. তাই এখন আমরা জানি যে এলিস জন্যে পাঁচ শূন্য এ. এবং এই তথ্য একটি পয়েন্টার দেওয়া গঠন, কিছু ধরণের, কতদিন আছে এটি অবস্থান খুঁজে নিয়ে যান একটি অ্যারের মধ্যে শূন্য? শুধু এক ধাপ, ডান এটা ধ্রুব সময় র্যান্ডম এক্সেস কারণ আমরা প্রস্তাবিত একটি অ্যারের একটি বৈশিষ্ট্য ছিল. তাই সংক্ষেপে, figuring আউট কি সূচী এর এলিস এর নামে, যা হল, এই ক্ষেত্রে, একটি হল, বা এর যাক ঠিক মীমাংসা শূন্য থেকে, যেখানে বি এক এবং সি যে দুই, যে figuring আউট ধ্রুবক সময়. আমি তার প্রথম অক্ষর তাকান আছে শূন্য যেখানে figuring আউট একটি অ্যারের এছাড়াও ধ্রুবক সময়. সুতরাং টেকনিক্যালি যে এখন দুটি ধাপে ভালো লেগেছে. কিন্তু যে এখনও ধ্রুবক এর. তাই আমরা এক যে বড় হে কল, তাই আমরা করেছি এই টেবিলের মধ্যে এলিস ঢোকানো ধ্রুবক সময়. তবে অবশ্যই, আমি হচ্ছে এখানে সাদাসিধা, ডান? কি বর্গ একটি আরন আছে তাহলে কি হবে? অথবা Alicia? বা অন্য কোন নাম দিয়ে শুরু উ: আমরা কোথায় রাখা যাচ্ছে যে ব্যক্তি, ডান? আমি বলতে চাচ্ছি, ডান এখন শুধুমাত্র তিনটি আছে টেবিলের উপর মানুষ, তাই হয়তো আমরা অবস্থানে আরন করা উচিত শূন্য এক দুই তিন. ঠিক আছে, আমি কি এখানে একটা করা যায়নি. কিন্তু তারপর, আমরা মধ্যে ডেভিড ঢোকানোর চেষ্টা এই তালিকায়, ডেভিড কোনদিকে? এখন আমাদের সিস্টেমে ভঙ্গ শুরু নিচে, ডান? এখন ডেভিড এখানে শেষ পর্যন্ত, কারণ আরন এখানে আসলে হয়. একটি থাকার তাই এখন এই পুরো ধারণা আমাদের দেয় যে পরিষ্কার তথ্য গঠন ধ্রুবক সময় insertions নেই আমি কারণ ধ্রুবক সময়, চেক, ওহ, damnit, কেউ ইতিমধ্যেই এলিস এর অবস্থান. আমার সম্পর্কে এই তথ্য বাকি অনুসন্ধানের চলুন শুরু করা যাক গঠন করা একটি স্পট খুঁজছেন আরন এর নামের মতো কেউ. তাই খুব শুরু হয় রৈখিক সময় নিতে. উপরন্তু, আপনি এখন এটি করতে চান তাহলে এই তথ্য কাঠামো আরন, এবং আপনি চেক, এবং আরন এর নাম এখানে না. মূলত, আপনি ঠিক আরন এর বলতে হবে না তথ্য কাঠামো. কিন্তু যদি আপনি না জন্য রুম উপার্জন শুরু আরন যেখানে ডি আছে উচিত অথবা ই, আপনি লক, চেক আছে সমগ্র ডাটা স্ট্রাকচার, এটা কিছু মধ্যে devolves ক্ষেত্রে যা টেবিলের আকার রৈখিক. সমস্ত অধিকার, তাই আমি এই স্থির করব. এখানে সমস্যা আমি যে এই অ্যারের মধ্যে 26 উপাদান. আমার সম্পর্কে এটি পরিবর্তন করা যাক. উপস. বরং হচ্ছে যে তাই আমাকে এটি পরিবর্তন করা যাক মোট আয়তন 26, নীচে লক্ষ্য সূচক N বিয়োগ 1 পরিবর্তন করা যাচ্ছে না. 26 মানুষের জন্য পরিষ্কারভাবে খুব ছোট হয় তাহলে নাম, কারণ হাজার হাজার আছে বিশ্বের নাম, এর ঠিক করা যাক 100 বা 1000 বা 10,000 এ. এর ঠিক অনেক বেশী স্থান বরাদ্দ করা যাক. ওয়েল অগত্যা হ্রাস না আমরা দুটি হবে না যে সম্ভাবনা নামের সাথে মানুষ দিয়ে শুরু, এবং সুতরাং, আপনি একটি লাগাতে চেষ্টা চালু হয়েছে এখনও পাঁচ শূন্য এ নাম. তারা এখনও, ধাক্কা লাগা চলুন যা আমরা এখনও করা একটি সমাধান প্রয়োজন মানে এলিস এবং আরন এবং Alicia এবং অন্যান্য একটি অন্যত্র দিয়ে শুরু নাম. কিন্তু এই কত কোন সমস্যা হয়? সম্ভাবনা কি আছে যে আপনি একটি ডাটা দুর্ঘটনায় আছে ভালো গঠন? আচ্ছা, আমাকে যাক - আমরা ফিরে আসবো এখানে যে প্রশ্নের. এবং আমরা কিভাবে বল তাকান প্রথম সমাধানের. আমাকে এখানে এই প্রস্তাব টান আপ চলুন শুরু করা যাক. আমরা কি শুধু বর্ণনা অনুযায়ী, একটি অ্যালগরিদম হয় রৈখিক নামক একটি অনুসন্ধানমূলক আপনি সন্নিবেশ করার চেষ্টা করে, যদি যদ্দ্বারা অনুসন্ধান এই তথ্য এখানে কিছু একটি হ্যাশ টেবিল বলা হয়, যা গঠন, এবং কোন রুম আপনি সেখানে আছে সত্যিকারের তথ্য গঠন অনুসন্ধান চেক, এই পাওয়া যায়? এই উপলভ্য এই উপলব্ধ করা হয়? এই উপলব্ধ? এবং অবশেষে যখন, আপনি সন্নিবেশ আপনি যদি ক্ষেত্রের উদ্দেশ্যে যে নাম অন্যত্র যে অবস্থানে. কিন্তু সবচেয়ে খারাপ ক্ষেত্রে, শুধুমাত্র স্পট তথ্য খুব নিচ হতে পারে গঠন, অ্যারের খুব শেষ. সুতরাং রৈখিক সবচেয়ে খারাপ ক্ষেত্রে, অনুসন্ধান, একটি রৈখিক অ্যালগরিদম মধ্যে devolves যেখানে আরন, তিনি শেষ ঢোকানো হতে হবে যদি এই তথ্য কাঠামো, তিনি বল এই প্রথম অবস্থান সঙ্গে ধাক্কা লাগা, কিন্তু আছে তারপর খুব শেষে দুর্ভাগ্য দ্বারা শেষ. তাই এই একটি ধ্রুবক নয় আমাদের জন্য সময় পবিত্র ঈপ্সিত বস্তু. ঢোকাতে উপাদানের এই পদ্ধতির মধ্যে একটি ডাটা স্ট্রাকচার একটি হ্যাশ নামে পরিচিত টেবিল ধ্রুবক সময় হবে বলে মনে হচ্ছে না অন্তত না সাধারণ ক্ষেত্রে. এটা রৈখিক কিছু ভাগ devolve করতে পারেন. আমরা দুর্ঘটনায় মীমাংসা তাই কি যদি কিছুটা অন্যরকম? সুতরাং এখানে আরো একটি অত্যাধুনিক এর এখনও কি যোগাযোগ একটি হ্যাশ টেবিল বলা হয়. এবং হ্যাশ দ্বারা, একটি সরাইয়া, কি হিসাবে আমি যে সূচক মানে আমি আগে উল্লেখ করা. আপনি হ্যাশ কিছু হতে পারে একটি ক্রিয়া বলে মনে করা. আপনি হ্যাশ এলিস একটি নাম আছে, তাই যদি একটি হ্যাশ ফাংশন, তাই কথা বলতে, একটি সংখ্যা ফেরত পাঠাবেন. তিনি এ জন্যে যদি এই ক্ষেত্রে শূন্য হয় তিনি এ জন্যে যদি পাঁচ শূন্য, এক অবস্থান এক, এবং তাই ঘোষণা. তাই আমার হ্যাশ ফাংশন পর্যন্ত হয়েছে সহজ সুপার, শুধুমাত্র এ খুঁজছেন কেউ এর নাম প্রথম চিঠি. কিন্তু একটি হ্যাশ ফাংশন লাগে ইনপুট তথ্য কিছু টুকরা, একটি স্ট্রিং, কোন int, যাই হোক না কেন. এবং এটি সাধারণত একটি সংখ্যা খুঁজে spits. এবং যে সংখ্যা যে যেখানে তথ্য উপাদান একটি তথ্য কাঠামো জন্যে একটি হ্যাশ টেবিল হিসাবে এখানে পরিচিত. তাই শুধু intuitively, এই হল একটি কিছুটা ভিন্ন প্রসঙ্গ. আসলে এই একটি উদাহরণ উল্লেখ করা হয় জড়িত জন্মদিন, যেখানে হিসাবে অনেক হতে পারে মাসে 31 দিন. কিন্তু এই ব্যক্তি কি ঠিক করেছেন একটি সংঘর্ষের ঘটনা কি? কনটেক্সট এখন, একটি সংঘর্ষের না হচ্ছে নাম, কিন্তু জন্মদিন একটি সংঘর্ষের, দুটি মানুষ একই জন্মদিন আছে কিনা উদাহরণস্বরূপ অক্টোবর 2nd,. Student: [শ্রবণাতীত]. স্পিকার 1: হ্যাঁ, তাই আমরা এখানে আছে লিঙ্ক তালিকার উপজীব্য. সুতরাং এটা ভিন্নভাবে একটু দেখায় আমরা আগে এটা সৃষ্টি হয়. কিন্তু আমরা একটি অ্যারে আছে প্রদর্শিত বাম দিকে. নেই যে জন্য, একটি সূচক আছে বিশেষ কারণে. কিন্তু এখনও একটি অ্যারে. এটা পয়েন্টার একটি অ্যারে. এবং প্রতিটি যারা উপাদান প্রতিটি, এই বৃত্ত বা স্ল্যাশ - স্ল্যাশ প্রতিনিধিত্বমূলক নাল - এই প্রতিটি পয়েন্টার দৃশ্যত প্রতি নির্দেশ করা হয় কি ডাটা স্ট্রাকচার? একটি লিঙ্ক তালিকা. তাই এখন আমরা ক্ষমতা আছে আমাদের প্রোগ্রাম মধ্যে হার্ড কোড টেবিলের মাপ. এই ক্ষেত্রে, আমরা সেখানে না জানি এক মাসের অধিক 31 দিন. কঠিন 31 মত একটি মান কোডিং যে প্রেক্ষাপটে যুক্তিসঙ্গত. নামের প্রসঙ্গে, হার্ড কোডিং 26 অযৌক্তিক নয় এটি মানুষের নামগুলি শুধুমাত্র উদাহরণস্বরূপ, দিয়ে শুরু জেড মাধ্যমে জড়িত বর্ণমালা আমরা যে তথ্য সেগুলি সমস্ত ঠুসা করতে পারেন গঠন এতক্ষণ আমরা পেতে, হিসাবে সংঘর্ষের, আমরা এখানে নাম রাখা হয় না, আমরা পরিবর্তে এই কোষ মনে না স্ট্রিং নিজেদের, কিন্তু যত উদাহরণস্বরূপ, এলিস পয়েন্টার. এবং তারপর এলিস অন্য পয়েন্টার থাকতে পারে দিয়ে শুরু করে অন্য নাম এ এবং বব আসলে এখানে উপর যায়. এবং শুরু আরেকটি নাম আছে, যদি বি, তিনি এখানে ওভার শেষ পর্যন্ত. এবং তাই এই উপাদানের প্রতিটি আমরা এই একটি পরিকল্পিত যদি টেবিলের দুই, একটু বেশি চালাকি - আসা - আমরা এই একটি সামান্য আরো পরিকল্পিত হলে চালাকি করে, এখন একটি অভিযোজিত হয়ে তথ্য কোন হার্ড সীমা আছে যেখানে গঠন, আপনি সন্নিবেশ করতে পারেন কিভাবে অনেক উপাদানের উপর তা যদি আপনি না, কারণ একটি সংঘর্ষের, যে সূক্ষ্ম. শুধু এগিয়ে যান এবং এটি লিখবেন আমরা ছিল একটি বিট আগে দেখেছি একটি লিঙ্ক তালিকা হিসাবে পরিচিত. ওয়েল শুধু একটা মুহূর্ত জন্য এর বিরতি দেওয়া. একটি সংঘর্ষের সম্ভাবনা কি প্রথম স্থানে? ঠিক আছে, হয়তো আমি হয়তো, চিন্তা করছি আমি এই সমস্যা প্রকৌশল ওভার আছি আপনি জানেন কি কারণ? হ্যাঁ, আমি নির্বিচারে সঙ্গে আসা পর্যন্ত করতে পারেন মত আমার মাথার উপরে বন্ধ উদাহরণ Allison এবং আরন, কিন্তু বাস্তবে, একটি ইউনিফর্ম ডিস্ট্রিবিউশনের দেওয়া কিছু র্যান্ডম insertions যে ইনপুট, একটি ডাটা স্ট্রাকচার মধ্যে সত্যিই কি একটি সংঘর্ষের সম্ভাবনা? ওয়েল সক্রিয় আউট, এটা আসলে এর সুপার উচ্চ. এই সর্বজনীন চলুন শুরু করা যাক সমস্যা হলো এই হয়. সুতরাং N একটি রুমে এবং CS50 ছাত্র, কি সম্ভাবনা যে অন্তত রুমে দুই ছাত্র একই জন্মদিন আছে? তাই কি আছে. কয়েক hund - এখানে বেশ কয়েকটি 200, 300 জন আজ বাড়িতে শত লেগেছে. আপনি কি নিজেদেরকে জিজ্ঞাসা করতে চেয়েছিলাম তাই আপনি যদি দুটি মানুষের সম্ভাবনা একই জন্মদিন থাকার এই রুমে, আমরা এই জিনিসটা করতে পারেন. এবং আমি দুই আছে আসলে দাবি একই জন্মদিন সঙ্গে লেগেছে. উদাহরণস্বরূপ, কেউ আছে আজ জন্মদিন আছে? গতকাল? আগামী কাল? আমি যাচ্ছি মত ঠিক আছে, তাই এটি মতানুযায়ী আরো এই 363 বা তাই কি আছে বার আসলে জিনিসটা আমরা যদি একটি সংঘর্ষের আছে. অথবা আমরা ঠিক গাণিতিকভাবে এই কাজ করতে পারে বরং tediously আর এই করছেন. এবং নিম্নলিখিত উপস্থাপিত. তাই আমি মনে করি আমরা মডেল হতে পারে যে প্রস্তাব জমিদারি দুটি মানুষের সম্ভাবনা 1 সম্ভাবনা হিসাবে একই জন্মদিন থাকার কোন এক বিয়োগ সম্ভাবনা একই জন্মদিন. তাই এই পেতে, এবং এই মাত্র এই লেখার অভিনব উপায়, রুমে প্রথম ব্যক্তি, সে সম্ভাব্য যে কোনো একটি হতে পারে জন্মদিন, বছরের 365 দিন অভিমানী সঙ্গে ব্যক্তিকে ক্ষমা সঙ্গে ফেব্রুয়ারি 29th জন্মদিন. সুতরাং এই রুমে প্রথম ব্যক্তি মুক্ত জন্মদিন কোন সংখ্যা আছে আউট 365 সম্ভাবনার যাতে আমরা 365 দ্বারা 365 বিভক্ত যে কি করব যা এক. রুমে ব্যক্তি পরের, যদি লক্ষ্য একটি সংঘর্ষের এড়ানো হয়, করতে পারেন শুধুমাত্র কিভাবে তার বা তার জন্মদিন আছে বিভিন্ন সম্ভাব্য দিন? 364. তাই এই অভিব্যক্তি দ্বিতীয় শব্দ হয় মূলত আমাদের জন্য যে গণিত করছেন একটি সম্ভাব্য ছুটির দিন subtracting দ্বারা. এবং তারপর পরের দিন, পরের দিন, নিচে মোট সংখ্যা পরের দিন রুমে মানুষ. এবং তারপর আমরা বিবেচনা, তাহলে কি না থাকার সবাই সম্ভাবনা অনন্য জন্মদিন, কিন্তু আবার 1 বিয়োগ যে, কি আমরা পেতে একটি অভিব্যক্তি খুব fancifully করতে পারেন এই মত চেহারা. কিন্তু এটা আরও আকর্ষণীয় দৃশ্যত তাকান. X-অক্ষের উপর, যেখানে একটি লেখচিত্র রুমে মানুষের সংখ্যা, জন্মদিন সংখ্যা. Y-অক্ষের উপর সম্ভাবনা হয় একটি সংঘর্ষের কারণে, দুটি মানুষ একই জন্মদিন জমিদারি. এবং এই বক্ররেখা থেকে takeaway হয় যে আপনি 40 চাই পেতে যত তাড়াতাড়ি ছাত্র, যদি আপনি একটি 90% সম্ভাবনা আপ করছি combinatorically দুটি মানুষ অথবা আরও বেশি হচ্ছে একই জন্মদিন. এবং একবার আপনি এটা 58 জনের পছন্দ পেতে একটি সুযোগ দুই প্রায় 100% রুমে মানুষ আছে যাচ্ছি একই জন্মদিন আছে, যদিও 365 বা 366 সম্ভব buckets, এবং রুমে মাত্র 58 জন. শুধু পরিসংখ্যানগত আপনি সম্ভবত করছি , collisions পেতে যা সংক্ষেপে এই আলোচনার জন্য উদ্বুদ্ধ করেন. আমরা এখানে অভিনব পেতে, এবং এমনকি যদি যে এই চেইন থাকার শুরু, আমরা এখনও করছি দুর্ঘটনায় আছে যাচ্ছে. প্রশ্ন begs, যাতে কি insertions এবং অনুমোদন করছেন খরচ এই মত একটি ডাটা স্ট্রাকচার মধ্যে? ওয়েল সম্পর্কে উত্থাপন করা যাক - এবং আমার উপর পর্দা ফিরে যান এখানে - আমরা উপাদান n থাকেন তাহলে তালিকা, তাই আমরা সন্নিবেশ করার চেষ্টা করছি N উপাদান, এবং আমরা কতগুলি মোট buckets? চলুন শুরু করা যাক 31 মোট buckets বলে জন্মদিন ক্ষেত্রে. এক সর্বাধিক দৈর্ঘ্য কি সম্ভাব্য এই চেইন এর? আবার সম্ভব 31 আছে যদি একটি নির্দিষ্ট মাসে জন্মদিন. এবং আমরা ঠিক সবাই clumping করছি - আসলে যে একটি মূঢ় উদাহরণ. পরিবর্তে 26 কি চলুন শুরু করা যাক. আসলে যার নাম মানুষ আছে তাই আপনি যদি যার ফলে, দান টু Z মাধ্যমে একটি দিয়ে শুরু আমাদের 26 সম্ভাবনার. এবং আমরা চাই একটি ডাটা স্ট্রাকচার ব্যবহার করছেন আমরা যেখানে আমরা শুধু দেখেছি এক, পয়েন্টার একটি অ্যারে, যার প্রতিটি যেখানে একটি লিঙ্ক তালিকা পয়েন্ট প্রথম তালিকার সবাই হয় নাম Alice সঙ্গে. দ্বিতীয় তালিকার প্রতিটি সঙ্গে করা হয় শুরু, একটি দিয়ে শুরু হওয়া নাম বি, এবং তাই ঘোষণা. প্রতিটি সম্ভাব্য দৈর্ঘ্য কি যারা তালিকায় আমরা একটা চমৎকার ক্লিন অনুমান যদি একটি টু Z মাধ্যমে নামের বিতরণ সম্পূর্ণ ডাটা স্ট্রাকচার জুড়ে? তথ্য কাঠামো N মানুষ আছে তারা চমত্কারভাবে হন, তাহলে 26 দ্বারা বিভক্ত পুরো ওভার আতত ডাটা স্ট্রাকচার. সুতরাং এই প্রতিটি দৈর্ঘ্য চেইন 26 দ্বারা বিভক্ত n করা হয়. কিন্তু বড় হে স্বরলিপি, যে কি হল? সত্যিই যে কি? সুতরাং এটি ঠিক আছে, সত্যিই ঠিক N এর? আমরা অতীতে বলেন করেছি কারণ, ugh আপনি 26 দ্বারা বিভক্ত করা হয়. হ্যাঁ, বাস্তবে এটি দ্রুততর. কিন্তু তত্ত্ব, এটি মৌলিকভাবে না সব যে দ্রুত. সুতরাং আমরা সমস্ত যে অনেক হবে বলে মনে হচ্ছে না কাছাকাছি এই পবিত্র ঈপ্সিত বস্তু যাও. বস্তুত, এই মাত্র রৈখিক সময়. নরক, এই সময়ে, আমরা কেন না মাত্র এক বিশাল লিঙ্ক তালিকা ব্যবহার করবেন? কেন আমরা মাত্র এক বিশাল ব্যবহার করবেন না নাম ধারণ করার জন্য অ্যারে রুমে সবাই? ওয়েল, কিছু এখনও আছে একটি হ্যাশ টেবিল সম্পর্কে বাধ্যকারী? আকর্ষক কিছু এখনো আছে একটি ডাটা স্ট্রাকচার সম্পর্কে যে ভালো দেখায়? এই. Student: [শ্রবণাতীত]. স্পিকার 1: এটা শুধু অধিকার, এবং আবার যদি একটি রৈখিক সময় এলগরিদম, এবং একটি রৈখিক সময় ডাটা স্ট্রাকচার, কেন আমি না শুধু একটি বড় সবাই এর নাম সংরক্ষণ অ্যারে, অথবা একটি বড় লিঙ্ক তালিকা মধ্যে? এবং তাই অনেক বেশি কঠিন সি এস তৈরীর বন্ধ এটা করার প্রয়োজন আর? এমনকি এই বিষয়ে বাধ্যকারী কি আমি এটা খুঁজে চিরা যদিও? Student: [শ্রবণাতীত]. স্পিকার: 1 Insertions হয় না? আর ব্যয় বহুল. সুতরাং insertions সম্ভাব্য এখনও পারা , ধ্রুব সময় এমনকি যদি আপনার ডেটা গঠন, ভালো একটি অ্যারের দেখায় পয়েন্টার, নির্দেশ করা হয়, প্রতিটি যা সম্ভাব্য একটি লিঙ্ক তালিকা. আপনি কিভাবে ধ্রুবক অর্জন করতে পারে নামের সময় সন্নিবেশ? ঠিক আছে, সামনে এটা বিদ্ধ? আমরা থেকে একটি নকশা লক্ষ্য বলিদান যদি তার আগে, আমরা রাখতে চেয়েছিলেন যেখানে প্রত্যেকের নাম, উদাহরণস্বরূপ, সাজানো, বা মঞ্চে সংখ্যার সব সাজানো আমরা একটি আছে অনুমান unsorted লিঙ্ক তালিকা. এটা শুধুমাত্র আমাদের এক বা দুই ধাপ খরচ বেন ও ব্রায়ান ক্ষেত্রে চাই আগে, একটি উপাদান সন্নিবেশ তালিকার শুরুতে. আমরা সব বাছাই যত্ন সম্পর্কে না তাই আপনি যদি দিয়ে শুরু নামের একটি অথবা সমস্ত বি দিয়ে শুরু নাম, আমরা এখনও করতে পারেন ধ্রুবক সময় সন্নিবেশ অর্জন. এখনই এলিস বা বব বা কোনো নাম খুঁজছেন আপ আরো সাধারণভাবে এখনও কি? এটা 26 দ্বারা বিভক্ত N বড় হে, এর সবাই অবিশেষে যেখানে আদর্শ ক্ষেত্রে বিতরণ করা, যেমন অনেক এর আছে যেখানে টু Z এর, সম্ভবত যা আছে অবাস্তব. কিন্তু যে এখনও রৈখিক না. কিন্তু এখানে, আমরা বিন্দু থেকে ফিরে আসা হচ্ছে asymptotic স্বরলিপি এর তাত্ত্বিকভাবে সত্য. কিন্তু বাস্তব জগতে, আমি যদি দাবী করে যে আমার প্রোগ্রাম 26 বার কিছু করতে পারেন যার প্রোগ্রাম পুলিশের, তুলনায় দ্রুততর আপনি ব্যবহার করে পছন্দ করতে যাচ্ছি? ইতি বা খনি, যা 26 গুণ দ্রুত হয়? বাস্তবানুগভাবে, যার ব্যক্তি 26 হয় গুণ দ্রুত, এমনকি যদি তত্ত্বগতভাবে আমাদের আলগোরিদিম একই চালানো চলমান সময় asymptotic. আমার সম্পর্কে একটি ভিন্ন উত্থাপন করা যাক পুরাপুরি সমাধান. এবং এই আপনার মন গাট্টা না, আমরা ডাটা স্ট্রাকচার ফুরিয়েছে. সুতরাং এটি একটি trie হয় - একটি মূঢ় নাম ধরনের. এটা শব্দ retrievals থেকে আসে, এবং কারণ trie, T-R-I-ই, বানান হয় অবশ্যই আহরণ trie মত শোনাচ্ছে. কিন্তু যে ইতিহাস আছে শব্দ trie এর. সুতরাং একটি trie, প্রকৃতপক্ষে গাছ কিছু ধরনের এবং এটি যে শব্দ নেভিগেশন একটি খেলা আছে. এবং আপনি তা থেকে পুরোপুরি দেখতে পারে না, যদিও এই কল্পনা সঙ্গে একটি trie একটি গাছ সঙ্গে একটি পরিবার গাছ মত, গঠিত উপরে এবং প্রচুর এক পূর্বপুরুষ grandchildren এবং মহান grandchildren এর হিসাবে নীচে পাতা. কিন্তু একটি trie প্রতিটি নোডের একটি অ্যারে. এবং এটি একটি অ্যারের মধ্যে - এবং let এর একটি মুহূর্ত জন্য অতিসরল করে তোলা - এটি একটি অ্যারে, এই ক্ষেত্রে, আয়তন 26, যেখানে প্রতিটি নোডের আবার আকারের একটি অ্যারে 26, যেখানে যে zeroth উপাদান অ্যারের একটি প্রতিনিধিত্ব করে, এবং শেষ প্রতিটি যেমন মধ্যে উপাদান অ্যারের জেড প্রতিনিধিত্ব করে তাই আমি, তারপর উত্থাপন করা যে এই তথ্য একটি trie হিসাবে পরিচিত গঠন, হতে পারে, শব্দ ধারণ করার জন্য ব্যবহার. আমরা সংরক্ষণ করতে পারে কিভাবে একটি মুহূর্ত আগে দেখেছি শব্দ, বা এই ক্ষেত্রে নামের মধ্যে, এবং আমরা , আমরা নম্বর সংরক্ষণ করতে পারেন কিভাবে তার আগে দেখেছি কিন্তু আমরা নাম বা স্ট্রিং উপর ফোকাস করা হলে এখানে আকর্ষণীয় কি লক্ষ্য. আমি নাম ম্যাক্সওয়েল যে দাবি এই তথ্য গঠন এর ভিতর. আপনি কোথায় ম্যাক্সওয়েল দেখেন? Student: [শ্রবণাতীত]. স্পিকার 1: বাম. তাই এই তথ্য সঙ্গে আকর্ষণীয় কি কাঠামো বদলে দোকান তুলনায় স্ট্রিং এম একটি এক্স ওয়াট ই, L-L-ব্যাকস্ল্যাশ শূন্য, সমস্ত contiguously, আপনি যদি এর পরিবর্তে কি অনুসরণ করা হয়. এই তথ্য গঠন মত একটি trie নয়, যার নোড প্রতিটি আবার একটি অ্যারে এবং আপনি ম্যাক্সওয়েল সঞ্চয় করতে চান, আপনি প্রথম সূচী ও তাই root এর নোড, ,, আগ নোড কথা বলতে ঠিক আছে, তাই পাঁচ এম, এ প্রায় মাঝখানে মধ্যে. এবং তারপর সেখানে থেকে, আপনি একটি অনুসরণ একটি শিশুর নোড যাও পয়েন্টার, তাই কথা বলতে. তাই পরিবার গাছ অর্থে, আপনি নিম্নগামী তা অনুসরণ করুন. এবং অন্য যে নোড আপনি হতে যা আছে বাম, উপর ঠিক অন্য অ্যারের. এবং তারপর আপনি, ম্যাক্সওয়েল সঞ্চয় করতে চান তাহলে আপনাকে প্রতিনিধিত্ব করে এমন পয়েন্টার এটি একটি, যা এখানে এই এক. তারপর আপনি পরবর্তী নোডের যান. এবং বিজ্ঞপ্তি - এই হল কেন ছবি এর একটু ধোঁকাবাজ - এই নোডের ক্ষুদ্র সুপার তাকান. কিন্তু এই ডান Y ও জেড হয় এটা ঠিক লেখক ছেঁটে ফেলা হয়েছে ছবি যাতে আপনি আসলে বিষয় দেখুন. অন্যথায় এই ছবি অতিশয় বিস্তৃত হবে. তারপর পাঁচ এক্স মধ্যে তাই এখন আপনি সূচক, তারপর তারপর ওয়াট, তারপর ই, এল, এল কি এই কৌতূহল? ভাল, আমরা নতুন এই সাজানোর ব্যবহার করছি একটি একটি স্ট্রিং সঞ্চয় কিভাবে গ্রহণ ডাটা স্ট্রাকচার, আপনি এখনও প্রয়োজন মূলত ডাটা চেক বন্ধ একটি শব্দ এখানে শেষ গঠন. অন্য কথায়, এই নোডের প্রতিটি একরকম মনে হয়েছে যে আমরা আসলে অনুসরণ করে এই পয়েন্টার সব এবং সামান্য ত্যাগ করা হয় এই এখানে নীচে রুটি টুকরা এম একটি এক্স ওয়াট ই, L-L-ইঙ্গিত গঠন প্রকৃতপক্ষে এই তথ্য কাঠামো. সুতরাং আমরা নিম্নরূপঃ এই কাজ করতে পারে. আমরা শুধু ছবি বিভিন্ন নোডের প্রতিটি দেখেছি এক, আয়তন 27 একটি অ্যারে আছে. পি, ছয় সেট এবং কারণ এটি এখন 27 এর আমরা আসলে, আপনি একটি apostrophe দেব তাই আমরা রেলি ভালো নাম আছে করতে পারেন apostrophes সাথে এবং অন্যদের. কিন্তু একই ধারণা. যারা উপাদান প্রতিটি একটি struct আপনি অ্যারের পয়েন্ট নোড, তাই শুধু একটি নোড. তাই এই খুব স্মরণ করিয়ে দেয় আমাদের লিঙ্ক তালিকা. এবং তারপর আমি একটি বুলিয়ান আছে, যা আমি করব শব্দ কল, যা শুধু হতে যাচ্ছে একটি শব্দ এই সময়ে শেষ সত্য হলে গাছ নোড. এটা কার্যকরভাবে একটু প্রতিনিধিত্ব করে ত্রিভুজ আমরা একটি মুহূর্ত আগে দেখেছি. একটি শব্দ যে নোড শেষ হয় তাই আপনি যদি গাছ, যে শব্দ যদি ক্ষেত্রের কিছু r, সত্য হতে হবে যা ধারণার দিক থেকে বন্ধ করুন, অথবা করা হয় আমরা হ্যাঁ আছে, এই ত্রিভুজ অঙ্কন করছি এখানে একটি শব্দ. তাই এই একটি trie হয়. এবং এখন প্রশ্ন, কি সময় চলমান হয়? এটি N বড় হে? অন্য কোন কিছু হয়? হ্যাঁ, আপনি এই তথ্য মধ্যে নাম n থাকেন তাহলে গঠন, ম্যাক্সওয়েল মাত্র এক হচ্ছে তাদের চলমান সময় কি ঢোকাতে বা ম্যাক্সওয়েল ফাইন্ডিং? চলমান সময় কি ম্যাক্সওয়েল ঢোকাতে? N অন্য নাম আছে যদি ইতিমধ্যে টেবিলের? হ্যাঁ? Student: [শ্রবণাতীত]. স্পিকার 1: হ্যাঁ, এটি দ্বারা এর নাম, ডান? এম একটি-X-W-ই L-L তাই এটি ভালো মতানুযায়ী তাই অ্যালগরিদম সাত বড় হে হয়. অবশ্যই এখন,, নাম দৈর্ঘ্য তারতম্য হবে. হয়তো এটা একটি সংক্ষিপ্ত নাম. হয়তো এটা একটি লম্বা নাম. কিন্তু কি এখানে কী যে এটি একটি ধ্রুব সংখ্যা আছে. এবং হয়ত এটা সত্যিই ধ্রুবক না কিন্তু ঈশ্বর, বাস্তবধর্মী, একটি মধ্যে অভিধান, কিছু সীমা সম্ভবত আছে একটি অক্ষর সংখ্যা একটি নির্দিষ্ট দেশে একজন ব্যক্তির নাম. এবং তাই আমরা অনুমান করতে পারবেন মান একটি ধ্রুবক. আমি কি এটা জানেন না. এটা সম্ভবত এর চেয়ে বড় আমরা মনে হয় এটা. কিছু কোণায় সবসময় কারণ একটি পাগল দীর্ঘ নামের ক্ষেত্রে. সুতরাং এটা K কল করা যাক, কিন্তু এটি এখনও একটি এর ধ্রুব সম্ভবতঃ, প্রতি কারণ অন্তত একটি এ, পৃথিবীর নাম বিশেষ দেশ, যে দৈর্ঘ্য বা খাটো, তাই এটা ধ্রুবক এর. কিন্তু আমরা বলেন করেছি যখন কিছু বড় একটি ধ্রুবক মান হে, কি যে সত্যিই সমতুল্য? যে সত্যিই একই জিনিস ধ্রুবক সময় বলছে. এখন আমরা প্রতারণার ধরনের অধিকার? আমরা কিছু তত্ত্ব ওঠানামা ধরনের এখানে ভাল, K আদেশ বলে সত্যিই, এক ক্রম এবং এটা ধ্রুব সময়. কিন্তু সত্যিই এটা. এখানে কী অন্তর্দৃষ্টি কারণ যে আমরা এই ইতিমধ্যেই নাম n থাকেন তাহলে তথ্য গঠন, এবং আমরা সন্নিবেশ ম্যাক্সওয়েল, এটা আমাদের লাগে সময় পরিমাণ সমস্ত প্রভাবিত এ ম্যাক্সওয়েল সন্নিবেশ কিভাবে অনেক মানুষ দ্বারা তথ্য গঠন হয়? হবে বলে মনে হচ্ছে না. আমি এই এক বিলিয়ন আরও উপাদান ছিল তারপর, trie, এবং, ম্যাক্সওয়েল হয় সন্নিবেশ তিনি এ সব প্রভাবিত? নং এবং যে দিন ডাটা অসদৃশ এর আমরা যেখানে, দূর পর্যন্ত দেখা করেছি কাঠামো আপনার অ্যালগরিদম চলমান সময় কত সম্পূর্ণ স্বতন্ত্র স্টাফ অথবা ইতিমধ্যেই নয় যে তথ্য কাঠামো. এই সুযোগ নিতে পারবেন সঙ্গে এবং যাতে আপনি এখন একটি হল পি সেট ছয়, জন্য সুযোগ যা আবার আপনার নিজের বাস্তবায়নে জড়িত 150,000 মধ্যে পড়া বানান পরীক্ষক, শব্দ, কিভাবে সবচেয়ে ভাল যে সঞ্চয় অগত্যা সুস্পষ্ট নয়. এবং আমি এটি aspired করেছি যদিও পবিত্র ঈপ্সিত বস্তু, আমি না একটি trie যে দাবি. বস্তুত, একটি হ্যাশ টেবিল খুব ভাল পারে আরো অনেক দক্ষ হতে প্রমাণ. কিন্তু যারা শুধু আছে - যে শুধু নকশা সিদ্ধান্ত এক আপনি করতে হবে. কিন্তু বন্ধের মধ্যে এর নেয়া যাক 50 বা তাই এক্সপ্লোর মিথ্যা কি একটি উঁকি নিতে এগিয়ে সপ্তাহে পরবর্তী এবং আমরা এই পরিবর্তনকে অতিক্রম এই কমান্ড লাইন থেকে কিছু ওয়েব বিশ্বের সি প্রোগ্রাম যদি উপর ভিত্তি করে এবং পিএইচপি মত ভাষা এবং জাভাস্ক্রিপ্ট এবং ইন্টারনেট নিজেই, আপনি করেছেন, যা HTTP-র মত প্রোটোকল, বছর জন্য নিশ্চিতভাবে ধরে নেওয়া প্রতি অধিকাংশ এখন, এবং টাইপ করা দিন, সম্ভবত, বা দেখা যায়. এবং আমরা ছুলা ফিরে শুরু করব কি স্তর ইন্টারনেট হয়. এবং কোড যে কি চেতনার আজকের সরঞ্জাম. এখানে এই টিজার তাই 50 যাও. আমি আপনার নেট এর ওয়ারিয়র্স দিতে. [ভিডিও প্লেব্যাক] -তিনি একটি বার্তা নিয়ে এসেছেন. একটি প্রোটোকল সব তার নিজের সঙ্গে. তিনি নিষ্ঠুর ফায়ারওয়াল বিশ্ব এসেছিলেন uncaring রাউটার, এবং বিপদ দূরে মৃত্যুর চেয়ে খারাপ. তিনি দ্রুত. তিনি দৃঢ়. তিনি TCPIP এর. এবং তিনি আপনার ঠিকানা এর পেয়েছিলাম. নেট এর ওয়ারিয়র্স. [END টি ভিডিও প্লেব্যাক] স্পিকার 1: যে কিভাবে ইন্টারনেট পরের সপ্তাহে হিসাবে কাজ করিবেন.