1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:03,340 [সঙ্গীত বাজানো] 3 00:00:03,340 --> 00:00:11,020 4 00:00:11,020 --> 00:00:14,010 >> ডেভিড Malan: এটি CS50. 5 00:00:14,010 --> 00:00:18,090 এবং এই শুরু এবং উভয় হয় আক্ষরিক প্রায় শেষ ভালো end-- 6 00:00:18,090 --> 00:00:18,825 সপ্তাহে ছয়. 7 00:00:18,825 --> 00:00:20,030 8 00:00:20,030 --> 00:00:22,640 >> আমি একটি ভাগ চাই একটি মজার সত্য সামান্য বিট. 9 00:00:22,640 --> 00:00:25,370 আমি একটি থেকে এই পর্যন্ত টানা করেছি গত সেমিস্টারে এর ডাটা সেট. 10 00:00:25,370 --> 00:00:29,710 আপনি আমরা প্রতি উপর আপনি জিজ্ঞাসা যে প্রত্যাহার হতে পারে পি সেট ফর্ম আপনি অনলাইন প্রেক্ষিত করেছি 11 00:00:29,710 --> 00:00:31,580 অথবা আপনি ব্যক্তির মধ্যে উপস্থিত ছিলেন করেছি. 12 00:00:31,580 --> 00:00:33,020 এবং এখানে তথ্য. 13 00:00:33,020 --> 00:00:34,710 আজ তাই অনেক আন্দাজের ছিল. 14 00:00:34,710 --> 00:00:37,126 কিন্তু আমরা একটি বিট ব্যয় করতে চেয়েছিলেন সময় আপনার সাথে তবু. 15 00:00:37,126 --> 00:00:40,599 কেউ কেন এই অনুমান করতে চান গ্রাফ, আপ ডাউন, আপ ডাউন, তাই Jaggy হয় 16 00:00:40,599 --> 00:00:41,265 তাই ধারাবাহিকভাবে? 17 00:00:41,265 --> 00:00:42,980 18 00:00:42,980 --> 00:00:45,130 কি শিখরের প্রতিটি কাজ এবং পাত্র প্রতিনিধিত্ব? 19 00:00:45,130 --> 00:00:46,005 >> শ্রোতা: [শ্রবণাতীত] 20 00:00:46,005 --> 00:00:47,002 21 00:00:47,002 --> 00:00:47,835 ডেভিড Malan: প্রকৃতপক্ষে. 22 00:00:47,835 --> 00:00:50,900 23 00:00:50,900 --> 00:00:55,480 এবং আরো amusingly, দেবতা মানা, আমরা একটি শুক্রবার এক বক্তৃতায় রাখা 24 00:00:55,480 --> 00:00:58,960 সেমিস্টারে শুরুতে, যে আমরা ঘটতে দেখতে কি. 25 00:00:58,960 --> 00:01:03,430 তাই আজ আমরা একটি বিট মধ্যে অংশগ্রহণ ডাটা স্ট্রাকচার সম্পর্কে আরো. 26 00:01:03,430 --> 00:01:06,660 এবং যদি আপনি একটি কঠিন এর আরো দিতে পাঁচ এ সমস্যার জন্য মানসিক মডেল, 27 00:01:06,660 --> 00:01:07,450 যা এখন বাইরে. 28 00:01:07,450 --> 00:01:10,817 বানান ভুল, যাহাতে আমরা করব আপনি একটি টেক্সট ফাইল হাতে কিছু 100,000 29 00:01:10,817 --> 00:01:12,650 প্লাস ইংরেজি শব্দ, এবং আপনি আছে চলুন 30 00:01:12,650 --> 00:01:17,770 চালাকি সেগুলিকে লোড জিনিসটা কিভাবে মেমরিতে, উপস্থিত RAM- র মধ্যে, কিছু তথ্য ব্যবহার করে 31 00:01:17,770 --> 00:01:19,330 আপনার পছন্দের কাঠামো. 32 00:01:19,330 --> 00:01:22,470 >> এখন এক ধরনের ডাটা স্ট্রাকচার পারে হবে না সম্ভবত হতে পারে, কিন্তু, 33 00:01:22,470 --> 00:01:25,630 মোটামুটি সরল লিঙ্ক তালিকা, যা আমরা শেষ সময় চালু. 34 00:01:25,630 --> 00:01:29,220 এবং একটি লিঙ্ক তালিকা অন্তত ছিল একটি অ্যারের উপর এক সুবিধা. 35 00:01:29,220 --> 00:01:32,096 এক সুবিধা এর কি তর্কসাপেক্ষ একটি লিঙ্ক তালিকা? 36 00:01:32,096 --> 00:01:32,950 >> শ্রোতা: সন্নিবেশন. 37 00:01:32,950 --> 00:01:33,908 >> ডেভিড Malan: সন্নিবেশন. 38 00:01:33,908 --> 00:01:34,155 39 00:01:34,155 --> 00:01:35,196 আপনি যে দ্বারা কি বোঝাতে চেয়েছেন? 40 00:01:35,196 --> 00:01:37,872 >> শ্রোতা: কোথাও বরাবর তালিকা [শ্রবণাতীত]. 41 00:01:37,872 --> 00:01:38,770 >> ডেভিড MALAN: গুড. 42 00:01:38,770 --> 00:01:42,090 তাই আপনি যদি একটি উপাদান যেখানেই সন্নিবেশ করতে পারেন আপনি তালিকা মাঝখানে চান 43 00:01:42,090 --> 00:01:45,490 কিছু এলোমেলো করেও, যা আমরা আমাদের শ্রেণীবিভাজন এ, পর্যবসিত 44 00:01:45,490 --> 00:01:47,630 আলোচনা, নয় অগত্যা একটি ভাল জিনিস, 45 00:01:47,630 --> 00:01:51,200 এটা সময় লাগে কারণ আসলে সরাতে যারা মানুষের সব বাম বা ডান. 46 00:01:51,200 --> 00:01:55,540 তাই একটি লিঙ্ক তালিকা সঙ্গে, আপনি যা করতে পারেন শুধু malloc বরাদ্দ, একটি নতুন নোডের, 47 00:01:55,540 --> 00:01:58,385 এবং তারপর একটি দম্পতি আপডেট পয়েন্টার দুই, তিন অপারেশন max-- 48 00:01:58,385 --> 00:02:01,480 এবং আমরা কেউ স্লট সক্ষম হন একটি তালিকা মধ্যে কোথাও মধ্যে. 49 00:02:01,480 --> 00:02:03,550 >> আর কি সুবিধাজনক ছিল একটি লিঙ্ক তালিকা সম্পর্কে? 50 00:02:03,550 --> 00:02:04,980 51 00:02:04,980 --> 00:02:05,659 হাঁ? 52 00:02:05,659 --> 00:02:06,534 >> শ্রোতা: [শ্রবণাতীত] 53 00:02:06,534 --> 00:02:07,538 54 00:02:07,538 --> 00:02:08,413 ডেভিড Malan: পারফেক্ট. 55 00:02:08,413 --> 00:02:10,590 56 00:02:10,590 --> 00:02:11,090 পারফেক্ট. 57 00:02:11,090 --> 00:02:12,070 এটা সত্যিই গতিশীল করে. 58 00:02:12,070 --> 00:02:15,100 এবং যদি আপনি সংগঠনের করছি না যে, অগ্রিম, কিছু নির্দিষ্ট মাপ 59 00:02:15,100 --> 00:02:18,750 মেমরি খণ্ড, মত আপনার থাকতে হবে একটি অ্যারের সাথে, গোলমালে করতে যা 60 00:02:18,750 --> 00:02:22,455 আপনি শুধুমাত্র উপর নোড বরাদ্দ করতে পারেন চাহিদা যার ফলে শুধুমাত্র হিসাবে অনেক জায়গা ব্যবহার 61 00:02:22,455 --> 00:02:23,330 আপনি আসলে প্রয়োজন হিসাবে. 62 00:02:23,330 --> 00:02:26,830 একটি অ্যারের সাথে বিপরীতভাবে, আপনি প্রতাপ ঘটনাক্রমে খুব সামান্য বরাদ্দ. 63 00:02:26,830 --> 00:02:28,871 এবং তারপর এটা ঠিক যাচ্ছে ঘাড় ব্যাথা হতে 64 00:02:28,871 --> 00:02:32,440 একটি নতুন বড় অ্যারে reallocate করতে, কপি সবকিছু ধরে, পুরাতন অ্যারে মুক্ত 65 00:02:32,440 --> 00:02:33,990 এবং তারপর আপনার ব্যবসা সম্পর্কে সরাতে. 66 00:02:33,990 --> 00:02:37,479 বা তার থেকেও খারাপ, আপনি উপায় বরাদ্দ পারে আপনি আসলে প্রয়োজন বেশী মেমরি, 67 00:02:37,479 --> 00:02:40,520 এবং যাতে আপনি একটি খুব আছে চলুন তাই কথা বলতে, অ্যারে জনবিরল জনবহুল. 68 00:02:40,520 --> 00:02:44,350 >> সুতরাং একটি লিঙ্ক তালিকা এই আপনি দেয় গতিশীলতা এবং নমনীয়তা সুবিধার 69 00:02:44,350 --> 00:02:46,080 insertions এবং মুছে দিয়ে. 70 00:02:46,080 --> 00:02:48,000 কিন্তু নিশ্চয় দেওয়া একটি মূল্য আছে অবশ্যই. 71 00:02:48,000 --> 00:02:50,000 থিম আসলে, এক ব্যঙ্গ শূন্য অন্বেষণ 72 00:02:50,000 --> 00:02:52,430 ছিল বিনিময় প্রথা একটি দম্পতি আমরা এইভাবে দেখা করেছি. 73 00:02:52,430 --> 00:02:56,161 তাই একটি একটি প্রদত্ত মূল্য বা কি একটি লিঙ্ক তালিকা এর downside? 74 00:02:56,161 --> 00:02:56,660 হাঁ. 75 00:02:56,660 --> 00:02:57,560 >> শ্রোতা: কোন র্যান্ডম অ্যাক্সেস. 76 00:02:57,560 --> 00:02:58,809 >> ডেভিড Malan: কোন র্যান্ডম অ্যাক্সেস. 77 00:02:58,809 --> 00:02:59,540 কিন্তু যারা বজায় রাখে? 78 00:02:59,540 --> 00:03:01,546 র্যান্ডম এক্সেস বাধ্যকারী লাগছে না. 79 00:03:01,546 --> 00:03:02,421 >> শ্রোতা: [শ্রবণাতীত] 80 00:03:02,421 --> 00:03:04,865 81 00:03:04,865 --> 00:03:05,740 ডেভিড MALAN: যথাযথভাবে. 82 00:03:05,740 --> 00:03:07,580 আপনি করাতে চান একটি নির্দিষ্ট অ্যালগোরিদম 83 00:03:07,580 --> 00:03:10,170 এবং আমাকে আসলে উত্থাপন করা যাক বিশেষ বাইনারি অনুসন্ধান, যা 84 00:03:10,170 --> 00:03:12,600 আমরা বেশ বিট ব্যবহার করেছি এক আপনি র্যান্ডম অ্যাক্সেস না থাকে তাহলে, 85 00:03:12,600 --> 00:03:15,516 আপনি যে সহজ গাণিতিক ব্যবহার করতে পারবেন না মধ্যম উপাদান মত খুঁজে বের করার 86 00:03:15,516 --> 00:03:16,530 এবং এটি অধিকার করার জাম্পিং. 87 00:03:16,530 --> 00:03:20,239 আপনি পরিবর্তে প্রথমে শুরু করতে হবে উপাদান এবং সুসংগত ভাবে বাম থেকে অনুসন্ধান 88 00:03:20,239 --> 00:03:22,780 ডান থেকে আপনি খুঁজতে চান মাঝখানে বা অন্য উপাদান. 89 00:03:22,780 --> 00:03:24,410 >> শ্রোতা: এটা সম্ভবত আরো মেমরি লাগে. 90 00:03:24,410 --> 00:03:25,040 >> ডেভিড Malan: আরো মেমরি লাগে. 91 00:03:25,040 --> 00:03:27,464 কোথায় যে অতিরিক্ত হয় মেমরি থেকে আসছে কত খরচ? 92 00:03:27,464 --> 00:03:28,339 >> শ্রোতা: [শ্রবণাতীত] 93 00:03:28,339 --> 00:03:32,566 94 00:03:32,566 --> 00:03:33,440 ডেভিড MALAN: যথাযথভাবে. 95 00:03:33,440 --> 00:03:35,679 এখানে এই ক্ষেত্রে, আমরা ছিল পূর্ণসংখ্যার জন্য একটি লিঙ্ক তালিকা, 96 00:03:35,679 --> 00:03:37,470 এবং এখনো আমরা দ্বিত্ব করছি মেমরির পরিমাণ 97 00:03:37,470 --> 00:03:39,680 আমরা এই পয়েন্টার মজুত করে প্রয়োজন. 98 00:03:39,680 --> 00:03:42,090 হিসাবে একটি বড় চুক্তি নিয়ে এখন কম আপনার structs বৃহত্তর পেতে 99 00:03:42,090 --> 00:03:45,320 এবং আপনি একটি নম্বর সংরক্ষণ করছেন কিন্তু হয়তো একজন ছাত্র বা অন্য বস্তু. 100 00:03:45,320 --> 00:03:46,880 কিন্তু বিন্দু অবশ্যই রয়ে যায়. 101 00:03:46,880 --> 00:03:49,421 তাই অপারেশনের একটি নম্বর সংযুক্ত তালিকার উপর বলা হয়েছে 102 00:03:49,421 --> 00:03:50,570 n-- রৈখিক বড় হে ছিল. 103 00:03:50,570 --> 00:03:54,730 সন্নিবেশ বা সার্চ ভালো জিনিস বা ক্ষেত্রে একটি উপাদান মধ্যে অপসারণ 104 00:03:54,730 --> 00:03:57,720 খুব শেষে হতে ঘটেছে এটা সাজানো বা না কিনা তালিকা. 105 00:03:57,720 --> 00:04:01,167 >> কখনও কখনও আপনি পেতে ভাগ্যবান এবং এ পারে এই অপারেশন উপর যাতে কম সীমার 106 00:04:01,167 --> 00:04:04,250 আপনি যদি এছাড়াও ধ্রুবক সময় হতে পারে সবসময় প্রথম উপাদান এ খুঁজছি, 107 00:04:04,250 --> 00:04:05,070 উদাহরণস্বরূপ. 108 00:04:05,070 --> 00:04:09,360 কিন্তু শেষ পর্যন্ত, আমরা অঙ্গীকার পবিত্র ঈপ্সিত বস্তু অর্জন 109 00:04:09,360 --> 00:04:12,630 ডাটা স্ট্রাকচার, বা কিছু পড়তা উহার, 110 00:04:12,630 --> 00:04:14,290 ধ্রুব সময় প্রণালী দ্বারা. 111 00:04:14,290 --> 00:04:17,579 আমরা উপাদান খুঁজে অথবা উপাদান যোগ করতে পারি বা একটি তালিকা থেকে উপাদান মুছে ফেলার? 112 00:04:17,579 --> 00:04:19,059 আমরা বেশ শীঘ্রই দেখতে হইবে. 113 00:04:19,059 --> 00:04:21,100 এবং এটা যে এক সক্রিয় আউট আমরা এসেছি গঠনতন্ত্রের 114 00:04:21,100 --> 00:04:23,464 আজ ব্যবহার শুরু করতে যাচ্ছে, পি এ বার্ষিক ব্যবহার, পাঁচ সেট 115 00:04:23,464 --> 00:04:24,630 আসলে বেশ পরিচিত. 116 00:04:24,630 --> 00:04:27,430 উদাহরণস্বরূপ, এই একটি গুচ্ছ যদি পরীক্ষার বই, প্রতিটি যা 117 00:04:27,430 --> 00:04:29,660 একটি ছাত্র এর প্রথম হয়েছে এটি উপর এবং শেষ নাম নাম, 118 00:04:29,660 --> 00:04:31,820 এবং আমি তাদের কাছ থেকে নিতে একটি পরীক্ষা শেষে, 119 00:04:31,820 --> 00:04:33,746 এবং তারা সব চমত্কার আছেন একটি র্যান্ডম ক্রম অনেক, 120 00:04:33,746 --> 00:04:36,370 এবং আমরা শ্রেণীবিভাজন সম্পর্কে যেতে চান এই পরীক্ষার তাই যে একবার graded 121 00:04:36,370 --> 00:04:38,661 এটা শুধু অনেক সহজ এবং দ্রুত তাদের খুঁজে ফিরে হাতে 122 00:04:38,661 --> 00:04:40,030 বর্ণানুক্রমে ছাত্র. 123 00:04:40,030 --> 00:04:42,770 আপনার সহজাত বুদ্ধির কি হবে এই মত পরীক্ষার একটি গাদা জন্য? 124 00:04:42,770 --> 00:04:45,019 >> ওয়েল, আপনি যদি আমার মত হন তাহলে, আপনি এই মিটার হয় দেখতে পারে, 125 00:04:45,019 --> 00:04:48,505 তাই আমি সাজানোর মধ্যে এই করা যাচ্ছে না এই আমার টেবিল বা আমার তল যেখানে যদি 126 00:04:48,505 --> 00:04:50,650 আমি জিনিষ ছড়িয়ে করছি out-- বা আমার অ্যারের really-- 127 00:04:50,650 --> 00:04:52,210 আমি সেখানে Ms সব করা হতে পারে. 128 00:04:52,210 --> 00:04:52,710 ওহ. 129 00:04:52,710 --> 00:04:55,020 এখানে একটি এ তাই আমি বল এর এখানে উপর যত করা. 130 00:04:55,020 --> 00:04:55,520 ওহ. 131 00:04:55,520 --> 00:04:57,980 এখানে আমি যাচ্ছি অন্য উ এর এখানে উপর যে করা. 132 00:04:57,980 --> 00:05:02,490 এখানে একটি জেড এখানে আরেকটি এম তাই হয় আমি ভালো piles উপার্জন শুরু হতে পারে. 133 00:05:02,490 --> 00:05:06,620 এবং তারপর হয়তো আমি পরে যেতে চাই এবং সাজানোর খুব nitpicky পর সাজানোর 134 00:05:06,620 --> 00:05:07,710 পৃথক piles. 135 00:05:07,710 --> 00:05:11,300 কিন্তু বিন্দু আমি দেখাবে হয় আমি হাতি নই যে ইনপুট এ 136 00:05:11,300 --> 00:05:14,016 এবং আমি কিছু হিসাব করা হবে যে ইনপুটের ভিত্তিতে সিদ্ধান্ত. 137 00:05:14,016 --> 00:05:15,640 এটি একটি দিয়ে শুরু হয়, তাহলে ওইখানে এটা করা. 138 00:05:15,640 --> 00:05:18,980 এটা টু Z সঙ্গে শুরু হয়, তাহলে তা ধরে রাখা মধ্যে মধ্যে আছে, এবং সবকিছু. 139 00:05:18,980 --> 00:05:22,730 >> সুতরাং এই যে একটি কৌশল সাধারণত hashing-- এইচ-একটি-এস-H-- হিসাবে পরিচিত 140 00:05:22,730 --> 00:05:26,550 যা সাধারণত হিসেবে গ্রহণ মানে ইনপুট এবং গনা যে ইনপুট ব্যবহার 141 00:05:26,550 --> 00:05:30,940 একটি মান, সাধারণত একটি সংখ্যা, এবং যে এর সংখ্যা স্টোরেজ মধ্যে সূচক হয় 142 00:05:30,940 --> 00:05:32,260 ধারক, একটি অ্যারের মত. 143 00:05:32,260 --> 00:05:35,490 তাই অন্য কথায়, আমি একটি থাকতে পারে হ্যাশ ফাংশন, আমি আমার মাথা কি হিসাবে, 144 00:05:35,490 --> 00:05:37,940 আমি কেউ দেখতে হলে যে একটি দিয়ে শুরু হয় এমন নাম, 145 00:05:37,940 --> 00:05:40,190 আমি যে ম্যাপ করা যাচ্ছে না আমার মাথার মধ্যে শূন্য. 146 00:05:40,190 --> 00:05:44,160 আমি টু Z সঙ্গে কেউ দেখতে হলে, আমি আছি আমার মাথা থেকে 25 যে ম্যাপ যাচ্ছে 147 00:05:44,160 --> 00:05:46,220 এবং তারপর পুরা গত সবচেয়ে গাদা. 148 00:05:46,220 --> 00:05:50,990 >> এখন, যদি আপনি আমার মস্তিষ্ক না আমার মনে হয় কিন্তু একটি সি প্রোগ্রাম, কি নম্বর পারা 149 00:05:50,990 --> 00:05:53,170 আপনি যে একই ফলাফল অর্জন করার উপর নির্ভর? 150 00:05:53,170 --> 00:05:55,594 অন্য কথায়, আপনি যদি , ASCII অক্ষর একটি ছিল 151 00:05:55,594 --> 00:05:57,510 কিভাবে আপনি নির্ধারণ করবেন কি বালতি এটা করা? 152 00:05:57,510 --> 00:05:59,801 আপনি সম্ভবত না চান বালতি 65, সেটিকে করা যা 153 00:05:59,801 --> 00:06:01,840 ওইখানে মত হবে কোন উপযুক্ত কারণ. 154 00:06:01,840 --> 00:06:04,320 কোথায় আপনি একটি লাগাতে চান না তার হওয়া ASCII মান শর্তাবলী? 155 00:06:04,320 --> 00:06:05,600 156 00:06:05,600 --> 00:06:08,920 কোথায় আপনি তার ASCII কে কি করতে চান মান একটি দক্ষতা সহকারে বালতি নিয়ে আসা 157 00:06:08,920 --> 00:06:09,480 এটা করা? 158 00:06:09,480 --> 00:06:10,206 >> শ্রোতা: ঋণচিহ্ন উ 159 00:06:10,206 --> 00:06:10,956 >> ডেভিড MALAN: হ্যাঁ. 160 00:06:10,956 --> 00:06:13,190 তাই বিয়োগ A অথবা বিয়োগ বিশেষভাবে 65 এটা যদি 161 00:06:13,190 --> 00:06:18,240 একটি রাজধানী উ অথবা 98 হলে এটি একটি ছোট হাতের একটি করে. 162 00:06:18,240 --> 00:06:21,300 তাই যে খুব, আমাদের সম্ভব হবে সহজভাবে এবং খুব গাণিতিক, 163 00:06:21,300 --> 00:06:23,260 যে মত একটি বালতি মধ্যে কিছু করা. 164 00:06:23,260 --> 00:06:26,010 সুতরাং আমরা আসলে কি দেখা যাচ্ছে এই হিসাবে ভাল এমনকি ক্যুইজ সঙ্গে. 165 00:06:26,010 --> 00:06:29,051 >> সুতরাং আপনি বৃত্তাকার প্রত্যাহার করা হতে পারে আপনার প্রচ্ছদে শিক্ষণ সহকর্মী নাম. 166 00:06:29,051 --> 00:06:32,270 এবং TF এর নাম সংগঠিত হয়েছিল বর্ণানুক্রমে এই কলাম মধ্যে, 167 00:06:32,270 --> 00:06:34,400 ভাল, এটি বিশ্বাস করি বা না, যখন আমাদের সব 80 প্লাস 168 00:06:34,400 --> 00:06:37,800 , গ্রেড অন্যান্য রাতের একসঙ্গে পেয়েছিলাম আমাদের শূন্য প্রক্রিয়ায় শেষ ধাপে 169 00:06:37,800 --> 00:06:41,830 একটি বড় মধ্যে ক্যুইজ হ্যাশ হয় [শ্রবণাতীত] এ তলের স্থান 170 00:06:41,830 --> 00:06:45,110 এবং সবাই এর ক্যুইজ খুঁজে রাখা তাদের TF এর ঠিক অনুক্রমে 171 00:06:45,110 --> 00:06:47,700 প্রচ্ছদে নাম, কারণ তারপর এটা আমাদের জন্য অনেক সহজ 172 00:06:47,700 --> 00:06:51,290 যে ব্যবহার রৈখিক মাধ্যমে অনুসন্ধান অনুসন্ধান বা চালাকি কিছু 173 00:06:51,290 --> 00:06:54,050 একটি TF খুঁজে বের করার জন্য তার বা তার ছাত্র 'মো. 174 00:06:54,050 --> 00:06:56,060 >> হ্যাশ এর তাই এই ধারণা আপনি দেখতে পাবেন যে 175 00:06:56,060 --> 00:07:00,520 বেশ শক্তিশালী আসলে সুন্দর হয় প্রাকৃত এবং খুব স্বজ্ঞাত, 176 00:07:00,520 --> 00:07:03,000 অনেক সম্ভবত বিভক্ত মত ও জিতা সপ্তাহে শূন্য ছিল. 177 00:07:03,000 --> 00:07:05,250 Hackathon করতে আমি দ্রুত এগিয়ে বছর দুয়েক আগে. 178 00:07:05,250 --> 00:07:08,040 এই Zamyla এবং একটি দম্পতি ছিল অন্যান্য কর্মীদের অভিবাদন ছাত্র 179 00:07:08,040 --> 00:07:09,030 তারা এসেছেন হিসাবে. 180 00:07:09,030 --> 00:07:12,680 এবং আমরা ভাঁজ আভা ছিল নাম ট্যাগ দিয়ে সেখানে টেবিল. 181 00:07:12,680 --> 00:07:15,380 এবং আমরা নামের ট্যাগ আয়োজন করেছে সঙ্গে ওইদিকে হিসাবে ভালো 182 00:07:15,380 --> 00:07:16,690 এবং ওইখানে Zs. 183 00:07:16,690 --> 00:07:20,350 তাই টিএফএস এক খুব চালাকি নির্দেশাবলীর হিসেবে এই লিখেছে 184 00:07:20,350 --> 00:07:21,030 প্রতিদিন. 185 00:07:21,030 --> 00:07:24,480 আর সেমিস্টারে এই সপ্তাহে 12 এ সব নির্ভুল জ্ঞান এবং সবাই তৈরি 186 00:07:24,480 --> 00:07:25,310 কি করতে হবে তা জানত. 187 00:07:25,310 --> 00:07:27,900 কিন্তু যে কোন সময় আপনি করেছি একই ভাবে সারিবদ্ধ, 188 00:07:27,900 --> 00:07:30,272 আপনি রূপায়ণকারী করছি একটি হ্যাশ একই ধারণা. 189 00:07:30,272 --> 00:07:31,730 তাই এর এটি একটি সামান্য বিট ডিক্রী দিন. 190 00:07:31,730 --> 00:07:32,890 এখানে একটি অ্যারে. 191 00:07:32,890 --> 00:07:36,820 এটা একটা সামান্য হতে এর টানা ব্যাপক শুধু দৃশ্যত, বর্ণা, 192 00:07:36,820 --> 00:07:38,920 আমরা স্ট্রিং লাগাতে পারে যে ভালো কিছু মধ্যে. 193 00:07:38,920 --> 00:07:41,970 এবং এই অ্যারে পরিষ্কারভাবে আকার 26 মোট. 194 00:07:41,970 --> 00:07:43,935 এবং জিনিস বলা হয় টেবিলের ইচ্ছামত. 195 00:07:43,935 --> 00:07:48,930 কিন্তু এই মাত্র একজন শিল্পী এর প্রতিদান একটি হ্যাশ টেবিল হতে পারে কি. 196 00:07:48,930 --> 00:07:52,799 >> সুতরাং একটি হ্যাশ টেবিল এখন যাচ্ছে একটি উচ্চ স্তরের তথ্য গঠন হতে. 197 00:07:52,799 --> 00:07:54,840 দিন শেষে আমরা আপনাকে যে দেখতে চলেছেন 198 00:07:54,840 --> 00:07:58,700 একটি হ্যাশ টেবিল, বাস্তবায়ন করতে পারে যা অনেক চেক ইন লাইন ভালো হয় 199 00:07:58,700 --> 00:08:02,059 অনেক ভালো একটি Hackathon এ টেবিল পরীক্ষার বই সাজানোর জন্য ব্যবহৃত. 200 00:08:02,059 --> 00:08:03,850 কিন্তু একটি হ্যাশ টেবিল এই উচ্চ স্তর সাজানোর 201 00:08:03,850 --> 00:08:08,250 একটি অ্যারে ব্যবহার করতে পারে যে ধারণা , ফণা তা বাস্তবায়ন নীচে 202 00:08:08,250 --> 00:08:11,890 অথবা এটি একটি দৈর্ঘ্য তালিকা ব্যবহার করুন, অথবা এমনকি পারে সম্ভবত অন্য কিছু ডাটা স্ট্রাকচার. 203 00:08:11,890 --> 00:08:15,590 এবং এখন যে theme-- গ্রহণ এর এই মৌলিক উপাদানগুলো কিছু 204 00:08:15,590 --> 00:08:18,310 একটি অ্যারে এবং এই বিল্ডিং মত একটি দৈর্ঘ্য তালিকার এখন অবরোধ 205 00:08:18,310 --> 00:08:21,740 এবং আমরা নির্মাণ করতে পারেন কি কি দেখছি যারা উপরে, উপাদানগুলো মত 206 00:08:21,740 --> 00:08:26,550 একটি রেসিপি মধ্যে, আরো এবং আরো উপার্জন আকর্ষণীয় এবং দরকারী চূড়ান্ত ফলাফল. 207 00:08:26,550 --> 00:08:28,680 >> হ্যাশ টেবিল সঙ্গে তাই আমরা তা বাস্তবায়ন হতে পারে 208 00:08:28,680 --> 00:08:32,540 মেমরি pictorially ভালো, কিন্তু কিভাবে এটা আসলে আপ কোডেড হতে পারে? 209 00:08:32,540 --> 00:08:33,789 ওয়েল, হয়তো হিসাবে কেবল এই হল. 210 00:08:33,789 --> 00:08:38,270 সব ক্যাপ মধ্যে ক্ষমতা, ঠিক হয় তাহলে উদাহরণস্বরূপ 26 জন্য কিছু constant--, 211 00:08:38,270 --> 00:08:42,030 alphabet-- এর 26 অক্ষর জন্য আমি আমার পরিবর্তনশীল টেবিল কল পারে, 212 00:08:42,030 --> 00:08:45,630 এবং আমি যাচ্ছি যে দাবি পারে সেখানে, বা স্ট্রিং গৃহস্থালি বড় করা. 213 00:08:45,630 --> 00:08:49,880 তাই এটি হিসাবে সহজ যদি এই হিসাবে আপনি একটি হ্যাশ টেবিল বাস্তবায়ন করতে চান. 214 00:08:49,880 --> 00:08:51,490 এবং এখনো, এই সত্যিই শুধু একটি অ্যারে. 215 00:08:51,490 --> 00:08:53,198 কিন্তু আবার, একটি হ্যাশ টেবিল কি আমরা করব এখন হয় 216 00:08:53,198 --> 00:08:57,470 শুধু যে একটি বিমূর্ত ডাটা টাইপ কল উপরে একটি ধারণাগত layering সাজানোর 217 00:08:57,470 --> 00:09:00,780 আরো জাগতিক কিছু এখন একটি অ্যারের মত. 218 00:09:00,780 --> 00:09:02,960 >> এখন, কিভাবে আমরা যেতে না সমস্যা সমাধানে সম্পর্কে? 219 00:09:02,960 --> 00:09:06,980 ওয়েল, আগে আমি বিলাসিতা ছিল এর এখানে যথেষ্ট টেবিল স্থান হচ্ছে 220 00:09:06,980 --> 00:09:09,460 আমি লাগাতে পারে যাতে মো কোথাও আমি চেয়েছি. 221 00:09:09,460 --> 00:09:10,620 সুতরাং হিসাবে এখানে যেতে পারে. 222 00:09:10,620 --> 00:09:12,100 Zs এখানে যেতে পারে. 223 00:09:12,100 --> 00:09:13,230 Ms এখানে যেতে পারে. 224 00:09:13,230 --> 00:09:14,740 এবং তারপর আমি কিছু অতিরিক্ত স্থান ছিল. 225 00:09:14,740 --> 00:09:18,740 কিন্তু এই একটি Cheat অধিকার একটি বিট এখন এই টেবিলের কারণ, আমি যদি সত্যিই 226 00:09:18,740 --> 00:09:22,720 একটি অ্যারে হিসাবে এটি চিন্তা, শুধু হয় কিছু নির্দিষ্ট আকারের হতে যাচ্ছে. 227 00:09:22,720 --> 00:09:25,380 >> তাই টেকনিক্যালি, আমি টান যদি অন্য ছাত্র এর ব্যঙ্গ আপ 228 00:09:25,380 --> 00:09:28,490 এবং এই ব্যক্তির, উহু, দেখতে নাম, খুব একটি A দিয়ে শুরু হয় 229 00:09:28,490 --> 00:09:30,980 আমি ধরনের সেখানে লাগাতে চান. 230 00:09:30,980 --> 00:09:34,740 কিন্তু যত তাড়াতাড়ি আমি যদি সেখানে লাগাতে হিসাবে এই টেবিলের প্রকৃতপক্ষে একটি অ্যারে উল্লেখ করে, 231 00:09:34,740 --> 00:09:37,840 আমি অগ্রাহ্য বা clobbering করা যাচ্ছে না কেহ এই ছাত্র এর ব্যঙ্গ. 232 00:09:37,840 --> 00:09:38,340 রাইট? 233 00:09:38,340 --> 00:09:41,972 এই একটি অ্যারের হয়, শুধুমাত্র এক জিনিস যা করতে পারেন এই কোষ বা উপাদানের প্রত্যেকটি যান. 234 00:09:41,972 --> 00:09:43,680 এবং তাই আমি ধরনের আছে বাছাই ও নির্বাচন করার. 235 00:09:43,680 --> 00:09:45,735 >> এখন আগে আমি ধরনের প্রতারিত এবং এই বা আমি কি 236 00:09:45,735 --> 00:09:47,526 শুধু ধরনের স্তুপীকৃত একে অপরের উপরে তাদের. 237 00:09:47,526 --> 00:09:49,170 কিন্তু যে কোড মধ্যে উড়ে যাচ্ছে না. 238 00:09:49,170 --> 00:09:52,260 তাই আমি যেখানে লাগাতে পারে যার নাম দ্বিতীয় ছাত্র 239 00:09:52,260 --> 00:09:54,964 আমি ছিল এই সব যদি একটি হয় প্রাপ্তিসাধ্য টেবিল স্থান? 240 00:09:54,964 --> 00:09:57,880 এবং আমি তিনটি স্লট এবং এটা ব্যবহার করেছি মাত্র কয়েক অন্যদের আছে বলে মনে হচ্ছে. 241 00:09:57,880 --> 00:09:58,959 আপনি কি করতে পারে? 242 00:09:58,959 --> 00:09:59,834 শ্রোতা: [শ্রবণাতীত] 243 00:09:59,834 --> 00:10:00,565 244 00:10:00,565 --> 00:10:01,315 ডেভিড MALAN: হ্যাঁ. 245 00:10:01,315 --> 00:10:02,370 হয়তো এর মাত্র এটা সহজ রাখা যাক. 246 00:10:02,370 --> 00:10:02,660 রাইট? 247 00:10:02,660 --> 00:10:04,243 আমি এটা লাগাতে চান যেখানে এটি উপযুক্ত না. 248 00:10:04,243 --> 00:10:07,450 তাই আমি এটা করা যাচ্ছে না টেকনিক্যালি একটি বি যেতে হবে যেখানে. 249 00:10:07,450 --> 00:10:09,932 এখন, অবশ্যই, আমি শুরু করছি কোণার মধ্যে নিজেকে আঁকা. 250 00:10:09,932 --> 00:10:11,890 আমি একজন ছাত্র পেতে হলে যার নাম আসলে বি হয়, 251 00:10:11,890 --> 00:10:14,840 এখন বি একটু স্থানান্তরিত করা যাচ্ছে এগিয়ে, হিসাবে, হাঁ, ঘটতে পারে 252 00:10:14,840 --> 00:10:17,530 এই একটি বি যদি, এখন তা এখানে যেতে হয়েছে. 253 00:10:17,530 --> 00:10:20,180 >> তাই এই খুব দ্রুত , সমস্যাযুক্ত হতে পারে 254 00:10:20,180 --> 00:10:23,850 কিন্তু এটি একটি কৌশল যে আসলে রৈখিক অনুসন্ধান হিসাবে উল্লেখ করা হয়, 255 00:10:23,850 --> 00:10:26,650 যদ্দ্বারা আপনি শুধু বিবেচনা আপনার অ্যারের লাইন বরাবর হতে. 256 00:10:26,650 --> 00:10:29,680 আর আপনি শুধু ধরনের তদন্ত বা প্রতিটি উপলব্ধ উপাদান পরিদর্শন 257 00:10:29,680 --> 00:10:31,360 একটি উপলব্ধ স্পট খুঁজছেন. 258 00:10:31,360 --> 00:10:34,010 এবং যত তাড়াতাড়ি আপনি এটি হিসাবে এক, আপনি সেখানে তা ড্রপ. 259 00:10:34,010 --> 00:10:38,390 >> এখন, দাম এখন দেওয়া হচ্ছে এই সমাধান জন্য কি? 260 00:10:38,390 --> 00:10:41,300 আমরা একটি নির্দিষ্ট আকার অ্যারে আছে, এবং আমি নাম সন্নিবেশ যখন 261 00:10:41,300 --> 00:10:44,059 তা, অন্তত প্রাথমিকভাবে, কি সন্নিবেশ চলমান সময় 262 00:10:44,059 --> 00:10:46,350 ছাত্র 'নির্বাণ জন্য ডান buckets মধ্যে ক্যুইজ? 263 00:10:46,350 --> 00:10:48,710 264 00:10:48,710 --> 00:10:50,002 কি বিগ হে? 265 00:10:50,002 --> 00:10:51,147 >> শ্রোতা: এন. 266 00:10:51,147 --> 00:10:52,480 ডেভিড Malan: আমি n এর বড় হে শুনেছেন. 267 00:10:52,480 --> 00:10:53,530 268 00:10:53,530 --> 00:10:54,300 সত্য নেই. 269 00:10:54,300 --> 00:10:56,490 কিন্তু আমরা সরাইয়া জ্বালাতন করা হবে কেন শুধু একটা মুহূর্ত. 270 00:10:56,490 --> 00:10:57,702 এটা আর কি হতে পারে? 271 00:10:57,702 --> 00:10:58,755 >> শ্রোতা: [শ্রবণাতীত] 272 00:10:58,755 --> 00:11:00,380 ডেভিড Malan: আর আমাকে দৃশ্যত এটা করতে দেওয়া. 273 00:11:00,380 --> 00:11:04,720 তাই এই চিঠি এস অনুমান 274 00:11:04,720 --> 00:11:05,604 >> শ্রোতা: এটা এক. 275 00:11:05,604 --> 00:11:06,520 ডেভিড Malan: এটা এক. 276 00:11:06,520 --> 00:11:06,710 রাইট? 277 00:11:06,710 --> 00:11:08,950 এই একটি অ্যারের, যা আমরা র্যান্ডম এক্সেস আছে মানে. 278 00:11:08,950 --> 00:11:11,790 এবং আমরা এই মনে করে শূন্য এবং এই হিসাবে 25 হিসাবে, 279 00:11:11,790 --> 00:11:13,800 এবং আমরা বুঝতে পারি যে, ওহ, এখানে আমার ইনপুট এস এর, 280 00:11:13,800 --> 00:11:16,350 আমি অবশ্যই রূপান্তর করতে পারেন এস, একটি ASCII অক্ষর, 281 00:11:16,350 --> 00:11:18,540 সংশ্লিষ্ট নম্বরে শূন্য এবং 25 এর মধ্যে 282 00:11:18,540 --> 00:11:20,910 এবং তারপর অবিলম্বে যেখানে এটি জন্যে এটা করা. 283 00:11:20,910 --> 00:11:26,120 >> তবে অবশ্যই, যত তাড়াতাড়ি আমি পেতে হিসাবে নাম কে দ্বিতীয় ব্যক্তি A অথবা B অথবা C, 284 00:11:26,120 --> 00:11:29,300 অবশেষে, আমি ব্যবহার করেছি যদি রৈখিক, আমার সমাধান হিসাবে অনুসন্ধান 285 00:11:29,300 --> 00:11:31,360 চলমান সময় সবচেয়ে খারাপ ক্ষেত্রে সন্নিবেশ 286 00:11:31,360 --> 00:11:33,120 আসলে কি মধ্যে বর্তা যাচ্ছে? 287 00:11:33,120 --> 00:11:34,270 288 00:11:34,270 --> 00:11:36,045 এবং আমি এখানে এটা শুনতে হয়নি সঠিকভাবে থেকেই. 289 00:11:36,045 --> 00:11:36,920 শ্রোতা: [শ্রবণাতীত] 290 00:11:36,920 --> 00:11:41,620 ডেভিড MALAN: এটা প্রকৃতপক্ষে একবার এন হয় আপনি একটি পর্যাপ্ত বৃহৎ তথ্য সংকলন আছে. 291 00:11:41,620 --> 00:11:44,410 সুতরাং, একে, যদি আপনার অ্যারের যথেষ্ট বড় 292 00:11:44,410 --> 00:11:48,287 এবং আপনার তথ্য আপনি, যথেষ্ট বিক্ষিপ্ত হয় এই সুন্দর ধ্রুবক সময় পান. 293 00:11:48,287 --> 00:11:50,620 কিন্তু যত তাড়াতাড়ি আপনি শুরু আরো এবং আরো উপাদান পেয়ে, 294 00:11:50,620 --> 00:11:53,200 এবং শুধু পরিসংখ্যানগত আপনি পেতে চিঠি দিয়ে আরো মানুষ 295 00:11:53,200 --> 00:11:56,030 একটি হিসাবে তাদের নাম বা চিঠি বি, এটি সম্ভাব্য পারা 296 00:11:56,030 --> 00:11:57,900 কিছু আরো রৈখিক মধ্যে বর্তা. 297 00:11:57,900 --> 00:11:59,640 তাই পুরোপুরি নিখুঁত না. 298 00:11:59,640 --> 00:12:00,690 সুতরাং আমরা আরো ভালো করতে পারে? 299 00:12:00,690 --> 00:12:03,210 >> ভাল, কি ছিল আমাদের সমাধান যখন আমরা আগে 300 00:12:03,210 --> 00:12:06,820 বেশী গতিশীলতা আছে চান একটি অ্যারের ভালো কিছু অনুমোদিত? 301 00:12:06,820 --> 00:12:08,085 302 00:12:08,085 --> 00:12:08,960 শ্রোতা: [শ্রবণাতীত] 303 00:12:08,960 --> 00:12:10,030 ডেভিড Malan: আমরা কি পরিচয় করিয়ে দিয়েছিলেন? 304 00:12:10,030 --> 00:12:10,530 হাঁ. 305 00:12:10,530 --> 00:12:11,430 সুতরাং একটি লিঙ্ক তালিকা. 306 00:12:11,430 --> 00:12:14,430 ভাল, এর একটি লিঙ্ক দেখুন তালিকায় পরিবর্তে আমাদের জন্য কি হতে পারে. 307 00:12:14,430 --> 00:12:17,630 আচ্ছা, আমাকে যে আমরা উত্থাপন করা যাক নিম্নরূপ ছবি আঁকা. 308 00:12:17,630 --> 00:12:19,620 এখন এই একটি ভিন্ন একটি উদাহরণ থেকে ছবি 309 00:12:19,620 --> 00:12:24,750 একটি ভিন্ন টেক্সট থেকে, আসলে, যে আসলে সাইজ 31 এর একটি অ্যারে ব্যবহার হয়. 310 00:12:24,750 --> 00:12:28,220 এবং এই লেখক কেবল স্ট্রিং হ্যাশ করার সিদ্ধান্ত নিয়েছে 311 00:12:28,220 --> 00:12:32,430 ব্যক্তির নামের উপর ভিত্তি করে না, কিন্তু তাদের birthdates উপর ভিত্তি করে. 312 00:12:32,430 --> 00:12:35,680 নির্বিশেষে মাসের, তারা মূর্ত আপনি একটি মাসের প্রথম তারিখে জন্মগ্রহণ করছি 313 00:12:35,680 --> 00:12:39,580 অথবা একটি মাসের 31 তম, লেখক যে মান উপর ভিত্তি করে হ্যাশ হবে, 314 00:12:39,580 --> 00:12:44,154 একটি বিট আউট নাম ছড়িয়ে হিসাবে তাই শুধু 26 দাগ অনুমতি চেয়ে আরো. 315 00:12:44,154 --> 00:12:47,320 এবং সম্ভবত এটি একটি সামান্য আরো অভিন্ন এর বর্ণানুক্রমিক অক্ষর দিয়ে যাচ্ছে চেয়ে, 316 00:12:47,320 --> 00:12:50,236 কারণ অবশ্যই সম্ভবত আছে নামের সাথে বিশ্বের আরও মানুষ 317 00:12:50,236 --> 00:12:54,020 অবশ্যই চেয়ে একটি সঙ্গে যে শুরু বর্ণমালার কিছু অন্যান্য অক্ষর. 318 00:12:54,020 --> 00:12:56,380 তাই হয়তো এই একটু হয় আরো অভিন্ন, অভিমানী 319 00:12:56,380 --> 00:12:58,640 একটি অভিন্ন ডিস্ট্রিবিউশনের একটি মাস জুড়ে শিশুদের. 320 00:12:58,640 --> 00:12:59,990 >> কিন্তু, অবশ্যই, এই এখনও অপূর্ণ. 321 00:12:59,990 --> 00:13:00,370 রাইট? 322 00:13:00,370 --> 00:13:01,370 আমরা দুর্ঘটনায় ভোগ করছি. 323 00:13:01,370 --> 00:13:04,680 এই মধ্যে একাধিক মানুষ তথ্য কাঠামো এখনও হয় 324 00:13:04,680 --> 00:13:08,432 অন্তত একই জন্মতারিখ হচ্ছে আপনি মাসের নির্বিশেষে করছি. 325 00:13:08,432 --> 00:13:09,640 কিন্তু লেখক কি করেছে? 326 00:13:09,640 --> 00:13:13,427 আমরা একটি অ্যারে আছে মত ওয়েল, এটা দেখতেও উল্লম্বভাবে টানা বাম দিকে, 327 00:13:13,427 --> 00:13:15,010 কিন্তু যে শুধু একজন শিল্পী এর প্রতিদান না. 328 00:13:15,010 --> 00:13:18,009 এটা কোন ব্যাপার না কি অভিমুখ আপনি একটি অ্যারের আঁকা, এটি এখনও একটি অ্যারে. 329 00:13:18,009 --> 00:13:20,225 এই দৃশ্যত একটি অ্যারে কি? 330 00:13:20,225 --> 00:13:21,500 >> শ্রোতা: লিঙ্ক তালিকা. 331 00:13:21,500 --> 00:13:21,650 >> ডেভিড MALAN: হ্যাঁ. 332 00:13:21,650 --> 00:13:23,490 এটি একটি ভালো মনে হচ্ছে লিঙ্ক তালিকা অ্যারে. 333 00:13:23,490 --> 00:13:26,490 তাই আবার, সাজানোর এই বিন্দু এখন এই ডেটা স্ট্রাকচার ব্যবহার করে 334 00:13:26,490 --> 00:13:28,550 আরো উপাদান হিসাবে আকর্ষণীয় সমাধান, 335 00:13:28,550 --> 00:13:30,862 আপনি একেবারে একটি নিতে পারেন মৌলিক, একটি অ্যারের মত, 336 00:13:30,862 --> 00:13:33,320 এবং তারপর আরো কিছু নিতে একটি লিঙ্ক তালিকা মত আকর্ষণীয় 337 00:13:33,320 --> 00:13:36,660 এবং এমনকি একটি এমনকি তাদেরকে একত্রিত আরো আকর্ষণীয় ডাটা স্ট্রাকচার. 338 00:13:36,660 --> 00:13:39,630 এবং প্রকৃতপক্ষে, এই খুব would একটি হ্যাশ টেবিল বলা যেতে, 339 00:13:39,630 --> 00:13:42,610 যদ্দ্বারা অ্যারে সত্যিই হ্যাশ টেবিল, 340 00:13:42,610 --> 00:13:45,600 কিন্তু যে হ্যাশ টেবিল আছে চেইন, তাই কথা বলতে, 341 00:13:45,600 --> 00:13:50,220 যে হত্তয়া পারেন অথবা উপর ভিত্তি করে সঙ্কুচিত উপাদানের সংখ্যা আপনি সন্নিবেশ করাতে চান. 342 00:13:50,220 --> 00:13:52,990 >> এখন, সেই অনুযায়ী, কি এখন সময় চলমান? 343 00:13:52,990 --> 00:13:58,030 আমি কেউ সন্নিবেশ করতে চান অক্টোবর 31 যার জন্মদিন হয়, 344 00:13:58,030 --> 00:13:59,040 যেখানে সে কোনদিকে? 345 00:13:59,040 --> 00:14:00,530 346 00:14:00,530 --> 00:14:01,030 ঠিক আছে. 347 00:14:01,030 --> 00:14:02,819 এটা 31 বলেছেন যেখানে খুব নীচে. 348 00:14:02,819 --> 00:14:03,610 এবং যে একেবারে ঠিক আছে. 349 00:14:03,610 --> 00:14:05,060 যে ধ্রুবক সময় ছিল. 350 00:14:05,060 --> 00:14:08,760 কিন্তু আমরা অন্য কেউ তা খুঁজে যদি যার জন্মদিন, এর দেখতে দিন হয়, 351 00:14:08,760 --> 00:14:10,950 অক্টোবর, নভেম্বর, ডিসেম্বর 31? 352 00:14:10,950 --> 00:14:12,790 কোথায় সে যেতে হবে? 353 00:14:12,790 --> 00:14:13,290 একই জিনিস. 354 00:14:13,290 --> 00:14:13,970 যদিও দুই ধাপ. 355 00:14:13,970 --> 00:14:15,303 যে এটা যদিও ধ্রুবক নয় কি? 356 00:14:15,303 --> 00:14:16,360 357 00:14:16,360 --> 00:14:16,860 ঠিক আছে. 358 00:14:16,860 --> 00:14:17,840 মুহূর্তে এটা. 359 00:14:17,840 --> 00:14:20,570 কিন্তু সাধারণ ক্ষেত্রে, আমরা যোগ আরও মানুষ, 360 00:14:20,570 --> 00:14:23,790 সম্ভাব্য, আমরা চলুন আরো এবং আরো দুর্ঘটনায় পেতে. 361 00:14:23,790 --> 00:14:26,820 >> এখন এই একটু হয় ভাল টেকনিক্যালি কারণ 362 00:14:26,820 --> 00:14:34,580 এখন আমার শৃঙ্খলে হতে পারে সবচেয়ে খারাপ ক্ষেত্রে কতদিন? 363 00:14:34,580 --> 00:14:38,890 আমি এই আরো মধ্যে এন মানুষ সন্নিবেশ যদি অত্যাধুনিক তথ্য কাঠামো, এন মানুষ, 364 00:14:38,890 --> 00:14:41,080 সবচেয়ে খারাপ ক্ষেত্রে এটি এন হতে যাচ্ছে. 365 00:14:41,080 --> 00:14:41,815 কেন? 366 00:14:41,815 --> 00:14:43,332 >> শ্রোতা: কারণ যদি সবাই একই জন্মদিন আছে, 367 00:14:43,332 --> 00:14:44,545 তারা এক লাইন হতে যাচ্ছেন. 368 00:14:44,545 --> 00:14:45,420 ডেভিড Malan: পারফেক্ট. 369 00:14:45,420 --> 00:14:47,480 এটা একটু কল্পিত হতে পারে কিন্তু সত্যিই খারাপ ক্ষেত্রে, 370 00:14:47,480 --> 00:14:50,117 সবাই একই জন্মদিন আছে, আপনি ইনপুট দেওয়া, 371 00:14:50,117 --> 00:14:51,950 আপনি একটি আছে চলুন ব্যাপক দীর্ঘ শৃঙ্খল. 372 00:14:51,950 --> 00:14:54,241 এবং তাই, আপনি এটি একটি কল করতে পারেনি টেবিল হ্যাশ, কিন্তু সত্যিই এটা 373 00:14:54,241 --> 00:14:56,810 সঙ্গে শুধু একটি বৃহদায়তন লিঙ্ক তালিকা বরবাদ স্থান সমগ্র অনেক. 374 00:14:56,810 --> 00:15:00,460 তবে সাধারণভাবে, আমরা ধরে নিই যে যদি অন্তত জন্মদিন uniform-- হয় 375 00:15:00,460 --> 00:15:01,750 এবং এটি সম্ভবত নয়. 376 00:15:01,750 --> 00:15:02,587 আমি যে পর্যন্ত তৈরি করছি. 377 00:15:02,587 --> 00:15:04,420 কিন্তু আমরা অনুমান করে, মার্কিন আলোচনা অনুরোধে 378 00:15:04,420 --> 00:15:07,717 তারা, তারপর তত্ত্ব, যদি হয় এই উল্লম্ব উপস্থাপনা 379 00:15:07,717 --> 00:15:11,050 অ্যারের, ভাল তারপর আশা আপনি আছেন হয়, আপনি জানেন যে চেইন পেতে যাচ্ছে, 380 00:15:11,050 --> 00:15:15,880 প্রায় একই দৈর্ঘ্য যেখানে প্রতিটি এই মাসের একটি দিন প্রতিনিধিত্ব করে. 381 00:15:15,880 --> 00:15:19,930 >> মাসে 31 দিন আছে যদি এখন, যে সত্যিই আমার চলমান সময় মানে 382 00:15:19,930 --> 00:15:25,230 31 ওভার n এর বড় হে, যা রৈখিক বেশী ভালো মনে. 383 00:15:25,230 --> 00:15:27,950 কিন্তু এক কি ছিল আমাদের অঙ্গীকার কয়েক সপ্তাহ 384 00:15:27,950 --> 00:15:31,145 আগে এটা প্রকাশ করতে আসেন যখনই একটি অ্যালগরিদম চলমান সময়? 385 00:15:31,145 --> 00:15:33,450 386 00:15:33,450 --> 00:15:35,190 শুধু মাত্র উচ্চ অর্ডার শব্দটি তাকান. 387 00:15:35,190 --> 00:15:35,690 রাইট? 388 00:15:35,690 --> 00:15:37,400 31 নিঃসন্দেহে সহায়ক. 389 00:15:37,400 --> 00:15:39,610 কিন্তু এই এখনও বড় হে n র হয়. 390 00:15:39,610 --> 00:15:41,730 কিন্তু থিম এক সমস্যা পাঁচটি সেট 391 00:15:41,730 --> 00:15:43,950 করতে হবে একেবারে স্বীকার করেন যে, 392 00:15:43,950 --> 00:15:47,320 asymptotically, তাত্ত্বিকভাবে এই তথ্য গঠন 393 00:15:47,320 --> 00:15:50,470 শুধু চেয়ে ভাল হয় এক বিশাল তালিকা সংযুক্ত. 394 00:15:50,470 --> 00:15:53,550 এবং প্রকৃতপক্ষে, সবচেয়ে খারাপ ক্ষেত্রে, এই হ্যাশ টেবিল যে ভাগ বর্তা পারে. 395 00:15:53,550 --> 00:15:57,620 >> কিন্তু বাস্তব জগতে, আমাদের সাথে মানুষের নিজস্ব Macs- বা পিসি বা যাই হোক না কেন যে 396 00:15:57,620 --> 00:16:01,240 এবং বাস্তব বিশ্বের চলমান বাস্তব জগতে তথ্য উপর সফ্টওয়্যার, 397 00:16:01,240 --> 00:16:03,260 যা আলগোরিদিম আপনি পছন্দ করতে যাচ্ছি? 398 00:16:03,260 --> 00:16:09,180 শেষ ধাপ বা লাগে যে এক এন 31 ধাপ দ্বারা বিভক্ত লাগে যে এক 399 00:16:09,180 --> 00:16:12,900 তথ্য কিছু অংশ খুঁজে পেতে বা কিছু তথ্য সন্ধান করতে? 400 00:16:12,900 --> 00:16:16,580 আমি একেবারে 31 প্রতিক্ষেপক করে তোলে মানে বাস্তব জগতে একটি পার্থক্য. 401 00:16:16,580 --> 00:16:18,540 এটা 31 গুণ দ্রুত হয়. 402 00:16:18,540 --> 00:16:20,880 আর আমরা মানুষ অবশ্যই আছে যে কৃতজ্ঞ যাচ্ছে. 403 00:16:20,880 --> 00:16:23,004 >> সুতরাং বৈপরীত্য বুঝতে পারছি সেখানে আসলে মধ্যে 404 00:16:23,004 --> 00:16:25,920 তাত্ত্বিক বিষয় সম্পর্কে কথা স্পষ্টভাবে এবং asymptotically যা 405 00:16:25,920 --> 00:16:28,760 আমরা দেখা করেছি হিসাবে মান আছে, কিন্তু বাস্তব জগতে, 406 00:16:28,760 --> 00:16:32,930 আপনি শুধু তৈরীর প্রতি যত্নবান হলে সাধারণ ইনপুট জন্য মানুষের খুশি, 407 00:16:32,930 --> 00:16:36,010 আপনি খুব ভাল গ্রহণ করতে চাইতে পারেন হ্যাঁ, এই রৈখিক হয়, এটা সত্য যে, 408 00:16:36,010 --> 00:16:38,360 কিন্তু এটি 31 গুণ দ্রুত এর চেয়ে রৈখিক হতে পারে. 409 00:16:38,360 --> 00:16:41,610 এবং এখনো ভাল, আমরা শুধু করতে হবে না একটি জন্মতারিখ মত নির্বিচারে কিছু করতে, 410 00:16:41,610 --> 00:16:44,030 আমরা একটু ব্যয় হতে পারে আরো সময় এবং চালাকি 411 00:16:44,030 --> 00:16:47,140 এবং আমরা কি হতে পারে সে সম্পর্কে চিন্তা, প্রদত্ত একটি ব্যক্তির নাম এবং হয়ত 412 00:16:47,140 --> 00:16:50,130 তাদের জন্মতারিখ যারা একত্রিত উপাদানগুলো কিছু চিন্তা করা 413 00:16:50,130 --> 00:16:52,720 যে সত্যিকারের বেশি হয় ইউনিফর্ম এবং কম Jaggy, 414 00:16:52,720 --> 00:16:56,250 তাই এই ছবি বেশি কথা বলতে যাও বর্তমানে এটি হতে পারে প্রস্তাব দেওয়া হয়. 415 00:16:56,250 --> 00:16:57,750 কিভাবে আমরা এই কোড বাস্তবায়ন হতে পারে? 416 00:16:57,750 --> 00:17:00,280 আচ্ছা, আমাকে যে আমরা উত্থাপন করা যাক শুধু আমরা করেছি কিছু বাক্য গঠন ধার 417 00:17:00,280 --> 00:17:01,799 এ পর্যন্ত কয়েক বার ব্যবহার. 418 00:17:01,799 --> 00:17:03,590 এবং আমি সংজ্ঞায়িত করা যাচ্ছে না একটি নোডের, যা আবার 419 00:17:03,590 --> 00:17:06,812 শুধু কিছু জন্য একটি জেনেরিক শব্দ কিছু তথ্য কাঠামো জন্য ধারক. 420 00:17:06,812 --> 00:17:09,020 আমি যে উত্থাপন করা যাচ্ছে না একটি স্ট্রিং সেখানে যাচ্ছে. 421 00:17:09,020 --> 00:17:11,369 কিন্তু আমরা গ্রহণ শুরু করতে যাচ্ছেন এখন বন্ধ চাকার প্রশিক্ষণ ঐ. 422 00:17:11,369 --> 00:17:13,230 >> না আরো CS50 লাইব্রেরি সত্যিই, আপনি চান, যদি না 423 00:17:13,230 --> 00:17:15,230 আপনার চূড়ান্ত জন্য এটি ব্যবহার করতে যা সূক্ষ্ম প্রকল্প, 424 00:17:15,230 --> 00:17:18,569 কিন্তু এখন আমরা পিছিয়ে যাচ্ছেন পরদা এবং এটি মাত্র একটি গৃহস্থালি তারা বলতে. 425 00:17:18,569 --> 00:17:22,069 শব্দ তাই হতে যাচ্ছে প্রশ্নে ব্যক্তির নাম. 426 00:17:22,069 --> 00:17:25,079 এবং এখন আমি একটি লিঙ্ক আছে এখানে পরবর্তী নোডের 427 00:17:25,079 --> 00:17:28,170 এই প্রতিনিধিত্বকারী তাই নোডের প্রতিটি 428 00:17:28,170 --> 00:17:30,950 চেন, সম্ভাব্য, একটি লিঙ্ক তালিকা. 429 00:17:30,950 --> 00:17:34,090 >> এবং এখন কিভাবে আমি ডিক্লেয়ার করতে হ্যাশ টেবিল নিজেই? 430 00:17:34,090 --> 00:17:36,660 কিভাবে আমি এই পুরো কাঠামো ঘোষণা করে? 431 00:17:36,660 --> 00:17:40,960 ওয়েল, সত্যিই, অনেক আমি একটি পয়েন্টার ব্যবহার মত একটি তালিকা মাত্র প্রথম উপাদান যাও 432 00:17:40,960 --> 00:17:44,510 আগে, একইভাবে আমি শুধু বলতে পারেন আমি শুধু পয়েন্টার একটি গুচ্ছ প্রয়োজন 433 00:17:44,510 --> 00:17:46,270 এই পুরো হ্যাশ টেবিল বাস্তবায়ন. 434 00:17:46,270 --> 00:17:49,484 আমি একটি অ্যারের আছে যাচ্ছি হ্যাশ টেবিল জন্য বলা টেবিল. 435 00:17:49,484 --> 00:17:50,900 এটা সাইজ ক্ষমতার হতে যাচ্ছে. 436 00:17:50,900 --> 00:17:52,525 যে এটা ফিট করতে পারে কতগুলি উপাদান এর. 437 00:17:52,525 --> 00:17:56,180 আর এই মধ্যে যারা উপাদান প্রতিটি অ্যারের একটি নোডের তারকা হতে যাচ্ছে. 438 00:17:56,180 --> 00:17:56,810 কেন? 439 00:17:56,810 --> 00:18:00,160 ওয়েল, এই ছবি প্রতি, আমি কি আছি হ্যাশ টেবিল হিসাবে বাস্তবায়ন 440 00:18:00,160 --> 00:18:04,330 কার্যকরভাবে মধ্যে শুরুতে শুধু হয় আমরা উল্লম্বভাবে টানা করেছি যে এই অ্যারে, 441 00:18:04,330 --> 00:18:06,820 যার স্কোয়ার প্রতিটি একটি পয়েন্টার প্রতিনিধিত্ব করে. 442 00:18:06,820 --> 00:18:09,170 ওগুলো যে স্ল্যাশ আছে যে তাদের মাধ্যমে শুধু নাল দ্বারা. 443 00:18:09,170 --> 00:18:11,410 এবং বেশী যে আছে ডান যাচ্ছে তীর 444 00:18:11,410 --> 00:18:16,140 প্রকৃত নোড প্রকৃত পয়েন্টার হয়, একটি লিঙ্ক তালিকা শুরু অতএব. 445 00:18:16,140 --> 00:18:19,050 >> তাই এখানে, তারপর, কিভাবে আমরা প্রতাপ হল একটি হ্যাশ টেবিল বাস্তবায়ন যে 446 00:18:19,050 --> 00:18:21,580 পৃথক chaining কার্যকরী. 447 00:18:21,580 --> 00:18:22,840 এখন আমরা আরো ভালো করতে পারে? 448 00:18:22,840 --> 00:18:25,632 ঠিক আছে আমি শেষ সময় প্রতিশ্রুত যে আমরা ধ্রুবক সময় অর্জন করতে পারে. 449 00:18:25,632 --> 00:18:27,381 আর আমি ধরনের আপনার দেওয়া এখানে ধ্রুবক সময়, 450 00:18:27,381 --> 00:18:29,850 কিন্তু তারপর সত্যিই বলেছেন ধ্রুব সময় এটা এখনও কারণ 451 00:18:29,850 --> 00:18:31,890 মোট উপর নির্ভরশীল উপাদানের সংখ্যা 452 00:18:31,890 --> 00:18:34,500 আপনি মধ্যে inputting করছি ডাটা স্ট্রাকচার. 453 00:18:34,500 --> 00:18:35,980 কিন্তু আমরা এই কি অনুমান. 454 00:18:35,980 --> 00:18:39,550 আমাকে এখানে উপর পর্দা ফিরে যাওয়া যাক. 455 00:18:39,550 --> 00:18:44,520 আমাকে এখানে এই পর্যন্ত প্রকল্পের স্পষ্ট করা যাক পর্দা, এবং আমি এই কি অনুমান. 456 00:18:44,520 --> 00:18:49,300 আমি নাম সন্নিবেশ চেয়েছিলেন ধরুন Daven আমার ডাটা স্ট্রাকচার. 457 00:18:49,300 --> 00:18:52,100 >> তাই আমি একটি স্ট্রিং সন্নিবেশ করতে চান ডাটা স্ট্রাকচার মধ্যে Daven. 458 00:18:52,100 --> 00:18:54,370 আমি কি একটি ব্যবহার করবেন না যদি টেবিল হ্যাশ, কিন্তু আমি ব্যবহার 459 00:18:54,370 --> 00:18:56,980 আরো কিছু যে গাছ-মত একটি পরিবার গাছ, যেখানে মত 460 00:18:56,980 --> 00:18:59,670 আপনি এ কিছু রুট আছে শীর্ষ এবং তারপর নোড এবং পাতা 461 00:18:59,670 --> 00:19:01,440 যে নিম্নগামী এবং বাহ্যিক যান. 462 00:19:01,440 --> 00:19:04,450 তারপর যে আমি ধরুন Daven এর সন্নিবেশ করতে চান 463 00:19:04,450 --> 00:19:06,430 বর্তমানে একটি ফাঁকা তালিকা কি করে. 464 00:19:06,430 --> 00:19:09,780 আমি নিচের কাজগুলো যাচ্ছি: আমি আছি এই পরিবারের একটি নোড নির্মাণ করা যাচ্ছে 465 00:19:09,780 --> 00:19:15,170 গাছ-মত তথ্য কাঠামো দেখে মনে হচ্ছে যে একটু ভালো, প্রতিটি যা 466 00:19:15,170 --> 00:19:19,640 আয়তক্ষেত্র, এর কথা বলা যাক হয়েছে এটা এখন 26 উপাদানের জন্য. 467 00:19:19,640 --> 00:19:21,650 এবং কোষের প্রতিটি এই অ্যারের মধ্যে যাচ্ছে 468 00:19:21,650 --> 00:19:23,470 একটি বর্ণমালার অক্ষর প্রতিনিধিত্ব করতে. 469 00:19:23,470 --> 00:19:28,190 >> বিশেষ করে, আমি খাওয়াবো যাচ্ছি এই, এ, তারপর বি, তারপর সি, তারপর ডি হল 470 00:19:28,190 --> 00:19:29,310 এখানে এই এক. 471 00:19:29,310 --> 00:19:32,940 তাই এই কার্যকরভাবে যাচ্ছে চিঠি ডি প্রতিনিধিত্ব 472 00:19:32,940 --> 00:19:36,040 কিন্তু Daven এর সব সন্নিবেশ করতে আমি একটি বিট আরো করতে হবে নাম. 473 00:19:36,040 --> 00:19:37,840 তাই আমি প্রথম তাই কথা বলতে, হ্যাশ যাচ্ছি. 474 00:19:37,840 --> 00:19:41,049 আমি প্রথম চিঠি তাকান যাচ্ছি এ Daven এর সম্ভবত একটি ডি, যা 475 00:19:41,049 --> 00:19:42,840 এবং আমি বরাদ্দ করা যাচ্ছে না দেখায় যে একটি নোডের 476 00:19:42,840 --> 00:19:45,570 মত বড় বড় আয়তক্ষেত্র আপাততঃ পুরো বর্ণমালা মাপসই যথেষ্ট. 477 00:19:45,570 --> 00:19:47,140 >> এখন ডি সম্পন্ন করা হয়. 478 00:19:47,140 --> 00:19:49,720 এখন এ ডি-একটি-ভী ই-এন লক্ষ্য. 479 00:19:49,720 --> 00:19:51,220 তাই এখন আমি কি করতে যাচ্ছি কি এই হয়. 480 00:19:51,220 --> 00:19:54,027 যত তাড়াতাড়ি আমি ডি নোটিশ শুরু সেখানে কোন পয়েন্টার আছে. 481 00:19:54,027 --> 00:19:56,860 এটা মুহূর্তে আবর্জনা মান অথবা আমি নাল এটি আরম্ভ হতে পারে. 482 00:19:56,860 --> 00:19:59,630 কিন্তু আমার সাথে বর্তা দিন একটি গাছ গড়ে তোলার এই ধারণা. 483 00:19:59,630 --> 00:20:04,260 আমার এইসব অন্য একটি বরাদ্দ যাক এটি মধ্যে 26 উপাদান আছে যে নোড. 484 00:20:04,260 --> 00:20:05,150 >> এবং আপনি কি জানেন? 485 00:20:05,150 --> 00:20:09,130 এই মেমরি মাত্র একটি নোডের হয় তাহলে যে আমি একটি struct ব্যবহার করে, malloc সঙ্গে নির্মিত 486 00:20:09,130 --> 00:20:11,240 আমরা শীঘ্রই দেখতে পাবেন, আমি এই কি করতে যাচ্ছি 487 00:20:11,240 --> 00:20:14,450 আমি থেকে একটি তীর আঁকা যাচ্ছি নিচে ডি প্রতিনিধিত্ব যে জিনিস 488 00:20:14,450 --> 00:20:15,860 এই নতুন নোডের. 489 00:20:15,860 --> 00:20:19,240 এবং, প্রথম পরের এখন Daven এর নামে চিঠি, 490 00:20:19,240 --> 00:20:24,150 V-- ডি-একটি-V-- আমি এগিয়ে যেতে চলেছি এবং এই মত অন্য একটি নোড আঁকা, 491 00:20:24,150 --> 00:20:30,150 যদ্দ্বারা, এখানে ভী উপাদান, যা আমরা instance-- উপস জন্য আঁকা হবে. 492 00:20:30,150 --> 00:20:31,020 আমরা সেখানে না আঁকা হবে. 493 00:20:31,020 --> 00:20:31,936 এটা এখানে যেতে যাচ্ছে. 494 00:20:31,936 --> 00:20:32,890 495 00:20:32,890 --> 00:20:35,712 >> তারপর আমরা চলুন এই ভি হতে বিবেচনা 496 00:20:35,712 --> 00:20:44,920 এবং তারপর এখানে নিচে আমরা সূচক যাচ্ছেন নিচে ভী থেকে আমরা ই বিবেচনা করবো কি করে 497 00:20:44,920 --> 00:20:50,100 এবং তারপর এখানে থেকে আমরা চলুন এখানে এই নোডের এক আছে যান. 498 00:20:50,100 --> 00:20:52,930 এবং এখন আমরা উত্তর দিতে একটি প্রশ্ন আছে. 499 00:20:52,930 --> 00:20:57,840 আমি যে ইঙ্গিত একরকম প্রয়োজন আমরা স্ট্রিং Daven শেষে করছি. 500 00:20:57,840 --> 00:20:59,490 তাই আমি এটা নাল ছেড়ে চলে যেতে পারে. 501 00:20:59,490 --> 00:21:02,670 >> কিন্তু আমরা Daven এর কি আছে কিনা এছাড়াও পুরো নাম, যা 502 00:21:02,670 --> 00:21:04,280 আমরা, ড্যাভেনপোর্ট বলেন করেছি, হয়? 503 00:21:04,280 --> 00:21:06,970 সুতরাং Daven কি করে আসলে একটি মান, 504 00:21:06,970 --> 00:21:08,960 অনেক লম্বা স্ট্রিং এর একটি উপসর্গ? 505 00:21:08,960 --> 00:21:11,450 আমরা শুধু স্থায়ীভাবে না পারেন কিছুই যাচ্ছে বলে 506 00:21:11,450 --> 00:21:14,410 কারণ আমরা পারা, সেখানে যেতে ড্যাভেনপোর্ট মত একটি শব্দ সন্নিবেশ না 507 00:21:14,410 --> 00:21:15,840 এই ডাটা স্ট্রাকচার মধ্যে 508 00:21:15,840 --> 00:21:19,560 >> তাই আমরা যা করতে পারে তা বদলে যায় এই উপাদানের প্রতি আচরণ 509 00:21:19,560 --> 00:21:22,170 হিসাবে হয়তো দুটি হচ্ছে তাদের ভেতরে উপাদান. 510 00:21:22,170 --> 00:21:24,810 এক, প্রকৃতপক্ষে, একটি পয়েন্টার হিসাবে আমি কাজ করছি. 511 00:21:24,810 --> 00:21:27,100 এই বাক্সে প্রতিটি সুতরাং শুধু একটা সেল নয়. 512 00:21:27,100 --> 00:21:29,855 কিন্তু কি যদি উপরে one-- নীচে এক এর 513 00:21:29,855 --> 00:21:32,230 কারণ, নাল হতে যাচ্ছে এখনও কোন ড্যাভেনপোর্ট আছে. 514 00:21:32,230 --> 00:21:34,197 কি করে উপরের এক কিছু বিশেষ মান হয়? 515 00:21:34,197 --> 00:21:36,530 এবং এটা একটু হতে যাচ্ছে এটি এই আকার আঁকতে হার্ড. 516 00:21:36,530 --> 00:21:38,130 কিন্তু এটি শুধু একটি চেক চিহ্ন অনুমান. 517 00:21:38,130 --> 00:21:38,920 চেক করুন. 518 00:21:38,920 --> 00:21:44,230 ডি-একটি-ভী ই-এন একটি পংক্তি এই তথ্য কাঠামো. 519 00:21:44,230 --> 00:21:48,350 >> এদিকে, যদি আমি আরও জায়গা ছিল এখানে, আমি, পি-হে-আর-টি কাজ করতে পারে 520 00:21:48,350 --> 00:21:52,650 এবং আমি নোড চেক করা যায়নি যে খুব শেষে চিঠি টি আছে. 521 00:21:52,650 --> 00:21:55,460 সুতরাং এই একটি ব্যাপক হয় জটিল সুদর্শন ডাটা স্ট্রাকচার. 522 00:21:55,460 --> 00:21:57,210 আর আমার হস্তাক্ষর অবশ্যই সাহায্য করে না. 523 00:21:57,210 --> 00:22:00,043 কিন্তু আমি কিছু সন্নিবেশ করতে চেয়েছিলেন অন্য, আমরা কি করবেন তা বিবেচনা. 524 00:22:00,043 --> 00:22:03,370 আমরা ডেভিড লাগাতে চেয়েছিলেন, আমরা, একই যুক্তি, ডি-একটি-ভী অনুসরণ চাই 525 00:22:03,370 --> 00:22:08,802 কিন্তু এখন আমি পরবর্তী নির্দেশ করবে উপাদান না ই থেকে, কিন্তু আমি থেকে ডি থেকে 526 00:22:08,802 --> 00:22:10,760 তাই বলে সেখানে যাচ্ছে এই গাছ মধ্যে আরো নোড. 527 00:22:10,760 --> 00:22:12,325 আমরা আরো কল malloc আছে চলুন. 528 00:22:12,325 --> 00:22:14,700 কিন্তু আমি একটি করতে চান না এই ছবি সম্পূর্ণ জগাখিচুড়ি. 529 00:22:14,700 --> 00:22:17,710 তাই এর পরিবর্তে এক তাকান যে-পূব প্রণয়ন করা হয়েছে 530 00:22:17,710 --> 00:22:21,810 বিন্দু না দিয়ে ভালো, বিন্দু, বিন্দু, কিন্তু শুধু সংক্ষেপে অ্যারে. 531 00:22:21,810 --> 00:22:23,950 কিন্তু নোড প্রতিটি এখানে এই গাছ আপ ইন 532 00:22:23,950 --> 00:22:26,700 একই জিনিস উপস্থাপন একটি অ্যারের সাইজ 26 এর রায়. 533 00:22:26,700 --> 00:22:28,860 >> অথবা আমরা হতে চান সত্যিই সঠিক এখন, কি 534 00:22:28,860 --> 00:22:30,790 কেউ এর নাম হিসেবে যদি একটি ঊর্ধকমা, এর যাক 535 00:22:30,790 --> 00:22:35,560 প্রতিটি নোডের আসলে আছে অনুমান এটি মধ্যে 27 ইনডেক্সসমূহ, না শুধু 26 এর মত. 536 00:22:35,560 --> 00:22:42,020 সুতরাং এখন এই একটি তথ্য হতে যাচ্ছে কাঠামো একটি trie-- টি-আর-আমি-ই বলা. 537 00:22:42,020 --> 00:22:46,120 কল্পনানুসারে হয় যা একটি trie, একটি গাছ জন্য ঐতিহাসিকভাবে একটি চতুর নাম 538 00:22:46,120 --> 00:22:49,040 যে জন্য অপ্টিমাইজ করা হচ্ছে আহরণ, যা অবশ্যই, 539 00:22:49,040 --> 00:22:50,870 এটা trie তাই একটি আমি-ই দিয়ে বানান হয়. 540 00:22:50,870 --> 00:22:52,710 কিন্তু যে trie ইতিহাস. 541 00:22:52,710 --> 00:22:55,860 >> সুতরাং একটি trie এই গাছ মত তথ্য হল একটি পরিবার গাছ মত কাঠামো 542 00:22:55,860 --> 00:22:57,510 যে পরিণামে যে মত আচরণ করে. 543 00:22:57,510 --> 00:23:00,890 এবং এখানে একটি মাত্র আরেকটি উদাহরণ অন্য লোকের নামের আভা. 544 00:23:00,890 --> 00:23:03,540 কিন্তু এখন প্রশ্ন হাতে আছে কি 545 00:23:03,540 --> 00:23:08,070 আমরা তর্কসাপেক্ষ আরো একটি প্রবর্তনের দ্বারা অর্জন জটিল ডাটা স্ট্রাকচার, এবং এক, 546 00:23:08,070 --> 00:23:09,870 সত্যি, যে মেমরি অনেক ব্যবহার. 547 00:23:09,870 --> 00:23:11,703 >> , কারণ যদিও মুহূর্তে, আমি শুধুমাত্র নই 548 00:23:11,703 --> 00:23:15,050 ডি গণ পয়েন্টার ব্যবহার করে এবং একটি V এবং স্প্যানিশ ভাষায় এবং Ns, এবং 549 00:23:15,050 --> 00:23:16,700 আমি মেমরি অনেক একটি নরক নষ্ট করছি. 550 00:23:16,700 --> 00:23:18,030 551 00:23:18,030 --> 00:23:22,660 কিন্তু আমি এক সম্পদ ব্যয় যেখানে, আমি ফিরে অন্য লাভ না করার ঝোঁক. 552 00:23:22,660 --> 00:23:26,020 আমি আরও জায়গা খরচ করছি যদি তাই সম্ভবত আশা কি? 553 00:23:26,020 --> 00:23:27,407 আমি কি কম খরচ করছি যে? 554 00:23:27,407 --> 00:23:28,240 শ্রোতা: কম সময়. 555 00:23:28,240 --> 00:23:28,990 ডেভিড Malan: টাইম. 556 00:23:28,990 --> 00:23:30,320 এখন কেন হবে? 557 00:23:30,320 --> 00:23:33,880 ওয়েল, সন্নিবেশ কি সময়, এখন বড় হে পদ, 558 00:23:33,880 --> 00:23:37,660 Daven মত একটি নাম অথবা ড্যাভেনপোর্ট বা ডেভিড? 559 00:23:37,660 --> 00:23:39,340 ওয়েল, Daven পাঁচটি পদক্ষেপ ছিল. 560 00:23:39,340 --> 00:23:42,350 ড্যাভেনপোর্ট নয়টি পদক্ষেপ হবে, তাই এটি আরো কয়েকটি ধাপ হতে হবে. 561 00:23:42,350 --> 00:23:44,250 ডেভিড পাশাপাশি পাঁচটি পদক্ষেপ হবে. 562 00:23:44,250 --> 00:23:47,230 সুতরাং যারা কংক্রিট করো সংখ্যা, কিন্তু নিশ্চয় আছে 563 00:23:47,230 --> 00:23:49,550 একটি সর্বোচ্চ সীমা কেউ এর নাম দৈর্ঘ্য. 564 00:23:49,550 --> 00:23:52,240 এবং প্রকৃতপক্ষে, সমস্যা পাঁচটি স্পেসিফিকেশন সেট, 565 00:23:52,240 --> 00:23:54,050 আমরা প্রস্তাব করছি চলুন এটা এমন কিছু, যে 566 00:23:54,050 --> 00:23:55,470 যে 40-কিছু-অদ্ভুত অক্ষর আছে. 567 00:23:55,470 --> 00:23:58,180 >> বাস্তবধর্মী, কোন এক আছে একটি অসীম দীর্ঘ নাম, 568 00:23:58,180 --> 00:24:01,542 বলতে হয়, যা একটি দৈর্ঘ্য নাম অথবা একটি স্ট্রিং এর দৈর্ঘ্য আমরা প্রতাপ 569 00:24:01,542 --> 00:24:03,750 রাষ্ট্র নির্দিষ্ট আছে কাঠামো তর্কসাপেক্ষ কি? 570 00:24:03,750 --> 00:24:05,550 571 00:24:05,550 --> 00:24:06,250 এটা ধ্রুব এর. 572 00:24:06,250 --> 00:24:06,430 রাইট? 573 00:24:06,430 --> 00:24:09,310 এটা ভালো একটি বড় ধ্রুবক হতে পারে 40-কিছু, কিন্তু এটা ধ্রুবক. 574 00:24:09,310 --> 00:24:13,752 এবং এটা কিভাবে অনেক উপর কোন নির্ভরতা আছে অন্যান্য নামগুলি এই তথ্য কাঠামো দ্বারা. 575 00:24:13,752 --> 00:24:15,460 অন্য কথায়, আমি যদি এখন সন্নিবেশ করতে চেয়েছিলেন 576 00:24:15,460 --> 00:24:20,540 Colton বা গ্যাব্রিয়েল বা রব অথবা Zamyla বা Alison বা Belinda বা অন্য কোন নাম 577 00:24:20,540 --> 00:24:23,940 এই তথ্য মধ্যে কর্মীদের থেকে গঠন, চলমান সময় 578 00:24:23,940 --> 00:24:26,750 এর অন্য নাম ঢোকাতে সমস্ত প্রভাববিস্তারকারী হতে যাচ্ছে 579 00:24:26,750 --> 00:24:30,220 কতগুলি অন্যান্য উপাদান দ্বারা হয় ইতিমধ্যে তথ্য কাঠামো? 580 00:24:30,220 --> 00:24:31,040 এটা না. 581 00:24:31,040 --> 00:24:31,540 রাইট? 582 00:24:31,540 --> 00:24:36,150 আমরা কার্যকরভাবে ব্যবহার করছেন কারণ এই বহু স্তর হ্যাশ টেবিল. 583 00:24:36,150 --> 00:24:38,280 আর চলমান সময় এই অপারেশন কোন 584 00:24:38,280 --> 00:24:41,510 সংখ্যার উপর নির্ভরশীল না তথ্য কাঠামো যে উপাদান 585 00:24:41,510 --> 00:24:43,090 অথবা যে অবশেষে যাচ্ছি তথ্য কাঠামো থাকা, 586 00:24:43,090 --> 00:24:44,714 কিন্তু কি বিশেষভাবে দৈর্ঘ্যের উপর? 587 00:24:44,714 --> 00:24:46,500 588 00:24:46,500 --> 00:24:49,200 >> হচ্ছে স্ট্রিং , ঢোকানো না করা যা 589 00:24:49,200 --> 00:24:52,580 এই asymptotically ধ্রুবক এক time-- বড় হে. 590 00:24:52,580 --> 00:24:54,720 এবং সত্যি, শুধু এ বাস্তব জগতে, এই 591 00:24:54,720 --> 00:24:58,380 Daven এর নাম নেয় ঢোকাতে মানে পাঁচ ধাপ, বা ড্যাভেনপোর্ট নয়টি মত 592 00:24:58,380 --> 00:25:00,100 ধাপ, বা ডেভিড পাঁচটি পদক্ষেপ. 593 00:25:00,100 --> 00:25:03,071 যে বেশ অভিশাপ ছোট চলমান বার. 594 00:25:03,071 --> 00:25:05,320 এবং, প্রকৃতপক্ষে, যে খুব আছে ভাল জিনিস, বিশেষ করে যখন 595 00:25:05,320 --> 00:25:08,126 এটি মোট উপর নির্ভরশীল নয় সেখানে উপাদানের সংখ্যা. 596 00:25:08,126 --> 00:25:10,500 সুতরাং আমরা এই বাস্তবায়নের পারে কিভাবে কোড সালে গঠন ধরনের? 597 00:25:10,500 --> 00:25:12,900 এটি একটি সামান্য আরো জটিল, কিন্তু এখনও এটি 598 00:25:12,900 --> 00:25:15,050 শুধু একটি আবেদন মৌলিক বিল্ডিং ব্লক. 599 00:25:15,050 --> 00:25:17,830 আমি পুনরায় সংজ্ঞায়িত করা যাচ্ছে না আমাদের নোড নিম্নরূপ: 600 00:25:17,830 --> 00:25:21,100 bool word-- বলা হয় এবং এই কিছু বলা যেতে পারে. 601 00:25:21,100 --> 00:25:23,970 কিন্তু bool প্রতিনিধিত্ব করে কি আমি একটি চেক চিহ্ন হিসাবে সৃষ্টি. 602 00:25:23,970 --> 00:25:24,490 হ্যাঁ. 603 00:25:24,490 --> 00:25:26,720 এটি একটি স্ট্রিং শেষ হয় এই তথ্য কাঠামো. 604 00:25:26,720 --> 00:25:30,702 >> এবং, অবশ্যই, নোড তারকা শিশুদের সেখানে উল্লেখ করা হয়. 605 00:25:30,702 --> 00:25:32,410 এবং, প্রকৃতপক্ষে, শুধু চাই একটি পরিবার গাছ, আপনি 606 00:25:32,410 --> 00:25:34,370 নোড বিবেচনা করবে যে বন্ধ ঝুলন্ত হয় 607 00:25:34,370 --> 00:25:36,920 কিছু অভিভাবক নীচে নিয়ে উপাদান শিশুদের হতে. 608 00:25:36,920 --> 00:25:40,510 তাই শিশুদের যাচ্ছে 27 একটি অ্যারের, 27 শে এক হতে 609 00:25:40,510 --> 00:25:41,680 শুধু ঊর্ধকমা জন্য হচ্ছে. 610 00:25:41,680 --> 00:25:43,390 আমরা সাজাতে চলুন বিশেষ ক্ষেত্রে যে এর. 611 00:25:43,390 --> 00:25:45,400 সুতরাং আপনি কিছু থাকতে পারে apostrophes সাথে নাম. 612 00:25:45,400 --> 00:25:47,399 হয়তো এমনকি হাইফেন উচিত সেখানে যান, কিন্তু আপনি পাবেন 613 00:25:47,399 --> 00:25:50,330 পি সেট 5 আমরা শুধুমাত্র কেয়ারে দেখতে অক্ষর এবং apostrophes সম্পর্কে. 614 00:25:50,330 --> 00:25:52,990 >> এবং তারপর কিভাবে আপনি উপস্থাপন করতে ডাটা স্ট্রাকচার নিজেই? 615 00:25:52,990 --> 00:25:56,454 কিভাবে আপনি রুট প্রতিনিধিত্ব করেন এই trie এর, তাই কথা বলতে? 616 00:25:56,454 --> 00:25:59,620 ওয়েল, শুধু আপনি একটি লিঙ্ক তালিকা সঙ্গে চাই প্রথম উপাদান একটি পয়েন্টার প্রয়োজন. 617 00:25:59,620 --> 00:26:04,270 একটি trie দিয়ে আপনি শুধু একটা প্রয়োজন এই trie রুট পয়েন্টার. 618 00:26:04,270 --> 00:26:07,290 এবং সেখানে থেকে আপনি হ্যাশ পারেন আপনার উপায় নিচে গভীর এবং গভীর 619 00:26:07,290 --> 00:26:10,460 কাঠামো প্রত্যেক অন্যান্য নোড যাও. 620 00:26:10,460 --> 00:26:13,440 সুতরাং কেবল এই পারেন সঙ্গে আমরা যে struct প্রতিনিধিত্ব. 621 00:26:13,440 --> 00:26:15,877 >> এখন, ওহ প্রশ্ন Meanwhile--. 622 00:26:15,877 --> 00:26:17,220 >> শ্রোতা: bool শব্দ কি? 623 00:26:17,220 --> 00:26:20,490 >> ডেভিড Malan: Bool শব্দ শুধু এই সি অবতার 624 00:26:20,490 --> 00:26:22,920 আমি বর্ণিত কি এর এখানে, যখন এই বাক্সে 625 00:26:22,920 --> 00:26:26,000 আমি প্রতিটি বিভাজন শুরু দুই টুকরা অ্যারে এর উপাদান. 626 00:26:26,000 --> 00:26:27,600 ওয়ান পরবর্তী নোডের একটি পয়েন্টার. 627 00:26:27,600 --> 00:26:30,280 অন্যান্য হতে হয়েছে একটি চেক বক্স ভালো কিছু 628 00:26:30,280 --> 00:26:33,770 একটি আছে, হ্যাঁ বলার এখানে শেষ যে Daven শব্দ, 629 00:26:33,770 --> 00:26:35,610 আমরা চাই না, কারণ মুহূর্তে, ডেভ এ. 630 00:26:35,610 --> 00:26:39,320 >> ডেভ একটি হতে যাচ্ছে যদিও বৈধ শব্দ, তিনি trie বিভিন্ন নয় 631 00:26:39,320 --> 00:26:39,830 এখনো. 632 00:26:39,830 --> 00:26:40,950 আর ডি একটি শব্দ নয়. 633 00:26:40,950 --> 00:26:42,770 আর ডি-একটি একটি শব্দ বা একটি নাম নয়. 634 00:26:42,770 --> 00:26:45,020 চেক চিহ্ন সুতরাং শুধুমাত্র আপনি একবার ইঙ্গিত 635 00:26:45,020 --> 00:26:48,190 এই নোডের হয় আঘাত অক্ষরের আগের পাথ 636 00:26:48,190 --> 00:26:50,700 আপনি ঢোকানো করেছি যে আসলে একটি স্ট্রিং. 637 00:26:50,700 --> 00:26:53,660 সুতরাং যে সব bool এর আমাদের জন্য সেখানে করছে. 638 00:26:53,660 --> 00:26:55,500 >> চেষ্টা উপর অন্য কোন প্রশ্ন? 639 00:26:55,500 --> 00:26:56,215 হাঁ. 640 00:26:56,215 --> 00:26:58,035 >> শ্রোতা: ওভারল্যাপ কি? 641 00:26:58,035 --> 00:26:59,945 আপনি কি একটি ডেভ এবং একটি Daven থাকে তাহলে? 642 00:26:59,945 --> 00:27:00,820 ডেভিড Malan: পারফেক্ট. 643 00:27:00,820 --> 00:27:02,580 আপনি কি একটি ডেভ এবং একটি Daven থাকে তাহলে? 644 00:27:02,580 --> 00:27:06,240 আমরা সন্নিবেশ সুতরাং, যদি একটি ডাক নাম বলার David-- Dave-- ডি-একটি-ভী ই জন্য? 645 00:27:06,240 --> 00:27:07,370 646 00:27:07,370 --> 00:27:08,700 আসলে এই সুপার সহজ. 647 00:27:08,700 --> 00:27:10,325 সুতরাং আমরা মাত্র চারটি পদক্ষেপ নিতে যাচ্ছেন. 648 00:27:10,325 --> 00:27:11,042 649 00:27:11,042 --> 00:27:15,847 ডি-একটি-ভী ই. এবং আমি কি আছে আমি যে চতুর্থ নোড আঘাত একবার কি? 650 00:27:15,847 --> 00:27:16,680 শুধু পরীক্ষা যাচ্ছে. 651 00:27:16,680 --> 00:27:18,000 আমরা ইতিমধ্যে যেতে ভাল. 652 00:27:18,000 --> 00:27:18,840 সম্পন্ন. 653 00:27:18,840 --> 00:27:19,750 চার ধাপ. 654 00:27:19,750 --> 00:27:21,590 Asymptotically কনস্ট্যান্ট সময়. 655 00:27:21,590 --> 00:27:26,300 এবং এখন আমরা যে উভয় ডেভ নির্দেশিত করেছি এবং Daven কাঠামো স্ট্রিং দ্বারা. 656 00:27:26,300 --> 00:27:27,710 তাই না একটি সমস্যা. 657 00:27:27,710 --> 00:27:30,200 এবং কিভাবে উপস্থিতি লক্ষ্য করা Daven এর এটি করা হয়নি 658 00:27:30,200 --> 00:27:34,750 কোন সময় বা কম গ্রহণ সময় ডেভ জন্য এবং তদ্বিপরীত. 659 00:27:34,750 --> 00:27:36,000 >> সুতরাং আমরা এখন কি কি করতে পারেন? 660 00:27:36,000 --> 00:27:40,680 আমরা আগে এই রূপক ব্যবহার করেছি ট্রে কিছু প্রতিনিধিত্বমূলক. 661 00:27:40,680 --> 00:27:43,380 কিন্তু এটি সক্রিয় যে একটি ট্রে এর স্ট্যাকের আসলে হয় 662 00:27:43,380 --> 00:27:47,187 অন্য বিমূর্ত তথ্য প্রমাণদায়ক একটি উচ্চ স্তরের তথ্য কাঠামো type-- 663 00:27:47,187 --> 00:27:49,770 শেষে দিন ঠিক হয় যে একটি অ্যারে অথবা একটি লিঙ্ক তালিকা মত 664 00:27:49,770 --> 00:27:50,970 আরো জাগতিক বা কিছু. 665 00:27:50,970 --> 00:27:53,270 কিন্তু এটি একটি আরো আকর্ষণীয় ধারণাগত ধারণা. 666 00:27:53,270 --> 00:27:56,440 এই মত একটি স্ট্যাক, মাথের এখানে ট্রে, 667 00:27:56,440 --> 00:27:58,750 সাধারণত বলা হয় শুধু একটি স্ট্যাক যে সব. 668 00:27:58,750 --> 00:28:02,540 >> এবং ডাটা স্ট্রাকচার এই টাইপ আপনি দুটি অপারেশন আছে 669 00:28:02,540 --> 00:28:05,880 আপনি এক বলা ধাক্কা জন্য আছে স্ট্যাকের কিছু যোগ, 670 00:28:05,880 --> 00:28:08,320 অন্য ট্রে নির্বাণ মত স্ট্যাকের উপর ব্যাক. 671 00:28:08,320 --> 00:28:11,350 আপনি যার মানে এবং তারপর, পপ আগ ট্রে অপসৃত. 672 00:28:11,350 --> 00:28:16,210 কিন্তু একটি স্ট্যাক যে সম্পর্কে কী কি এটা এই অদ্ভুত বৈশিষ্ট আছে এর. 673 00:28:16,210 --> 00:28:19,560 ভোজনশালা কর্মীরা হিসাবে করো পরবর্তী খাবার জন্য ট্রে সাজানোর, 674 00:28:19,560 --> 00:28:21,380 কি হতে যাচ্ছে কিভাবে ছাত্র সম্পর্কে সত্য 675 00:28:21,380 --> 00:28:22,856 এই ডাটা স্ট্রাকচার সাথে ইন্টারঅ্যাক্ট? 676 00:28:22,856 --> 00:28:24,480 শ্রোতা: তারা এক বন্ধ পপ চলুন. 677 00:28:24,480 --> 00:28:26,550 ডেভিড Malan: তারা চলুন এক বন্ধ, আশা উপরে পপ. 678 00:28:26,550 --> 00:28:28,910 অন্যথা এটি শুধু মূঢ় ধরনের নীচে সব পথ যেতে. 679 00:28:28,910 --> 00:28:29,070 রাইট? 680 00:28:29,070 --> 00:28:31,620 ডাটা স্ট্রাকচার সত্যিই অনুমতি দেয় না আপনি অন্তত নীচে ট্রে দখল 681 00:28:31,620 --> 00:28:32,520 সহজে. 682 00:28:32,520 --> 00:28:35,040 তাই এই অদ্ভুত নেই একটি স্ট্যাক থেকে সম্পত্তি 683 00:28:35,040 --> 00:28:39,730 গত আইটেমটি যে প্রথম এক আউট হতে যাচ্ছে. 684 00:28:39,730 --> 00:28:43,400 এবং কম্পিউটার বিজ্ঞানী কল এই প্রথম, আউট স্থায়ী LIFO--. 685 00:28:43,400 --> 00:28:45,540 এবং এটা আসলে আছে আকর্ষণীয় অ্যাপ্লিকেশন. 686 00:28:45,540 --> 00:28:50,090 এটা অগত্যা কিছু হিসাবে হিসাবে সুস্পষ্ট নয় অন্যদের, কিন্তু এটা প্রকৃতপক্ষে, উপযোগী হতে পারে 687 00:28:50,090 --> 00:28:54,040 এবং এটা প্রকৃতপক্ষে, প্রয়োগ করা যাবে বিভিন্ন উপায়ে একটি দম্পতি মধ্যে. 688 00:28:54,040 --> 00:28:58,550 >> তাই এক, এবং আসলে, যাক আমাকে যে মধ্যে আকর্ষণীয় যাও না. 689 00:28:58,550 --> 00:28:59,860 এর পরিবর্তে এই কাজ করা যাক. 690 00:28:59,860 --> 00:29:03,700 এর প্রায় এক যে তাকান একই ধারণা, কিন্তু এটি একটি সামান্য fairer এর. 691 00:29:03,700 --> 00:29:04,200 রাইট? 692 00:29:04,200 --> 00:29:07,560 আপনি এই ফ্যান ছেলেদের মধ্যে একজন হন তাহলে বা সত্যিই অ্যাপল পণ্য লেগেছে যে মেয়েরা 693 00:29:07,560 --> 00:29:10,130 এবং আপনি 3:00 অপরাহ্ণ এ woke আপ কিছু দোকান এ রেখায় আপ 694 00:29:10,130 --> 00:29:14,150 খুব সর্বশেষ আইফোন পেতে, আপনি এই মত সারিবদ্ধ হয়ে থাকতে পারে. 695 00:29:14,150 --> 00:29:15,800 >> এখন একটি কিউ খুব ইচ্ছা নামকরণ করা হয়. 696 00:29:15,800 --> 00:29:18,190 নেই, কারণ এটা একটা লাইন এটা কিছু সততা. 697 00:29:18,190 --> 00:29:18,690 রাইট? 698 00:29:18,690 --> 00:29:21,690 আপনি করেছি যদি এটা কোন ধরনের স্তন্যদান করবে অ্যাপল স্টোর এ প্রথম সেখানে পেয়েছিলাম 699 00:29:21,690 --> 00:29:25,700 কিন্তু আপনি কার্যকরভাবে নীচেরতম হয় ট্রে তারপর আপেল কর্মচারীদের কারণ 700 00:29:25,700 --> 00:29:28,189 শেষ ব্যক্তি পপ যারা আসলে লাইনে পেয়েছিলাম. 701 00:29:28,189 --> 00:29:31,230 Stacks এবং সারির, যদিও তাই বৈশিষ্ট্যগুলি তারা same-- অপেক্ষা করছেন 702 00:29:31,230 --> 00:29:33,105 এটা শুধু এই সংকলন সম্পদের যে 703 00:29:33,105 --> 00:29:36,210 আছে shrink-- হত্তয়া যাচ্ছে এবং এটা এই সততা দৃষ্টিভঙ্গি, 704 00:29:36,210 --> 00:29:39,634 বাস্তব জগতে অন্তত, যেখানে অপারেশন আপনি ব্যায়াম 705 00:29:39,634 --> 00:29:40,800 মৌলিকভাবে ভিন্ন. 706 00:29:40,800 --> 00:29:43,360 একটি সারিতে একটি stack-- rather-- আছে বলা হয় 707 00:29:43,360 --> 00:29:45,320 দুই অপারেশন: এন কিউ এবং ঘ কিউ. 708 00:29:45,320 --> 00:29:46,341 709 00:29:46,341 --> 00:29:48,090 অথবা আপনি তাদের সাথে যোগাযোগ করতে পারেন যে কোনো একটি সংখ্যা. 710 00:29:48,090 --> 00:29:50,770 কিন্তু আপনি শুধু ক্যাপচার করতে চান এক যোগ হয় যে ধারণা 711 00:29:50,770 --> 00:29:53,230 এবং এক পরিণামে subtracting হয়. 712 00:29:53,230 --> 00:29:58,840 >> এখন ফণা নীচে, উভয় স্ট্যাক এবং একটি কিউ কিভাবে বাস্তবায়িত হতে পারে? 713 00:29:58,840 --> 00:30:01,390 আমরা এর কোড মধ্যে যেতে হবে না এটা কারণ উচ্চতর স্তর 714 00:30:01,390 --> 00:30:03,387 ধারণা ধরণের আরো সুস্পষ্ট. 715 00:30:03,387 --> 00:30:04,470 আমি বলতে চাচ্ছি, মানুষের কি করবেন? 716 00:30:04,470 --> 00:30:07,030 আমি অ্যাপল এ প্রথম ব্যক্তি নই যদি সঞ্চয় করুন এবং এই সদর দরজা হয়, 717 00:30:07,030 --> 00:30:08,130 আপনি আমি এখানে দাঁড়ানো যাচ্ছে না, জানি. 718 00:30:08,130 --> 00:30:09,750 আর পরের ব্যক্তির এখানে দাঁড়ানো যাচ্ছে. 719 00:30:09,750 --> 00:30:11,500 আর পরের ব্যক্তির এখানে দাঁড়ানো যাচ্ছে. 720 00:30:11,500 --> 00:30:13,792 তাই কি তথ্য গঠন নিজেই একটি সারিতে ধার দেয়? 721 00:30:13,792 --> 00:30:14,542 >> শ্রোতা: একটি কিউ. 722 00:30:14,542 --> 00:30:15,667 ডেভিড Malan: ওয়েল, একটি কিউ. 723 00:30:15,667 --> 00:30:16,390 শিওর. 724 00:30:16,390 --> 00:30:16,920 আর কী? 725 00:30:16,920 --> 00:30:17,600 >> শ্রোতা: একটি লিঙ্ক তালিকা. 726 00:30:17,600 --> 00:30:18,990 >> ডেভিড Malan: একটি লিঙ্ক আপনি বাস্তবায়ন হতে পারে তার তালিকা দেখাবে. 727 00:30:18,990 --> 00:30:22,500 এবং একটি লিঙ্ক তালিকা তারপর, কারণ চমৎকার উল্টোদিকে এটা দীর্ঘ ইচ্ছামত হত্তয়া পারেন 728 00:30:22,500 --> 00:30:24,880 কিছু নির্দিষ্ট সংখ্যা হচ্ছে বাজারের মানুষ. 729 00:30:24,880 --> 00:30:27,030 কিন্তু হয়তো একটি নির্দিষ্ট সংখ্যা জায়গা বৈধ হয়. 730 00:30:27,030 --> 00:30:30,350 তারা মাত্র 20 ভালো আছে কারণ যদি হয়তো, প্রথম দিনে iPhones 731 00:30:30,350 --> 00:30:33,930 তারা শুধুমাত্র আকারের একটি অ্যারে প্রয়োজন 20 যে কিউ, প্রতিনিধিত্ব যা 732 00:30:33,930 --> 00:30:37,070 আমরা কথা বলা শুরু একবার শুধু এখন বলতে হয় এই উচ্চ স্তরের সমস্যা সম্পর্কে, 733 00:30:37,070 --> 00:30:38,890 আপনি এটা বাস্তবায়ন করতে পারে উপায় যে কোন সংখ্যার মধ্যে. 734 00:30:38,890 --> 00:30:42,030 এবং সম্ভবত ঠিক যাচ্ছে আছে স্থান ও সময় একটি ট্রেড বন্ধ হতে 735 00:30:42,030 --> 00:30:43,950 বা শুধু আপনার নিজের কোড জটিলতা. 736 00:30:43,950 --> 00:30:45,380 >> একটি স্ট্যাক সম্পর্কে কি? 737 00:30:45,380 --> 00:30:48,190 ওয়েল, একটি স্ট্যাক, আমরা খুব দেখা করেছি শুধু এই ট্রে হতে পারে. 738 00:30:48,190 --> 00:30:50,007 এবং যদি আপনি এই একটি অ্যারের বাস্তবায়ন হতে পারে. 739 00:30:50,007 --> 00:30:53,090 কিন্তু কিছু সময়ে আপনি, একটি অ্যারের ব্যবহার করে কি ট্রে ঘটতে যাচ্ছে 740 00:30:53,090 --> 00:30:54,173 আপনি প্রশমিত করার চেষ্টা করছেন? 741 00:30:54,173 --> 00:30:55,170 742 00:30:55,170 --> 00:30:55,670 ঠিক আছে. 743 00:30:55,670 --> 00:30:57,490 আপনি শুধুমাত্র চলুন তাই উচ্চ যেতে সক্ষম. 744 00:30:57,490 --> 00:31:00,156 এবং আমি তারা করছি মাথের মনে আসলে যে খোলার মধ্যে খুপরিকাটা. 745 00:31:00,156 --> 00:31:01,950 তাই প্রকৃতপক্ষে, এটা প্রায় এর মাথের ব্যবহার হয় ভালো 746 00:31:01,950 --> 00:31:03,783 নির্দিষ্ট আকার একটি অ্যারের, আপনি শুধুমাত্র পারেন কারণ 747 00:31:03,783 --> 00:31:08,302 এ যে খোলার মধ্যে অনেক ট্রে মাপসই মানুষের হাঁটুর নীচে নামিয়ে প্রাচীর. 748 00:31:08,302 --> 00:31:10,010 তাই যে হতে পারে একটি অ্যারে হতে বলেন, 749 00:31:10,010 --> 00:31:14,300 কিন্তু আমরা অবশ্যই যে বাস্তবায়ন হতে পারে আরো সাধারণভাবে একটি লিঙ্ক তালিকা দিয়ে. 750 00:31:14,300 --> 00:31:16,390 >> ভাল, কি অন্য ডাটা স্ট্রাকচার সম্পর্কে? 751 00:31:16,390 --> 00:31:18,760 আমাকে এখানে চাক্ষুষ অন্য এক থামা. 752 00:31:18,760 --> 00:31:24,710 কিভাবে এখানে এই একটি বিষয়ে মত কিছু? 753 00:31:24,710 --> 00:31:28,920 কেন এটা না আছে উপযোগী হতে পারে একটি trie, যত অভিনব কিছু যা 754 00:31:28,920 --> 00:31:32,370 আমরা, এই অত্যন্ত ব্যাপক নোড ছিল দেখেছি যা প্রতিটি একটি অ্যারের মধ্যে হল? 755 00:31:32,370 --> 00:31:35,740 কিন্তু আমরা কিছু আরও কি করে সহজভাবে, একটি পুরানো স্কুল পরিবার গাছ মত, 756 00:31:35,740 --> 00:31:38,110 যার এখানে নোডের প্রতিটি শুধু একটি নম্বর সংরক্ষণকারী হয়. 757 00:31:38,110 --> 00:31:42,180 পরিবর্তে একটি নাম বা একটি বংশধর এর শুধু ভালো একটি নম্বর সংরক্ষণকারী হয়. 758 00:31:42,180 --> 00:31:45,250 >> ওয়েল, অপভাষা আমরা ব্যবহার ডাটা স্ট্রাকচার উভয় চেষ্টা হয় 759 00:31:45,250 --> 00:31:49,510 এবং গাছ, একটি trie, আবার, যেখানে শুধু যার নোড অ্যারে হয় এক, 760 00:31:49,510 --> 00:31:51,680 এখনও কি আপনি পারে গ্রেড স্কুল থেকে ব্যবহার 761 00:31:51,680 --> 00:31:53,860 আপনি একটি পরিবার তৈরি করার সময় ট্রি পাতা এবং root- র 762 00:31:53,860 --> 00:31:57,250 গাছ এবং শিশুদের পিতা বা মাতা এবং উহার ভাইবোন. 763 00:31:57,250 --> 00:32:03,670 এবং আমরা একটি গাছ বাস্তবায়ন হতে পারে, উদাহরণস্বরূপ, হিসাবে কেবল এই হিসাবে. 764 00:32:03,670 --> 00:32:07,420 একটি গাছ, তা যদি একটি নোডের, এক হিসাবে একটি নম্বর আছে যে এই বৃত্ত, 765 00:32:07,420 --> 00:32:09,947 এটা আছে যাচ্ছে না এক পয়েন্টার, কিন্তু দুটি. 766 00:32:09,947 --> 00:32:11,780 এবং যত তাড়াতাড়ি আপনি যোগ হিসাবে একটি দ্বিতীয় পয়েন্টার, আপনি 767 00:32:11,780 --> 00:32:13,905 আসলে এখন সাজানোর করতে পারেন দুই-মাত্রিক তথ্য 768 00:32:13,905 --> 00:32:14,780 মেমরি স্ট্রাকচার. 769 00:32:14,780 --> 00:32:16,660 একটি দুটি ত্রিমাত্রিক মত অনেক অ্যারে, আপনি যা করতে পারেন 770 00:32:16,660 --> 00:32:18,904 দুই-মাত্রিক ধরনের আছে সংযুক্ত তালিকার কিন্তু ওগুলো 771 00:32:18,904 --> 00:32:20,820 যে একটি প্যাটার্ন অনুসরণ যেখানে কোন চক্র আছে. 772 00:32:20,820 --> 00:32:24,487 এটা এক সঙ্গে সত্যিই একটি গাছ এর এখানে এবং তারপর পিতামহ উপায় আপ 773 00:32:24,487 --> 00:32:27,320 কিছু পিতামাতা এবং শিশুদের এবং grandchildren এবং মহান-নাতি. 774 00:32:27,320 --> 00:32:28,370 এবং তাই ঘোষণা. 775 00:32:28,370 --> 00:32:32,390 >> কিন্তু, খুব এই সম্পর্কে সত্যিই ঝরঝরে কি শুধু একটি কোড বিট সঙ্গে আপনি আঁচড়ান, 776 00:32:32,390 --> 00:32:35,370 থেকে রিকল recursion কিছুক্ষণ ফিরে, যদ্দ্বারা 777 00:32:35,370 --> 00:32:38,220 আপনি নিজেই কল যে একটি ফাংশন লিখুন. 778 00:32:38,220 --> 00:32:41,140 এটি একটি সুন্দর সুযোগ কিছু বাস্তবায়ন 779 00:32:41,140 --> 00:32:42,920 recursion মত, কারণ এই বিবেচনা. 780 00:32:42,920 --> 00:32:43,860 >> এটি একটি গাছ. 781 00:32:43,860 --> 00:32:48,040 এবং আমি কিভাবে সঙ্গে একটু পোঁদ চলেছি আমি রাস্তার মধ্যে পূর্ণসংখ্যার করা. 782 00:32:48,040 --> 00:32:51,020 তাই এত যে এটি একটি বিশেষ আছে একটি বাইনারি অনুসন্ধান বৃক্ষ নাম. 783 00:32:51,020 --> 00:32:53,460 এখন আমরা বাইনারি শুনিনি করেছি আপনি অনুসন্ধান, কিন্তু যা করতে পারেন 784 00:32:53,460 --> 00:32:55,180 এই জিনিস এর নাম থেকে পিছন দিকে কাজ? 785 00:32:55,180 --> 00:32:59,280 আমি কিভাবে প্যাটার্ন কি এই গাছ মধ্যে পূর্ণসংখ্যার ঢোকানো? 786 00:32:59,280 --> 00:33:00,696 এটা নির্বিচারে নয়. 787 00:33:00,696 --> 00:33:01,570 কিছু প্যাটার্ন আছে. 788 00:33:01,570 --> 00:33:02,090 হাঁ. 789 00:33:02,090 --> 00:33:03,370 >> শ্রোতা: বাম থেকে ক্ষুদ্রতর বেশী. 790 00:33:03,370 --> 00:33:03,690 >> ডেভিড MALAN: হ্যাঁ. 791 00:33:03,690 --> 00:33:05,062 ছোট ওগুলো বাম থেকে হয়. 792 00:33:05,062 --> 00:33:06,270 বড় বেশী অধিকার আছে. 793 00:33:06,270 --> 00:33:12,940 যেমন একটি সত্য বিবৃতি যে একটি পিতা বা মাতা, তার বাম সন্তানের চেয়ে অনেক বেশী 794 00:33:12,940 --> 00:33:14,850 তার ডান সন্তানের চেয়ে কিন্তু কম. 795 00:33:14,850 --> 00:33:17,750 এবং যে একা এমনকি একটি হল রিকার্সিভ মৌখিক সংজ্ঞা 796 00:33:17,750 --> 00:33:20,500 আপনি যে আবেদন করতে পারেন কারণ প্রত্যেক নোডের একই যুক্তি 797 00:33:20,500 --> 00:33:23,080 এবং এটা শুধুমাত্র bottoms আউট, একটি বেস ক্ষেত্রে আপনি যদি 798 00:33:23,080 --> 00:33:25,740 হবে, যখন আপনি এক আঘাত পাতা, তাই কথা বলতে, 799 00:33:25,740 --> 00:33:28,580 একটি ছুটি আরও কোন সন্তান আছে যেখানে. 800 00:33:28,580 --> 00:33:30,614 >> এখন কিভাবে আপনি সংখ্যা 44 খুঁজতে পারে? 801 00:33:30,614 --> 00:33:32,280 আপনি, এইচএম root- এ শুরু এবং বলতে হবে. 802 00:33:32,280 --> 00:33:35,690 55 তাই আমি যেতে চাই না 44 না ডান বা আমি বাম যেতে চান? 803 00:33:35,690 --> 00:33:37,190 ওয়েল, অবশ্যই আপনি বাম যেতে চান. 804 00:33:37,190 --> 00:33:40,060 তাই এটা শুধু ফোন মত বাইনারি অনুসন্ধান বইয়ের উদাহরণ 805 00:33:40,060 --> 00:33:41,099 আরো সাধারণভাবে. 806 00:33:41,099 --> 00:33:43,390 কিন্তু আমরা তা বাস্তবায়ন করছি এখন একটু বেশি পরিবর্তনশীল 807 00:33:43,390 --> 00:33:45,339 একটি অ্যারের অনুমতি চেয়ে. 808 00:33:45,339 --> 00:33:48,130 এবং বাস্তবিকই, আপনি তাকান করতে চান তাহলে কোড এ, প্রথম নজরে নিশ্চিত. 809 00:33:48,130 --> 00:33:49,671 এটা লাইন আভা মত দেখায়. 810 00:33:49,671 --> 00:33:51,220 কিন্তু এটা সুন্দর সহজ. 811 00:33:51,220 --> 00:33:54,490 আপনি একটি ফাংশন বাস্তবায়ন করতে চান জীবনে যার উদ্দেশ্য বলা অনুসন্ধান 812 00:33:54,490 --> 00:33:57,290 একটি মান জন্য অনুসন্ধান করতে হয় ভালো এন, একটি পূর্ণসংখ্যা, 813 00:33:57,290 --> 00:34:01,756 এবং আপনি একটি এক পয়েন্টার পাস করছি শিকড় নোডের একটি পয়েন্টার, 814 00:34:01,756 --> 00:34:04,380 বরং, যে গাছ যা থেকে আপনি, অন্য সব কিছুর অ্যাক্সেস করতে পারেন 815 00:34:04,380 --> 00:34:08,850 কিভাবে straightforwardly বিজ্ঞপ্তি আপনি লজিক বাস্তবায়ন করতে পারে. 816 00:34:08,850 --> 00:34:10,880 গাছ নাল হয়, সম্ভবত এটি আছে না. 817 00:34:10,880 --> 00:34:11,880 এর মাত্র মিথ্যা ফিরে যাক. 818 00:34:11,880 --> 00:34:12,000 রাইট? 819 00:34:12,000 --> 00:34:14,040 আপনি এটা কিছুই হাতে যদি, সেখানে কিছুই নেই. 820 00:34:14,040 --> 00:34:17,900 >> অন্যথায় এন কম, যদি এখন এন arrow n-- গাছ তীর, 821 00:34:17,900 --> 00:34:20,670 আমরা সুপার চালু প্রত্যাহার সংক্ষেপে অন্যান্য দিন, 822 00:34:20,670 --> 00:34:25,100 এবং যে শুধু ডি-রেফারেন্স মানে পয়েন্টার এবং এন নামক ক্ষেত্রের তাকান. 823 00:34:25,100 --> 00:34:27,690 সুতরাং সেখানে যান এবং অর্থ এন নামক ক্ষেত্রের তাকান. 824 00:34:27,690 --> 00:34:33,810 তাই এন হলে, আপনাকে দেওয়া করছি মান, কম গাছ পূর্ণসংখ্যা মান বেশি, 825 00:34:33,810 --> 00:34:35,449 যেখানে আপনি যেতে চান না? 826 00:34:35,449 --> 00:34:36,389 বামে যান. 827 00:34:36,389 --> 00:34:37,780 >> সুতরাং recursion বিজ্ঞপ্তি. 828 00:34:37,780 --> 00:34:39,860 আমি না সত্য returning-- করছি. 829 00:34:39,860 --> 00:34:40,989 মিথ্যা নয়. 830 00:34:40,989 --> 00:34:45,670 আমি যাহা উত্তর ফেরত দিচ্ছি নিজেকে একটি কল থেকে হয়, ক্ষণস্থায়ী 831 00:34:45,670 --> 00:34:50,100 অপ্রয়োজনীয় যা আবার একটি এন,, কিন্তু এখন কিছুটা ভিন্ন কি? 832 00:34:50,100 --> 00:34:51,989 আমি কিভাবে ছোট সমস্যা তৈরীর am? 833 00:34:51,989 --> 00:34:54,920 আমি দ্বিতীয় হিসাবে কথা প্রসঙ্গে করছি যুক্তি, গাছ না রুট, 834 00:34:54,920 --> 00:34:59,616 কিন্তু এই ক্ষেত্রে বাম সন্তানের. 835 00:34:59,616 --> 00:35:00,990 তাই আমি বাম সন্তানের কথা প্রসঙ্গে করছি. 836 00:35:00,990 --> 00:35:04,720 >> এদিকে এন চেয়ে বড়, যদি আমি বর্তমানে এ খুঁজছি নোড, 837 00:35:04,720 --> 00:35:06,690 আমি ডান দিকে অনুসন্ধান. 838 00:35:06,690 --> 00:35:10,880 অন্যথায়, গাছ, নাল না হলে এবং উপাদান বাঁদিকে না হলে 839 00:35:10,880 --> 00:35:13,240 এবং এটা, ডানে না কেস wonderfully কি? 840 00:35:13,240 --> 00:35:14,630 841 00:35:14,630 --> 00:35:18,440 আমরা আসলে সালে নোড পাওয়া করেছি প্রশ্ন, এবং তাই আমরা সত্য ফিরে. 842 00:35:18,440 --> 00:35:21,490 >> তাই আমরা ঠিক পৃষ্ঠ চিরা করেছি এখন এই ডেটা স্ট্রাকচার কিছু. 843 00:35:21,490 --> 00:35:24,370 সমস্যা পাঁচটি সেট ইন আপনি পাবেন এখনো আরও এইসব অন্বেষণ, 844 00:35:24,370 --> 00:35:27,250 এবং আপনি আপনার নকশা দেওয়া হবে এই বিষয়ে যান কিভাবে পছন্দমত. 845 00:35:27,250 --> 00:35:30,250 আমি উপর উপসংহারে চাই কি মাত্র 30 সেকেন্ডে টিজার হয় 846 00:35:30,250 --> 00:35:32,080 তার পরেও আগামী সপ্তাহে এবং অ্যাওয়েট্সওয়াচমেন কি. 847 00:35:32,080 --> 00:35:35,390 >> আমরা সৌভাগ্যক্রমে begin-- হিসাবে আপনি প্রতাপ ধীরে ধীরে আমাদের রূপান্তরটি হাসছে না 848 00:35:35,390 --> 00:35:38,680 সি এবং নিম্ন বিশ্বের থেকে স্তর বাস্তবায়ন বিবরণ, 849 00:35:38,680 --> 00:35:42,090 বিশ্ব যা আমরা জন্য নিতে পারেন অন্য কেউ পরিশেষে আছে যে মঞ্জুর 850 00:35:42,090 --> 00:35:44,010 এই তথ্য প্রয়োগ আমাদের জন্য কাঠামো, 851 00:35:44,010 --> 00:35:47,570 এবং আমরা বুঝতে শুরু করব বাস্তব জগতে বাস্তবায়নের মানে 852 00:35:47,570 --> 00:35:50,560 ওয়েব ভিত্তিক প্রোগ্রাম এবং ওয়েবসাইট আরো সাধারণভাবে 853 00:35:50,560 --> 00:35:52,910 এবং এছাড়াও খুব নিরাপত্তা আমরা শুধুমাত্র করেছি যে প্রভাব 854 00:35:52,910 --> 00:35:54,850 পৃষ্ঠের এবং স্ক্র্যাচ থেকে শুরু. 855 00:35:54,850 --> 00:35:57,320 এখানে আমাদের অ্যাওয়েট্সওয়াচমেন কি দিনের মধ্যে আসা. 856 00:35:57,320 --> 00:36:00,480 >> [ভিডিও প্লেব্যাক] 857 00:36:00,480 --> 00:36:03,432 858 00:36:03,432 --> 00:36:12,780 >> -তিনি, একটি বার্তা নিয়ে এসেছেন সব তার নিজস্ব একটি প্রোটোকল সঙ্গে. 859 00:36:12,780 --> 00:36:26,110 860 00:36:26,110 --> 00:36:30,894 তিনি নিষ্ঠুর এক পৃথিবীর এসেছিলেন ফায়ারওয়াল, রাউটার uncaring, 861 00:36:30,894 --> 00:36:33,368 এবং বিপদ মৃত্যুর চেয়ে অনেক খারাপ. 862 00:36:33,368 --> 00:36:35,280 863 00:36:35,280 --> 00:36:36,236 তিনি দ্রুত. 864 00:36:36,236 --> 00:36:37,980 তিনি দৃঢ়. 865 00:36:37,980 --> 00:36:42,830 তিনি বিভিন্ন TCP / IP সংক্রান্ত, এবং তিনি আপনার ঠিকানা এর পেয়েছিলাম. 866 00:36:42,830 --> 00:36:45,290 867 00:36:45,290 --> 00:36:48,074 "নেট এর ওয়ারিয়র্স." 868 00:36:48,074 --> 00:36:49,660 [END টি ভিডিও প্লেব্যাক] 869 00:36:49,660 --> 00:36:50,910 ডেভিড Malan: আগামী সপ্তাহে আসছে. 870 00:36:50,910 --> 00:36:51,880 আমরা আপনাকে তাহলে দেখতে হবে. 871 00:36:51,880 --> 00:36:54,615 872 00:36:54,615 --> 00:36:56,060 [ভিডিও প্লেব্যাক] 873 00:36:56,060 --> 00:36:59,240 -এবং এখন, "ডিপ থটস" Daven Farnham দ্বারা. 874 00:36:59,240 --> 00:37:02,030 875 00:37:02,030 --> 00:37:05,820 -ডেভিড সবসময় আরম্ভ , সঙ্গে বক্তৃতা "ঠিক আছে." 876 00:37:05,820 --> 00:37:08,750 কেন না, "এখানে সমাধান এই সপ্তাহে এর সমস্যা সেট "থেকে 877 00:37:08,750 --> 00:37:12,180 বা "আমরা একটি একটি আপনি সব প্রদান করছেন?" 878 00:37:12,180 --> 00:37:13,380 [হাসতে] 879 00:37:13,380 --> 00:37:15,530 [END টি ভিডিও প্লেব্যাক]