1 00:00:07,720 --> 00:00:10,950 [Powered by Google Translate] আপনি সম্ভবত করেছি শুনে জনের একটি দ্রুত বা দক্ষ এলগরিদম সম্পর্কে কথা বলা 2 00:00:10,950 --> 00:00:13,090 আপনার জন্য বিশেষ টাস্ক নির্বাহ, 3 00:00:13,090 --> 00:00:16,110 কি ঠিক কিন্তু এটি একটি অ্যালগরিদম দ্রুত বা দক্ষ জন্য মানে? 4 00:00:16,110 --> 00:00:18,580 ওয়েল, এটা রিয়েল টাইমে একটি পরিমাপ বিষয়ে কথা বলছি না, 5 00:00:18,580 --> 00:00:20,500 ভালো যাও বা মিনিট. 6 00:00:20,500 --> 00:00:22,220 এর কারণ হল কম্পিউটার হার্ডওয়্যার 7 00:00:22,220 --> 00:00:24,260 সফ্টওয়্যার এবং অত্যন্ত তারতম্য. 8 00:00:24,260 --> 00:00:26,020 আমার প্রোগ্রাম এগুলি তুলনায় ধীর চালানো হতে পারে, 9 00:00:26,020 --> 00:00:28,000 কারণ আমি একটি পুরোনো কম্পিউটারে এটি হবে চলমান, 10 00:00:28,000 --> 00:00:30,110 বা কারণ আমি এরকম একটি অনলাইন ভিডিও গেম খেলার করা 11 00:00:30,110 --> 00:00:32,670 একই সময়ে, যা সব আমার মেমরি নুড়ি হয়, 12 00:00:32,670 --> 00:00:35,400 অথবা আমি বিভিন্ন সফটওয়্যার এর মাধ্যমে আমার প্রোগ্রাম হতে পারে চলমান 13 00:00:35,400 --> 00:00:37,550 যা মেশিনের সাথে যোগাযোগ পৃথক একটি নিম্ন পর্যায়ে. 14 00:00:37,550 --> 00:00:39,650 এটা আপেল এবং কমলা তুলনা করার মত. 15 00:00:39,650 --> 00:00:41,940 শুধু কারণ আমার ধীর গতির কম্পিউটার এখন আর লাগে 16 00:00:41,940 --> 00:00:43,410 তুলনায় পুলিশের একটি answer দিতে ফিরে 17 00:00:43,410 --> 00:00:45,510 কিন্তু আপনি আরো দক্ষ এলগরিদম আছে না মানে. 18 00:00:45,510 --> 00:00:48,830 >> সুতরাং, আমরা যেহেতু সরাসরি প্রোগ্রামের সাথে তুলনা করতে পারেন না runtimes 19 00:00:48,830 --> 00:00:50,140 সেকেন্ডের মধ্যে অথবা মিনিট, 20 00:00:50,140 --> 00:00:52,310 কিভাবে আমরা বিভিন্ন 2 আলগোরিদিম তুলনা 21 00:00:52,310 --> 00:00:55,030 নির্বিশেষে তাদের হার্ডওয়্যার অথবা সফ্টওয়্যার পরিবেশ? 22 00:00:55,030 --> 00:00:58,000 একটি আলগোরিদিমিক দক্ষতা পরিমাপ আরো অভিন্ন ভাবে তৈরি, 23 00:00:58,000 --> 00:01:00,360 কম্পিউটার বিজ্ঞানীরা এবং mathematicians চিন্তিত আছে 24 00:01:00,360 --> 00:01:03,830 একটি প্রোগ্রাম asymptotic জটিলতা পরিমাপের জন্য ধারণা 25 00:01:03,830 --> 00:01:06,110 এবং একটি স্বরলিপি বলা 'বিগ Ohnotation' 26 00:01:06,110 --> 00:01:08,320 এই জন্য বর্ণনা. 27 00:01:08,320 --> 00:01:10,820 প্রথাগত সংজ্ঞা হয় যে একটা ফাংশন f (x) 28 00:01:10,820 --> 00:01:13,390 গ্রাম অর্ডার (x) উপর সঞ্চালিত হয় 29 00:01:13,390 --> 00:01:15,140 যদি কিছু বিদ্যমান? (x) মূল্য আছে, x এর ₀ এবং 30 00:01:15,140 --> 00:01:17,630 কিছু ধ্রুবক, সি, যার জন্য 31 00:01:17,630 --> 00:01:19,340 চ (x) কম বা সমান 32 00:01:19,340 --> 00:01:21,230 যে ধ্রুব বার g (x) 33 00:01:21,230 --> 00:01:23,190 জন্য সমস্ত x x ₀ তার চেয়ে অনেক বেশী. 34 00:01:23,190 --> 00:01:25,290 >> কিন্তু প্রথাগত সংজ্ঞা দ্বারা কাঁচুমাচু না দূরে করা হবে. 35 00:01:25,290 --> 00:01:28,020 কি আসলে এই কম তাত্ত্বিক পদ মানে? 36 00:01:28,020 --> 00:01:30,580 হ্যাঁ, এটি মূলত বিশ্লেষণ এর একটি উপায় 37 00:01:30,580 --> 00:01:33,580 কিভাবে দ্রুত একটি প্রোগ্রাম এর রানটাইম asymptotically বৃদ্ধি. 38 00:01:33,580 --> 00:01:37,170 অর্থাৎ, আপনার ইনপুট হিসাবে মাপ অনন্ত প্রতি বাড়ে, 39 00:01:37,170 --> 00:01:41,390 বলুন, আপনি মাপ 10 শ্রেণীবিন্যাস তুলনায় আয়তন 1000 শ্রেণীবিন্যাস বাছাই করছেন. 40 00:01:41,390 --> 00:01:44,950 কিভাবে আপনার প্রোগ্রামের রানটাইম না বাড়া? 41 00:01:44,950 --> 00:01:47,390 উদাহরণস্বরূপ, অক্ষরের সংখ্যা বেড়ে চলেছে কল্পনা 42 00:01:47,390 --> 00:01:49,350 একটি স্ট্রিং সহজ উপায় 43 00:01:49,350 --> 00:01:51,620  দ্বারা সম্পূর্ণ পংক্তি মাধ্যমে হাঁটা 44 00:01:51,620 --> 00:01:54,790 চিঠি-দ্বারা অক্ষর এবং প্রতিটি অক্ষরের জন্য একটি পাল্টা যাও 1 যোগ. 45 00:01:55,700 --> 00:01:58,420 এই অ্যালগরিদম রৈখিক সময় চালানোর জন্য বলা হয় 46 00:01:58,420 --> 00:02:00,460 সঙ্গে অক্ষরের সংখ্যা সম্মান, 47 00:02:00,460 --> 00:02:02,670 'এন' পংক্তিতে. 48 00:02:02,670 --> 00:02:04,910 সংক্ষেপে, এটা হে (ঢ) রান. 49 00:02:05,570 --> 00:02:07,290 কেন এই? 50 00:02:07,290 --> 00:02:09,539 ওয়েল, এই পদ্ধতির ব্যবহার, সময় প্রয়োজন 51 00:02:09,539 --> 00:02:11,300 সমগ্র স্ট্রিং তর্ক করা 52 00:02:11,300 --> 00:02:13,920 সমানুপাতিক হয় অক্ষরের সংখ্যা যাও. 53 00:02:13,920 --> 00:02:16,480 একটি 20-পংক্তির মধ্যে অক্ষর সংখ্যা বেড়ে চলেছে 54 00:02:16,480 --> 00:02:18,580 দুইবার হিসাবে দীর্ঘ নিতে হিসাবে এটি প্রদর্শন করা হবে 55 00:02:18,580 --> 00:02:20,330 একটি 10-পংক্তির মধ্যে অক্ষর গণনা, 56 00:02:20,330 --> 00:02:23,000 কারণ আপনি সব অক্ষর তাকান আছে 57 00:02:23,000 --> 00:02:25,740 এবং প্রতিটি অক্ষর সময় তাকান একই পরিমাণ সময় লাগে. 58 00:02:25,740 --> 00:02:28,050 হিসাবে আপনি অক্ষরের সংখ্যা, বৃদ্ধি 59 00:02:28,050 --> 00:02:30,950 রানটাইম ইনপুট দ্বারা linearly বৃদ্ধি হবে. 60 00:02:30,950 --> 00:02:33,500 >> এখন, যদি আপনি যে রৈখিক সময় সিদ্ধান্ত কল্পনা, 61 00:02:33,500 --> 00:02:36,390 হে (ঢ), শুধু আপনার জন্য যথেষ্ট দ্রুত ছিল না? 62 00:02:36,390 --> 00:02:38,750 হতে পারে আপনি বিপুল পংক্তি সংরক্ষণ করছেন, 63 00:02:38,750 --> 00:02:40,450 এবং আপনি অতিরিক্ত সময় লাগবে সামর্থ নেই 64 00:02:40,450 --> 00:02:44,000 তাদের দ্বারা এক এক গণনা অক্ষরের সব তর্ক. 65 00:02:44,000 --> 00:02:46,650 সুতরাং, আপনি নতুন কিছু চেষ্টা সিদ্ধান্ত নেন. 66 00:02:46,650 --> 00:02:49,270 যদি আপনি ইতিমধ্যে অক্ষরের সংখ্যা সঞ্চয় ঘটতে পারে 67 00:02:49,270 --> 00:02:52,690 স্ট্রিং মধ্যে, একটি পরিবর্তনশীল নামক মধ্যে, বলে 'Len,' 68 00:02:52,690 --> 00:02:54,210 আগে থেকেই মধ্যে প্রোগ্রাম, 69 00:02:54,210 --> 00:02:57,800 আগে এমনকি আপনি আপনার স্ট্রিং খুবই প্রথম অক্ষরটি সঞ্চিত? 70 00:02:57,800 --> 00:02:59,980 তারপর সব, আপনি এখন যাও স্ট্রিং দ্বারা খুঁজে বের করতে চাই, 71 00:02:59,980 --> 00:03:02,570 চেক কি ভেরিয়েবলের মান হল. 72 00:03:02,570 --> 00:03:05,530 আপনি স্ট্রিং এ নিজেই সব তাকান আছে না, 73 00:03:05,530 --> 00:03:08,160 এবং Len মত একটি ভেরিয়েবলের মান অ্যাক্সেস বিবেচনা করা হয় 74 00:03:08,160 --> 00:03:11,100 একটি asymptotically ধ্রুবক সময় অপারেশন, 75 00:03:11,100 --> 00:03:13,070 অথবা O (1). 76 00:03:13,070 --> 00:03:17,110 কেন এই? ভাল, মনে রাখবেন কি asymptotic জটিলতা মানে. 77 00:03:17,110 --> 00:03:19,100 কিভাবে আকার হিসাবে রানটাইম পরিবর্তন 78 00:03:19,100 --> 00:03:21,400 আপনার উত্তরগুলি বৃদ্ধি? 79 00:03:21,400 --> 00:03:24,630 >> বলুন আপনি অক্ষরের একটি বড় পংক্তি সংখ্যা পেতে চেষ্টা করছিলেন. 80 00:03:24,630 --> 00:03:26,960 হ্যাঁ, এটি কিভাবে বড় পংক্তিটি করা কোন ব্যাপার না, 81 00:03:26,960 --> 00:03:28,690 এমনকি একটি মিলিয়ন অক্ষর দীর্ঘ, 82 00:03:28,690 --> 00:03:31,150 সমস্ত আপনি এই পদ্ধতির সঙ্গে স্ট্রিং এর দৈর্ঘ্য খুঁজে করতে চাই, 83 00:03:31,150 --> 00:03:33,790 যাও পরিবর্তনশীল Len মান পড়তে আউট হল, 84 00:03:33,790 --> 00:03:35,440 যা ইতিমধ্যে আপনি তৈরি করেছেন. 85 00:03:35,440 --> 00:03:38,200 ইনপুট দ্বারা, যে, আপনি স্ট্রিং খোঁজার চেষ্টা করছেন তার দ্বারা, 86 00:03:38,200 --> 00:03:41,510 কিন্তু কিভাবে দ্রুত আপনার সমস্ত প্রোগ্রাম রান এ প্রভাব ফেলে না. 87 00:03:41,510 --> 00:03:44,550 আপনার প্রোগ্রাম এই ভাগে এক পংক্তি চালানো সমানভাবে দ্রুত করবে 88 00:03:44,550 --> 00:03:46,170 এবং হাজার হাজার-পংক্তি, 89 00:03:46,170 --> 00:03:49,140 এবং যে কেন এই প্রোগ্রাম করা হবে ধ্রুবক সময় চলমান হিসাবে বলা 90 00:03:49,140 --> 00:03:51,520 সঙ্গে ইনপুট আকার সম্মান. 91 00:03:51,520 --> 00:03:53,920 >> অবশ্যই একটি অসুবিধা আছে. 92 00:03:53,920 --> 00:03:55,710 আপনি আপনার কম্পিউটারে অতিরিক্ত মেমরি স্পেস ব্যয় 93 00:03:55,710 --> 00:03:57,380 পরিবর্তনশীল সংরক্ষণ 94 00:03:57,380 --> 00:03:59,270 এবং অতিরিক্ত সময় এটি প্রদর্শিত হবে 95 00:03:59,270 --> 00:04:01,490 যাও পরিবর্তনশীল প্রকৃত সংগ্রহস্থল না, 96 00:04:01,490 --> 00:04:03,390 কিন্তু এখনও বিন্দু ঘোরা, 97 00:04:03,390 --> 00:04:05,060 কীভাবে আপনার দীর্ঘ স্ট্রিং ছিল 98 00:04:05,060 --> 00:04:07,600 কিন্তু এ সমস্ত স্ট্রিং দৈর্ঘ্যের উপর নির্ভর করে না. 99 00:04:07,600 --> 00:04:10,720 সুতরাং, এটা হে (1) বা ধ্রুবক সময় রান. 100 00:04:10,720 --> 00:04:13,070 অবশ্যই এই চাওয়ার কথা বলছেন না 101 00:04:13,070 --> 00:04:15,610 যে আপনার কোড পদক্ষেপ 1 রান, 102 00:04:15,610 --> 00:04:17,470 কিন্তু কোন ব্যাপার কতগুলি পদক্ষেপ এটা, 103 00:04:17,470 --> 00:04:20,019 যদি ইনপুট মাপ সঙ্গে পরিবর্তন হয় না, 104 00:04:20,019 --> 00:04:23,420 এটি এখনও asymptotically ধ্রুবক যা আমরা আউটপুট (1) হিসাবে চিত্রিত করা. 105 00:04:23,420 --> 00:04:25,120 >> আপনি সম্ভবত আপনি অনুমান করতে পারেন, 106 00:04:25,120 --> 00:04:27,940 বিভিন্ন বড় হে runtimes যাও সঙ্গে আলগোরিদিম পরিমাপ আছে. 107 00:04:27,940 --> 00:04:32,980 হে (ঢ) ² আলগোরিদিম হল আউটপুট (ঢ) আলগোরিদিম তুলনায় asymptotically মন্থর. 108 00:04:32,980 --> 00:04:35,910 অর্থাৎ, হিসাবে উপাদানের সংখ্যা (ঢ) বৃদ্ধি হয়, 109 00:04:35,910 --> 00:04:39,280 ঘটনাক্রমে হে (ঢ) ² আলগোরিদিম আরো সময় লাগবে 110 00:04:39,280 --> 00:04:41,000 তুলনায় হে (ঢ) আলগোরিদিম চালানোর. 111 00:04:41,000 --> 00:04:43,960 এই হে (ঢ) আলগোরিদিম সর্বদা দ্রুত চালানোর মানে এই নয় 112 00:04:43,960 --> 00:04:46,410 তুলনায় হে (ঢ) ² আলগোরিদিম, এমনকি একই পরিবেশ, 113 00:04:46,410 --> 00:04:48,080 একই হার্ডওয়্যারের. 114 00:04:48,080 --> 00:04:50,180 হয়তো ছোট জন্য ইনপুট মাপ, 115 00:04:50,180 --> 00:04:52,900  হে (ঢ) ² আলগোরিদিম আসলে কাজ দ্রুত হতে পারে, 116 00:04:52,900 --> 00:04:55,450 কিন্তু, অবশেষে ইনপুট আকার হিসাবে, বৃদ্ধি 117 00:04:55,450 --> 00:04:58,760 প্রতি অনন্ত, হে (ঢ) ² এর এলগরিদম এর রানটাইম 118 00:04:58,760 --> 00:05:02,000 হে (ঢ) আলগোরিদিম রানটাইম অবশেষে গ্রাস করবে. 119 00:05:02,000 --> 00:05:04,230 ঠিক মত কোনো দ্বিঘাত গাণিতিক ফাংশন 120 00:05:04,230 --> 00:05:06,510  কোন লিনিয়ার ফাংশন অবশেষে নাগাল ধরা হবে, 121 00:05:06,510 --> 00:05:09,200 কোন ব্যাপার একটি মাথার কত রৈখিক ফাংশন শুরু সঙ্গে শুরু হয় বন্ধ. 122 00:05:10,010 --> 00:05:12,000 আপনি যদি তথ্য বিশাল পরিমাণ সঙ্গে কাজ করছি, 123 00:05:12,000 --> 00:05:15,510 আলগোরিদিম হে যে চালানোর (ঢ) সত্যিই ² এর সময় শেষ পর্যন্ত গতি আপনার প্রোগ্রাম বন্ধ করে করতে পারেন, 124 00:05:15,510 --> 00:05:17,770 কিন্তু ইনপুট জন্য ছোট আকারের, 125 00:05:17,770 --> 00:05:19,420 আপনি সম্ভবত এমনকি লক্ষ্য করবেন. 126 00:05:19,420 --> 00:05:21,280 >> অন্য asymptotic জটিলতা হয়, 127 00:05:21,280 --> 00:05:24,420 লগারিদমিক সময়, হে (log n). 128 00:05:24,420 --> 00:05:26,340 একটি অ্যালগরিদম যে এই দ্রুত সঞ্চালিত একটি উদাহরণ 129 00:05:26,340 --> 00:05:29,060 হয় ক্লাসিক বাইনারি অনুসন্ধান অ্যালগোরিদম, 130 00:05:29,060 --> 00:05:31,850 জন্য একটি উপাদানের ইতিমধ্যে-অনুসারে সাজানো তালিকা একটি উপাদান খুঁজে পেতে. 131 00:05:31,850 --> 00:05:33,400 >> যদি আপনি কি বাইনারি অনুসন্ধান আছে না, 132 00:05:33,400 --> 00:05:35,170 আমি এটা আপনার জন্য সত্যিই দ্রুত ব্যাখ্যা করব. 133 00:05:35,170 --> 00:05:37,020 চলুন শুরু করা যাক আপনি বলতে নম্বর 3 খুঁজছেন 134 00:05:37,020 --> 00:05:40,200 পূর্ণসংখ্যার মধ্যে এই অ্যারে. 135 00:05:40,200 --> 00:05:42,140 এটা অ্যারের মধ্যম উপাদান এ দেখায় 136 00:05:42,140 --> 00:05:46,830 জিজ্ঞেস করে, "কি উপাদান আমি চাই চেয়ে বড়, সমান, যাও বা এই কম?" 137 00:05:46,830 --> 00:05:49,150 এটি যদি সমান, তারপর মহান. আপনি উপাদান পাওয়া গেছে, এবং আপনি সম্পন্ন করেছেন. 138 00:05:49,150 --> 00:05:51,300 এটি যদি বেশী থাকে, তাহলে আপনি জানেন উপাদান 139 00:05:51,300 --> 00:05:53,440 অ্যারের ডান পাশ করা হয়েছে, 140 00:05:53,440 --> 00:05:55,200 এবং শুধুমাত্র আপনি যে ভবিষ্যতে এ প্রত্যাশা করতে পারেন, 141 00:05:55,200 --> 00:05:57,690 এবং যদি এটা ছোট তারপর, আপনি কি জানেন এটি বাম দিকে করা আছে. 142 00:05:57,690 --> 00:06:00,980 এই প্রক্রিয়া পুনরাবৃত্তি করা হয় তাহলে ছোট আকারের সঙ্গে অ্যারে 143 00:06:00,980 --> 00:06:02,870 পর্যন্ত সঠিক উপাদান পাওয়া যায়. 144 00:06:08,080 --> 00:06:11,670 >> এই ক্ষমতাশালী আলগোরিদিম অর্ধেক প্রতিটি অপারেশন সঙ্গে অ্যারের আকার মধ্যেও. 145 00:06:11,670 --> 00:06:14,080 সুতরাং, একটি আকার 8 সাজানো অ্যারের মধ্যে একটি উপাদান খুঁজে, 146 00:06:14,080 --> 00:06:16,170 সর্বাধিক (₂ 8 লগ ইন), 147 00:06:16,170 --> 00:06:18,450 এইসব কাজকর্ম বা 3, 148 00:06:18,450 --> 00:06:22,260 মধ্যম উপাদান পরীক্ষণের পরে, অর্ধেক অ্যারের কাটা প্রয়োজন হবে, 149 00:06:22,260 --> 00:06:25,670 যেহেতু আকার 16 শ্রেণীবিন্যাস লাগে (₂ 16 লগ ইন), 150 00:06:25,670 --> 00:06:27,480 বা 4 অপারেশন. 151 00:06:27,480 --> 00:06:30,570 যে মাত্র 1 দ্বিগুণ আকার অ্যারের জন্য আরো অপারেশন. 152 00:06:30,570 --> 00:06:32,220 অ্যারের আকার দ্বিত্ব 153 00:06:32,220 --> 00:06:35,160 এই কোড দ্বারা শুধুমাত্র 1 চাঙ্গড় রানটাইম বাড়ে. 154 00:06:35,160 --> 00:06:37,770 আবার, মধ্যম উপাদান তালিকা পরীক্ষণ, তারপর বিদারক. 155 00:06:37,770 --> 00:06:40,440 সুতরাং, এটি লগারিদমিক সময় কাজ করতে এর বলেন, 156 00:06:40,440 --> 00:06:42,440 হে (log n). 157 00:06:42,440 --> 00:06:44,270 কিন্তু, আপনি বলার অপেক্ষা করুন, 158 00:06:44,270 --> 00:06:47,510 কিন্তু উপর নির্ভর করে না যেখানে এই উপাদান আপনি যা খুঁজছেন তা তালিকার মধ্যে হয়? 159 00:06:47,510 --> 00:06:50,090 যদি আপনি প্রথম উপাদান তাকান সঠিক হতে হয়? 160 00:06:50,090 --> 00:06:52,040 তারপর, এটা শুধুমাত্র 1 অপারেশন লাগে, 161 00:06:52,040 --> 00:06:54,310 কোন ব্যাপার কিভাবে বড় তালিকা. 162 00:06:54,310 --> 00:06:56,310 >> ওহ, এটা কেন কম্পিউটার বিজ্ঞানীরা আরো পদ আছে 163 00:06:56,310 --> 00:06:58,770 জন্য asymptotic জটিলতা যা সর্বোত্তম ক্ষেত্রে প্রতিফলিত 164 00:06:58,770 --> 00:07:01,050 এবং worst-ক্ষেত্রে একটি আলগোরিদিম পারফরমেন্স. 165 00:07:01,050 --> 00:07:03,320 আরো সঠিকভাবে, উচ্চ এবং নিম্ন কোট 166 00:07:03,320 --> 00:07:05,090 উপর রানটাইম. 167 00:07:05,090 --> 00:07:07,660 বাইনারি অনুসন্ধান জন্য সেরা ক্ষেত্রে, আমাদের উপাদান হল 168 00:07:07,660 --> 00:07:09,330 মধ্যম অধিকার আছে, 169 00:07:09,330 --> 00:07:11,770 এবং আপনি ধ্রুবক সময়ের মধ্যে তা পেতে, 170 00:07:11,770 --> 00:07:14,240 কোন ব্যাপার কিভাবে বড় অ্যারের বিশ্রাম হয়. 171 00:07:15,360 --> 00:07:17,650 এই চিহ্ন ব্যবহার করা হয় Ω জন্য. 172 00:07:17,650 --> 00:07:19,930 সুতরাং, এই অ্যালগরিদম Ω (1) চালানোর জন্য বলা হয়. 173 00:07:19,930 --> 00:07:21,990 সেরা ক্ষেত্রে, এটা উপাদান দ্রুত খুঁজে বের করে, 174 00:07:21,990 --> 00:07:24,200 কোন ব্যাপার কিভাবে অ্যারে বড় হয়, 175 00:07:24,200 --> 00:07:26,050 কিন্তু খারাপ কেস, 176 00:07:26,050 --> 00:07:28,690 এটি বিভক্ত চেক সঞ্চালন (লগ ঢ) আছে 177 00:07:28,690 --> 00:07:31,030 অ্যারের মধ্যে ডান উপাদান খুঁজে পেতে. 178 00:07:31,030 --> 00:07:34,270 সবচেয়ে-ক্ষেত্রে উপরের কোট বড় "O" কে আপনি কি জানেন যে ইতিমধ্যে সঙ্গে উল্লেখ করা হয়. 179 00:07:34,270 --> 00:07:38,080 সুতরাং, এটা হে (log n), কিন্তু Ω (1). 180 00:07:38,080 --> 00:07:40,680 >> একটি রৈখিক অনুসন্ধান, এর বিপরীতে, 181 00:07:40,680 --> 00:07:43,220 যা আপনি অ্যারের প্রতিটি উপাদান ভিতর দিয়ে হেটে যেতে 182 00:07:43,220 --> 00:07:45,170 এক আপনি খুঁজে পান, 183 00:07:45,170 --> 00:07:47,420 সেরা Ω (1) এ. 184 00:07:47,420 --> 00:07:49,430 আবার, প্রথম উপাদান চান. 185 00:07:49,430 --> 00:07:51,930 সুতরাং, এটি কিভাবে বড় অ্যারে হয় না ব্যাপার. 186 00:07:51,930 --> 00:07:54,840 সবচেয়ে খারাপ ক্ষেত্রে, এটা অ্যারের মধ্যে শেষ উপাদান. 187 00:07:54,840 --> 00:07:58,560 সুতরাং, আপনি সমস্ত অ্যারের মধ্যে n উপাদানের মাধ্যমে সেটা খুঁজে পেতে হেঁটে যাওয়ার আছে, 188 00:07:58,560 --> 00:08:02,170 যদি আপনি একটি 3 খুঁজছেন কথা আমার ভালো লাগে. 189 00:08:04,320 --> 00:08:06,030 সুতরাং, এটা হে (ঢ) সময় রান 190 00:08:06,030 --> 00:08:09,330 কারণ এটা আনুপাতিক অ্যারের মধ্যে উপাদান সংখ্যা. 191 00:08:10,800 --> 00:08:12,830 >> আরও একটি চিহ্ন ব্যবহার করা হয় Θ. 192 00:08:12,830 --> 00:08:15,820 এটি ব্যবহৃত আলগোরিদিম যেখানে ভাল এবং খারাপ ক্ষেত্রে বর্ণনা করা যেতে পারে 193 00:08:15,820 --> 00:08:17,440 একই. 194 00:08:17,440 --> 00:08:20,390 এটি স্ট্রিং দৈর্ঘ্য আলগোরিদিম সম্পর্কে আমরা কথা বললাম তার আগে ক্ষেত্রে. 195 00:08:20,390 --> 00:08:22,780 মানে, যদি আমরা একটি পরিবর্তনশীল মধ্যে এটি পূর্বে সংরক্ষণ 196 00:08:22,780 --> 00:08:25,160 আমরা পংক্তিটি সংরক্ষণ করে এবং তা পরবর্তী সময় ধ্রুবক অ্যাক্সেস. 197 00:08:25,160 --> 00:08:27,920 কোন ব্যাপার কি নম্বর 198 00:08:27,920 --> 00:08:30,130 আমরা যে ভেরিয়েবলের মধ্যে সংরক্ষণ করছি, আমরা তা পর্যবেক্ষণ করতে হবে. 199 00:08:33,110 --> 00:08:35,110 সেরা ক্ষেত্রে, আমরা এটি তাকান 200 00:08:35,110 --> 00:08:37,120 এবং স্ট্রিং এর দৈর্ঘ্য খুঁজে. 201 00:08:37,120 --> 00:08:39,799 সুতরাং Ω (1) বা সেরা-ক্ষেত্রে সময় ধ্রুবক. 202 00:08:39,799 --> 00:08:41,059 লক হয়, 203 00:08:41,059 --> 00:08:43,400 আমরা এটি তাকান এবং string এর দ্বারা খুঁজে. 204 00:08:43,400 --> 00:08:47,300 সুতরাং, হে (1) বা খারাপ ক্ষেত্রে সময় ধ্রুবক. 205 00:08:47,300 --> 00:08:49,180 ভাল এবং খারাপ কেস ক্ষেত্রে যেহেতু সুতরাং, একই, 206 00:08:49,180 --> 00:08:52,520 এই বলেন Θ (1) সময় চালানোর জন্য করা যেতে পারে. 207 00:08:54,550 --> 00:08:57,010 >> সংক্ষেপে বলা যায়, আমরা কোড দক্ষতা সম্পর্কে কারণ ভাল উপায় আছে 208 00:08:57,010 --> 00:09:00,110 ছাড়া বাস্তব সময় তারা চালানোর নিতে সম্পর্কে কিছু বুদ্ধিমান, 209 00:09:00,110 --> 00:09:02,270 যা বাইরে অনেক কারণের দ্বারা প্রভাবিত হয়, 210 00:09:02,270 --> 00:09:04,190 সহ বিভিন্ন হার্ডওয়্যার, সফ্টওয়্যার, 211 00:09:04,190 --> 00:09:06,040 অথবা আপনার কোড সুনির্দিষ্ট. 212 00:09:06,040 --> 00:09:08,380 এছাড়াও, আমাদের কি ঘটবে সম্পর্কে ভাল কারণ করতে পারবেন 213 00:09:08,380 --> 00:09:10,180 যখন ইনপুট বৃদ্ধির মাপ. 214 00:09:10,180 --> 00:09:12,490 >> আপনি যদি আউটপুট (ঢ) ² আলগোরিদিম মধ্যে চালাচ্ছেন, 215 00:09:12,490 --> 00:09:15,240 বা তার থেকেও খারাপ, একটি আউটপুট (2 ⁿ) এলগরিদম, 216 00:09:15,240 --> 00:09:17,170 দ্রুততম ক্রমবর্ধমান ধরন, 217 00:09:17,170 --> 00:09:19,140 আপনি কি সত্যিই ধীর গতি লক্ষ্য করা শুরু করব 218 00:09:19,140 --> 00:09:21,220 যখন আপনি শুরু তথ্য বড় পরিমাণে কাজ. 219 00:09:21,220 --> 00:09:23,590 >> এটা asymptotic জটিলতা. ধন্যবাদ.