1 00:00:00,000 --> 00:00:05,760 2 00:00:05,760 --> 00:00:08,900 >> ডগ লয়েড: সুতরাং CS50 আমরা সম্পর্কে শিখেছি বাছাই ও অনুসন্ধান বিভিন্ন 3 00:00:08,900 --> 00:00:09,442 আলগোরিদিম. 4 00:00:09,442 --> 00:00:11,400 এবং কখনও কখনও এটা হতে পারে রাখার একটি সামান্য চতুর 5 00:00:11,400 --> 00:00:14,161 কি এলগরিদম সম্পর্কে অবগত কি না. 6 00:00:14,161 --> 00:00:15,910 আমরা সত্যিই শুধুমাত্র করেছি খুব পৃষ্ঠ স্কিম 7 00:00:15,910 --> 00:00:18,740 অন্যান্য অনেক অনুসন্ধানের আছে এবং আলগোরিদিম বাছাই. 8 00:00:18,740 --> 00:00:21,780 সুতরাং এই ভিডিওতে আসুন মাত্র কয়েক মিনিট সময় নিতে 9 00:00:21,780 --> 00:00:24,980 চেষ্টা করুন এবং প্রতিটি আলগোরিদিম চুয়ান তার মূল উপাদান নিচে 10 00:00:24,980 --> 00:00:27,810 তাই আপনি যে সবচেয়ে মনে রাখা যাবে তাদের সম্পর্কে গুরুত্বপূর্ণ তথ্য 11 00:00:27,810 --> 00:00:31,970 এবং স্পষ্ট করতে সক্ষম হবে পার্থক্য, যদি প্রয়োজন হয় তাহলে. 12 00:00:31,970 --> 00:00:34,220 >> প্রথম নির্বাচন সাজানোর হয়. 13 00:00:34,220 --> 00:00:38,210 নির্বাচন সাজানোর পিছনে উপজীব্য ক্ষুদ্রতম পাঁচমিশালী উপাদান খুঁজে হয় 14 00:00:38,210 --> 00:00:42,890 এবং একটি অ্যারের মধ্যে সাথে বিনিময় যে অ্যারের প্রথম পাঁচমিশালী উপাদান. 15 00:00:42,890 --> 00:00:46,620 আমরা খারাপ-ক্ষেত্রে যে বলেন যে চালানোর সময় n ছক ছিল. 16 00:00:46,620 --> 00:00:50,060 এবং আপনি কেন প্রত্যাহার করতে চান তাহলে, নিতে একটি নির্বাচন সাজানোর ভিডিও তাকান. 17 00:00:50,060 --> 00:00:54,560 সর্বোত্তম ক্ষেত্রে চালানোর সময় এছাড়াও n ছক. 18 00:00:54,560 --> 00:00:58,910 >> বুদ্বুদ সাজানোর, যে পিছনে ধারণা এক সংলগ্ন জোড়া বিনিময় করা হয়. 19 00:00:58,910 --> 00:01:01,730 সুতরাং যে আপনি সাহায্য করে কী এখানে পার্থক্য মনে. 20 00:01:01,730 --> 00:01:04,920 নির্বাচন সাজান, এখন পর্যন্ত, ক্ষুদ্রতম বাবল এটি 21 00:01:04,920 --> 00:01:06,790 সাজান অন্তিক জোড়া অদলবদল. 22 00:01:06,790 --> 00:01:08,710 আমরা সংলগ্ন জোড়া অদলবদল উপাদানের তারা যদি 23 00:01:08,710 --> 00:01:12,530 যা কার্যকরভাবে, যাতে বাইরে , ডান পাশের বড় উপাদান বুদবুদ 24 00:01:12,530 --> 00:01:17,060 এবং একই সময়ে এটি শুরু বাঁদিকে ছোট উপাদান সরাতে. 25 00:01:17,060 --> 00:01:20,180 খারাপ-ক্ষেত্রে ক্ষেত্রে চালানোর সময় বুদবুদ সাজানোর n ছক. 26 00:01:20,180 --> 00:01:23,476 সর্বোত্তম ক্ষেত্রে চালানোর সময় বুদ্বুদের সাজান এন হয়. 27 00:01:23,476 --> 00:01:25,350 কারণ যে অবস্থায় আমরা আসলে না 28 00:01:25,350 --> 00:01:27,141 আমরা প্রয়োজন নাও হতে পারে সব সময়ে কোনো অদলবদল করতে. 29 00:01:27,141 --> 00:01:31,026 আমরা কেবল এক করতে হবে সব n উপাদান জুড়ে পাস. 30 00:01:31,026 --> 00:01:34,600 >> সন্নিবেশ সাজানোর, এখানে মৌলিক ধারণা নাড়াচাড়া করা হয়. 31 00:01:34,600 --> 00:01:36,630 যে সন্নিবেশ সাজানোর জন্য শব্দ না. 32 00:01:36,630 --> 00:01:39,630 আমরা মাধ্যমে একবার ধাপে চলুন থেকে অ্যারের ডানে বামে. 33 00:01:39,630 --> 00:01:41,670 আমরা কি হিসাবে, আমরা করছি উপাদান নামান যাচ্ছে 34 00:01:41,670 --> 00:01:46,260 আমরা ইতিমধ্যে জন্য জায়গা দেখা করেছি কোথাও মাপসই করা হবে যে ছোট বেশী 35 00:01:46,260 --> 00:01:48,080 ফিরে যে অনুসারে বাছাই করা অংশ. 36 00:01:48,080 --> 00:01:51,600 সুতরাং আমরা সাজানো অ্যারের নির্মাণ এক ডানে বামে একটি সময়ে উপাদান, 37 00:01:51,600 --> 00:01:54,740 এবং আমরা রুমটা কিছু নামান. 38 00:01:54,740 --> 00:01:58,650 সবচেয়ে খারাপ-ক্ষেত্রে চালানোর সময় সন্নিবেশ সাজানোর n ছক. 39 00:01:58,650 --> 00:02:02,380 সর্বোত্তম ক্ষেত্রে চালানোর সময় n. 40 00:02:02,380 --> 00:02:05,380 >> শব্দ sort-- মার্জ এখানে বিভক্ত এবং একত্রীকরণ. 41 00:02:05,380 --> 00:02:08,949 আমরা কিনা, সম্পূর্ণ অ্যারে বিভক্ত এটা ছয় উপাদানের আট উপাদান, 42 00:02:08,949 --> 00:02:13,790 10,000 উপাদানের আমরা এটি বিভক্ত নিচে অর্ধেক দ্বারা অর্ধেক দ্বারা অর্ধেক দ্বারা 43 00:02:13,790 --> 00:02:17,720 আমরা অ্যারে অধীনে আছে পর্যন্ত এন এক উপাদান অ্যারে. 44 00:02:17,720 --> 00:02:19,470 এন এক উপাদান অ্যারে সংকলন. 45 00:02:19,470 --> 00:02:22,640 তাই আমরা এক সঙ্গে শুরু 1,000-উপাদান অ্যারের, 46 00:02:22,640 --> 00:02:26,550 এবং আমরা বিন্দু পেতে যেখানে আমরা 1,000 এক উপাদান অ্যারে আছে. 47 00:02:26,550 --> 00:02:30,990 পরে আমরা যারা সাব অ্যারে একত্রীকরণ শুরু ফিরে একসাথে সঠিক অনুক্রমে. 48 00:02:30,990 --> 00:02:34,860 তাই আমরা দুই এক উপাদান অ্যারে নিতে এবং দুই উপাদান অ্যারের তৈরি. 49 00:02:34,860 --> 00:02:38,180 আমরা দুই দুই উপাদান অ্যারে নিতে এবং একটি চার উপাদান অ্যারের তৈরি 50 00:02:38,180 --> 00:02:43,900 এবং তাই এবং তাই আমরা করেছি পর্যন্ত আবার এক এন উপাদান অ্যারের পুনর্নির্মিত. 51 00:02:43,900 --> 00:02:48,410 >> সবচেয়ে খারাপ-ক্ষেত্রে চালানোর সময় সাজান মার্জ এন বার লগ ইন করুন. 52 00:02:48,410 --> 00:02:52,390 আমরা n উপাদান আছে, কিন্তু এই পুনর্সমম্বয় প্রক্রিয়া 53 00:02:52,390 --> 00:02:56,960 লগ নেয় n ধাপ পেতে একটি সম্পূর্ণ অ্যারে করায় মনোযোগ দিয়েছি. 54 00:02:56,960 --> 00:03:01,160 সময় চালানো ভাল ক্ষেত্রে এছাড়াও এন লগ এন এই প্রক্রিয়া সত্যিই না, কারণ 55 00:03:01,160 --> 00:03:04,090 অ্যারে ছিল কিনা যত্ন সাজানো বা না দিয়ে শুরু করতে. 56 00:03:04,090 --> 00:03:07,590 প্রক্রিয়া আছে, একই শর্ট সার্কিট কিছু করার কোন উপায়. 57 00:03:07,590 --> 00:03:11,610 সুতরাং n সবচেয়ে খারাপ ক্ষেত্রে n log, এন সেরা ক্ষেত্রে n log. 58 00:03:11,610 --> 00:03:13,960 >> আমরা দুটি কথা বলত আলগোরিদিম অনুসন্ধান. 59 00:03:13,960 --> 00:03:16,230 তাই রৈখিক অনুসন্ধান iterating সম্পর্কে. 60 00:03:16,230 --> 00:03:19,500 আমরা অ্যারে জুড়ে এগিয়ে একবার, বাম থেকে ডানে, 61 00:03:19,500 --> 00:03:21,950 সংখ্যা খুঁজে বের করার চেষ্টা করুন যে আমরা খুঁজছেন. 62 00:03:21,950 --> 00:03:24,550 খারাপ-ক্ষেত্রে চালানোর সময় বড় হে n র হয়. 63 00:03:24,550 --> 00:03:27,610 এটা iterating আমাদের নিতে পারে প্রতি একক উপাদান জুড়ে 64 00:03:27,610 --> 00:03:30,660 আমরা খুঁজছেন উপাদান খুঁজে পেতে জন্য, হয় সর্বশেষ অবস্থানে, 65 00:03:30,660 --> 00:03:31,630 অথবা না এ সব. 66 00:03:31,630 --> 00:03:34,720 কিন্তু আমরা যতক্ষণ না নিশ্চিত করতে পারিনি আমরা সবকিছু দিকে তাকিয়ে থাকেন. 67 00:03:34,720 --> 00:03:36,730 সর্বোত্তম ক্ষেত্রে আছি, আমরা অবিলম্বে এটি. 68 00:03:36,730 --> 00:03:41,060 শ্রেষ্ঠ-ক্ষেত্রে চালানোর সময় রৈখিক অনুসন্ধান 1 ওমেগা হয়. 69 00:03:41,060 --> 00:03:43,689 >> সর্বশেষে, বাইনারি অনুসন্ধান, ছিল যা হরেক অ্যারে প্রয়োজন. 70 00:03:43,689 --> 00:03:45,605 যে একটি খুব মনে রাখবেন গুরুত্বপূর্ণ বিবেচনা 71 00:03:45,605 --> 00:03:47,155 বাইনারি অনুসন্ধান সঙ্গে যখন কাজ. 72 00:03:47,155 --> 00:03:50,180 এটা এটিকে ব্যবহার করার জন্য একটি পূর্বশর্ত আছে আপনি মাধ্যমে খুঁজছেন যে অ্যারে 73 00:03:50,180 --> 00:03:52,160 সাজানো হবে. 74 00:03:52,160 --> 00:03:54,500 অন্যথা, শব্দ ডিভাইড এবং বশীভূত হয়. 75 00:03:54,500 --> 00:03:58,310 অর্ধেক মধ্যে অ্যারে বিভক্ত এবং উপাদান অর্ধেক নিষ্কাশন 76 00:03:58,310 --> 00:04:00,780 প্রত্যেক সময় আপনি মাধ্যমে এগিয়ে যাওয়া হিসেবে. 77 00:04:00,780 --> 00:04:04,330 কারণ এই ডিভাইড এবং বশীভূত এবং অর্ধেক পদ্ধতির মধ্যে বিভাজন কিছু 78 00:04:04,330 --> 00:04:07,450 খারাপ-ক্ষেত্রে চালানোর সময় বাইনারি অনুসন্ধান 79 00:04:07,450 --> 00:04:11,730 যথেষ্ট, যা n log রৈখিক অনুসন্ধান এর এন চেয়ে ভাল. 80 00:04:11,730 --> 00:04:13,570 সর্বোত্তম ক্ষেত্রে চালানোর সময় এখনও এক. 81 00:04:13,570 --> 00:04:17,010 >> আমরা অবিলম্বে তা খুঁজে পেতে পারে প্রথমবার আমরা বিভাজন করা, কিন্তু 82 00:04:17,010 --> 00:04:19,339 আবার, মনে রাখবেন বাইনারি অনুসন্ধান করা হয়, যদিও 83 00:04:19,339 --> 00:04:24,030 রৈখিক অনুসন্ধান তুলনায় যথেষ্ট ভাল পাসওয়ার্ড ভুলে গেছেন? শক্তি কর্মদক্ষতার দ্বারা এন এন বনাম, 84 00:04:24,030 --> 00:04:27,110 আপনি কাজের মাধ্যমে যেতে থাকতে পারে প্রথমে আপনার অ্যারের বাছাই যা 85 00:04:27,110 --> 00:04:32,010 নির্ভর করে কম কার্যকর করে তুলতে পারে সাজানো iterating আকারের উপর. 86 00:04:32,010 --> 00:04:35,250 >> আমি ডগ লয়েড আছি, এই CS50. 87 00:04:35,250 --> 00:04:36,757