[সঙ্গীত বাজানো]
>> ডেভিড Malan: এটি CS50.
এবং এই শুরু এবং উভয় হয় আক্ষরিক প্রায় শেষ ভালো end--
সপ্তাহে ছয়.
>> আমি একটি ভাগ চাই একটি মজার সত্য সামান্য বিট.
আমি একটি থেকে এই পর্যন্ত টানা করেছি গত সেমিস্টারে এর ডাটা সেট.
আপনি আমরা প্রতি উপর আপনি জিজ্ঞাসা যে প্রত্যাহার হতে পারে পি সেট ফর্ম আপনি অনলাইন প্রেক্ষিত করেছি
অথবা আপনি ব্যক্তির মধ্যে উপস্থিত ছিলেন করেছি.
এবং এখানে তথ্য.
আজ তাই অনেক আন্দাজের ছিল.
কিন্তু আমরা একটি বিট ব্যয় করতে চেয়েছিলেন সময় আপনার সাথে তবু.
কেউ কেন এই অনুমান করতে চান গ্রাফ, আপ ডাউন, আপ ডাউন, তাই Jaggy হয়
তাই ধারাবাহিকভাবে?
কি শিখরের প্রতিটি কাজ এবং পাত্র প্রতিনিধিত্ব?
>> শ্রোতা: [শ্রবণাতীত]
ডেভিড Malan: প্রকৃতপক্ষে.
এবং আরো amusingly, দেবতা মানা, আমরা একটি শুক্রবার এক বক্তৃতায় রাখা
সেমিস্টারে শুরুতে, যে আমরা ঘটতে দেখতে কি.
তাই আজ আমরা একটি বিট মধ্যে অংশগ্রহণ ডাটা স্ট্রাকচার সম্পর্কে আরো.
এবং যদি আপনি একটি কঠিন এর আরো দিতে পাঁচ এ সমস্যার জন্য মানসিক মডেল,
যা এখন বাইরে.
বানান ভুল, যাহাতে আমরা করব আপনি একটি টেক্সট ফাইল হাতে কিছু 100,000
প্লাস ইংরেজি শব্দ, এবং আপনি আছে চলুন
চালাকি সেগুলিকে লোড জিনিসটা কিভাবে মেমরিতে, উপস্থিত RAM- র মধ্যে, কিছু তথ্য ব্যবহার করে
আপনার পছন্দের কাঠামো.
>> এখন এক ধরনের ডাটা স্ট্রাকচার পারে হবে না সম্ভবত হতে পারে, কিন্তু,
মোটামুটি সরল লিঙ্ক তালিকা, যা আমরা শেষ সময় চালু.
এবং একটি লিঙ্ক তালিকা অন্তত ছিল একটি অ্যারের উপর এক সুবিধা.
এক সুবিধা এর কি তর্কসাপেক্ষ একটি লিঙ্ক তালিকা?
>> শ্রোতা: সন্নিবেশন.
>> ডেভিড Malan: সন্নিবেশন.
আপনি যে দ্বারা কি বোঝাতে চেয়েছেন?
>> শ্রোতা: কোথাও বরাবর তালিকা [শ্রবণাতীত].
>> ডেভিড MALAN: গুড.
তাই আপনি যদি একটি উপাদান যেখানেই সন্নিবেশ করতে পারেন আপনি তালিকা মাঝখানে চান
কিছু এলোমেলো করেও, যা আমরা আমাদের শ্রেণীবিভাজন এ, পর্যবসিত
আলোচনা, নয় অগত্যা একটি ভাল জিনিস,
এটা সময় লাগে কারণ আসলে সরাতে যারা মানুষের সব বাম বা ডান.
তাই একটি লিঙ্ক তালিকা সঙ্গে, আপনি যা করতে পারেন শুধু malloc বরাদ্দ, একটি নতুন নোডের,
এবং তারপর একটি দম্পতি আপডেট পয়েন্টার দুই, তিন অপারেশন max--
এবং আমরা কেউ স্লট সক্ষম হন একটি তালিকা মধ্যে কোথাও মধ্যে.
>> আর কি সুবিধাজনক ছিল একটি লিঙ্ক তালিকা সম্পর্কে?
হাঁ?
>> শ্রোতা: [শ্রবণাতীত]
ডেভিড Malan: পারফেক্ট.
পারফেক্ট.
এটা সত্যিই গতিশীল করে.
এবং যদি আপনি সংগঠনের করছি না যে, অগ্রিম, কিছু নির্দিষ্ট মাপ
মেমরি খণ্ড, মত আপনার থাকতে হবে একটি অ্যারের সাথে, গোলমালে করতে যা
আপনি শুধুমাত্র উপর নোড বরাদ্দ করতে পারেন চাহিদা যার ফলে শুধুমাত্র হিসাবে অনেক জায়গা ব্যবহার
আপনি আসলে প্রয়োজন হিসাবে.
একটি অ্যারের সাথে বিপরীতভাবে, আপনি প্রতাপ ঘটনাক্রমে খুব সামান্য বরাদ্দ.
এবং তারপর এটা ঠিক যাচ্ছে ঘাড় ব্যাথা হতে
একটি নতুন বড় অ্যারে reallocate করতে, কপি সবকিছু ধরে, পুরাতন অ্যারে মুক্ত
এবং তারপর আপনার ব্যবসা সম্পর্কে সরাতে.
বা তার থেকেও খারাপ, আপনি উপায় বরাদ্দ পারে আপনি আসলে প্রয়োজন বেশী মেমরি,
এবং যাতে আপনি একটি খুব আছে চলুন তাই কথা বলতে, অ্যারে জনবিরল জনবহুল.
>> সুতরাং একটি লিঙ্ক তালিকা এই আপনি দেয় গতিশীলতা এবং নমনীয়তা সুবিধার
insertions এবং মুছে দিয়ে.
কিন্তু নিশ্চয় দেওয়া একটি মূল্য আছে অবশ্যই.
থিম আসলে, এক ব্যঙ্গ শূন্য অন্বেষণ
ছিল বিনিময় প্রথা একটি দম্পতি আমরা এইভাবে দেখা করেছি.
তাই একটি একটি প্রদত্ত মূল্য বা কি একটি লিঙ্ক তালিকা এর downside?
হাঁ.
>> শ্রোতা: কোন র্যান্ডম অ্যাক্সেস.
>> ডেভিড Malan: কোন র্যান্ডম অ্যাক্সেস.
কিন্তু যারা বজায় রাখে?
র্যান্ডম এক্সেস বাধ্যকারী লাগছে না.
>> শ্রোতা: [শ্রবণাতীত]
ডেভিড MALAN: যথাযথভাবে.
আপনি করাতে চান একটি নির্দিষ্ট অ্যালগোরিদম
এবং আমাকে আসলে উত্থাপন করা যাক বিশেষ বাইনারি অনুসন্ধান, যা
আমরা বেশ বিট ব্যবহার করেছি এক আপনি র্যান্ডম অ্যাক্সেস না থাকে তাহলে,
আপনি যে সহজ গাণিতিক ব্যবহার করতে পারবেন না মধ্যম উপাদান মত খুঁজে বের করার
এবং এটি অধিকার করার জাম্পিং.
আপনি পরিবর্তে প্রথমে শুরু করতে হবে উপাদান এবং সুসংগত ভাবে বাম থেকে অনুসন্ধান
ডান থেকে আপনি খুঁজতে চান মাঝখানে বা অন্য উপাদান.
>> শ্রোতা: এটা সম্ভবত আরো মেমরি লাগে.
>> ডেভিড Malan: আরো মেমরি লাগে.
কোথায় যে অতিরিক্ত হয় মেমরি থেকে আসছে কত খরচ?
>> শ্রোতা: [শ্রবণাতীত]
ডেভিড MALAN: যথাযথভাবে.
এখানে এই ক্ষেত্রে, আমরা ছিল পূর্ণসংখ্যার জন্য একটি লিঙ্ক তালিকা,
এবং এখনো আমরা দ্বিত্ব করছি মেমরির পরিমাণ
আমরা এই পয়েন্টার মজুত করে প্রয়োজন.
হিসাবে একটি বড় চুক্তি নিয়ে এখন কম আপনার structs বৃহত্তর পেতে
এবং আপনি একটি নম্বর সংরক্ষণ করছেন কিন্তু হয়তো একজন ছাত্র বা অন্য বস্তু.
কিন্তু বিন্দু অবশ্যই রয়ে যায়.
তাই অপারেশনের একটি নম্বর সংযুক্ত তালিকার উপর বলা হয়েছে
n-- রৈখিক বড় হে ছিল.
সন্নিবেশ বা সার্চ ভালো জিনিস বা ক্ষেত্রে একটি উপাদান মধ্যে অপসারণ
খুব শেষে হতে ঘটেছে এটা সাজানো বা না কিনা তালিকা.
>> কখনও কখনও আপনি পেতে ভাগ্যবান এবং এ পারে এই অপারেশন উপর যাতে কম সীমার
আপনি যদি এছাড়াও ধ্রুবক সময় হতে পারে সবসময় প্রথম উপাদান এ খুঁজছি,
উদাহরণস্বরূপ.
কিন্তু শেষ পর্যন্ত, আমরা অঙ্গীকার পবিত্র ঈপ্সিত বস্তু অর্জন
ডাটা স্ট্রাকচার, বা কিছু পড়তা উহার,
ধ্রুব সময় প্রণালী দ্বারা.
আমরা উপাদান খুঁজে অথবা উপাদান যোগ করতে পারি বা একটি তালিকা থেকে উপাদান মুছে ফেলার?
আমরা বেশ শীঘ্রই দেখতে হইবে.
এবং এটা যে এক সক্রিয় আউট আমরা এসেছি গঠনতন্ত্রের
আজ ব্যবহার শুরু করতে যাচ্ছে, পি এ বার্ষিক ব্যবহার, পাঁচ সেট
আসলে বেশ পরিচিত.
উদাহরণস্বরূপ, এই একটি গুচ্ছ যদি পরীক্ষার বই, প্রতিটি যা
একটি ছাত্র এর প্রথম হয়েছে এটি উপর এবং শেষ নাম নাম,
এবং আমি তাদের কাছ থেকে নিতে একটি পরীক্ষা শেষে,
এবং তারা সব চমত্কার আছেন একটি র্যান্ডম ক্রম অনেক,
এবং আমরা শ্রেণীবিভাজন সম্পর্কে যেতে চান এই পরীক্ষার তাই যে একবার graded
এটা শুধু অনেক সহজ এবং দ্রুত তাদের খুঁজে ফিরে হাতে
বর্ণানুক্রমে ছাত্র.
আপনার সহজাত বুদ্ধির কি হবে এই মত পরীক্ষার একটি গাদা জন্য?
>> ওয়েল, আপনি যদি আমার মত হন তাহলে, আপনি এই মিটার হয় দেখতে পারে,
তাই আমি সাজানোর মধ্যে এই করা যাচ্ছে না এই আমার টেবিল বা আমার তল যেখানে যদি
আমি জিনিষ ছড়িয়ে করছি out-- বা আমার অ্যারের really--
আমি সেখানে Ms সব করা হতে পারে.
ওহ.
এখানে একটি এ তাই আমি বল এর এখানে উপর যত করা.
ওহ.
এখানে আমি যাচ্ছি অন্য উ এর এখানে উপর যে করা.
এখানে একটি জেড এখানে আরেকটি এম তাই হয় আমি ভালো piles উপার্জন শুরু হতে পারে.
এবং তারপর হয়তো আমি পরে যেতে চাই এবং সাজানোর খুব nitpicky পর সাজানোর
পৃথক piles.
কিন্তু বিন্দু আমি দেখাবে হয় আমি হাতি নই যে ইনপুট এ
এবং আমি কিছু হিসাব করা হবে যে ইনপুটের ভিত্তিতে সিদ্ধান্ত.
এটি একটি দিয়ে শুরু হয়, তাহলে ওইখানে এটা করা.
এটা টু Z সঙ্গে শুরু হয়, তাহলে তা ধরে রাখা মধ্যে মধ্যে আছে, এবং সবকিছু.
>> সুতরাং এই যে একটি কৌশল সাধারণত hashing-- এইচ-একটি-এস-H-- হিসাবে পরিচিত
যা সাধারণত হিসেবে গ্রহণ মানে ইনপুট এবং গনা যে ইনপুট ব্যবহার
একটি মান, সাধারণত একটি সংখ্যা, এবং যে এর সংখ্যা স্টোরেজ মধ্যে সূচক হয়
ধারক, একটি অ্যারের মত.
তাই অন্য কথায়, আমি একটি থাকতে পারে হ্যাশ ফাংশন, আমি আমার মাথা কি হিসাবে,
আমি কেউ দেখতে হলে যে একটি দিয়ে শুরু হয় এমন নাম,
আমি যে ম্যাপ করা যাচ্ছে না আমার মাথার মধ্যে শূন্য.
আমি টু Z সঙ্গে কেউ দেখতে হলে, আমি আছি আমার মাথা থেকে 25 যে ম্যাপ যাচ্ছে
এবং তারপর পুরা গত সবচেয়ে গাদা.
>> এখন, যদি আপনি আমার মস্তিষ্ক না আমার মনে হয় কিন্তু একটি সি প্রোগ্রাম, কি নম্বর পারা
আপনি যে একই ফলাফল অর্জন করার উপর নির্ভর?
অন্য কথায়, আপনি যদি , ASCII অক্ষর একটি ছিল
কিভাবে আপনি নির্ধারণ করবেন কি বালতি এটা করা?
আপনি সম্ভবত না চান বালতি 65, সেটিকে করা যা
ওইখানে মত হবে কোন উপযুক্ত কারণ.
কোথায় আপনি একটি লাগাতে চান না তার হওয়া ASCII মান শর্তাবলী?
কোথায় আপনি তার ASCII কে কি করতে চান মান একটি দক্ষতা সহকারে বালতি নিয়ে আসা
এটা করা?
>> শ্রোতা: ঋণচিহ্ন উ
>> ডেভিড MALAN: হ্যাঁ.
তাই বিয়োগ A অথবা বিয়োগ বিশেষভাবে 65 এটা যদি
একটি রাজধানী উ অথবা 98 হলে এটি একটি ছোট হাতের একটি করে.
তাই যে খুব, আমাদের সম্ভব হবে সহজভাবে এবং খুব গাণিতিক,
যে মত একটি বালতি মধ্যে কিছু করা.
সুতরাং আমরা আসলে কি দেখা যাচ্ছে এই হিসাবে ভাল এমনকি ক্যুইজ সঙ্গে.
>> সুতরাং আপনি বৃত্তাকার প্রত্যাহার করা হতে পারে আপনার প্রচ্ছদে শিক্ষণ সহকর্মী নাম.
এবং TF এর নাম সংগঠিত হয়েছিল বর্ণানুক্রমে এই কলাম মধ্যে,
ভাল, এটি বিশ্বাস করি বা না, যখন আমাদের সব 80 প্লাস
, গ্রেড অন্যান্য রাতের একসঙ্গে পেয়েছিলাম আমাদের শূন্য প্রক্রিয়ায় শেষ ধাপে
একটি বড় মধ্যে ক্যুইজ হ্যাশ হয় [শ্রবণাতীত] এ তলের স্থান
এবং সবাই এর ক্যুইজ খুঁজে রাখা তাদের TF এর ঠিক অনুক্রমে
প্রচ্ছদে নাম, কারণ তারপর এটা আমাদের জন্য অনেক সহজ
যে ব্যবহার রৈখিক মাধ্যমে অনুসন্ধান অনুসন্ধান বা চালাকি কিছু
একটি TF খুঁজে বের করার জন্য তার বা তার ছাত্র 'মো.
>> হ্যাশ এর তাই এই ধারণা আপনি দেখতে পাবেন যে
বেশ শক্তিশালী আসলে সুন্দর হয় প্রাকৃত এবং খুব স্বজ্ঞাত,
অনেক সম্ভবত বিভক্ত মত ও জিতা সপ্তাহে শূন্য ছিল.
Hackathon করতে আমি দ্রুত এগিয়ে বছর দুয়েক আগে.
এই Zamyla এবং একটি দম্পতি ছিল অন্যান্য কর্মীদের অভিবাদন ছাত্র
তারা এসেছেন হিসাবে.
এবং আমরা ভাঁজ আভা ছিল নাম ট্যাগ দিয়ে সেখানে টেবিল.
এবং আমরা নামের ট্যাগ আয়োজন করেছে সঙ্গে ওইদিকে হিসাবে ভালো
এবং ওইখানে Zs.
তাই টিএফএস এক খুব চালাকি নির্দেশাবলীর হিসেবে এই লিখেছে
প্রতিদিন.
আর সেমিস্টারে এই সপ্তাহে 12 এ সব নির্ভুল জ্ঞান এবং সবাই তৈরি
কি করতে হবে তা জানত.
কিন্তু যে কোন সময় আপনি করেছি একই ভাবে সারিবদ্ধ,
আপনি রূপায়ণকারী করছি একটি হ্যাশ একই ধারণা.
তাই এর এটি একটি সামান্য বিট ডিক্রী দিন.
এখানে একটি অ্যারে.
এটা একটা সামান্য হতে এর টানা ব্যাপক শুধু দৃশ্যত, বর্ণা,
আমরা স্ট্রিং লাগাতে পারে যে ভালো কিছু মধ্যে.
এবং এই অ্যারে পরিষ্কারভাবে আকার 26 মোট.
এবং জিনিস বলা হয় টেবিলের ইচ্ছামত.
কিন্তু এই মাত্র একজন শিল্পী এর প্রতিদান একটি হ্যাশ টেবিল হতে পারে কি.
>> সুতরাং একটি হ্যাশ টেবিল এখন যাচ্ছে একটি উচ্চ স্তরের তথ্য গঠন হতে.
দিন শেষে আমরা আপনাকে যে দেখতে চলেছেন
একটি হ্যাশ টেবিল, বাস্তবায়ন করতে পারে যা অনেক চেক ইন লাইন ভালো হয়
অনেক ভালো একটি Hackathon এ টেবিল পরীক্ষার বই সাজানোর জন্য ব্যবহৃত.
কিন্তু একটি হ্যাশ টেবিল এই উচ্চ স্তর সাজানোর
একটি অ্যারে ব্যবহার করতে পারে যে ধারণা , ফণা তা বাস্তবায়ন নীচে
অথবা এটি একটি দৈর্ঘ্য তালিকা ব্যবহার করুন, অথবা এমনকি পারে সম্ভবত অন্য কিছু ডাটা স্ট্রাকচার.
এবং এখন যে theme-- গ্রহণ এর এই মৌলিক উপাদানগুলো কিছু
একটি অ্যারে এবং এই বিল্ডিং মত একটি দৈর্ঘ্য তালিকার এখন অবরোধ
এবং আমরা নির্মাণ করতে পারেন কি কি দেখছি যারা উপরে, উপাদানগুলো মত
একটি রেসিপি মধ্যে, আরো এবং আরো উপার্জন আকর্ষণীয় এবং দরকারী চূড়ান্ত ফলাফল.
>> হ্যাশ টেবিল সঙ্গে তাই আমরা তা বাস্তবায়ন হতে পারে
মেমরি pictorially ভালো, কিন্তু কিভাবে এটা আসলে আপ কোডেড হতে পারে?
ওয়েল, হয়তো হিসাবে কেবল এই হল.
সব ক্যাপ মধ্যে ক্ষমতা, ঠিক হয় তাহলে উদাহরণস্বরূপ 26 জন্য কিছু constant--,
alphabet-- এর 26 অক্ষর জন্য আমি আমার পরিবর্তনশীল টেবিল কল পারে,
এবং আমি যাচ্ছি যে দাবি পারে সেখানে, বা স্ট্রিং গৃহস্থালি বড় করা.
তাই এটি হিসাবে সহজ যদি এই হিসাবে আপনি একটি হ্যাশ টেবিল বাস্তবায়ন করতে চান.
এবং এখনো, এই সত্যিই শুধু একটি অ্যারে.
কিন্তু আবার, একটি হ্যাশ টেবিল কি আমরা করব এখন হয়
শুধু যে একটি বিমূর্ত ডাটা টাইপ কল উপরে একটি ধারণাগত layering সাজানোর
আরো জাগতিক কিছু এখন একটি অ্যারের মত.
>> এখন, কিভাবে আমরা যেতে না সমস্যা সমাধানে সম্পর্কে?
ওয়েল, আগে আমি বিলাসিতা ছিল এর এখানে যথেষ্ট টেবিল স্থান হচ্ছে
আমি লাগাতে পারে যাতে মো কোথাও আমি চেয়েছি.
সুতরাং হিসাবে এখানে যেতে পারে.
Zs এখানে যেতে পারে.
Ms এখানে যেতে পারে.
এবং তারপর আমি কিছু অতিরিক্ত স্থান ছিল.
কিন্তু এই একটি Cheat অধিকার একটি বিট এখন এই টেবিলের কারণ, আমি যদি সত্যিই
একটি অ্যারে হিসাবে এটি চিন্তা, শুধু হয় কিছু নির্দিষ্ট আকারের হতে যাচ্ছে.
>> তাই টেকনিক্যালি, আমি টান যদি অন্য ছাত্র এর ব্যঙ্গ আপ
এবং এই ব্যক্তির, উহু, দেখতে নাম, খুব একটি A দিয়ে শুরু হয়
আমি ধরনের সেখানে লাগাতে চান.
কিন্তু যত তাড়াতাড়ি আমি যদি সেখানে লাগাতে হিসাবে এই টেবিলের প্রকৃতপক্ষে একটি অ্যারে উল্লেখ করে,
আমি অগ্রাহ্য বা clobbering করা যাচ্ছে না কেহ এই ছাত্র এর ব্যঙ্গ.
রাইট?
এই একটি অ্যারের হয়, শুধুমাত্র এক জিনিস যা করতে পারেন এই কোষ বা উপাদানের প্রত্যেকটি যান.
এবং তাই আমি ধরনের আছে বাছাই ও নির্বাচন করার.
>> এখন আগে আমি ধরনের প্রতারিত এবং এই বা আমি কি
শুধু ধরনের স্তুপীকৃত একে অপরের উপরে তাদের.
কিন্তু যে কোড মধ্যে উড়ে যাচ্ছে না.
তাই আমি যেখানে লাগাতে পারে যার নাম দ্বিতীয় ছাত্র
আমি ছিল এই সব যদি একটি হয় প্রাপ্তিসাধ্য টেবিল স্থান?
এবং আমি তিনটি স্লট এবং এটা ব্যবহার করেছি মাত্র কয়েক অন্যদের আছে বলে মনে হচ্ছে.
আপনি কি করতে পারে?
শ্রোতা: [শ্রবণাতীত]
ডেভিড MALAN: হ্যাঁ.
হয়তো এর মাত্র এটা সহজ রাখা যাক.
রাইট?
আমি এটা লাগাতে চান যেখানে এটি উপযুক্ত না.
তাই আমি এটা করা যাচ্ছে না টেকনিক্যালি একটি বি যেতে হবে যেখানে.
এখন, অবশ্যই, আমি শুরু করছি কোণার মধ্যে নিজেকে আঁকা.
আমি একজন ছাত্র পেতে হলে যার নাম আসলে বি হয়,
এখন বি একটু স্থানান্তরিত করা যাচ্ছে এগিয়ে, হিসাবে, হাঁ, ঘটতে পারে
এই একটি বি যদি, এখন তা এখানে যেতে হয়েছে.
>> তাই এই খুব দ্রুত , সমস্যাযুক্ত হতে পারে
কিন্তু এটি একটি কৌশল যে আসলে রৈখিক অনুসন্ধান হিসাবে উল্লেখ করা হয়,
যদ্দ্বারা আপনি শুধু বিবেচনা আপনার অ্যারের লাইন বরাবর হতে.
আর আপনি শুধু ধরনের তদন্ত বা প্রতিটি উপলব্ধ উপাদান পরিদর্শন
একটি উপলব্ধ স্পট খুঁজছেন.
এবং যত তাড়াতাড়ি আপনি এটি হিসাবে এক, আপনি সেখানে তা ড্রপ.
>> এখন, দাম এখন দেওয়া হচ্ছে এই সমাধান জন্য কি?
আমরা একটি নির্দিষ্ট আকার অ্যারে আছে, এবং আমি নাম সন্নিবেশ যখন
তা, অন্তত প্রাথমিকভাবে, কি সন্নিবেশ চলমান সময়
ছাত্র 'নির্বাণ জন্য ডান buckets মধ্যে ক্যুইজ?
কি বিগ হে?
>> শ্রোতা: এন.
ডেভিড Malan: আমি n এর বড় হে শুনেছেন.
সত্য নেই.
কিন্তু আমরা সরাইয়া জ্বালাতন করা হবে কেন শুধু একটা মুহূর্ত.
এটা আর কি হতে পারে?
>> শ্রোতা: [শ্রবণাতীত]
ডেভিড Malan: আর আমাকে দৃশ্যত এটা করতে দেওয়া.
তাই এই চিঠি এস অনুমান
>> শ্রোতা: এটা এক.
ডেভিড Malan: এটা এক.
রাইট?
এই একটি অ্যারের, যা আমরা র্যান্ডম এক্সেস আছে মানে.
এবং আমরা এই মনে করে শূন্য এবং এই হিসাবে 25 হিসাবে,
এবং আমরা বুঝতে পারি যে, ওহ, এখানে আমার ইনপুট এস এর,
আমি অবশ্যই রূপান্তর করতে পারেন এস, একটি ASCII অক্ষর,
সংশ্লিষ্ট নম্বরে শূন্য এবং 25 এর মধ্যে
এবং তারপর অবিলম্বে যেখানে এটি জন্যে এটা করা.
>> তবে অবশ্যই, যত তাড়াতাড়ি আমি পেতে হিসাবে নাম কে দ্বিতীয় ব্যক্তি A অথবা B অথবা C,
অবশেষে, আমি ব্যবহার করেছি যদি রৈখিক, আমার সমাধান হিসাবে অনুসন্ধান
চলমান সময় সবচেয়ে খারাপ ক্ষেত্রে সন্নিবেশ
আসলে কি মধ্যে বর্তা যাচ্ছে?
এবং আমি এখানে এটা শুনতে হয়নি সঠিকভাবে থেকেই.
শ্রোতা: [শ্রবণাতীত]
ডেভিড MALAN: এটা প্রকৃতপক্ষে একবার এন হয় আপনি একটি পর্যাপ্ত বৃহৎ তথ্য সংকলন আছে.
সুতরাং, একে, যদি আপনার অ্যারের যথেষ্ট বড়
এবং আপনার তথ্য আপনি, যথেষ্ট বিক্ষিপ্ত হয় এই সুন্দর ধ্রুবক সময় পান.
কিন্তু যত তাড়াতাড়ি আপনি শুরু আরো এবং আরো উপাদান পেয়ে,
এবং শুধু পরিসংখ্যানগত আপনি পেতে চিঠি দিয়ে আরো মানুষ
একটি হিসাবে তাদের নাম বা চিঠি বি, এটি সম্ভাব্য পারা
কিছু আরো রৈখিক মধ্যে বর্তা.
তাই পুরোপুরি নিখুঁত না.
সুতরাং আমরা আরো ভালো করতে পারে?
>> ভাল, কি ছিল আমাদের সমাধান যখন আমরা আগে
বেশী গতিশীলতা আছে চান একটি অ্যারের ভালো কিছু অনুমোদিত?
শ্রোতা: [শ্রবণাতীত]
ডেভিড Malan: আমরা কি পরিচয় করিয়ে দিয়েছিলেন?
হাঁ.
সুতরাং একটি লিঙ্ক তালিকা.
ভাল, এর একটি লিঙ্ক দেখুন তালিকায় পরিবর্তে আমাদের জন্য কি হতে পারে.
আচ্ছা, আমাকে যে আমরা উত্থাপন করা যাক নিম্নরূপ ছবি আঁকা.
এখন এই একটি ভিন্ন একটি উদাহরণ থেকে ছবি
একটি ভিন্ন টেক্সট থেকে, আসলে, যে আসলে সাইজ 31 এর একটি অ্যারে ব্যবহার হয়.
এবং এই লেখক কেবল স্ট্রিং হ্যাশ করার সিদ্ধান্ত নিয়েছে
ব্যক্তির নামের উপর ভিত্তি করে না, কিন্তু তাদের birthdates উপর ভিত্তি করে.
নির্বিশেষে মাসের, তারা মূর্ত আপনি একটি মাসের প্রথম তারিখে জন্মগ্রহণ করছি
অথবা একটি মাসের 31 তম, লেখক যে মান উপর ভিত্তি করে হ্যাশ হবে,
একটি বিট আউট নাম ছড়িয়ে হিসাবে তাই শুধু 26 দাগ অনুমতি চেয়ে আরো.
এবং সম্ভবত এটি একটি সামান্য আরো অভিন্ন এর বর্ণানুক্রমিক অক্ষর দিয়ে যাচ্ছে চেয়ে,
কারণ অবশ্যই সম্ভবত আছে নামের সাথে বিশ্বের আরও মানুষ
অবশ্যই চেয়ে একটি সঙ্গে যে শুরু বর্ণমালার কিছু অন্যান্য অক্ষর.
তাই হয়তো এই একটু হয় আরো অভিন্ন, অভিমানী
একটি অভিন্ন ডিস্ট্রিবিউশনের একটি মাস জুড়ে শিশুদের.
>> কিন্তু, অবশ্যই, এই এখনও অপূর্ণ.
রাইট?
আমরা দুর্ঘটনায় ভোগ করছি.
এই মধ্যে একাধিক মানুষ তথ্য কাঠামো এখনও হয়
অন্তত একই জন্মতারিখ হচ্ছে আপনি মাসের নির্বিশেষে করছি.
কিন্তু লেখক কি করেছে?
আমরা একটি অ্যারে আছে মত ওয়েল, এটা দেখতেও উল্লম্বভাবে টানা বাম দিকে,
কিন্তু যে শুধু একজন শিল্পী এর প্রতিদান না.
এটা কোন ব্যাপার না কি অভিমুখ আপনি একটি অ্যারের আঁকা, এটি এখনও একটি অ্যারে.
এই দৃশ্যত একটি অ্যারে কি?
>> শ্রোতা: লিঙ্ক তালিকা.
>> ডেভিড MALAN: হ্যাঁ.
এটি একটি ভালো মনে হচ্ছে লিঙ্ক তালিকা অ্যারে.
তাই আবার, সাজানোর এই বিন্দু এখন এই ডেটা স্ট্রাকচার ব্যবহার করে
আরো উপাদান হিসাবে আকর্ষণীয় সমাধান,
আপনি একেবারে একটি নিতে পারেন মৌলিক, একটি অ্যারের মত,
এবং তারপর আরো কিছু নিতে একটি লিঙ্ক তালিকা মত আকর্ষণীয়
এবং এমনকি একটি এমনকি তাদেরকে একত্রিত আরো আকর্ষণীয় ডাটা স্ট্রাকচার.
এবং প্রকৃতপক্ষে, এই খুব would একটি হ্যাশ টেবিল বলা যেতে,
যদ্দ্বারা অ্যারে সত্যিই হ্যাশ টেবিল,
কিন্তু যে হ্যাশ টেবিল আছে চেইন, তাই কথা বলতে,
যে হত্তয়া পারেন অথবা উপর ভিত্তি করে সঙ্কুচিত উপাদানের সংখ্যা আপনি সন্নিবেশ করাতে চান.
>> এখন, সেই অনুযায়ী, কি এখন সময় চলমান?
আমি কেউ সন্নিবেশ করতে চান অক্টোবর 31 যার জন্মদিন হয়,
যেখানে সে কোনদিকে?
ঠিক আছে.
এটা 31 বলেছেন যেখানে খুব নীচে.
এবং যে একেবারে ঠিক আছে.
যে ধ্রুবক সময় ছিল.
কিন্তু আমরা অন্য কেউ তা খুঁজে যদি যার জন্মদিন, এর দেখতে দিন হয়,
অক্টোবর, নভেম্বর, ডিসেম্বর 31?
কোথায় সে যেতে হবে?
একই জিনিস.
যদিও দুই ধাপ.
যে এটা যদিও ধ্রুবক নয় কি?
ঠিক আছে.
মুহূর্তে এটা.
কিন্তু সাধারণ ক্ষেত্রে, আমরা যোগ আরও মানুষ,
সম্ভাব্য, আমরা চলুন আরো এবং আরো দুর্ঘটনায় পেতে.
>> এখন এই একটু হয় ভাল টেকনিক্যালি কারণ
এখন আমার শৃঙ্খলে হতে পারে সবচেয়ে খারাপ ক্ষেত্রে কতদিন?
আমি এই আরো মধ্যে এন মানুষ সন্নিবেশ যদি অত্যাধুনিক তথ্য কাঠামো, এন মানুষ,
সবচেয়ে খারাপ ক্ষেত্রে এটি এন হতে যাচ্ছে.
কেন?
>> শ্রোতা: কারণ যদি সবাই একই জন্মদিন আছে,
তারা এক লাইন হতে যাচ্ছেন.
ডেভিড Malan: পারফেক্ট.
এটা একটু কল্পিত হতে পারে কিন্তু সত্যিই খারাপ ক্ষেত্রে,
সবাই একই জন্মদিন আছে, আপনি ইনপুট দেওয়া,
আপনি একটি আছে চলুন ব্যাপক দীর্ঘ শৃঙ্খল.
এবং তাই, আপনি এটি একটি কল করতে পারেনি টেবিল হ্যাশ, কিন্তু সত্যিই এটা
সঙ্গে শুধু একটি বৃহদায়তন লিঙ্ক তালিকা বরবাদ স্থান সমগ্র অনেক.
তবে সাধারণভাবে, আমরা ধরে নিই যে যদি অন্তত জন্মদিন uniform-- হয়
এবং এটি সম্ভবত নয়.
আমি যে পর্যন্ত তৈরি করছি.
কিন্তু আমরা অনুমান করে, মার্কিন আলোচনা অনুরোধে
তারা, তারপর তত্ত্ব, যদি হয় এই উল্লম্ব উপস্থাপনা
অ্যারের, ভাল তারপর আশা আপনি আছেন হয়, আপনি জানেন যে চেইন পেতে যাচ্ছে,
প্রায় একই দৈর্ঘ্য যেখানে প্রতিটি এই মাসের একটি দিন প্রতিনিধিত্ব করে.
>> মাসে 31 দিন আছে যদি এখন, যে সত্যিই আমার চলমান সময় মানে
31 ওভার n এর বড় হে, যা রৈখিক বেশী ভালো মনে.
কিন্তু এক কি ছিল আমাদের অঙ্গীকার কয়েক সপ্তাহ
আগে এটা প্রকাশ করতে আসেন যখনই একটি অ্যালগরিদম চলমান সময়?
শুধু মাত্র উচ্চ অর্ডার শব্দটি তাকান.
রাইট?
31 নিঃসন্দেহে সহায়ক.
কিন্তু এই এখনও বড় হে n র হয়.
কিন্তু থিম এক সমস্যা পাঁচটি সেট
করতে হবে একেবারে স্বীকার করেন যে,
asymptotically, তাত্ত্বিকভাবে এই তথ্য গঠন
শুধু চেয়ে ভাল হয় এক বিশাল তালিকা সংযুক্ত.
এবং প্রকৃতপক্ষে, সবচেয়ে খারাপ ক্ষেত্রে, এই হ্যাশ টেবিল যে ভাগ বর্তা পারে.
>> কিন্তু বাস্তব জগতে, আমাদের সাথে মানুষের নিজস্ব Macs- বা পিসি বা যাই হোক না কেন যে
এবং বাস্তব বিশ্বের চলমান বাস্তব জগতে তথ্য উপর সফ্টওয়্যার,
যা আলগোরিদিম আপনি পছন্দ করতে যাচ্ছি?
শেষ ধাপ বা লাগে যে এক এন 31 ধাপ দ্বারা বিভক্ত লাগে যে এক
তথ্য কিছু অংশ খুঁজে পেতে বা কিছু তথ্য সন্ধান করতে?
আমি একেবারে 31 প্রতিক্ষেপক করে তোলে মানে বাস্তব জগতে একটি পার্থক্য.
এটা 31 গুণ দ্রুত হয়.
আর আমরা মানুষ অবশ্যই আছে যে কৃতজ্ঞ যাচ্ছে.
>> সুতরাং বৈপরীত্য বুঝতে পারছি সেখানে আসলে মধ্যে
তাত্ত্বিক বিষয় সম্পর্কে কথা স্পষ্টভাবে এবং asymptotically যা
আমরা দেখা করেছি হিসাবে মান আছে, কিন্তু বাস্তব জগতে,
আপনি শুধু তৈরীর প্রতি যত্নবান হলে সাধারণ ইনপুট জন্য মানুষের খুশি,
আপনি খুব ভাল গ্রহণ করতে চাইতে পারেন হ্যাঁ, এই রৈখিক হয়, এটা সত্য যে,
কিন্তু এটি 31 গুণ দ্রুত এর চেয়ে রৈখিক হতে পারে.
এবং এখনো ভাল, আমরা শুধু করতে হবে না একটি জন্মতারিখ মত নির্বিচারে কিছু করতে,
আমরা একটু ব্যয় হতে পারে আরো সময় এবং চালাকি
এবং আমরা কি হতে পারে সে সম্পর্কে চিন্তা, প্রদত্ত একটি ব্যক্তির নাম এবং হয়ত
তাদের জন্মতারিখ যারা একত্রিত উপাদানগুলো কিছু চিন্তা করা
যে সত্যিকারের বেশি হয় ইউনিফর্ম এবং কম Jaggy,
তাই এই ছবি বেশি কথা বলতে যাও বর্তমানে এটি হতে পারে প্রস্তাব দেওয়া হয়.
কিভাবে আমরা এই কোড বাস্তবায়ন হতে পারে?
আচ্ছা, আমাকে যে আমরা উত্থাপন করা যাক শুধু আমরা করেছি কিছু বাক্য গঠন ধার
এ পর্যন্ত কয়েক বার ব্যবহার.
এবং আমি সংজ্ঞায়িত করা যাচ্ছে না একটি নোডের, যা আবার
শুধু কিছু জন্য একটি জেনেরিক শব্দ কিছু তথ্য কাঠামো জন্য ধারক.
আমি যে উত্থাপন করা যাচ্ছে না একটি স্ট্রিং সেখানে যাচ্ছে.
কিন্তু আমরা গ্রহণ শুরু করতে যাচ্ছেন এখন বন্ধ চাকার প্রশিক্ষণ ঐ.
>> না আরো CS50 লাইব্রেরি সত্যিই, আপনি চান, যদি না
আপনার চূড়ান্ত জন্য এটি ব্যবহার করতে যা সূক্ষ্ম প্রকল্প,
কিন্তু এখন আমরা পিছিয়ে যাচ্ছেন পরদা এবং এটি মাত্র একটি গৃহস্থালি তারা বলতে.
শব্দ তাই হতে যাচ্ছে প্রশ্নে ব্যক্তির নাম.
এবং এখন আমি একটি লিঙ্ক আছে এখানে পরবর্তী নোডের
এই প্রতিনিধিত্বকারী তাই নোডের প্রতিটি
চেন, সম্ভাব্য, একটি লিঙ্ক তালিকা.
>> এবং এখন কিভাবে আমি ডিক্লেয়ার করতে হ্যাশ টেবিল নিজেই?
কিভাবে আমি এই পুরো কাঠামো ঘোষণা করে?
ওয়েল, সত্যিই, অনেক আমি একটি পয়েন্টার ব্যবহার মত একটি তালিকা মাত্র প্রথম উপাদান যাও
আগে, একইভাবে আমি শুধু বলতে পারেন আমি শুধু পয়েন্টার একটি গুচ্ছ প্রয়োজন
এই পুরো হ্যাশ টেবিল বাস্তবায়ন.
আমি একটি অ্যারের আছে যাচ্ছি হ্যাশ টেবিল জন্য বলা টেবিল.
এটা সাইজ ক্ষমতার হতে যাচ্ছে.
যে এটা ফিট করতে পারে কতগুলি উপাদান এর.
আর এই মধ্যে যারা উপাদান প্রতিটি অ্যারের একটি নোডের তারকা হতে যাচ্ছে.
কেন?
ওয়েল, এই ছবি প্রতি, আমি কি আছি হ্যাশ টেবিল হিসাবে বাস্তবায়ন
কার্যকরভাবে মধ্যে শুরুতে শুধু হয় আমরা উল্লম্বভাবে টানা করেছি যে এই অ্যারে,
যার স্কোয়ার প্রতিটি একটি পয়েন্টার প্রতিনিধিত্ব করে.
ওগুলো যে স্ল্যাশ আছে যে তাদের মাধ্যমে শুধু নাল দ্বারা.
এবং বেশী যে আছে ডান যাচ্ছে তীর
প্রকৃত নোড প্রকৃত পয়েন্টার হয়, একটি লিঙ্ক তালিকা শুরু অতএব.
>> তাই এখানে, তারপর, কিভাবে আমরা প্রতাপ হল একটি হ্যাশ টেবিল বাস্তবায়ন যে
পৃথক chaining কার্যকরী.
এখন আমরা আরো ভালো করতে পারে?
ঠিক আছে আমি শেষ সময় প্রতিশ্রুত যে আমরা ধ্রুবক সময় অর্জন করতে পারে.
আর আমি ধরনের আপনার দেওয়া এখানে ধ্রুবক সময়,
কিন্তু তারপর সত্যিই বলেছেন ধ্রুব সময় এটা এখনও কারণ
মোট উপর নির্ভরশীল উপাদানের সংখ্যা
আপনি মধ্যে inputting করছি ডাটা স্ট্রাকচার.
কিন্তু আমরা এই কি অনুমান.
আমাকে এখানে উপর পর্দা ফিরে যাওয়া যাক.
আমাকে এখানে এই পর্যন্ত প্রকল্পের স্পষ্ট করা যাক পর্দা, এবং আমি এই কি অনুমান.
আমি নাম সন্নিবেশ চেয়েছিলেন ধরুন Daven আমার ডাটা স্ট্রাকচার.
>> তাই আমি একটি স্ট্রিং সন্নিবেশ করতে চান ডাটা স্ট্রাকচার মধ্যে Daven.
আমি কি একটি ব্যবহার করবেন না যদি টেবিল হ্যাশ, কিন্তু আমি ব্যবহার
আরো কিছু যে গাছ-মত একটি পরিবার গাছ, যেখানে মত
আপনি এ কিছু রুট আছে শীর্ষ এবং তারপর নোড এবং পাতা
যে নিম্নগামী এবং বাহ্যিক যান.
তারপর যে আমি ধরুন Daven এর সন্নিবেশ করতে চান
বর্তমানে একটি ফাঁকা তালিকা কি করে.
আমি নিচের কাজগুলো যাচ্ছি: আমি আছি এই পরিবারের একটি নোড নির্মাণ করা যাচ্ছে
গাছ-মত তথ্য কাঠামো দেখে মনে হচ্ছে যে একটু ভালো, প্রতিটি যা
আয়তক্ষেত্র, এর কথা বলা যাক হয়েছে এটা এখন 26 উপাদানের জন্য.
এবং কোষের প্রতিটি এই অ্যারের মধ্যে যাচ্ছে
একটি বর্ণমালার অক্ষর প্রতিনিধিত্ব করতে.
>> বিশেষ করে, আমি খাওয়াবো যাচ্ছি এই, এ, তারপর বি, তারপর সি, তারপর ডি হল
এখানে এই এক.
তাই এই কার্যকরভাবে যাচ্ছে চিঠি ডি প্রতিনিধিত্ব
কিন্তু Daven এর সব সন্নিবেশ করতে আমি একটি বিট আরো করতে হবে নাম.
তাই আমি প্রথম তাই কথা বলতে, হ্যাশ যাচ্ছি.
আমি প্রথম চিঠি তাকান যাচ্ছি এ Daven এর সম্ভবত একটি ডি, যা
এবং আমি বরাদ্দ করা যাচ্ছে না দেখায় যে একটি নোডের
মত বড় বড় আয়তক্ষেত্র আপাততঃ পুরো বর্ণমালা মাপসই যথেষ্ট.
>> এখন ডি সম্পন্ন করা হয়.
এখন এ ডি-একটি-ভী ই-এন লক্ষ্য.
তাই এখন আমি কি করতে যাচ্ছি কি এই হয়.
যত তাড়াতাড়ি আমি ডি নোটিশ শুরু সেখানে কোন পয়েন্টার আছে.
এটা মুহূর্তে আবর্জনা মান অথবা আমি নাল এটি আরম্ভ হতে পারে.
কিন্তু আমার সাথে বর্তা দিন একটি গাছ গড়ে তোলার এই ধারণা.
আমার এইসব অন্য একটি বরাদ্দ যাক এটি মধ্যে 26 উপাদান আছে যে নোড.
>> এবং আপনি কি জানেন?
এই মেমরি মাত্র একটি নোডের হয় তাহলে যে আমি একটি struct ব্যবহার করে, malloc সঙ্গে নির্মিত
আমরা শীঘ্রই দেখতে পাবেন, আমি এই কি করতে যাচ্ছি
আমি থেকে একটি তীর আঁকা যাচ্ছি নিচে ডি প্রতিনিধিত্ব যে জিনিস
এই নতুন নোডের.
এবং, প্রথম পরের এখন Daven এর নামে চিঠি,
V-- ডি-একটি-V-- আমি এগিয়ে যেতে চলেছি এবং এই মত অন্য একটি নোড আঁকা,
যদ্দ্বারা, এখানে ভী উপাদান, যা আমরা instance-- উপস জন্য আঁকা হবে.
আমরা সেখানে না আঁকা হবে.
এটা এখানে যেতে যাচ্ছে.
>> তারপর আমরা চলুন এই ভি হতে বিবেচনা
এবং তারপর এখানে নিচে আমরা সূচক যাচ্ছেন নিচে ভী থেকে আমরা ই বিবেচনা করবো কি করে
এবং তারপর এখানে থেকে আমরা চলুন এখানে এই নোডের এক আছে যান.
এবং এখন আমরা উত্তর দিতে একটি প্রশ্ন আছে.
আমি যে ইঙ্গিত একরকম প্রয়োজন আমরা স্ট্রিং Daven শেষে করছি.
তাই আমি এটা নাল ছেড়ে চলে যেতে পারে.
>> কিন্তু আমরা Daven এর কি আছে কিনা এছাড়াও পুরো নাম, যা
আমরা, ড্যাভেনপোর্ট বলেন করেছি, হয়?
সুতরাং Daven কি করে আসলে একটি মান,
অনেক লম্বা স্ট্রিং এর একটি উপসর্গ?
আমরা শুধু স্থায়ীভাবে না পারেন কিছুই যাচ্ছে বলে
কারণ আমরা পারা, সেখানে যেতে ড্যাভেনপোর্ট মত একটি শব্দ সন্নিবেশ না
এই ডাটা স্ট্রাকচার মধ্যে
>> তাই আমরা যা করতে পারে তা বদলে যায় এই উপাদানের প্রতি আচরণ
হিসাবে হয়তো দুটি হচ্ছে তাদের ভেতরে উপাদান.
এক, প্রকৃতপক্ষে, একটি পয়েন্টার হিসাবে আমি কাজ করছি.
এই বাক্সে প্রতিটি সুতরাং শুধু একটা সেল নয়.
কিন্তু কি যদি উপরে one-- নীচে এক এর
কারণ, নাল হতে যাচ্ছে এখনও কোন ড্যাভেনপোর্ট আছে.
কি করে উপরের এক কিছু বিশেষ মান হয়?
এবং এটা একটু হতে যাচ্ছে এটি এই আকার আঁকতে হার্ড.
কিন্তু এটি শুধু একটি চেক চিহ্ন অনুমান.
চেক করুন.
ডি-একটি-ভী ই-এন একটি পংক্তি এই তথ্য কাঠামো.
>> এদিকে, যদি আমি আরও জায়গা ছিল এখানে, আমি, পি-হে-আর-টি কাজ করতে পারে
এবং আমি নোড চেক করা যায়নি যে খুব শেষে চিঠি টি আছে.
সুতরাং এই একটি ব্যাপক হয় জটিল সুদর্শন ডাটা স্ট্রাকচার.
আর আমার হস্তাক্ষর অবশ্যই সাহায্য করে না.
কিন্তু আমি কিছু সন্নিবেশ করতে চেয়েছিলেন অন্য, আমরা কি করবেন তা বিবেচনা.
আমরা ডেভিড লাগাতে চেয়েছিলেন, আমরা, একই যুক্তি, ডি-একটি-ভী অনুসরণ চাই
কিন্তু এখন আমি পরবর্তী নির্দেশ করবে উপাদান না ই থেকে, কিন্তু আমি থেকে ডি থেকে
তাই বলে সেখানে যাচ্ছে এই গাছ মধ্যে আরো নোড.
আমরা আরো কল malloc আছে চলুন.
কিন্তু আমি একটি করতে চান না এই ছবি সম্পূর্ণ জগাখিচুড়ি.
তাই এর পরিবর্তে এক তাকান যে-পূব প্রণয়ন করা হয়েছে
বিন্দু না দিয়ে ভালো, বিন্দু, বিন্দু, কিন্তু শুধু সংক্ষেপে অ্যারে.
কিন্তু নোড প্রতিটি এখানে এই গাছ আপ ইন
একই জিনিস উপস্থাপন একটি অ্যারের সাইজ 26 এর রায়.
>> অথবা আমরা হতে চান সত্যিই সঠিক এখন, কি
কেউ এর নাম হিসেবে যদি একটি ঊর্ধকমা, এর যাক
প্রতিটি নোডের আসলে আছে অনুমান এটি মধ্যে 27 ইনডেক্সসমূহ, না শুধু 26 এর মত.
সুতরাং এখন এই একটি তথ্য হতে যাচ্ছে কাঠামো একটি trie-- টি-আর-আমি-ই বলা.
কল্পনানুসারে হয় যা একটি trie, একটি গাছ জন্য ঐতিহাসিকভাবে একটি চতুর নাম
যে জন্য অপ্টিমাইজ করা হচ্ছে আহরণ, যা অবশ্যই,
এটা trie তাই একটি আমি-ই দিয়ে বানান হয়.
কিন্তু যে trie ইতিহাস.
>> সুতরাং একটি trie এই গাছ মত তথ্য হল একটি পরিবার গাছ মত কাঠামো
যে পরিণামে যে মত আচরণ করে.
এবং এখানে একটি মাত্র আরেকটি উদাহরণ অন্য লোকের নামের আভা.
কিন্তু এখন প্রশ্ন হাতে আছে কি
আমরা তর্কসাপেক্ষ আরো একটি প্রবর্তনের দ্বারা অর্জন জটিল ডাটা স্ট্রাকচার, এবং এক,
সত্যি, যে মেমরি অনেক ব্যবহার.
>> , কারণ যদিও মুহূর্তে, আমি শুধুমাত্র নই
ডি গণ পয়েন্টার ব্যবহার করে এবং একটি V এবং স্প্যানিশ ভাষায় এবং Ns, এবং
আমি মেমরি অনেক একটি নরক নষ্ট করছি.
কিন্তু আমি এক সম্পদ ব্যয় যেখানে, আমি ফিরে অন্য লাভ না করার ঝোঁক.
আমি আরও জায়গা খরচ করছি যদি তাই সম্ভবত আশা কি?
আমি কি কম খরচ করছি যে?
শ্রোতা: কম সময়.
ডেভিড Malan: টাইম.
এখন কেন হবে?
ওয়েল, সন্নিবেশ কি সময়, এখন বড় হে পদ,
Daven মত একটি নাম অথবা ড্যাভেনপোর্ট বা ডেভিড?
ওয়েল, Daven পাঁচটি পদক্ষেপ ছিল.
ড্যাভেনপোর্ট নয়টি পদক্ষেপ হবে, তাই এটি আরো কয়েকটি ধাপ হতে হবে.
ডেভিড পাশাপাশি পাঁচটি পদক্ষেপ হবে.
সুতরাং যারা কংক্রিট করো সংখ্যা, কিন্তু নিশ্চয় আছে
একটি সর্বোচ্চ সীমা কেউ এর নাম দৈর্ঘ্য.
এবং প্রকৃতপক্ষে, সমস্যা পাঁচটি স্পেসিফিকেশন সেট,
আমরা প্রস্তাব করছি চলুন এটা এমন কিছু, যে
যে 40-কিছু-অদ্ভুত অক্ষর আছে.
>> বাস্তবধর্মী, কোন এক আছে একটি অসীম দীর্ঘ নাম,
বলতে হয়, যা একটি দৈর্ঘ্য নাম অথবা একটি স্ট্রিং এর দৈর্ঘ্য আমরা প্রতাপ
রাষ্ট্র নির্দিষ্ট আছে কাঠামো তর্কসাপেক্ষ কি?
এটা ধ্রুব এর.
রাইট?
এটা ভালো একটি বড় ধ্রুবক হতে পারে 40-কিছু, কিন্তু এটা ধ্রুবক.
এবং এটা কিভাবে অনেক উপর কোন নির্ভরতা আছে অন্যান্য নামগুলি এই তথ্য কাঠামো দ্বারা.
অন্য কথায়, আমি যদি এখন সন্নিবেশ করতে চেয়েছিলেন
Colton বা গ্যাব্রিয়েল বা রব অথবা Zamyla বা Alison বা Belinda বা অন্য কোন নাম
এই তথ্য মধ্যে কর্মীদের থেকে গঠন, চলমান সময়
এর অন্য নাম ঢোকাতে সমস্ত প্রভাববিস্তারকারী হতে যাচ্ছে
কতগুলি অন্যান্য উপাদান দ্বারা হয় ইতিমধ্যে তথ্য কাঠামো?
এটা না.
রাইট?
আমরা কার্যকরভাবে ব্যবহার করছেন কারণ এই বহু স্তর হ্যাশ টেবিল.
আর চলমান সময় এই অপারেশন কোন
সংখ্যার উপর নির্ভরশীল না তথ্য কাঠামো যে উপাদান
অথবা যে অবশেষে যাচ্ছি তথ্য কাঠামো থাকা,
কিন্তু কি বিশেষভাবে দৈর্ঘ্যের উপর?
>> হচ্ছে স্ট্রিং , ঢোকানো না করা যা
এই asymptotically ধ্রুবক এক time-- বড় হে.
এবং সত্যি, শুধু এ বাস্তব জগতে, এই
Daven এর নাম নেয় ঢোকাতে মানে পাঁচ ধাপ, বা ড্যাভেনপোর্ট নয়টি মত
ধাপ, বা ডেভিড পাঁচটি পদক্ষেপ.
যে বেশ অভিশাপ ছোট চলমান বার.
এবং, প্রকৃতপক্ষে, যে খুব আছে ভাল জিনিস, বিশেষ করে যখন
এটি মোট উপর নির্ভরশীল নয় সেখানে উপাদানের সংখ্যা.
সুতরাং আমরা এই বাস্তবায়নের পারে কিভাবে কোড সালে গঠন ধরনের?
এটি একটি সামান্য আরো জটিল, কিন্তু এখনও এটি
শুধু একটি আবেদন মৌলিক বিল্ডিং ব্লক.
আমি পুনরায় সংজ্ঞায়িত করা যাচ্ছে না আমাদের নোড নিম্নরূপ:
bool word-- বলা হয় এবং এই কিছু বলা যেতে পারে.
কিন্তু bool প্রতিনিধিত্ব করে কি আমি একটি চেক চিহ্ন হিসাবে সৃষ্টি.
হ্যাঁ.
এটি একটি স্ট্রিং শেষ হয় এই তথ্য কাঠামো.
>> এবং, অবশ্যই, নোড তারকা শিশুদের সেখানে উল্লেখ করা হয়.
এবং, প্রকৃতপক্ষে, শুধু চাই একটি পরিবার গাছ, আপনি
নোড বিবেচনা করবে যে বন্ধ ঝুলন্ত হয়
কিছু অভিভাবক নীচে নিয়ে উপাদান শিশুদের হতে.
তাই শিশুদের যাচ্ছে 27 একটি অ্যারের, 27 শে এক হতে
শুধু ঊর্ধকমা জন্য হচ্ছে.
আমরা সাজাতে চলুন বিশেষ ক্ষেত্রে যে এর.
সুতরাং আপনি কিছু থাকতে পারে apostrophes সাথে নাম.
হয়তো এমনকি হাইফেন উচিত সেখানে যান, কিন্তু আপনি পাবেন
পি সেট 5 আমরা শুধুমাত্র কেয়ারে দেখতে অক্ষর এবং apostrophes সম্পর্কে.
>> এবং তারপর কিভাবে আপনি উপস্থাপন করতে ডাটা স্ট্রাকচার নিজেই?
কিভাবে আপনি রুট প্রতিনিধিত্ব করেন এই trie এর, তাই কথা বলতে?
ওয়েল, শুধু আপনি একটি লিঙ্ক তালিকা সঙ্গে চাই প্রথম উপাদান একটি পয়েন্টার প্রয়োজন.
একটি trie দিয়ে আপনি শুধু একটা প্রয়োজন এই trie রুট পয়েন্টার.
এবং সেখানে থেকে আপনি হ্যাশ পারেন আপনার উপায় নিচে গভীর এবং গভীর
কাঠামো প্রত্যেক অন্যান্য নোড যাও.
সুতরাং কেবল এই পারেন সঙ্গে আমরা যে struct প্রতিনিধিত্ব.
>> এখন, ওহ প্রশ্ন Meanwhile--.
>> শ্রোতা: bool শব্দ কি?
>> ডেভিড Malan: Bool শব্দ শুধু এই সি অবতার
আমি বর্ণিত কি এর এখানে, যখন এই বাক্সে
আমি প্রতিটি বিভাজন শুরু দুই টুকরা অ্যারে এর উপাদান.
ওয়ান পরবর্তী নোডের একটি পয়েন্টার.
অন্যান্য হতে হয়েছে একটি চেক বক্স ভালো কিছু
একটি আছে, হ্যাঁ বলার এখানে শেষ যে Daven শব্দ,
আমরা চাই না, কারণ মুহূর্তে, ডেভ এ.
>> ডেভ একটি হতে যাচ্ছে যদিও বৈধ শব্দ, তিনি trie বিভিন্ন নয়
এখনো.
আর ডি একটি শব্দ নয়.
আর ডি-একটি একটি শব্দ বা একটি নাম নয়.
চেক চিহ্ন সুতরাং শুধুমাত্র আপনি একবার ইঙ্গিত
এই নোডের হয় আঘাত অক্ষরের আগের পাথ
আপনি ঢোকানো করেছি যে আসলে একটি স্ট্রিং.
সুতরাং যে সব bool এর আমাদের জন্য সেখানে করছে.
>> চেষ্টা উপর অন্য কোন প্রশ্ন?
হাঁ.
>> শ্রোতা: ওভারল্যাপ কি?
আপনি কি একটি ডেভ এবং একটি Daven থাকে তাহলে?
ডেভিড Malan: পারফেক্ট.
আপনি কি একটি ডেভ এবং একটি Daven থাকে তাহলে?
আমরা সন্নিবেশ সুতরাং, যদি একটি ডাক নাম বলার David-- Dave-- ডি-একটি-ভী ই জন্য?
আসলে এই সুপার সহজ.
সুতরাং আমরা মাত্র চারটি পদক্ষেপ নিতে যাচ্ছেন.
ডি-একটি-ভী ই. এবং আমি কি আছে আমি যে চতুর্থ নোড আঘাত একবার কি?
শুধু পরীক্ষা যাচ্ছে.
আমরা ইতিমধ্যে যেতে ভাল.
সম্পন্ন.
চার ধাপ.
Asymptotically কনস্ট্যান্ট সময়.
এবং এখন আমরা যে উভয় ডেভ নির্দেশিত করেছি এবং Daven কাঠামো স্ট্রিং দ্বারা.
তাই না একটি সমস্যা.
এবং কিভাবে উপস্থিতি লক্ষ্য করা Daven এর এটি করা হয়নি
কোন সময় বা কম গ্রহণ সময় ডেভ জন্য এবং তদ্বিপরীত.
>> সুতরাং আমরা এখন কি কি করতে পারেন?
আমরা আগে এই রূপক ব্যবহার করেছি ট্রে কিছু প্রতিনিধিত্বমূলক.
কিন্তু এটি সক্রিয় যে একটি ট্রে এর স্ট্যাকের আসলে হয়
অন্য বিমূর্ত তথ্য প্রমাণদায়ক একটি উচ্চ স্তরের তথ্য কাঠামো type--
শেষে দিন ঠিক হয় যে একটি অ্যারে অথবা একটি লিঙ্ক তালিকা মত
আরো জাগতিক বা কিছু.
কিন্তু এটি একটি আরো আকর্ষণীয় ধারণাগত ধারণা.
এই মত একটি স্ট্যাক, মাথের এখানে ট্রে,
সাধারণত বলা হয় শুধু একটি স্ট্যাক যে সব.
>> এবং ডাটা স্ট্রাকচার এই টাইপ আপনি দুটি অপারেশন আছে
আপনি এক বলা ধাক্কা জন্য আছে স্ট্যাকের কিছু যোগ,
অন্য ট্রে নির্বাণ মত স্ট্যাকের উপর ব্যাক.
আপনি যার মানে এবং তারপর, পপ আগ ট্রে অপসৃত.
কিন্তু একটি স্ট্যাক যে সম্পর্কে কী কি এটা এই অদ্ভুত বৈশিষ্ট আছে এর.
ভোজনশালা কর্মীরা হিসাবে করো পরবর্তী খাবার জন্য ট্রে সাজানোর,
কি হতে যাচ্ছে কিভাবে ছাত্র সম্পর্কে সত্য
এই ডাটা স্ট্রাকচার সাথে ইন্টারঅ্যাক্ট?
শ্রোতা: তারা এক বন্ধ পপ চলুন.
ডেভিড Malan: তারা চলুন এক বন্ধ, আশা উপরে পপ.
অন্যথা এটি শুধু মূঢ় ধরনের নীচে সব পথ যেতে.
রাইট?
ডাটা স্ট্রাকচার সত্যিই অনুমতি দেয় না আপনি অন্তত নীচে ট্রে দখল
সহজে.
তাই এই অদ্ভুত নেই একটি স্ট্যাক থেকে সম্পত্তি
গত আইটেমটি যে প্রথম এক আউট হতে যাচ্ছে.
এবং কম্পিউটার বিজ্ঞানী কল এই প্রথম, আউট স্থায়ী LIFO--.
এবং এটা আসলে আছে আকর্ষণীয় অ্যাপ্লিকেশন.
এটা অগত্যা কিছু হিসাবে হিসাবে সুস্পষ্ট নয় অন্যদের, কিন্তু এটা প্রকৃতপক্ষে, উপযোগী হতে পারে
এবং এটা প্রকৃতপক্ষে, প্রয়োগ করা যাবে বিভিন্ন উপায়ে একটি দম্পতি মধ্যে.
>> তাই এক, এবং আসলে, যাক আমাকে যে মধ্যে আকর্ষণীয় যাও না.
এর পরিবর্তে এই কাজ করা যাক.
এর প্রায় এক যে তাকান একই ধারণা, কিন্তু এটি একটি সামান্য fairer এর.
রাইট?
আপনি এই ফ্যান ছেলেদের মধ্যে একজন হন তাহলে বা সত্যিই অ্যাপল পণ্য লেগেছে যে মেয়েরা
এবং আপনি 3:00 অপরাহ্ণ এ woke আপ কিছু দোকান এ রেখায় আপ
খুব সর্বশেষ আইফোন পেতে, আপনি এই মত সারিবদ্ধ হয়ে থাকতে পারে.
>> এখন একটি কিউ খুব ইচ্ছা নামকরণ করা হয়.
নেই, কারণ এটা একটা লাইন এটা কিছু সততা.
রাইট?
আপনি করেছি যদি এটা কোন ধরনের স্তন্যদান করবে অ্যাপল স্টোর এ প্রথম সেখানে পেয়েছিলাম
কিন্তু আপনি কার্যকরভাবে নীচেরতম হয় ট্রে তারপর আপেল কর্মচারীদের কারণ
শেষ ব্যক্তি পপ যারা আসলে লাইনে পেয়েছিলাম.
Stacks এবং সারির, যদিও তাই বৈশিষ্ট্যগুলি তারা same-- অপেক্ষা করছেন
এটা শুধু এই সংকলন সম্পদের যে
আছে shrink-- হত্তয়া যাচ্ছে এবং এটা এই সততা দৃষ্টিভঙ্গি,
বাস্তব জগতে অন্তত, যেখানে অপারেশন আপনি ব্যায়াম
মৌলিকভাবে ভিন্ন.
একটি সারিতে একটি stack-- rather-- আছে বলা হয়
দুই অপারেশন: এন কিউ এবং ঘ কিউ.
অথবা আপনি তাদের সাথে যোগাযোগ করতে পারেন যে কোনো একটি সংখ্যা.
কিন্তু আপনি শুধু ক্যাপচার করতে চান এক যোগ হয় যে ধারণা
এবং এক পরিণামে subtracting হয়.
>> এখন ফণা নীচে, উভয় স্ট্যাক এবং একটি কিউ কিভাবে বাস্তবায়িত হতে পারে?
আমরা এর কোড মধ্যে যেতে হবে না এটা কারণ উচ্চতর স্তর
ধারণা ধরণের আরো সুস্পষ্ট.
আমি বলতে চাচ্ছি, মানুষের কি করবেন?
আমি অ্যাপল এ প্রথম ব্যক্তি নই যদি সঞ্চয় করুন এবং এই সদর দরজা হয়,
আপনি আমি এখানে দাঁড়ানো যাচ্ছে না, জানি.
আর পরের ব্যক্তির এখানে দাঁড়ানো যাচ্ছে.
তাই কি তথ্য গঠন নিজেই একটি সারিতে ধার দেয়?
>> শ্রোতা: একটি কিউ.
ডেভিড Malan: ওয়েল, একটি কিউ.
শিওর.
আর কী?
>> শ্রোতা: একটি লিঙ্ক তালিকা.
>> ডেভিড Malan: একটি লিঙ্ক আপনি বাস্তবায়ন হতে পারে তার তালিকা দেখাবে.
এবং একটি লিঙ্ক তালিকা তারপর, কারণ চমৎকার উল্টোদিকে এটা দীর্ঘ ইচ্ছামত হত্তয়া পারেন
কিছু নির্দিষ্ট সংখ্যা হচ্ছে বাজারের মানুষ.
কিন্তু হয়তো একটি নির্দিষ্ট সংখ্যা জায়গা বৈধ হয়.
তারা মাত্র 20 ভালো আছে কারণ যদি হয়তো, প্রথম দিনে iPhones
তারা শুধুমাত্র আকারের একটি অ্যারে প্রয়োজন 20 যে কিউ, প্রতিনিধিত্ব যা
আমরা কথা বলা শুরু একবার শুধু এখন বলতে হয় এই উচ্চ স্তরের সমস্যা সম্পর্কে,
আপনি এটা বাস্তবায়ন করতে পারে উপায় যে কোন সংখ্যার মধ্যে.
এবং সম্ভবত ঠিক যাচ্ছে আছে স্থান ও সময় একটি ট্রেড বন্ধ হতে
বা শুধু আপনার নিজের কোড জটিলতা.
>> একটি স্ট্যাক সম্পর্কে কি?
ওয়েল, একটি স্ট্যাক, আমরা খুব দেখা করেছি শুধু এই ট্রে হতে পারে.
এবং যদি আপনি এই একটি অ্যারের বাস্তবায়ন হতে পারে.
কিন্তু কিছু সময়ে আপনি, একটি অ্যারের ব্যবহার করে কি ট্রে ঘটতে যাচ্ছে
আপনি প্রশমিত করার চেষ্টা করছেন?
ঠিক আছে.
আপনি শুধুমাত্র চলুন তাই উচ্চ যেতে সক্ষম.
এবং আমি তারা করছি মাথের মনে আসলে যে খোলার মধ্যে খুপরিকাটা.
তাই প্রকৃতপক্ষে, এটা প্রায় এর মাথের ব্যবহার হয় ভালো
নির্দিষ্ট আকার একটি অ্যারের, আপনি শুধুমাত্র পারেন কারণ
এ যে খোলার মধ্যে অনেক ট্রে মাপসই মানুষের হাঁটুর নীচে নামিয়ে প্রাচীর.
তাই যে হতে পারে একটি অ্যারে হতে বলেন,
কিন্তু আমরা অবশ্যই যে বাস্তবায়ন হতে পারে আরো সাধারণভাবে একটি লিঙ্ক তালিকা দিয়ে.
>> ভাল, কি অন্য ডাটা স্ট্রাকচার সম্পর্কে?
আমাকে এখানে চাক্ষুষ অন্য এক থামা.
কিভাবে এখানে এই একটি বিষয়ে মত কিছু?
কেন এটা না আছে উপযোগী হতে পারে একটি trie, যত অভিনব কিছু যা
আমরা, এই অত্যন্ত ব্যাপক নোড ছিল দেখেছি যা প্রতিটি একটি অ্যারের মধ্যে হল?
কিন্তু আমরা কিছু আরও কি করে সহজভাবে, একটি পুরানো স্কুল পরিবার গাছ মত,
যার এখানে নোডের প্রতিটি শুধু একটি নম্বর সংরক্ষণকারী হয়.
পরিবর্তে একটি নাম বা একটি বংশধর এর শুধু ভালো একটি নম্বর সংরক্ষণকারী হয়.
>> ওয়েল, অপভাষা আমরা ব্যবহার ডাটা স্ট্রাকচার উভয় চেষ্টা হয়
এবং গাছ, একটি trie, আবার, যেখানে শুধু যার নোড অ্যারে হয় এক,
এখনও কি আপনি পারে গ্রেড স্কুল থেকে ব্যবহার
আপনি একটি পরিবার তৈরি করার সময় ট্রি পাতা এবং root- র
গাছ এবং শিশুদের পিতা বা মাতা এবং উহার ভাইবোন.
এবং আমরা একটি গাছ বাস্তবায়ন হতে পারে, উদাহরণস্বরূপ, হিসাবে কেবল এই হিসাবে.
একটি গাছ, তা যদি একটি নোডের, এক হিসাবে একটি নম্বর আছে যে এই বৃত্ত,
এটা আছে যাচ্ছে না এক পয়েন্টার, কিন্তু দুটি.
এবং যত তাড়াতাড়ি আপনি যোগ হিসাবে একটি দ্বিতীয় পয়েন্টার, আপনি
আসলে এখন সাজানোর করতে পারেন দুই-মাত্রিক তথ্য
মেমরি স্ট্রাকচার.
একটি দুটি ত্রিমাত্রিক মত অনেক অ্যারে, আপনি যা করতে পারেন
দুই-মাত্রিক ধরনের আছে সংযুক্ত তালিকার কিন্তু ওগুলো
যে একটি প্যাটার্ন অনুসরণ যেখানে কোন চক্র আছে.
এটা এক সঙ্গে সত্যিই একটি গাছ এর এখানে এবং তারপর পিতামহ উপায় আপ
কিছু পিতামাতা এবং শিশুদের এবং grandchildren এবং মহান-নাতি.
এবং তাই ঘোষণা.
>> কিন্তু, খুব এই সম্পর্কে সত্যিই ঝরঝরে কি শুধু একটি কোড বিট সঙ্গে আপনি আঁচড়ান,
থেকে রিকল recursion কিছুক্ষণ ফিরে, যদ্দ্বারা
আপনি নিজেই কল যে একটি ফাংশন লিখুন.
এটি একটি সুন্দর সুযোগ কিছু বাস্তবায়ন
recursion মত, কারণ এই বিবেচনা.
>> এটি একটি গাছ.
এবং আমি কিভাবে সঙ্গে একটু পোঁদ চলেছি আমি রাস্তার মধ্যে পূর্ণসংখ্যার করা.
তাই এত যে এটি একটি বিশেষ আছে একটি বাইনারি অনুসন্ধান বৃক্ষ নাম.
এখন আমরা বাইনারি শুনিনি করেছি আপনি অনুসন্ধান, কিন্তু যা করতে পারেন
এই জিনিস এর নাম থেকে পিছন দিকে কাজ?
আমি কিভাবে প্যাটার্ন কি এই গাছ মধ্যে পূর্ণসংখ্যার ঢোকানো?
এটা নির্বিচারে নয়.
কিছু প্যাটার্ন আছে.
হাঁ.
>> শ্রোতা: বাম থেকে ক্ষুদ্রতর বেশী.
>> ডেভিড MALAN: হ্যাঁ.
ছোট ওগুলো বাম থেকে হয়.
বড় বেশী অধিকার আছে.
যেমন একটি সত্য বিবৃতি যে একটি পিতা বা মাতা, তার বাম সন্তানের চেয়ে অনেক বেশী
তার ডান সন্তানের চেয়ে কিন্তু কম.
এবং যে একা এমনকি একটি হল রিকার্সিভ মৌখিক সংজ্ঞা
আপনি যে আবেদন করতে পারেন কারণ প্রত্যেক নোডের একই যুক্তি
এবং এটা শুধুমাত্র bottoms আউট, একটি বেস ক্ষেত্রে আপনি যদি
হবে, যখন আপনি এক আঘাত পাতা, তাই কথা বলতে,
একটি ছুটি আরও কোন সন্তান আছে যেখানে.
>> এখন কিভাবে আপনি সংখ্যা 44 খুঁজতে পারে?
আপনি, এইচএম root- এ শুরু এবং বলতে হবে.
55 তাই আমি যেতে চাই না 44 না ডান বা আমি বাম যেতে চান?
ওয়েল, অবশ্যই আপনি বাম যেতে চান.
তাই এটা শুধু ফোন মত বাইনারি অনুসন্ধান বইয়ের উদাহরণ
আরো সাধারণভাবে.
কিন্তু আমরা তা বাস্তবায়ন করছি এখন একটু বেশি পরিবর্তনশীল
একটি অ্যারের অনুমতি চেয়ে.
এবং বাস্তবিকই, আপনি তাকান করতে চান তাহলে কোড এ, প্রথম নজরে নিশ্চিত.
এটা লাইন আভা মত দেখায়.
কিন্তু এটা সুন্দর সহজ.
আপনি একটি ফাংশন বাস্তবায়ন করতে চান জীবনে যার উদ্দেশ্য বলা অনুসন্ধান
একটি মান জন্য অনুসন্ধান করতে হয় ভালো এন, একটি পূর্ণসংখ্যা,
এবং আপনি একটি এক পয়েন্টার পাস করছি শিকড় নোডের একটি পয়েন্টার,
বরং, যে গাছ যা থেকে আপনি, অন্য সব কিছুর অ্যাক্সেস করতে পারেন
কিভাবে straightforwardly বিজ্ঞপ্তি আপনি লজিক বাস্তবায়ন করতে পারে.
গাছ নাল হয়, সম্ভবত এটি আছে না.
এর মাত্র মিথ্যা ফিরে যাক.
রাইট?
আপনি এটা কিছুই হাতে যদি, সেখানে কিছুই নেই.
>> অন্যথায় এন কম, যদি এখন এন arrow n-- গাছ তীর,
আমরা সুপার চালু প্রত্যাহার সংক্ষেপে অন্যান্য দিন,
এবং যে শুধু ডি-রেফারেন্স মানে পয়েন্টার এবং এন নামক ক্ষেত্রের তাকান.
সুতরাং সেখানে যান এবং অর্থ এন নামক ক্ষেত্রের তাকান.
তাই এন হলে, আপনাকে দেওয়া করছি মান, কম গাছ পূর্ণসংখ্যা মান বেশি,
যেখানে আপনি যেতে চান না?
বামে যান.
>> সুতরাং recursion বিজ্ঞপ্তি.
আমি না সত্য returning-- করছি.
মিথ্যা নয়.
আমি যাহা উত্তর ফেরত দিচ্ছি নিজেকে একটি কল থেকে হয়, ক্ষণস্থায়ী
অপ্রয়োজনীয় যা আবার একটি এন,, কিন্তু এখন কিছুটা ভিন্ন কি?
আমি কিভাবে ছোট সমস্যা তৈরীর am?
আমি দ্বিতীয় হিসাবে কথা প্রসঙ্গে করছি যুক্তি, গাছ না রুট,
কিন্তু এই ক্ষেত্রে বাম সন্তানের.
তাই আমি বাম সন্তানের কথা প্রসঙ্গে করছি.
>> এদিকে এন চেয়ে বড়, যদি আমি বর্তমানে এ খুঁজছি নোড,
আমি ডান দিকে অনুসন্ধান.
অন্যথায়, গাছ, নাল না হলে এবং উপাদান বাঁদিকে না হলে
এবং এটা, ডানে না কেস wonderfully কি?
আমরা আসলে সালে নোড পাওয়া করেছি প্রশ্ন, এবং তাই আমরা সত্য ফিরে.
>> তাই আমরা ঠিক পৃষ্ঠ চিরা করেছি এখন এই ডেটা স্ট্রাকচার কিছু.
সমস্যা পাঁচটি সেট ইন আপনি পাবেন এখনো আরও এইসব অন্বেষণ,
এবং আপনি আপনার নকশা দেওয়া হবে এই বিষয়ে যান কিভাবে পছন্দমত.
আমি উপর উপসংহারে চাই কি মাত্র 30 সেকেন্ডে টিজার হয়
তার পরেও আগামী সপ্তাহে এবং অ্যাওয়েট্সওয়াচমেন কি.
>> আমরা সৌভাগ্যক্রমে begin-- হিসাবে আপনি প্রতাপ ধীরে ধীরে আমাদের রূপান্তরটি হাসছে না
সি এবং নিম্ন বিশ্বের থেকে স্তর বাস্তবায়ন বিবরণ,
বিশ্ব যা আমরা জন্য নিতে পারেন অন্য কেউ পরিশেষে আছে যে মঞ্জুর
এই তথ্য প্রয়োগ আমাদের জন্য কাঠামো,
এবং আমরা বুঝতে শুরু করব বাস্তব জগতে বাস্তবায়নের মানে
ওয়েব ভিত্তিক প্রোগ্রাম এবং ওয়েবসাইট আরো সাধারণভাবে
এবং এছাড়াও খুব নিরাপত্তা আমরা শুধুমাত্র করেছি যে প্রভাব
পৃষ্ঠের এবং স্ক্র্যাচ থেকে শুরু.
এখানে আমাদের অ্যাওয়েট্সওয়াচমেন কি দিনের মধ্যে আসা.
>> [ভিডিও প্লেব্যাক]
>> -তিনি, একটি বার্তা নিয়ে এসেছেন সব তার নিজস্ব একটি প্রোটোকল সঙ্গে.
তিনি নিষ্ঠুর এক পৃথিবীর এসেছিলেন ফায়ারওয়াল, রাউটার uncaring,
এবং বিপদ মৃত্যুর চেয়ে অনেক খারাপ.
তিনি দ্রুত.
তিনি দৃঢ়.
তিনি বিভিন্ন TCP / IP সংক্রান্ত, এবং তিনি আপনার ঠিকানা এর পেয়েছিলাম.
"নেট এর ওয়ারিয়র্স."
[END টি ভিডিও প্লেব্যাক]
ডেভিড Malan: আগামী সপ্তাহে আসছে.
আমরা আপনাকে তাহলে দেখতে হবে.
[ভিডিও প্লেব্যাক]
-এবং এখন, "ডিপ থটস" Daven Farnham দ্বারা.
-ডেভিড সবসময় আরম্ভ , সঙ্গে বক্তৃতা "ঠিক আছে."
কেন না, "এখানে সমাধান এই সপ্তাহে এর সমস্যা সেট "থেকে
বা "আমরা একটি একটি আপনি সব প্রদান করছেন?"
[হাসতে]
[END টি ভিডিও প্লেব্যাক]