1 00:00:00,000 --> 00:00:00,488 2 00:00:00,488 --> 00:00:10,800 >> [সঙ্গীত বাজানো] 3 00:00:10,800 --> 00:00:13,500 DAVID Malan: ঠিক আছে. 4 00:00:13,500 --> 00:00:14,670 ঠিক আছে, ফিরে আসার জন্য স্বাগতম. 5 00:00:14,670 --> 00:00:18,120 তাই এই, এ সপ্তাহ 4 উহার ইতিমধ্যে. 6 00:00:18,120 --> 00:00:21,320 এবং আপনি যে গত সপ্তাহে প্রত্যাহার করব, আমরা রাখা অল্পমাত্র বিট জন্য সরাইয়া কোড 7 00:00:21,320 --> 00:00:24,240 এবং আমরা একটু বেশি কথা বলা শুরু মত উচ্চ স্তরের, প্রায় জিনিষ 8 00:00:24,240 --> 00:00:28,130 যা, যদিও অনুসন্ধান এবং বাছাই কিছুটা সহজ ধারণা আছে, 9 00:00:28,130 --> 00:00:31,840 সমস্যার একটি শ্রেণীর প্রতিনিধি আপনি বিশেষ করে সমাধান আরম্ভ করা হবে 10 00:00:31,840 --> 00:00:34,820 ফাইনাল সম্পর্কে চিন্তা করা শুরু প্রকল্প এবং আকর্ষণীয় সমাধান আপনি 11 00:00:34,820 --> 00:00:36,760 বাস্তব সমস্যা থাকতে পারে. 12 00:00:36,760 --> 00:00:39,490 এখনই বুদ্বুদ সাজানোর সহজ এক যেমন আলগোরিদিম, এবং এটি 13 00:00:39,490 --> 00:00:42,900 এই ছোট সংখ্যা না থাকার কাজ একটি তালিকা অথবা একটি অ্যারের ধরনের মধ্যে 14 00:00:42,900 --> 00:00:46,530 আপ উপরে বুদবুদ তাদের পথ, এবং বড় সংখ্যার তাদের পথ নিচে নামাও 15 00:00:46,530 --> 00:00:47,930 যে তালিকার শেষে. 16 00:00:47,930 --> 00:00:50,650 >> এবং আমরা ঠাহর করা যেতে পারে যে প্রত্যাহার বুদ্বুদ সাজানোর একটি সামান্য 17 00:00:50,650 --> 00:00:52,310 ভালো কিছু. 18 00:00:52,310 --> 00:00:53,640 তাই আমাকে এগিয়ে যান এবং ক্লিক করুন স্টার্ট দিন. 19 00:00:53,640 --> 00:00:55,350 আমি বুদ্বুদ সাজানোর preselected করেছি. 20 00:00:55,350 --> 00:00:58,920 এবং আপনি পুনরাহ্বান যে যদি লম্বা নীল লাইন ছোট, বড় সংখ্যার উপস্থাপন 21 00:00:58,920 --> 00:01:03,300 নীল লাইন হিসেবে, ছোট সংখ্যার উপস্থাপন আমরা আবার এবং আবার এই মাধ্যমে যান এবং 22 00:01:03,300 --> 00:01:07,680 আবার, প্রতিটি পাশে দুইটা তুলনা লাল অন্যান্য, আমরা অদলবদল চলুন 23 00:01:07,680 --> 00:01:11,010 সবচেয়ে বড় এবং যদি ক্ষুদ্রতম তারা যাতে সীমার বাইরে. 24 00:01:11,010 --> 00:01:14,150 >> এই যান এবং যেতে যেতে হবে , এবং আপনি যে বড় দেখতে পাবেন 25 00:01:14,150 --> 00:01:16,700 উপাদান তাদের পথ তৈরি করছেন অধিকার, এবং ছোট উপাদান 26 00:01:16,700 --> 00:01:17,900 বাম থেকে তাদের পথ তৈরীর. 27 00:01:17,900 --> 00:01:21,380 কিন্তু আমরা সংখ্যায় শুরু দক্ষতা, 28 00:01:21,380 --> 00:01:22,970 এই অ্যালগরিদম মানের. 29 00:01:22,970 --> 00:01:25,200 এবং আমরা বলেন, সবচেয়ে খারাপ মধ্যে মামলা, এই অ্যালগরিদম গ্রহণ 30 00:01:25,200 --> 00:01:27,940 প্রায় কতগুলি পদক্ষেপ? 31 00:01:27,940 --> 00:01:28,980 >> সুতরাং N ছক. 32 00:01:28,980 --> 00:01:30,402 এবং N কি ছিল? 33 00:01:30,402 --> 00:01:31,650 >> শ্রোতা: উপাদানের সংখ্যা. 34 00:01:31,650 --> 00:01:32,790 >> DAVID Malan: তাই N ছিল উপাদানের সংখ্যা. 35 00:01:32,790 --> 00:01:33,730 এবং তাই আমরা প্রায়ই এই কাজ করব. 36 00:01:33,730 --> 00:01:36,650 আমরা মাপ সম্পর্কে কথা বলতে চান যে কোনো সময় একটি সমস্যা বা কোনো মাপ 37 00:01:36,650 --> 00:01:39,140 ইনপুট, বা এটা লাগে সময় পরিমাণ আউটপুট উত্পাদন, আমরা ঠিক করব 38 00:01:39,140 --> 00:01:41,610 সাধারণ যাই হোক না কেন ইনপুট N হয়. 39 00:01:41,610 --> 00:01:45,970 তাই সপ্তাহ 0, সংখ্যা পেজ ফোন বই N ছিল. 40 00:01:45,970 --> 00:01:47,550 ছাত্র সংখ্যা রুমে n ছিল. 41 00:01:47,550 --> 00:01:49,630 তাই এখানে খুব,, আমরা অনুসরণ করছেন যে প্যাটার্ন. 42 00:01:49,630 --> 00:01:52,800 >> এখনই N ছক বিশেষ হয় না দ্রুত, তাই আমরা আরও ভাল করতে চেষ্টা করে. 43 00:01:52,800 --> 00:01:55,970 এবং তাই আমরা একটি দম্পতি দিকে তাকিয়ে অন্য আলগোরিদিম, যার মধ্যে 44 00:01:55,970 --> 00:01:57,690 নির্বাচন সাজানোর ছিল. 45 00:01:57,690 --> 00:01:59,180 ছিল নির্বাচন সাজানোর তাই একটু ভিন্ন. 46 00:01:59,180 --> 00:02:03,130 এটা প্রায় সহজ ছিল, আমি বলতে সাহস, আমি শুরু শুরু যদ্দ্বারা 47 00:02:03,130 --> 00:02:06,740 আমাদের স্বেচ্ছাসেবকদের তালিকা এবং আমি ঠিক আবার এবং আবার এবং আবার মাধ্যমে গিয়েছিলাম 48 00:02:06,740 --> 00:02:10,060 ক্ষুদ্রতম খুঁজে অবচয় তালিকা একটি সময়ে উপাদান এবং বা তাকে নির্বাণ 49 00:02:10,060 --> 00:02:13,040 তার তালিকা প্রারম্ভে. 50 00:02:13,040 --> 00:02:16,410 >> কিন্তু এই খুব,, একবার আমরা ভাবতে শুরু গণিত এবং বড় মাধ্যমে 51 00:02:16,410 --> 00:02:19,860 ছবি, কতবার সম্পর্কে চিন্তা আমি ঘোষণা এবং ফিরে ফিরে যাওয়া ছিল 52 00:02:19,860 --> 00:02:24,090 এবং ঘোষণা, আমরা লক বলেন, নির্বাচন সাজানোর, খুব,, কি ছিল? 53 00:02:24,090 --> 00:02:24,960 N ছক. 54 00:02:24,960 --> 00:02:27,490 এখন বাস্তব জগতে, এটা প্রতাপ আসলে সীমিতভাবে দ্রুত হতে হবে. 55 00:02:27,490 --> 00:02:30,620 আবার, কারণ আমি রাখা আছে কি না আমি সাজানো ছিল একবার backtracking 56 00:02:30,620 --> 00:02:31,880 ক্ষুদ্রতম উপাদান. 57 00:02:31,880 --> 00:02:35,090 কিন্তু আমরা খুব বড় N সম্পর্কে চিন্তা, এবং যদি আপনি সাজানোর গণিত হিসেবে খুঁজে না 58 00:02:35,090 --> 00:02:39,170 আমি N ছক সঙ্গে বোর্ডে করেনি বিয়োগ কিছু, অন্য সব কিছুর 59 00:02:39,170 --> 00:02:41,850 N ছক একবার N ছাড়াও বৃহত্ পায়, না আছে 60 00:02:41,850 --> 00:02:42,850 সত্যিই অনেক ব্যাপার. 61 00:02:42,850 --> 00:02:45,470 সুতরাং কম্পিউটার বিজ্ঞানীরা হিসাবে, আমরা বাছাই ছোট একটি অন্ধ চোখ ঘুরিয়ে 62 00:02:45,470 --> 00:02:49,220 কারণের এবং শুধুমাত্র ফ্যাক্টর নেভিগেশন ফোকাস করতে যাচ্ছে একটি অভিব্যক্তি 63 00:02:49,220 --> 00:02:50,330 সবচেয়ে বড় পার্থক্য. 64 00:02:50,330 --> 00:02:52,840 >> ওয়েল, সর্বশেষে, আমরা তাকিয়ে সন্নিবেশ সাজানোর এ. 65 00:02:52,840 --> 00:02:56,620 এবং এই আত্মা অনুরূপ ছিল, কিন্তু iteratively মধ্য দিয়ে যেতে হবে এবং বদলে 66 00:02:56,620 --> 00:03:01,250 শুধুমাত্র একটি ক্ষুদ্রতম উপাদান নির্বাচন করুন সময়, আমি পরিবর্তে হাতে নিয়েছে যে আমি 67 00:03:01,250 --> 00:03:04,070 সব মোকাবিলা, এবং আমি সিদ্ধান্ত হয়েছিল ঠিক আছে, আপনি এখানে অন্তর্গত. 68 00:03:04,070 --> 00:03:06,160 তারপর আমি পরবর্তী উপাদান উপর সরানো এবং সিদ্ধান্ত নিয়েছে যে তিনি বা 69 00:03:06,160 --> 00:03:07,470 তিনি এখানে belonged. 70 00:03:07,470 --> 00:03:08,810 এবং তারপর আমি এবং সরানো. 71 00:03:08,810 --> 00:03:11,780 এবং আমি পথ ধরে, আপনি হতে পারে যাতে এই ছেলেরা নামান 72 00:03:11,780 --> 00:03:13,030 তাদের জন্য জায়গা. 73 00:03:13,030 --> 00:03:16,880 সুতরাং যে মানসিক রদবদলটি ধরণের ছিল নির্বাচন সাজানোর যে আমরা 74 00:03:16,880 --> 00:03:18,630 সন্নিবেশ সাজানোর বলা হয়. 75 00:03:18,630 --> 00:03:20,810 >> সুতরাং সঞ্চালনের এই বিষয় বাস্তব জগতে. 76 00:03:20,810 --> 00:03:23,640 মাত্র কয়েক বছর আগে, যখন একটি নির্দিষ্ট সিনেটার, প্রেসিডেন্ট চলমান ছিল 77 00:03:23,640 --> 00:03:27,160 এরিক শ্মিট, সময় প্রধান নির্বাহী কর্মকর্তা গুগল, আসলে সুযোগ ছিল 78 00:03:27,160 --> 00:03:28,040 তার সাক্ষাত্কার. 79 00:03:28,040 --> 00:03:32,010 এবং আমরা এই YouTube ভাগ চাই আমরা তুলতে পারে, তাহলে এখানে আপনার জন্য ক্লিপ 80 00:03:32,010 --> 00:03:32,950 ভলিউম. 81 00:03:32,950 --> 00:03:39,360 >> [ভিডিও প্লেব্যাক] 82 00:03:39,360 --> 00:03:44,620 >> -এখন, সিনেটর, আপনি Google-এ এখানে এসেছি এবং আমি প্রেসিডেন্সি মনে করতে চাই 83 00:03:44,620 --> 00:03:46,042 একটি পেশা ইন্টারভিউ হিসাবে. 84 00:03:46,042 --> 00:03:47,770 >> [হাস্য] 85 00:03:47,770 --> 00:03:50,800 >> -এখনই এটা পেতে কঠিন প্রেসিডেন্ট হিসেবে একটি কাজ. 86 00:03:50,800 --> 00:03:52,480 এবং আপনি মাধ্যমে চলুন এখন rigors. 87 00:03:52,480 --> 00:03:54,330 এটি Google-এর একটি কাজ পেতে অনেক কঠিন. 88 00:03:54,330 --> 00:03:59,610 আমরা প্রশ্ন আছে এবং আমরা জিজ্ঞাসা আমাদের প্রার্থীদের প্রশ্ন. 89 00:03:59,610 --> 00:04:02,250 এবং এই এক ল্যারি Schwimmer থেকে. 90 00:04:02,250 --> 00:04:05,325 >> [হাস্য] 91 00:04:05,325 --> 00:04:06,400 -আপনি বলছি আমি নিশ্চয়ই মজা করছি মনে হয়? 92 00:04:06,400 --> 00:04:08,750 এটা ঠিক এখানে. 93 00:04:08,750 --> 00:04:12,110 সবচেয়ে কার্যকরী উপায় কি একটি মিলিয়ন দুই বিট ইন্টিজার সাজাতে? 94 00:04:12,110 --> 00:04:15,810 >> [হাস্য] 95 00:04:15,810 --> 00:04:18,260 >> -ওয়েল, uh - 96 00:04:18,260 --> 00:04:19,029 >> -I'm দুঃখিত. 97 00:04:19,029 --> 00:04:19,745 হয়তো আমরা উচিত - 98 00:04:19,745 --> 00:04:21,000 >> কোন না, না, না, না,. 99 00:04:21,000 --> 00:04:21,470 >> যে একটি নয় - 100 00:04:21,470 --> 00:04:22,185 ঠিক আছে. 101 00:04:22,185 --> 00:04:25,328 >> আমি বুদ্বুদ সাজানোর মনে যেতে কুপথ হতে. 102 00:04:25,328 --> 00:04:26,792 >> [হাস্য] 103 00:04:26,792 --> 00:04:28,510 >> [CHEERING ও সাধুবাদ] 104 00:04:28,510 --> 00:04:31,211 >> তাকে এই ডটকমকে বলেন, যারা অন আসা? 105 00:04:31,211 --> 00:04:32,155 ঠিক আছে. 106 00:04:32,155 --> 00:04:33,350 >> [END টি ভিডিও প্লেব্যাক] 107 00:04:33,350 --> 00:04:35,070 >> DAVID Malan: তাই সেখানে যদি আপনি এটি আছে. 108 00:04:35,070 --> 00:04:39,600 সুতরাং আমরা এই চলমান সংখ্যায় শুরু গুণ, তাই কিছু সঙ্গে কথা বলতে 109 00:04:39,600 --> 00:04:43,480 যা asymptotic স্বরলিপি, বলা শুধু বাঁক আমাদের সাজানোর উল্লেখ 110 00:04:43,480 --> 00:04:47,420 একটি অন্ধ যারা ছোট উপাদান চক্ষু এবং শুধুমাত্র চলমান সময় এ খুঁজছেন, 111 00:04:47,420 --> 00:04:51,250 এই আলগোরিদিম কর্মক্ষমতা, N সময়ের বৃহত্ পায় না. 112 00:04:51,250 --> 00:04:55,110 এবং তাই আমরা বড় মন্ত্রণালয় এবং বড় হে চালু আমরা চিন্তা প্রতিনিধিত্ব কিছু 113 00:04:55,110 --> 00:04:57,000 উচ্চ বাউন্ড হিসাবে. 114 00:04:57,000 --> 00:04:59,570 এবং প্রকৃতপক্ষে, BARRY, আমরা কম করতে পারেন মাইক একটি সামান্য বিট আর? 115 00:04:59,570 --> 00:05:01,040 >> আমরা এই উচ্চ আবদ্ধ হয় চিন্তা. 116 00:05:01,040 --> 00:05:04,710 N ছক উপায়ে তাই বড় হে যে লক, ভালো কিছু 117 00:05:04,710 --> 00:05:07,780 নির্বাচন সাজানোর গ্রহণ করা হবে ছক পদক্ষেপ n. 118 00:05:07,780 --> 00:05:10,310 সন্নিবেশ সাজানোর মত বা কিছু N ছক পদক্ষেপ হবে. 119 00:05:10,310 --> 00:05:15,150 এখনই সন্নিবেশ ভালো কিছু জন্য সাজানোর, লক কী ছিল? 120 00:05:15,150 --> 00:05:18,200 একটি অ্যারের দেওয়া, কি খারাপ এর আপনি হয়ত সম্ভব যে দৃশ্যকল্প 121 00:05:18,200 --> 00:05:20,650 নিজের সঙ্গে সম্মুখীন? 122 00:05:20,650 --> 00:05:21,860 >> এটা ঠিক আছে, সম্পূর্ণ পিছন দিকে আছে? 123 00:05:21,860 --> 00:05:24,530 এটি সম্পূর্ণ পিছন দিকে যদি কারণ, আপনি কাজ সমগ্র অনেক কাজ আছে. 124 00:05:24,530 --> 00:05:26,420 কারণ আপনি সম্পূর্ণভাবে পিছন দিকে করছি, আপনাকে খুঁজে পেতে যাচ্ছেন 125 00:05:26,420 --> 00:05:28,840 এখানে সবচেয়ে বড় উপাদান, যদিও এটা আছে নিচে জন্যে. 126 00:05:28,840 --> 00:05:31,140 সুতরাং আপনি এ, বলতে সমস্ত অধিকার চলুন সময় এই মুহূর্তে, আপনি এখানে অন্তর্গত 127 00:05:31,140 --> 00:05:32,310 তাই আপনি একা এটা ছেড়ে. 128 00:05:32,310 --> 00:05:35,425 >> তারপর আপনি, ওহ, বুঝতে অভিশাপ, আমি আছে এই সামান্য কম উপাদান সরাতে 129 00:05:35,425 --> 00:05:36,470 আপনি বাম. 130 00:05:36,470 --> 00:05:38,770 তারপর আমি আবার কি আছে এবং আবার এবং আবার. 131 00:05:38,770 --> 00:05:41,410 এবং আমি পিছে গিয়েছিলাম, তাহলে আপনি কর্মক্ষমতা মনে সাজাতে হবে 132 00:05:41,410 --> 00:05:45,540 যে অ্যালগরিদম, কারণ ক্রমাগত I am নিচে বাকিদের shuffling 133 00:05:45,540 --> 00:05:46,510 এটি জন্য জায়গা অ্যারে. 134 00:05:46,510 --> 00:05:47,750 সুতরাং যে লক আছে. 135 00:05:47,750 --> 00:05:48,570 >> বিপরীতে - 136 00:05:48,570 --> 00:05:50,320 এবং এই শেষ সময় একটি cliffhanger ছিল - 137 00:05:50,320 --> 00:05:54,065 আমরা বলেন যে সন্নিবেশ সাজানোর কি একটি ওমেগা ছিল? 138 00:05:54,065 --> 00:05:57,530 সর্বোত্তম ক্ষেত্রে চলমান কি সন্নিবেশ সাজানোর সময়? 139 00:05:57,530 --> 00:05:58,520 সুতরাং এটা আসলে n এর. 140 00:05:58,520 --> 00:06:00,980 যে আমরা বাম যে ফাঁকা ছিল বোর্ডে শেষ সময়. 141 00:06:00,980 --> 00:06:03,160 >> এবং এটি N এর Omega কেন এর কারণ? 142 00:06:03,160 --> 00:06:06,630 ভাল, খুব ভাল ক্ষেত্রে, কি সন্নিবেশ সাজানোর হস্তান্তর করা যাচ্ছে? 143 00:06:06,630 --> 00:06:09,830 সম্পূর্ণ সাজানো যে ওয়েল, একটি তালিকা ইতিমধ্যে, কি সংক্ষিপ্ত কাজ. 144 00:06:09,830 --> 00:06:12,460 কিন্তু কি সন্নিবেশ সাজানোর ওপর ষাঁড়ের এখানে শুরু হয় এবং যে কারণ হল 145 00:06:12,460 --> 00:06:15,340 সিদ্ধান্ত নেয়, ওহ, আপনি সংখ্যা এক, আপনি এখানে অন্তর্গত. 146 00:06:15,340 --> 00:06:16,970 ওহ, কি সৌভাগ্য. 147 00:06:16,970 --> 00:06:17,740 >> আপনি দুই নম্বর করছি. 148 00:06:17,740 --> 00:06:19,030 আপনি এখানে অন্তর্গত. 149 00:06:19,030 --> 00:06:21,010 আরও ভাল নম্বর তিন,, আপনি এখানে অন্তর্গত. 150 00:06:21,010 --> 00:06:25,210 এটা শেষে পায় যত তাড়াতাড়ি তালিকা, প্রতি সন্নিবেশ সাজানোর এর pseudocode 151 00:06:25,210 --> 00:06:28,010 আমরা শব্দগতভাবে মাধ্যমে গিয়েছিলাম যে শেষ সময়, এটি করা. 152 00:06:28,010 --> 00:06:32,790 কিন্তু নির্বাচন সাজানোর, বিপরীতভাবে, কি করছে রাখা? 153 00:06:32,790 --> 00:06:35,260 >> রাখা তালিকা মাধ্যমে যাচ্ছে আবার এবং আবার এবং আবার. 154 00:06:35,260 --> 00:06:39,160 কী অন্তর্দৃষ্টি শুধুমাত্র ছিল কারণ আপনি সমস্ত উপায় তাকিয়ে একবার 155 00:06:39,160 --> 00:06:42,500 তালিকার শেষে আপনি নির্দিষ্ট হতে পারে আপনার নির্বাচিত উপাদান ছিল 156 00:06:42,500 --> 00:06:45,560 প্রকৃতপক্ষে বর্তমানে ক্ষুদ্রতম উপাদান. 157 00:06:45,560 --> 00:06:48,920 এই বিভিন্ন মানসিক মডেল শেষে তাই কিছু খুব বাস্তব বিশ্বের প্রদায়ক আপ 158 00:06:48,920 --> 00:06:53,130 আমাদের জন্য পার্থক্য, সেইসাথে এই তাত্ত্বিক asymptotic পার্থক্য. 159 00:06:53,130 --> 00:06:56,910 >> তাই শুধু N বড় হে, তারপর, আপনি সংক্ষিপ্তবৃত্তি ছক, আমরা কয়েক ধরনের দেখা করেছি 160 00:06:56,910 --> 00:06:58,350 এ পর্যন্ত আলগোরিদিম. 161 00:06:58,350 --> 00:06:59,580 N বড় হে? 162 00:06:59,580 --> 00:07:02,870 যে পারা একটি অ্যালগরিদম কি N বড় হে হতে বলেন করা? 163 00:07:02,870 --> 00:07:06,930 সবচেয়ে খারাপ ক্ষেত্রে, এটা লাগে ধাপের একটি রৈখিক সংখ্যা. 164 00:07:06,930 --> 00:07:07,810 >> ঠিক আছে, রৈখিক অনুসন্ধান. 165 00:07:07,810 --> 00:07:10,470 এবং সবচেয়ে খারাপ ক্ষেত্রে, যেখানে উপাদান আপনি যখন খুঁজছেন 166 00:07:10,470 --> 00:07:12,950 রৈখিক খোঁজো আবেদন? 167 00:07:12,950 --> 00:07:14,680 >> ঠিক আছে, সবচেয়ে খারাপ ক্ষেত্রে, এটা এমনকি আছে না. 168 00:07:14,680 --> 00:07:17,000 বা দ্বিতীয় সবচেয়ে খারাপ ক্ষেত্রে, এটা যা শেষ পর্যন্ত সমস্ত উপায়, 169 00:07:17,000 --> 00:07:18,880 প্লাস বা মাইনাস-এক ধাপ পার্থক্য. 170 00:07:18,880 --> 00:07:21,180 তাই দিনের শেষে, আমরা এটা রৈখিক বলতে পারেন. 171 00:07:21,180 --> 00:07:23,910 N বিগ হে রৈখিক অনুসন্ধান করা হবে, সবচেয়ে খারাপ ক্ষেত্রে, কারণ 172 00:07:23,910 --> 00:07:26,610 উপাদান এমনকি নেই বা এটা শেষে সব পথ. 173 00:07:26,610 --> 00:07:29,370 >> ওয়েল, এন লগ বড় হে. 174 00:07:29,370 --> 00:07:32,760 আমরা মহান বিষদভাবে কথা বলা হয়নি এই, কিন্তু আমরা আগে এই দেখা করেছি. 175 00:07:32,760 --> 00:07:36,840 কি তথাকথিত লগারিদমিক রান সময়, লক? 176 00:07:36,840 --> 00:07:38,500 >> হ্যাঁ, তাই বাইনারি অনুসন্ধান. 177 00:07:38,500 --> 00:07:42,930 লক এবং বাইনারি অনুসন্ধান কোথাও উপাদান থাকতে পারে 178 00:07:42,930 --> 00:07:45,640 মধ্যম, বা কোথাও অ্যারের ভিতরে. 179 00:07:45,640 --> 00:07:48,040 কিন্তু আপনি কেবল একবার এটি খুঁজে বার মধ্যে, অর্ধেক তালিকা বিভক্ত করা 180 00:07:48,040 --> 00:07:48,940 অর্ধেক, অর্ধেক, অর্ধেক. 181 00:07:48,940 --> 00:07:50,200 এবং তারপর voila, এটা আছে. 182 00:07:50,200 --> 00:07:52,500 অথবা আবার, লক, এটা এমনকি আছে না. 183 00:07:52,500 --> 00:07:56,770 কিন্তু আপনি তা না যে জানি না আপনি সাজানোর যে শেষ পর্যন্ত পৌঁছতে 184 00:07:56,770 --> 00:08:00,470 halving দ্বারা নীচে সবচেয়ে উপাদান এবং halving এবং halving. 185 00:08:00,470 --> 00:08:01,400 >> 1 বড় হে. 186 00:08:01,400 --> 00:08:03,540 সুতরাং আমরা 3 2, বড় হে বড় হে পারে. 187 00:08:03,540 --> 00:08:06,260 আপনি শুধু একটি ধ্রুবক সংখ্যা চান যে কোন সময়, আমরা শুধু শুধু সহজ করে সাজাতে 188 00:08:06,260 --> 00:08:07,280 1 বড় হে হিসেবে. 189 00:08:07,280 --> 00:08:10,440 এমনকি বাস্তবানুগভাবে, এটা লাগে যদি যদিও এটি একটি এর 2 বা এমনকি 100 ধাপ, যদি 190 00:08:10,440 --> 00:08:13,680 ধাপ ধ্রুবক নম্বর, আমরা শুধু 1 বড় হে বলে. 191 00:08:13,680 --> 00:08:15,930 যে একটি অ্যালগরিদম কি 1 বড় হে মধ্যে? 192 00:08:15,930 --> 00:08:18,350 >> শ্রোতা: দৈর্ঘ্য খোঁজ একটি পরিবর্তনশীল. 193 00:08:18,350 --> 00:08:21,090 >> DAVID Malan: খোঁজা একটি পরিবর্তনশীল এর দৈর্ঘ্য? 194 00:08:21,090 --> 00:08:23,870 >> শ্রোতা: না, দৈর্ঘ্য এটি আগে থেকেই সাজানো হলে. 195 00:08:23,870 --> 00:08:24,160 >> DAVID Malan: গুড. 196 00:08:24,160 --> 00:08:27,850 ঠিক আছে, তাই কিছু দৈর্ঘ্যের ফাইন্ডিং যদি মত কিছু যে দৈর্ঘ্য, 197 00:08:27,850 --> 00:08:30,020 একটি অ্যারের, কিছু পরিবর্তনশীল মধ্যে সংরক্ষিত হয়. 198 00:08:30,020 --> 00:08:33,380 আপনি শুধু পরিবর্তনশীল পড়তে পারেন কারণ বা পরিবর্তনশীল প্রিন্ট, অথবা 199 00:08:33,380 --> 00:08:34,960 শুধু সাধারণত যে পরিবর্তনশীল অ্যাক্সেস করুন. 200 00:08:34,960 --> 00:08:37,299 ধ্রুবক সময় লাগে এবং voila. 201 00:08:37,299 --> 00:08:38,909 >> বিপরীতভাবে, স্ক্র্যাচ ফিরে মনে করি. 202 00:08:38,909 --> 00:08:42,460 C-এর প্রথম সপ্তাহে ফিরে মনে করি, শুধু printf, কলিং এবং মুদ্রণ 203 00:08:42,460 --> 00:08:46,240 পর্দায় কিছু তর্কসাপেক্ষ হয় ধ্রুবক সময়, এটা লাগে কারণ 204 00:08:46,240 --> 00:08:50,880 দেখানোর জন্য CPU-র চক্র কিছু সংখ্যা পর্দায় যে টেক্সট. 205 00:08:50,880 --> 00:08:52,720 অথবা অপেক্ষা করুন - এটা আছে? 206 00:08:52,720 --> 00:08:56,430 কিভাবে অন্যথায় আমরা মডেল হতে পারে printf, কর্মক্ষমতা? 207 00:08:56,430 --> 00:09:00,420 কেউ অসম্মতি চাই হয়ত এটা সত্যিই ধ্রুবক সময় নয়? 208 00:09:00,420 --> 00:09:03,600 Printf, চলমান কি অর্থে সময়, আসলে একটি স্ট্রিং মুদ্রণ 209 00:09:03,600 --> 00:09:05,580 পর্দা, কিছু হতে ধ্রুব আর অন্য. 210 00:09:05,580 --> 00:09:07,860 >> শ্রোতা: [শ্রবণাতীত]. 211 00:09:07,860 --> 00:09:08,230 >> DAVID Malan: হ্যাঁ. 212 00:09:08,230 --> 00:09:09,300 সুতরাং এটি আমাদের দৃষ্টিকোণ উপর নির্ভর করে. 213 00:09:09,300 --> 00:09:13,390 আমরা আসলে আপনি ইনপুট যদি মনে করেন স্ট্রিং হচ্ছে printf,, এবং 214 00:09:13,390 --> 00:09:16,380 সুতরাং আমরা যে আকার পরিমাপ দৈর্ঘ্য দ্বারা ইনপুট - তাই এর কল করা যাক 215 00:09:16,380 --> 00:09:17,780 সেইসাথে যে দৈর্ঘ্য N - 216 00:09:17,780 --> 00:09:21,990 তর্কসাপেক্ষ printf, নিজেই N বড় হে এটি আপনাকে নিম্নলিখিত পদক্ষেপ গ্রহণ করা যাচ্ছে কারণ 217 00:09:21,990 --> 00:09:24,750 যারা N প্রতিটি প্রিন্ট আউট সম্ভবত অক্ষর. 218 00:09:24,750 --> 00:09:27,730 অন্তত আমরা ধরে নিই যে পরিমাণ হয়ত এটা লুপ জন্য একটি ব্যবহার করে যে 219 00:09:27,730 --> 00:09:28,560 ফণা নীচে. 220 00:09:28,560 --> 00:09:30,860 >> কিন্তু আমরা যে তাকান করতে হবে এটা আরও ভাল বুঝতে কোড. 221 00:09:30,860 --> 00:09:33,650 এবং প্রকৃতপক্ষে, একবার আপনাকে বলছি শুরু আপনি আপনার নিজস্ব আলগোরিদিম করব বিশ্লেষণ 222 00:09:33,650 --> 00:09:34,900 আক্ষরিক ঠিক. 223 00:09:34,900 --> 00:09:37,765 অক্ষিগোলকের সাজান আপনার কোড এবং মনে করেন সম্পর্কে - ঠিক আছে, আমি এই লুপ আছে 224 00:09:37,765 --> 00:09:41,870 এখানে অথবা আমি, এখানে একটি নেস্টেড loops আছে N N জিনিষ বার করতে যাচ্ছে যে 225 00:09:41,870 --> 00:09:46,050 এবং আপনি কারণ আপনার পথ সাজাতে পারেন কোড এর মাধ্যমে, এমনকি যদি এটা 226 00:09:46,050 --> 00:09:47,980 pseudocode এবং না প্রকৃত কোড. 227 00:09:47,980 --> 00:09:49,730 >> তাই ছক N এর Omega সম্পর্কে কি? 228 00:09:49,730 --> 00:09:53,582 একটি অ্যালগরিদম কী ছিল যে ভাল মধ্যে ক্ষেত্রে এখনও গ্রহণ N ছক ধাপ? 229 00:09:53,582 --> 00:09:54,014 হ্যাঁ? 230 00:09:54,014 --> 00:09:54,880 >> শ্রোতা: [শ্রবণাতীত]. 231 00:09:54,880 --> 00:09:55,900 >> DAVID Malan: তাই নির্বাচন সাজানোর. 232 00:09:55,900 --> 00:09:59,150 যে সমস্যার মধ্যে সত্যিই কমে কারণ আবার, আমি জানি না যে 233 00:09:59,150 --> 00:10:02,600 আমি পর্যন্ত বর্তমান ক্ষুদ্রতম খুঁজে পেয়েছি আমি অভিশাপ উপাদান চেক করেছি. 234 00:10:02,600 --> 00:10:08,050 N, বলে, তাই ওমেগা, আমরা মাত্র এক সঙ্গে এসেছিলেন আপ. 235 00:10:08,050 --> 00:10:09,300 সন্নিবেশ সাজানোর. 236 00:10:09,300 --> 00:10:12,370 তালিকা অনুসারে সাজানো হতে হবে যদি ইতিমধ্যে, শ্রেষ্ঠ ক্ষেত্রে আমরা ঠিক আছে 237 00:10:12,370 --> 00:10:15,090 এটি মাধ্যমে এক পাস করা, যা আমরা নিশ্চিত করছি সময়ে. 238 00:10:15,090 --> 00:10:17,890 এবং তারপর তিনি বলেন হতে পারে নিশ্চিত করার জন্য, রৈখিক হবে. 239 00:10:17,890 --> 00:10:20,570 >> 1 Omega সম্পর্কে কি? 240 00:10:20,570 --> 00:10:23,790 সেরা ক্ষেত্রে, নিতে পারে কি, ধাপের একটি ধ্রুবক নম্বর? 241 00:10:23,790 --> 00:10:27,220 সুতরাং রৈখিক অনুসন্ধান, আপনি শুধু পেতে ভাগ্যবান যদি এবং আপনি খুঁজছেন উপাদান 242 00:10:27,220 --> 00:10:31,000 তালিকার শুরুতে অধিকার আপনার শুরু করছেন যেখানে যে যদি 243 00:10:31,000 --> 00:10:33,070 যে তালিকা রৈখিক ট্র্যাভেরসাল. 244 00:10:33,070 --> 00:10:35,180 >> এবং এই একটি সত্য কিছু সংখ্যা. 245 00:10:35,180 --> 00:10:37,660 উদাহরণস্বরূপ, এমনকি বাইনারি খোঁজো 1 ওমেগা হয়. 246 00:10:37,660 --> 00:10:40,310 আপনি কি সত্যিই অভিশাপ পেতে কারণ যদি মাঝখানে ভাগ্যবান এবং স্ম্যাক দ্যাট-ডাবের 247 00:10:40,310 --> 00:10:42,950 আপনার অ্যারের সংখ্যা আপনি যা খুঁজছেন? 248 00:10:42,950 --> 00:10:45,730 তাই আপনি, হিসাবে ভাল আছে ভাগ্যবান পেতে পারেন. 249 00:10:45,730 --> 00:10:49,190 >> এই এক, সর্বশেষে, এন লগ N এর ওমেগা. 250 00:10:49,190 --> 00:10:52,573 সুতরাং N লগ N, আমরা সত্যিই না কোনো বিষয়ে কথা বলতে, কিন্তু - 251 00:10:52,573 --> 00:10:53,300 >> শ্রোতা: সাজানোর মার্জ? 252 00:10:53,300 --> 00:10:53,960 >> DAVID Malan: মার্জ সাজানোর. 253 00:10:53,960 --> 00:10:56,920 যে, গত সময়ের cliffhanger ছিল আমরা প্রস্তাব, এবং আমরা দেখিয়েছি যেখানে 254 00:10:56,920 --> 00:10:58,600 দৃশ্যত, আলগোরিদিম আছে. 255 00:10:58,600 --> 00:11:02,470 এবং শুধুমাত্র এক ধরনের সাজানোর একত্রীকরণ মৌলিকভাবে দ্রুত যে অ্যালগরিদম 256 00:11:02,470 --> 00:11:03,450 এই অন্যান্য বলছি কিছু আর. 257 00:11:03,450 --> 00:11:07,800 আসলে, না শুধুমাত্র ছোট একত্রীকরণ সবচেয়ে খারাপ সেরা ক্ষেত্রে N লগ N, 258 00:11:07,800 --> 00:11:09,460 ক্ষেত্রে N লগ N. 259 00:11:09,460 --> 00:11:14,540 এবং আপনার এই কাকতালীয় আছে ওমেগা এবং বড় হে একই জিনিস হচ্ছে? 260 00:11:14,540 --> 00:11:17,310 আমরা আসলে কি যে বর্ণনা করতে পারেন এটা যদিও, থেটা নামে একটি 261 00:11:17,310 --> 00:11:18,220 একটু কম প্রচলিত. 262 00:11:18,220 --> 00:11:21,730 কিন্তু যে ঠিক, দুই সীমার মানে এই ক্ষেত্রে, একই. 263 00:11:21,730 --> 00:11:25,770 >> সুতরাং সাজানোর একত্রীকরণ, এই কি আছে আমাদের জন্য সত্যিই ফুটাইয়া কমান? 264 00:11:25,770 --> 00:11:27,000 ওয়েল, প্রেরণা প্রত্যাহার. 265 00:11:27,000 --> 00:11:30,340 আমাকে আরেকটা অ্যানিমেশন যে টান আপ চলুন শুরু করা যাক আমরা শেষ সময় তাকান না. 266 00:11:30,340 --> 00:11:33,390 এই এক, একই ধারণা, কিন্তু আছে এটি একটি সামান্য বড় হয়. 267 00:11:33,390 --> 00:11:36,160 এবং আমি এগিয়ে যান এবং বাতলান যাচ্ছি প্রথম - আমরা সন্নিবেশ সাজান আছে 268 00:11:36,160 --> 00:11:39,410 উপরের বাম তারপর, নির্বাচন সাজানোর, বুদ্বুদ সাজানোর, অন্যান্য প্রকারের একটি দম্পতি - 269 00:11:39,410 --> 00:11:42,670 শেল এবং দ্রুত - আমরা কথা বলত না করা ওপর, এবং গাদা এবং সাজানোর একত্রীকরণ. 270 00:11:42,670 --> 00:11:47,090 >> অন্তত আপনার চোখ ফোকাস করার চেষ্টা তাই বাঁদিকের তিনটি উপরে এবং 271 00:11:47,090 --> 00:11:49,120 আমি ক্লিক করা হলে সাজানোর একত্রীকরণ এই সবুজ তীর. 272 00:11:49,120 --> 00:11:51,900 কিন্তু আমি ঠিক, তাদের সব চালানো যাক করব আপনি বৈচিত্র্য একটা ধারনা দেবে 273 00:11:51,900 --> 00:11:53,980 বিশ্বের যে বিদ্যমান আলগোরিদিম. 274 00:11:53,980 --> 00:11:56,180 আমি এই চালানো যাক যাচ্ছি মাত্র কয়েক সেকেন্ডের জন্য. 275 00:11:56,180 --> 00:11:59,640 এবং আপনি আপনার চোখ ফোকাস - যদি একটি বাছাই শুধু একটি জন্য এলগরিদম, এটি উপর ফোকাস 276 00:11:59,640 --> 00:12:02,970 যাও - আপনি দেখতে শুরু করব এটি প্রয়োগ যে প্যাটার্ন. 277 00:12:02,970 --> 00:12:04,530 >> একত্রীকরণ সাজানোর, নোটিশ, এটা করা হয়. 278 00:12:04,530 --> 00:12:06,430 গাদা সাজানোর, দ্রুত সাজানোর, শেল - 279 00:12:06,430 --> 00:12:09,480 আমরা তিনটি চালু তাই মনে হয় সবচেয়ে খারাপ আলগোরিদিম গত সপ্তাহে. 280 00:12:09,480 --> 00:12:12,960 কিন্তু যে আমরা এখানে আজ যে ভাল একত্রীকরণ সাজানোর তাকান, যা এক 281 00:12:12,960 --> 00:12:16,500 সহজ বেশী, এমনকি তাকান হয় এটা সম্ভবত আপনার মন বক্র স্থান হবে, যদিও 282 00:12:16,500 --> 00:12:17,490 অল্পমাত্র বিট. 283 00:12:17,490 --> 00:12:21,130 এখানে আমরা দেখতে পারেন ঠিক কত নির্বাচন সাজানোর sucks. 284 00:12:21,130 --> 00:12:24,600 >> কিন্তু উল্টানো দিকে, এটা বাস্তবায়ন সত্যিই সহজ. 285 00:12:24,600 --> 00:12:28,160 এবং হয়ত পি সেট 3 জন্য, যে এক আপনি বাস্তবায়ন করতে বেছে নেওয়া হয়েছে আলগোরিদিম 286 00:12:28,160 --> 00:12:28,960 মানক সংস্করণে জন্য. 287 00:12:28,960 --> 00:12:30,970 পুরোপুরি সঠিক, পুরোপুরি সূক্ষ্ম. 288 00:12:30,970 --> 00:12:35,210 >> কিন্তু আবার, এন বড় পায় হিসেবে, যদি আপনি একটি দ্রুত আলগোরিদিম বাস্তবায়ন চয়ন 289 00:12:35,210 --> 00:12:39,020 সাজানোর একত্রীকরণ চান, মতভেদ মধ্যে বড় হয় বৃহত্তর ইনপুট, আপনার কোড ঠিক 290 00:12:39,020 --> 00:12:39,800 দ্রুত চালানো যাচ্ছে. 291 00:12:39,800 --> 00:12:41,090 আপনার ওয়েবসাইট ভাল কাজ করে যাচ্ছে. 292 00:12:41,090 --> 00:12:42,650 আপনার ব্যবহারকারীদের সুখী হতে যাচ্ছে. 293 00:12:42,650 --> 00:12:45,280 তাই এইসব প্রভাব আছে আসলে দেবার 294 00:12:45,280 --> 00:12:47,350 আমাদের কিছু গভীর চিন্তা. 295 00:12:47,350 --> 00:12:49,990 >> তাই এর একত্রীকরণ কি কটাক্ষপাত করা যাক সাজানোর সব বিষয়ে আসলে. 296 00:12:49,990 --> 00:12:52,992 শীতল জিনিস একত্রীকরণ হয় সাজানোর শুধু এই. 297 00:12:52,992 --> 00:12:56,300 আমরা নামক করেছি, আবার, হয় pseudocode, pseudocode হচ্ছে 298 00:12:56,300 --> 00:12:57,720 ইংরেজি মত সিনট্যাক্স. 299 00:12:57,720 --> 00:12:59,890 এবং সরলতা হয় চটুল সাজানোর. 300 00:12:59,890 --> 00:13:02,840 >> সুতরাং N উপাদানের ইনপুটের - যাতে শুধু মানে, এখানে একটি অ্যারে. 301 00:13:02,840 --> 00:13:04,000 এতে N জিনিষ পেয়েছিলাম. 302 00:13:04,000 --> 00:13:05,370 যে আমরা সেখানে বলছে সব. 303 00:13:05,370 --> 00:13:07,560 >> N 2 চেয়ে কম হয়, তাহলে ফিরে. 304 00:13:07,560 --> 00:13:08,640 সুতরাং যে শুধু তুচ্ছ ক্ষেত্রে এর. 305 00:13:08,640 --> 00:13:12,580 N কম 2 হয়, তাহলে সম্ভবত এটি 1 অথবা 0, যার ক্ষেত্রে জিনিস 306 00:13:12,580 --> 00:13:14,780 ইতিমধ্যে সাজানো অথবা নামমাত্র হয়, তাই ঠিক ফিরে. 307 00:13:14,780 --> 00:13:15,900 কিছুই করার নেই. 308 00:13:15,900 --> 00:13:18,360 সুতরাং যে বন্ধ ছোঁ একটি সহজ ক্ষেত্রে এর. 309 00:13:18,360 --> 00:13:20,110 >> অন্যথায়, আমরা তিনটি ধাপ আছে. 310 00:13:20,110 --> 00:13:23,650 উপাদানের বাম অর্ধেক, সাজানোর বাছাই করুন উপাদানের অধিকার অর্ধেক, 311 00:13:23,650 --> 00:13:26,650 এবং তারপর সাজানো আংশিক একত্রীকরণ. 312 00:13:26,650 --> 00:13:29,400 কি এখানে আকর্ষণীয় যে আমি ডান, punting ধরনের আছি? 313 00:13:29,400 --> 00:13:32,300 একটি বৃত্তাকার সংজ্ঞা ধরনের আছে এই অ্যালগরিদম আপনি. 314 00:13:32,300 --> 00:13:35,986 এই অ্যালগরিদম এর কি অর্থে সংজ্ঞা বিজ্ঞপ্তি? 315 00:13:35,986 --> 00:13:37,850 >> শ্রোতা: [শ্রবণাতীত]. 316 00:13:37,850 --> 00:13:41,670 >> DAVID Malan: হ্যাঁ, আমার বাছাই আলগোরিদিম, তার ধাপের দুই "বাছাই করা হয় 317 00:13:41,670 --> 00:13:44,640 begs যাতে কিছু. "এবং প্রশ্ন, ভাল, আমি কি ব্যবহার করতে যাচ্ছি 318 00:13:44,640 --> 00:13:46,460 বাম অর্ধেক বাছাই এবং ডান অর্ধেক? 319 00:13:46,460 --> 00:13:49,600 এবং এখানে সৌন্দর্য যে, যদিও আবার, এই মন-নমন হয় 320 00:13:49,600 --> 00:13:54,030 অংশ সম্ভাব্য, আপনি একই ব্যবহার করতে পারেন বাম অর্ধেক বাছাই আলগোরিদিম. 321 00:13:54,030 --> 00:13:54,700 >> কিন্তু একটি মিনিট অপেক্ষা করুন. 322 00:13:54,700 --> 00:13:57,070 আপনি বাছাই করতে বলা করছেন বাম অর্ধেক, দুটি কি 323 00:13:57,070 --> 00:13:58,240 পদক্ষেপ পরবর্তী হতে যাচ্ছে? 324 00:13:58,240 --> 00:14:00,550 আমরা বাম অর্ধেক বাছাই করব বাম অর্ধেক এবং ডান 325 00:14:00,550 --> 00:14:01,420 বাম অর্ধেক অর্ধেক. 326 00:14:01,420 --> 00:14:04,430 অভিশাপ, কিভাবে আমি ঐ দুটি বাছাই না আংশিক বা ত্রৈমাসিক, এখন? 327 00:14:04,430 --> 00:14:05,260 >> কিন্তু যে ঠিক আছে. 328 00:14:05,260 --> 00:14:07,830 আমরা এখানে একটি বাছাই আলগোরিদিম আছে. 329 00:14:07,830 --> 00:14:10,660 এবং আপনি এ চিন্তা হতে পারে, যদিও প্রথম এই অসীম ধরনের 330 00:14:10,660 --> 00:14:12,780 লুপ, এটা না যে এর একটি চক্র এর শেষ যাচ্ছে - এটা যাচ্ছে 331 00:14:12,780 --> 00:14:15,770 কি একবার শেষ? 332 00:14:15,770 --> 00:14:16,970 একবার N কম 2. 333 00:14:16,970 --> 00:14:19,180 যা শেষ পর্যন্ত, ঘটতে যাচ্ছে আপনি রাখা যদি halving এবং কারণ 334 00:14:19,180 --> 00:14:23,020 এই আংশিক halving halving মধ্যে নিশ্চয়, অবশেষে আপনি শেষ করতে যাচ্ছেন 335 00:14:23,020 --> 00:14:25,350 মাত্র 1 অথবা 0 উপাদানের সঙ্গে আপ. 336 00:14:25,350 --> 00:14:28,500 যা বিন্দু, এই অ্যালগরিদম এ আপনার কাজ সম্পন্ন হয় না. 337 00:14:28,500 --> 00:14:31,020 >> তাই এই বাস্তব জাদু অ্যালগরিদম মধ্যে মনে করা হয় 338 00:14:31,020 --> 00:14:33,470 যে চূড়ান্ত ধাপে, মার্জ. 339 00:14:33,470 --> 00:14:37,190 মাত্র দুই মার্জ যে সহজ ধারণা জিনিষ, যে শেষ পর্যন্ত যাচ্ছে কি 340 00:14:37,190 --> 00:14:40,920 আমাদের একটি অ্যারের বাছাই করার অনুমতি দেয়, যাক, আট উপাদান বলে. 341 00:14:40,920 --> 00:14:44,410 তাই আমি আট আরও চাপ বল আছে এখানে, আট কাগজ টুকরা, এবং এক 342 00:14:44,410 --> 00:14:45,500 গুগল গ্লাস - 343 00:14:45,500 --> 00:14:46,140 যা আমি রাখা পান. 344 00:14:46,140 --> 00:14:46,960 >> [হাস্য] 345 00:14:46,960 --> 00:14:48,970 >> DAVID Malan: আমরা আট গ্রহণ করতে পারে যদি স্বেচ্ছাসেবী, এবং এর দেখতে দিন আমরা করতে পারেন যদি 346 00:14:48,970 --> 00:14:51,430 সুতরাং, এই খেলা. 347 00:14:51,430 --> 00:14:52,500 বাহ, ঠিক আছে. 348 00:14:52,500 --> 00:14:53,565 কম্পিউটার বিজ্ঞান মজা হচ্ছে. 349 00:14:53,565 --> 00:14:54,320 ঠিক আছে. 350 00:14:54,320 --> 00:14:57,770 সুতরাং কিভাবে আপনি তিনটি, সেখানে সবচেয়ে বড় হাত. 351 00:14:57,770 --> 00:14:58,580 ফিরে চার. 352 00:14:58,580 --> 00:15:02,220 এবং কিভাবে আমরা আপনার করব এই সারি তিনটি? 353 00:15:02,220 --> 00:15:03,390 সামনে এবং চার. 354 00:15:03,390 --> 00:15:04,920 সুতরাং, আপনি আট উপর আসা. 355 00:15:04,920 --> 00:15:12,060 >> [হাস্য] 356 00:15:12,060 --> 00:15:13,450 >> DAVID Malan: আসলে আমি আছি না কি এটা নিশ্চিত. 357 00:15:13,450 --> 00:15:14,810 এটা মানসিক চাপ বল কি? 358 00:15:14,810 --> 00:15:16,510 ডেস্ক আলো? 359 00:15:16,510 --> 00:15:18,650 উপাদান? 360 00:15:18,650 --> 00:15:19,680 ইন্টারনেট? 361 00:15:19,680 --> 00:15:20,160 >> ঠিক আছে. 362 00:15:20,160 --> 00:15:21,310 তাই আসা. 363 00:15:21,310 --> 00:15:22,310 কে চাই - 364 00:15:22,310 --> 00:15:23,570 উত্ক্রান্ত রাখা. 365 00:15:23,570 --> 00:15:24,240 এর দেখতে দিন. 366 00:15:24,240 --> 00:15:26,460 এবং এই স্থানে আপনি রাখে - 367 00:15:26,460 --> 00:15:27,940 আপনি অবস্থান এক করছি. 368 00:15:27,940 --> 00:15:28,670 Uh-উহু, একটি মিনিট অপেক্ষা করুন. 369 00:15:28,670 --> 00:15:30,760 1, 2, 3, 4, 5, 6, 7 - ভাল, ওহ. 370 00:15:30,760 --> 00:15:31,310 ঠিক আছে, আমরা ভাল. 371 00:15:31,310 --> 00:15:35,130 ঠিক আছে, তাই সবাই, একটি আসন আছে কিন্তু গুগল কাচ. 372 00:15:35,130 --> 00:15:36,475 আমার সম্পর্কে কিউ এই পর্যন্ত চলুন শুরু করা যাক. 373 00:15:36,475 --> 00:15:37,115 আপনার নাম কি? 374 00:15:37,115 --> 00:15:37,440 >> Michelle: মিশেল. 375 00:15:37,440 --> 00:15:38,090 >> DAVID Malan: মিশেল? 376 00:15:38,090 --> 00:15:42,000 ঠিক আছে, আপনার মত চেহারা পেতে গুরু, ঠিক আছে যে যদি. 377 00:15:42,000 --> 00:15:44,625 ওয়েল, আমি খুব, আমি অনুমান, শুধু একটা মুহূর্ত জন্য. 378 00:15:44,625 --> 00:15:45,875 স্ট্যান্ডবাই, ঠিক আছে. 379 00:15:45,875 --> 00:15:48,510 380 00:15:48,510 --> 00:15:50,950 আমরা চিন্তা করার চেষ্টা করছি গুগল গ্লাস জন্য কেস ব্যবহার, এবং আমরা 381 00:15:50,950 --> 00:15:53,750 এটা শুধু মজা হতে চাই এই মানুষের onstage যখন. 382 00:15:53,750 --> 00:15:57,120 আমরা বিশ্বের রেকর্ড করব তাদের দৃষ্টিকোণ থেকে. 383 00:15:57,120 --> 00:15:58,410 ঠিক আছে. 384 00:15:58,410 --> 00:15:59,830 নেই সম্ভবত কি গুগল উদ্দেশ্যে. 385 00:15:59,830 --> 00:16:02,260 যদি আপনি আপত্তি করে না ঠিক আছে, পরা পরবর্তী বিশ্রী মিনিটের জন্য এই, 386 00:16:02,260 --> 00:16:03,150 যে বিস্ময়কর হবে. 387 00:16:03,150 --> 00:16:08,620 >> ঠিক আছে, তাই আমরা এখানে একটি অ্যারে আছে উপাদান, এবং প্রতি যে অ্যারের, 388 00:16:08,620 --> 00:16:11,480 এই লোকেরা কাগজ টুকরা ' হাত, বর্তমানে unsorted হয়. 389 00:16:11,480 --> 00:16:12,050 >> Michelle: ওহ, যাতে অদ্ভুত. 390 00:16:12,050 --> 00:16:12,810 >> DAVID Malan: এটা অনেক সুন্দর র্যান্ডম না. 391 00:16:12,810 --> 00:16:15,760 এবং শুধু একটা মুহূর্ত, আমরা চেষ্টা করছি যাচ্ছে একসঙ্গে সাজানোর একত্রীকরণ বাস্তবায়ন 392 00:16:15,760 --> 00:16:17,950 যে কী অন্তর্দৃষ্টি যেখানে এবং দেখুন. 393 00:16:17,950 --> 00:16:21,970 এবং একত্রীকরণ সাজানোর সঙ্গে এখানে কৌতুক আমরা এখনো অধিকৃত হয়নি কিছু. 394 00:16:21,970 --> 00:16:24,030 আসলে আমরা কিছু করতে হবে অতিরিক্ত স্থান. 395 00:16:24,030 --> 00:16:26,650 তাই বিশেষ করে হতে যাচ্ছে এই সম্পর্কে আকর্ষণীয় হয় যে এই 396 00:16:26,650 --> 00:16:29,270 ছেলেরা একটু কাছাকাছি স্থানান্তর করতে যাচ্ছি বিট, কারণ আমি অনুমান করা যাচ্ছে যে 397 00:16:29,270 --> 00:16:31,880 স্থান একটি অতিরিক্ত অ্যারে আছে, ডান তাদের পিছনে, বলে. 398 00:16:31,880 --> 00:16:34,570 >> তারা তাদের চেয়ার পিছনে করছি, তাই যদি দ্বিতীয় অ্যারের যে. 399 00:16:34,570 --> 00:16:36,960 তারা এখানে বসে থাকেন, যে প্রাথমিক অ্যারে. 400 00:16:36,960 --> 00:16:40,170 কিন্তু এই যে আমরা একটি সম্পদ বুদবুদ সঙ্গে পর্যন্ত leveraged না 401 00:16:40,170 --> 00:16:42,040 সাজানোর, নির্বাচন সাজানোর সঙ্গে, সন্নিবেশ সাজানোর সঙ্গে. 402 00:16:42,040 --> 00:16:44,600 গত সপ্তাহে প্রত্যাহার, সবাই ঠিক ধরনের জায়গায় shuffled. 403 00:16:44,600 --> 00:16:46,840 তারা কোনো অতিরিক্ত মেমরি ব্যবহার করা হয়নি. 404 00:16:46,840 --> 00:16:49,310 আমরা মানুষের জন্য রুম তৈরি চারপাশের মানুষের চলন্ত. 405 00:16:49,310 --> 00:16:50,580 >> তাই এই খুব,, একটি কী অন্তর্দৃষ্টি. 406 00:16:50,580 --> 00:16:53,410 এই ট্রেড বন্ধ মধ্যে সাধারণ, কিন্তু আছে সম্পদ কম্পিউটার বিজ্ঞান. 407 00:16:53,410 --> 00:16:55,800 আপনি কিছু স্পীড আপ করতে চান তাহলে সময় মত, আপনি চলুন 408 00:16:55,800 --> 00:16:56,900 একটি মূল্য দিতে হবে. 409 00:16:56,900 --> 00:17:00,750 এবং যারা দাম এক খুব প্রায়ই হয় স্থান, মেমরির পরিমাণ অথবা হার্ড 410 00:17:00,750 --> 00:17:01,700 আপনি ব্যবহার করছেন ডিস্ক স্থান. 411 00:17:01,700 --> 00:17:03,640 বা, উন্মুক্তভাবে, পরিমাণ প্রোগ্রামার সময়. 412 00:17:03,640 --> 00:17:06,700 কত মানুষের, আপনি লাগে সময়, আসলে আরো কিছু বাস্তবায়ন 413 00:17:06,700 --> 00:17:07,829 জটিল এলগরিদম. 414 00:17:07,829 --> 00:17:09,760 কিন্তু আজকের জন্য, ট্রেড বন্ধ সময় এবং স্থান. 415 00:17:09,760 --> 00:17:11,930 >> আপনাকে বলছি ঠিক রাখা আপ করতে পারে তাই আপনি যদি আপনার তাই আমরা আপনি যে নম্বর দেখতে পারেন 416 00:17:11,930 --> 00:17:15,839 প্রকৃতপক্ষে 4, 2, 6, 1, 3, 7, 8 মিলে. 417 00:17:15,839 --> 00:17:16,599 চমৎকার. 418 00:17:16,599 --> 00:17:19,520 তাই আমি সুষ্ঠুভাবে সমন্বিত চেষ্টা করতে যাচ্ছি জিনিষ, যদি আপনি না করতে পারেন মাত্র 419 00:17:19,520 --> 00:17:21,800 এখানে নিলাম আমার নেতৃত্ব অনুসরণ. 420 00:17:21,800 --> 00:17:26,650 >> তাই আমি প্রথম, বাস্তবায়ন করতে যাচ্ছি যা pseudocode প্রথম পদক্ষেপ, 421 00:17:26,650 --> 00:17:29,440 N যদি N উপাদানের ইনপুট, উপর 2 তুলনায় কম, তারপর ফিরে. 422 00:17:29,440 --> 00:17:31,370 একথাও ঠিক যে, যে না প্রয়োগ করুন, তাই আমরা উপর সরানো. 423 00:17:31,370 --> 00:17:33,340 সুতরাং উপাদানের বাম অর্ধেক বাছাই. 424 00:17:33,340 --> 00:17:36,220 সুতরাং যে আমি ফোকাস করতে যাচ্ছি মানে আমার এই মাত্র একটি মুহূর্ত জন্য মনোযোগ 425 00:17:36,220 --> 00:17:37,310 এখানে চার বলছি. 426 00:17:37,310 --> 00:17:39,774 ঠিক আছে, আমি পরের কি করবেন? 427 00:17:39,774 --> 00:17:40,570 >> শ্রোতা: বাম অর্ধেক বাছাই করুন. 428 00:17:40,570 --> 00:17:42,780 >> DAVID Malan: তাই এখন আমি বাছাই করতে হবে এই ছেলেরা বাম অর্ধেক. 429 00:17:42,780 --> 00:17:45,580 আবার, কারণ নিজেকে অনুমান লক্ষ্য বাম অর্ধেক বাছাই করা হয়. 430 00:17:45,580 --> 00:17:46,440 আপনি কিভাবে করবেন? 431 00:17:46,440 --> 00:17:49,140 শুধু এমনকি, নির্দেশাবলী অনুসরণ করুন আমরা আবার এটা করছেন, যদিও. 432 00:17:49,140 --> 00:17:50,160 সুতরাং বাম অর্ধেক বাছাই. 433 00:17:50,160 --> 00:17:52,030 এখন আমি এই দুই বলছি বাছাই করছি. 434 00:17:52,030 --> 00:17:53,563 পরে কি আসে? 435 00:17:53,563 --> 00:17:54,510 >> শ্রোতা: বাম অর্ধেক বাছাই করুন. 436 00:17:54,510 --> 00:17:55,460 >> DAVID Malan: বাম অর্ধেক বাছাই করুন. 437 00:17:55,460 --> 00:18:00,680 তাই এখন এই, এখানে এই সীট, আকার 1 একটি তালিকা রয়েছে. 438 00:18:00,680 --> 00:18:01,365 এবং আপনার নাম কি আবার? 439 00:18:01,365 --> 00:18:02,390 >> Princess DAISY: রাজকুমারী ডেজি. 440 00:18:02,390 --> 00:18:03,690 >> DAVID Malan: রাজকুমারী ডেজি এখানে. 441 00:18:03,690 --> 00:18:07,470 এবং তাই তিনি আগে থেকেই সাজানো কারণ তালিকার আকার 1 হয়. 442 00:18:07,470 --> 00:18:09,490 আমি কি করব? 443 00:18:09,490 --> 00:18:13,680 যে তালিকা কারণ ঠিক আছে, ফিরে 2 চেয়ে কম হয়, যা আকার 1. 444 00:18:13,680 --> 00:18:14,320 তারপর পরবর্তী পদক্ষেপ কি? 445 00:18:14,320 --> 00:18:17,490 আর এখন আপনি ধরনের আছে আপনার মনে পরিত্যাগ করা. 446 00:18:17,490 --> 00:18:19,340 >> যা ডান অর্ধেক, বাছাই - 447 00:18:19,340 --> 00:18:19,570 আপনার নাম কি? 448 00:18:19,570 --> 00:18:20,220 >> LINDA: লিন্ডা. 449 00:18:20,220 --> 00:18:20,980 >> DAVID Malan: লিন্ডা. 450 00:18:20,980 --> 00:18:23,210 এবং তাই আমরা এখন যে কি করবেন আমরা আকার 1 একটি তালিকা আছে? 451 00:18:23,210 --> 00:18:24,440 >> শ্রোতা: ফিরে. 452 00:18:24,440 --> 00:18:24,760 >> DAVID Malan: সাবধান হন. 453 00:18:24,760 --> 00:18:29,540 আমরা প্রথম ফিরে, এবং এখন তৃতীয় ধাপ - এবং আমি যদি কোন ধরনের দ্বারা এটি বর্ণা 454 00:18:29,540 --> 00:18:33,490 আমি এখন, এখন দুই আসন আলিঙ্গন এই দুটি উপাদান একত্রীকরণ আছে. 455 00:18:33,490 --> 00:18:35,530 তাই এখন দুর্ভাগ্যবশত, উপাদান যাতে সীমার বাইরে. 456 00:18:35,530 --> 00:18:39,920 কিন্তু যে যেখানে মার্জ প্রক্রিয়া আকর্ষক পেতে আরম্ভ করা হয়. 457 00:18:39,920 --> 00:18:42,410 >> আপনি না শুধুমাত্র জন্য দাঁড়ানো পারে তাই আপনি যদি একটি মুহূর্ত, আমি, আপনি প্রয়োজন যাচ্ছি 458 00:18:42,410 --> 00:18:44,170 মুহূর্ত, আপনার চেয়ার পিছনে পইঠা. 459 00:18:44,170 --> 00:18:46,480 এবং যদি লিন্ডা, 2 কারণ 4 চেয়ে ছোট, কেন করবেন না 460 00:18:46,480 --> 00:18:48,130 আপনাকে প্রথমে কাছাকাছি আসা? 461 00:18:48,130 --> 00:18:48,690 সেখানে থাকার. 462 00:18:48,690 --> 00:18:50,520 লিন্ডা সুতরাং, আপনি প্রথমে কাছাকাছি আসা. 463 00:18:50,520 --> 00:18:53,820 >> এখন বাস্তবে এটি শুধু একটি অ্যারের যদি আমরা শুধু বাস্তব সময়ে তার সরাতে পারে 464 00:18:53,820 --> 00:18:55,360 এই চেয়ার থেকে এই স্পট. 465 00:18:55,360 --> 00:18:57,770 তাই কিছু ধ্রুবক গ্রহণ কল্পনা ধাপ 1 এর সংখ্যা. 466 00:18:57,770 --> 00:18:58,480 আর এখন - 467 00:18:58,480 --> 00:19:01,490 কিন্তু আমরা আপনাকে রাখা প্রয়োজন এখানে প্রথমে অবস্থান. 468 00:19:01,490 --> 00:19:03,930 >> আর এখন আপনি, কাছাকাছি আসতে পারে যদি পাশাপাশি, আমরা চলুন 469 00:19:03,930 --> 00:19:06,300 পাঁচ দুটি হতে. 470 00:19:06,300 --> 00:19:09,120 এবং এটা ভালো লেগেছে এই মতানুযায়ী, যদিও যখন গ্রহণ করা হয় এখন চমৎকার কি 471 00:19:09,120 --> 00:19:14,710 যে বাম অর্ধেক বাম অর্ধেক এখন সাজানো হয়. 472 00:19:14,710 --> 00:19:18,010 এখন আমরা তাই আপনি যদি পরবর্তী ধাপে, কি ছিল গল্প আরও গুটিয়ে? 473 00:19:18,010 --> 00:19:18,980 >> শ্রোতা: রাইট অর্ধেক. 474 00:19:18,980 --> 00:19:19,900 >> DAVID Malan: ডান অর্ধেক বাছাই করুন. 475 00:19:19,900 --> 00:19:21,320 তাই আপনাকে বলছি, হিসাবে ভাল করতে হবে. 476 00:19:21,320 --> 00:19:23,510 আপনি দাঁড়ানো পারে তাই আপনি যদি শুধু একটা মুহূর্ত জন্য? 477 00:19:23,510 --> 00:19:25,192 এবং আপনার নাম কি? 478 00:19:25,192 --> 00:19:25,540 >> Jess: জেস. 479 00:19:25,540 --> 00:19:25,870 >> DAVID Malan: জেস. 480 00:19:25,870 --> 00:19:29,720 ঠিক আছে, তাই জেস এখন বাম হয় ডান অর্ধেক অর্ধেক. 481 00:19:29,720 --> 00:19:31,400 এবং তাই সে আকার 1 একটি তালিকা. 482 00:19:31,400 --> 00:19:32,380 তিনি সম্ভবত সাজানো হচ্ছে. 483 00:19:32,380 --> 00:19:33,070 এবং যদি আপনার নাম আবার? 484 00:19:33,070 --> 00:19:33,630 >> Michelle: মিশেল. 485 00:19:33,630 --> 00:19:35,340 >> DAVID Malan: মিশেল সম্ভবত হয় আকার 1 একটি তালিকা. 486 00:19:35,340 --> 00:19:36,050 তিনি ইতিমধ্যে অনুসারে সাজানো হচ্ছে. 487 00:19:36,050 --> 00:19:38,690 তাই এখন জাদু, ঘটবে মার্জ প্রক্রিয়া. 488 00:19:38,690 --> 00:19:39,790 সুতরাং যারা প্রথম আসা যাচ্ছে? 489 00:19:39,790 --> 00:19:41,560 একথাও ঠিক যে Michelle. 490 00:19:41,560 --> 00:19:43,280 আপনি ফিরে কাছাকাছি আসতে পারে তাই আপনি যদি. 491 00:19:43,280 --> 00:19:47,090 এখন আমরা তার জন্য উপলব্ধ স্থান এখানে ডান এই চেয়ার পিছনে. 492 00:19:47,090 --> 00:19:51,580 আর এখন, আপনি ভাল হিসাবে ফিরে আসতে পারে, যদি আমরা এখন দুই, স্পষ্ট করা আছে, 493 00:19:51,580 --> 00:19:53,810 আংশিক, আয়তন 2 প্রতিটি - 494 00:19:53,810 --> 00:19:57,090 এবং শুধু চিত্রাঙ্কন দোহাই জন্য, যদি আপনি একটি স্পেস সামান্য বিট করতে পারে - 495 00:19:57,090 --> 00:19:59,780 এক, এক অর্ধেক এখানে বামে এখানে ডান অর্ধেক. 496 00:19:59,780 --> 00:20:01,160 >> গল্প আরও গুটিয়ে. 497 00:20:01,160 --> 00:20:02,270 কি পদক্ষেপ পরবর্তী? 498 00:20:02,270 --> 00:20:03,030 >> শ্রোতা: মার্জ. 499 00:20:03,030 --> 00:20:04,160 >> DAVID Malan: তাই এখন আমরা একত্রীকরণ আছে. 500 00:20:04,160 --> 00:20:07,490 তাই ঠিক আছে, তাই এখন, সৌভাগ্যক্রমে, আমরা মাত্র চার চেয়ার্স ম্যাচে লড়াই করেন আপ মুক্ত. 501 00:20:07,490 --> 00:20:11,480 তাই আমরা অনেক মেমরি দুবার ব্যবহার করা হয়, কিন্তু করেছি আমরা উল্টানো-flopping মধ্যে দিতে পারে 502 00:20:11,480 --> 00:20:12,330 দুই অ্যারে. 503 00:20:12,330 --> 00:20:14,190 যা তাই সংখ্যা প্রথম আসা হয়? 504 00:20:14,190 --> 00:20:14,850 তাই অবশ্যই, Michelle. 505 00:20:14,850 --> 00:20:16,680 তাই কাছাকাছি আসা এবং গ্রহণ এখানে আপনার সীট. 506 00:20:16,680 --> 00:20:19,120 এবং তারপর সংখ্যা 2 সম্ভবত হয় এর পরে, তাই আপনি এখানে আসা. 507 00:20:19,120 --> 00:20:21,520 সংখ্যা 4, সংখ্যা 6. 508 00:20:21,520 --> 00:20:23,390 এবং আবার, একটি আছে, যদিও জড়িত হাঁটা সামান্য বিট, 509 00:20:23,390 --> 00:20:26,010 সত্যিই, এই সঙ্গে সঙ্গে ঘটতে পারে - এক চলন্ত দ্বারা 510 00:20:26,010 --> 00:20:26,880 ঠিক আছে, ভাল খেলেছে. 511 00:20:26,880 --> 00:20:28,350 >> [হাস্য] 512 00:20:28,350 --> 00:20:29,680 >> DAVID Malan: এবং এখন আমরা প্রশংসনীয় ভাল আকৃতির. 513 00:20:29,680 --> 00:20:34,910 সমগ্র বাম অর্ধেক ইনপুট এখন সাজানো হয়েছে. 514 00:20:34,910 --> 00:20:37,370 ঠিক আছে, তাই এই ছেলেরা ছিল আমার সুবিধা হল - 515 00:20:37,370 --> 00:20:40,340 কিভাবে এটা সব মেয়েদের শেষ পর্যন্ত হয়নি বাম এবং ডান সব ছেলেদের? 516 00:20:40,340 --> 00:20:42,450 >> ঠিক আছে, তাই বলছি এখন ঘুরিয়ে '. 517 00:20:42,450 --> 00:20:44,680 তাই আমি মাধ্যমে আপনি পদব্রজে ভ্রমণ করা হবে না ধাপগুলি. 518 00:20:44,680 --> 00:20:46,550 আমরা পুনরায় আবেদন করতে পারেন যদি আমরা দেখতে পাবেন একই pseudocode. 519 00:20:46,550 --> 00:20:50,050 আপনি এগিয়ে যান এবং, স্ট্যান্ড আপ করতে চান তাহলে এবং আপনাকে বলছি, আমাকে আপনি মাইক দিতে. 520 00:20:50,050 --> 00:20:52,990 আপনি প্রতিলিপি নির্মাণ না করা হলে দেখুন কি আমরা শুধু এখানে করেনি 521 00:20:52,990 --> 00:20:53,880 তালিকার অন্য প্রান্তে. 522 00:20:53,880 --> 00:20:59,530 কে প্রথম কথা বলার প্রয়োজন আলগোরিদিম উপর ভিত্তি করে? 523 00:20:59,530 --> 00:21:03,210 সুতরাং আপনি আগে কি করছেন ব্যাখ্যা যদি আপনার কোন পাদদেশ আন্দোলন করতে. 524 00:21:03,210 --> 00:21:05,930 >> স্পিকার 1: ঠিক আছে, তাই দেখাও আমি বাম অর্ধেক am 525 00:21:05,930 --> 00:21:07,790 বাম অর্ধেক, আমি ফিরে. 526 00:21:07,790 --> 00:21:08,730 রাইট? 527 00:21:08,730 --> 00:21:09,250 >> DAVID Malan: গুড. 528 00:21:09,250 --> 00:21:10,350 >> এবং তারপর -: স্পিকার 1 529 00:21:10,350 --> 00:21:11,800 >> DAVID Malan: যারা মাইক পরবর্তী যেতে? 530 00:21:11,800 --> 00:21:12,920 >> স্পিকার 1: পরবর্তী সংখ্যা. 531 00:21:12,920 --> 00:21:14,720 >> স্পিকার 2: তাই আমি ডান অর্ধেক আছি বাম অর্ধেক 532 00:21:14,720 --> 00:21:17,830 বাম অর্ধেক, এবং আমি ফিরে. 533 00:21:17,830 --> 00:21:18,050 >> DAVID Malan: গুড. 534 00:21:18,050 --> 00:21:18,550 প্রত্যাবর্তন করতে পারবেন. 535 00:21:18,550 --> 00:21:21,855 তাই এখন আপনি দুটি পরবর্তী আপ কি? 536 00:21:21,855 --> 00:21:23,740 >> স্পিকার 2: আমরা ছোট যারা দেখতে চান. 537 00:21:23,740 --> 00:21:24,200 >> DAVID Malan: যথাযথভাবে. 538 00:21:24,200 --> 00:21:24,940 আমরা একত্রীকরণ করতে চান. 539 00:21:24,940 --> 00:21:27,590 আমরা একত্রীকরণ ব্যবহার চলুন স্থান আপনি তারা, যদিও মধ্যে 540 00:21:27,590 --> 00:21:30,250 সম্ভবত ইতিমধ্যেই সাজানো, আমরা চলুন একই এলগরিদম অনুসরণ. 541 00:21:30,250 --> 00:21:31,560 সুতরাং যারা ফিরে প্রথম যায়? 542 00:21:31,560 --> 00:21:35,720 3 সুতরাং, এবং তারপর 7. 543 00:21:35,720 --> 00:21:38,570 এবং এখন মাইক যায় এই ছেলেরা যাও, ঠিক আছে? 544 00:21:38,570 --> 00:21:43,590 >> স্পিকার 3: তাই আমি ডান অর্ধেক আছি বাম অর্ধেক, এবং আমার স্কুল কম হয় 545 00:21:43,590 --> 00:21:45,048 1, তাই আমি ঠিক পাস করতে যাচ্ছি - 546 00:21:45,048 --> 00:21:46,380 >> DAVID Malan: গুড. 547 00:21:46,380 --> 00:21:49,450 >> স্পিকার 4: আমি ডান অর্ধেক আছি ডান ডান অর্ধেক অর্ধেক, এবং আমি 548 00:21:49,450 --> 00:21:51,740 এক ব্যক্তি, আমি তাই ফিরে যাচ্ছে. 549 00:21:51,740 --> 00:21:52,990 তাই এখন আমরা একত্রীকরণ. 550 00:21:52,990 --> 00:21:55,140 551 00:21:55,140 --> 00:21:56,150 >> স্পিকার 3: সুতরাং আমরা ফিরে যান. 552 00:21:56,150 --> 00:21:57,160 >> DAVID Malan: তাই আপনি ফিরে যেতে. 553 00:21:57,160 --> 00:21:59,200 তাই 5 তারপর 8, প্রথম যায়. 554 00:21:59,200 --> 00:22:01,240 যা আর এখন শ্রোতা, আমরা এখন গুটিয়ে আছে পইঠা 555 00:22:01,240 --> 00:22:02,200 আমাদের হৃদয় ও মন ফিরে? 556 00:22:02,200 --> 00:22:02,940 >> শ্রোতা: মার্জ. 557 00:22:02,940 --> 00:22:07,270 >> DAVID Malan: মার্জ বাম অর্ধেক এবং ডান মূল বাম অর্ধেক অর্ধেক. 558 00:22:07,270 --> 00:22:08,840 তাই এখন - 559 00:22:08,840 --> 00:22:10,520 এবং ঠিক এই পরিষ্কার করতে স্থান সামান্য বিট করতে 560 00:22:10,520 --> 00:22:11,690 তোমাদের মধ্যে দুটি বলছি. 561 00:22:11,690 --> 00:22:13,800 তাই এখন দুই তালিকায় যে, বাম এবং ডান. 562 00:22:13,800 --> 00:22:18,320 তাই কিভাবে আমরা এখন আপনাকে বলছি মধ্যে একত্রীকরণ না আসন সামনের সারিতে আবার? 563 00:22:18,320 --> 00:22:19,600 >> 3 প্রথম যায়. 564 00:22:19,600 --> 00:22:20,850 তারপর 5, সম্ভবত. 565 00:22:20,850 --> 00:22:23,110 566 00:22:23,110 --> 00:22:27,330 তারপর 7, ও এখন 8. 567 00:22:27,330 --> 00:22:28,710 ঠিক আছে, এবং এখন আমরা কি? 568 00:22:28,710 --> 00:22:29,650 >> শ্রোতা: কাজ নেই. 569 00:22:29,650 --> 00:22:32,440 >> DAVID Malan: কাজ নেই, কারণ সম্ভবত, অবশিষ্ট এক ধাপ আছে. 570 00:22:32,440 --> 00:22:35,720 কিন্তু আবার, কারণ আমি এই ব্যবহার করছি "আপনার মন আবার গুটিয়ে," মত অপভাষা 571 00:22:35,720 --> 00:22:37,160 যে সত্যিই কারণ এটি কি ঘটছে. 572 00:22:37,160 --> 00:22:39,610 আমরা, এই পদক্ষেপগুলি সব দিয়ে যাচ্ছেন কিন্তু আমাদের জন্য pausing বাছাই করছি 573 00:22:39,610 --> 00:22:42,480 মধ্যে মুহূর্ত, ডাইভিং গভীর অ্যালগরিদম, একটি মুহূর্ত জন্য pausing, 574 00:22:42,480 --> 00:22:45,840 অ্যালগরিদম মধ্যে গভীর ডাইভিং, এবং এখন আমরা আমাদের মধ্যে আবার গুটিয়ে বাছাই করতে হবে 575 00:22:45,840 --> 00:22:49,430 হৃদয় ও মন এবং এই তিনটি স্তরের সব পূর্বাবস্থা আমরা সাজানোর হোল্ড উপর করা করেছি. 576 00:22:49,430 --> 00:22:51,790 >> তাই এখন আমরা আকার 4 দুটি তালিকা আছে. 577 00:22:51,790 --> 00:22:54,790 আপনাকে বলছি এক শেষ সময় দাঁড়ানো পারে যদি এবং এখানে একটি স্থান বিট করতে 578 00:22:54,790 --> 00:22:57,230 এই বাম যে স্পষ্ট করতে মূল, অর্ধেক 579 00:22:57,230 --> 00:22:58,620 মূল ডান অর্ধেক. 580 00:22:58,620 --> 00:23:01,060 যারা প্রথম সংখ্যা যে আমরা ফিরে টান প্রয়োজন? 581 00:23:01,060 --> 00:23:01,870 অবশ্যই মিশেল. 582 00:23:01,870 --> 00:23:03,230 >> তাই আমরা এখানে মিশেল রাখা. 583 00:23:03,230 --> 00:23:05,080 এবং যারা সংখ্যা 2 আছে? 584 00:23:05,080 --> 00:23:06,440 সংখ্যা 2 ফিরে হিসেবে আসে. 585 00:23:06,440 --> 00:23:07,800 সংখ্যা 3? 586 00:23:07,800 --> 00:23:08,510 চমৎকার. 587 00:23:08,510 --> 00:23:16,570 সংখ্যা 4, সংখ্যা 5, সংখ্যা 6, সংখ্যা 7, সংখ্যা 8. 588 00:23:16,570 --> 00:23:18,850 >> ঠিক আছে, তাই এটি একটি অনেক মত অনুভূত ধাপ, নিশ্চিত করার জন্য. 589 00:23:18,850 --> 00:23:22,390 কিন্তু এখন আমরা নিশ্চিত করতে না পারেন, এর দেখতে দিন সাজানোর intuitively যে এই 590 00:23:22,390 --> 00:23:26,190 মৌলিকভাবে আলগোরিদিম, বিশেষত হিসাবে N আমরা দেখা করেছি, সত্যিই বড় পায় 591 00:23:26,190 --> 00:23:29,170 অ্যানিমেশন সঙ্গে হল, মৌলিকভাবে দ্রুত. 592 00:23:29,170 --> 00:23:33,400 তাই আমি খারাপ, এই অ্যালগরিদম দাবি সেরা ক্ষেত্রে ক্ষেত্রে এমনকি, 593 00:23:33,400 --> 00:23:36,160 N বার লগ N বড় হে. 594 00:23:36,160 --> 00:23:39,160 যে, এই কিছু দিক আছে N পদক্ষেপ গ্রহণ করে, কিন্তু যে অ্যালগরিদম 595 00:23:39,160 --> 00:23:43,110 আরেকটি দিক কোথাও আছে যে পুনরাবৃত্তির যে looping, যে 596 00:23:43,110 --> 00:23:44,410 লগ N পদক্ষেপ গ্রহণ করে. 597 00:23:44,410 --> 00:23:49,154 আমরা কি যারা আমাদের আঙুল লাগাতে পারেন দুটি সংখ্যার উল্লেখ করা হয়? 598 00:23:49,154 --> 00:23:51,320 ওয়েল, যেখানে - 599 00:23:51,320 --> 00:23:54,160 মাইক যেতে where'd? 600 00:23:54,160 --> 00:23:58,660 >> স্পিকার: 1 N লগ ইন হতে হবে দুই মধ্যে আমাদের আপ ভঙ্গ - 601 00:23:58,660 --> 00:23:59,630 মূলত, দুই ভাগ. 602 00:23:59,630 --> 00:24:00,120 >> DAVID Malan: যথাযথভাবে. 603 00:24:00,120 --> 00:24:03,000 আমরা এইভাবে কোনো অ্যালগরিদম মধ্যে দেখতে যে কোনো সময় অনেক দূরে, এই প্যাটার্ন আছে হয়েছে 604 00:24:03,000 --> 00:24:04,200 , বিভাজক বিভাজক, বিভাজক. 605 00:24:04,200 --> 00:24:05,700 এবং এটা সাধারণত কমে এর কিছু যে আপনি 606 00:24:05,700 --> 00:24:07,100 লগারিদমিক, লগ বেস 2. 607 00:24:07,100 --> 00:24:10,180 কিন্তু এটা সত্যিই কিছু হতে পারে কিন্তু বেস 2 লগ ইন করুন. 608 00:24:10,180 --> 00:24:11,330 >> এখনই N সম্পর্কে কি? 609 00:24:11,330 --> 00:24:14,550 আমি মনে করি আমরা ধরনের আপনি বিভক্ত দেখতে পারেন বলছি - আপনি বিভক্ত, আপনি বিভক্ত 610 00:24:14,550 --> 00:24:15,910 আপনি বিভক্ত, আপনি বিভক্ত. 611 00:24:15,910 --> 00:24:18,760 শেষ কোথা থেকে এসেছে? 612 00:24:18,760 --> 00:24:19,810 >> সুতরাং এটি মার্জ না. 613 00:24:19,810 --> 00:24:20,610 এটা সম্পর্কে, কারণ মনে হয়. 614 00:24:20,610 --> 00:24:25,420 আপনি একসাথে আট জনের একত্রীকরণ, যখন তাদের অর্ধেক চার একটি সেট আছে যদ্দ্বারা 615 00:24:25,420 --> 00:24:27,770 এবং অন্যান্য অর্ধেক অন্য হয় চার সেট, আপনি কিভাবে যান 616 00:24:27,770 --> 00:24:28,820 মার্জ করছেন? 617 00:24:28,820 --> 00:24:30,830 ওয়েল, আপনাকে বলছি তা মোটামুটি intuitively. 618 00:24:30,830 --> 00:24:34,140 >> আমি পরিবর্তে তা কিন্তু যদি একটু বেশি ধারাক্রমে, আমি এ তীক্ষ্ন হতে পারে 619 00:24:34,140 --> 00:24:38,090 আমার বাম সঙ্গে প্রথম leftmost ব্যক্তি হাত, leftmost ব্যক্তি এ তীক্ষ্ন 620 00:24:38,090 --> 00:24:42,080 যে আমার ডান হাত দিয়ে অর্ধেক, এবং শুধু পরবর্তীকালে মাধ্যমে walked 621 00:24:42,080 --> 00:24:46,990 ক্ষুদ্রতম উপাদান নির্দেশ তালিকা প্রতিটি সময় আমার আঙ্গুলের উপর এবং মর্মস্পর্শী 622 00:24:46,990 --> 00:24:48,970 ওভার হিসাবে তালিকা সর্বত্র প্রয়োজন. 623 00:24:48,970 --> 00:24:51,890 কিন্তু কি এই মার্জ ওপর কী প্রসেসের এই জোড়া তুলনা করছি না 624 00:24:51,890 --> 00:24:53,460 উপাদান. 625 00:24:53,460 --> 00:24:57,270 ডান অর্ধেক থেকে এবং বাম দিক থেকে অর্ধেক, আমি একবার backtracking না করছি. 626 00:24:57,270 --> 00:25:00,570 >> সুতরাং একত্রীকরণ নিজেই নিচ্ছে কোন পদক্ষেপ N তুলনায়. 627 00:25:00,570 --> 00:25:03,250 এবং কিভাবে অনেক বার আমি আছে মার্জ যে কি? 628 00:25:03,250 --> 00:25:07,150 ওয়েল, N চেয়ে বেশি না, এবং আমরা ঠিক চূড়ান্ত একত্রীকরণ সঙ্গে দেখেছি যে. 629 00:25:07,150 --> 00:25:13,120 এবং যাতে আপনি লাগে যে কিছু করতে হলে , এন পদক্ষেপ N বার, অথবা উলটোটা লগ ইন 630 00:25:13,120 --> 00:25:15,210 এটা আমাদের N বার লগ N দিতে যাচ্ছে. 631 00:25:15,210 --> 00:25:16,310 >> এবং কেন এই ভাল? 632 00:25:16,310 --> 00:25:19,600 ভাল, আমরা ইতিমধ্যেই লগ না N উল্লেখ্য বেশী ভালো - ঠিক আছে? 633 00:25:19,600 --> 00:25:22,590 আমরা বাইনারি অনুসন্ধান ফোন বই দেখেছি উদাহরণস্বরূপ, লগ N স্পষ্টভাবে ছিল 634 00:25:22,590 --> 00:25:23,760 রৈখিক বেশী ভালো. 635 00:25:23,760 --> 00:25:28,420 মানে N বার লগ N হয় যাতে অন্য N বার চেয়ে স্পষ্টভাবে ভাল 636 00:25:28,420 --> 00:25:30,390 N, ওরফে N ছক. 637 00:25:30,390 --> 00:25:32,400 এবং যে আমরা শেষ পর্যন্ত মনে আছে. 638 00:25:32,400 --> 00:25:34,928 >> সাধুবাদ এত বড় বৃত্তাকার, যদি আমরা এইসব বলছি জন্য, হতে পারে. 639 00:25:34,928 --> 00:25:38,920 >> [সাধুবাদ] 640 00:25:38,920 --> 00:25:41,550 >> DAVID Malan: এবং আপনার বিভাজিকা উপহার - আপনি, সংখ্যা রাখতে পারে 641 00:25:41,550 --> 00:25:44,010 আপনি যদি চান. 642 00:25:44,010 --> 00:25:45,620 এবং আপনার বিভাজিকা উপহার, স্বাভাবিক হিসাবে. 643 00:25:45,620 --> 00:25:47,290 ওহ, এবং আমরা আপনাকে পাঠাতে হবে ফুটেজ, মিশেল. 644 00:25:47,290 --> 00:25:48,343 আপনাকে ধন্যবাদ. 645 00:25:48,343 --> 00:25:49,250 ঠিক আছে. 646 00:25:49,250 --> 00:25:50,400 একটি চাপ বল নিজেই নিজেকে সাহায্য করতে. 647 00:25:50,400 --> 00:25:54,110 >> এবং, আমাকে ইতিমধ্যে, টান আপ করা যাক অফার আমাদের বন্ধু রব Bowden 648 00:25:54,110 --> 00:25:59,520 এই কিছুটা ভিন্ন দৃষ্টিকোণ, আপনি এই চিন্তা করতে পারেন 649 00:25:59,520 --> 00:26:01,280 একটি কিছুটা ঘটছে পদক্ষেপ অন্যভাবে. 650 00:26:01,280 --> 00:26:04,750 ওপর রব কি জন্য আসলে, সেট আপ আমাদের দেখানোর জন্য আমরা করেছি যে অনুমান 651 00:26:04,750 --> 00:26:09,030 ইতিমধ্যে বিভাজক পর্যন্ত সম্পন্ন আটটি ছোট তালিকার মধ্যে বড় তালিকা 652 00:26:09,030 --> 00:26:10,570 আকার 1 প্রতিটি. 653 00:26:10,570 --> 00:26:13,350 >> সুতরাং আমরা pseudocode একটি পরিবর্তন করছি সামান্য বিট শুধু পেতে ধরণের 654 00:26:13,350 --> 00:26:15,320 কাজ মার্জ কিভাবে মূল ধারণা. 655 00:26:15,320 --> 00:26:17,600 কিন্তু কি চলমান সময় কি বিষয়ে তিনি এখনও 656 00:26:17,600 --> 00:26:19,110 একই হতে যাচ্ছে. 657 00:26:19,110 --> 00:26:23,540 এবং আবার, এখানে সেট আপ সে যে আকার 1 আট তালিকার সঙ্গে শুরু. 658 00:26:23,540 --> 00:26:27,730 তাই আপনি যদি তিনি যেখানে অংশ মিস করেছি আসলে লগ N, লগ N, লগ N সম্পন্ন 659 00:26:27,730 --> 00:26:31,205 ইনপুট বিভাজক. 660 00:26:31,205 --> 00:26:32,120 >> [ভিডিও প্লেব্যাক] 661 00:26:32,120 --> 00:26:33,615 >> ধাপ এক জন্য এটি যে. 662 00:26:33,615 --> 00:26:38,270 বারবার পদক্ষেপ দুই, জন্য তালিকা জোড়া একত্রীকরণ. 663 00:26:38,270 --> 00:26:39,210 >> DAVID Malan: হুঁ. 664 00:26:39,210 --> 00:26:41,270 শুধু অডিও আসছে আমার কম্পিউটারের বাইরে. 665 00:26:41,270 --> 00:26:42,520 এর আবার এই চেষ্টা করা যাক. 666 00:26:42,520 --> 00:26:45,330 667 00:26:45,330 --> 00:26:48,310 >> -শুধু ইচ্ছামত যা বাছাই - এখন আমরা চার তালিকায় আছে. 668 00:26:48,310 --> 00:26:51,590 669 00:26:51,590 --> 00:26:52,120 আগে জানুন. 670 00:26:52,120 --> 00:26:53,040 >> DAVID Malan: সেখানে আমরা যেতে. 671 00:26:53,040 --> 00:27:00,510 >> -মার্জ 108 এবং 15, আমরা শেষ আপ সঙ্গে তালিকায় 15, 108. 672 00:27:00,510 --> 00:27:07,170 আমরা, 50 এবং 4 মার্জ 4, 50 দিয়ে শেষ. 673 00:27:07,170 --> 00:27:12,990 আমরা, 8 এবং 42 মার্জ 8, 42 সঙ্গে শেষ. 674 00:27:12,990 --> 00:27:19,970 এবং আমরা, 23 এবং 16 মার্জ 16 সঙ্গে 23 শেষ পর্যন্ত. 675 00:27:19,970 --> 00:27:23,270 >> এখন সব আমাদের তালিকা আকার 2 হয়. 676 00:27:23,270 --> 00:27:26,690 লক্ষ্য করুন যে, প্রতিটি চার তালিকা অনুসারে বাছাই করা হয়. 677 00:27:26,690 --> 00:27:29,450 সুতরাং আমরা মার্জ শুরু করতে পারেন আবার তালিকায় জোড়া. 678 00:27:29,450 --> 00:27:38,420 আমরা, 15 এবং 108 এবং 4 এবং 50 মার্জ প্রথমে, তারপর তারপর 15, 4 নিতে 679 00:27:38,420 --> 00:27:41,500 50 তারপর, 108. 680 00:27:41,500 --> 00:27:50,610 23 8, 42 এবং 16 মার্জ, আমরা প্রথম গ্রহণ 8, তারপর 16, তারপর 23, 681 00:27:50,610 --> 00:27:52,700 তারপর 42. 682 00:27:52,700 --> 00:27:57,600 >> তাই এখন আমরা আকার মাত্র দুই তালিকায় আছে 4, সাজানো হয় প্রতিটি যা. 683 00:27:57,600 --> 00:28:01,170 তাই এখন আমরা এই দুই তালিকা একত্রীকরণ. 684 00:28:01,170 --> 00:28:11,835 প্রথমত, আমরা 4 নিতে, তারপর আমরা গ্রহণ 8 তারপর, আমরা, তারপর 16, তারপর 15 নিতে 685 00:28:11,835 --> 00:28:19,456 তারপর তারপর 23, 42, 50, 108. 686 00:28:19,456 --> 00:28:19,872 >> [END টি ভিডিও প্লেব্যাক] 687 00:28:19,872 --> 00:28:23,430 >> DAVID Malan: আবার, বিজ্ঞপ্তি, তিনি কখনও একটি প্রদত্ত কাপ একাধিক সময় অক্ষত 688 00:28:23,430 --> 00:28:24,860 এটি অতিক্রম আগুয়ান পরে. 689 00:28:24,860 --> 00:28:26,200 তাই তিনি পুনরায় কখনো ছিল না. 690 00:28:26,200 --> 00:28:29,850 তাই তিনি সবসময় পাশ থেকে চলন্ত এর আমরা আমাদের N পেয়েছিলাম যেখানে এবং যে. 691 00:28:29,850 --> 00:28:33,290 >> কেন আমার এক অ্যানিমেশন টান আপ না দেওয়া আমরা আগে দেখেছি, কিন্তু যে এই সময় 692 00:28:33,290 --> 00:28:35,110 একত্রীকরণ সাজানোর শুধুমাত্র মনোযোগ নিবদ্ধ করে. 693 00:28:35,110 --> 00:28:38,030 আমাকে এগিয়ে যান এবং জুম চলুন শুরু করা যাক এখানে এই উপর. 694 00:28:38,030 --> 00:28:42,530 প্রথম আমাকে একটা র্যান্ডম ইনপুট চয়ন করা যাক, এই বড় করে দেখুন, এবং আপনি দেখুন বাছাই করতে পারেন 695 00:28:42,530 --> 00:28:46,600 আমরা, মঞ্জুর, তার পূর্বেকার জন্য গ্রহণ কি একত্রীকরণ সাজানোর আসলে করছে. 696 00:28:46,600 --> 00:28:50,330 >> আপনি বা এই আংশিক পেতে যাতে বিজ্ঞপ্তি এই আবাস বা এই eighths 697 00:28:50,330 --> 00:28:53,140 সমস্যা হল যে একটি আকস্মিক সব ভাল আকৃতি নিতে শুরু. 698 00:28:53,140 --> 00:28:57,070 এবং পরিশেষে, তাহলে আপনি এ দেখুন খুব শেষ যে Bam, 699 00:28:57,070 --> 00:28:58,860 সবকিছু একসঙ্গে মিশে গিয়ে তৈরি হয়. 700 00:28:58,860 --> 00:29:01,690 >> সুতরাং এই মাত্র তিনটি ভিন্ন একই ধারণা নেভিগেশন লাগে. 701 00:29:01,690 --> 00:29:05,980 কিন্তু ঠিক মত ডিভাইড কী অন্তর্দৃষ্টি, এবং প্রথম শ্রেণীতে বশীভূত 702 00:29:05,980 --> 00:29:10,640 একরকম আমরা ভাগ করার সিদ্ধান্ত ছিল যে মধ্যে বড় কিছু, মধ্যে সমস্যা 703 00:29:10,640 --> 00:29:14,760 আত্মা অভিন্ন কিছু সাজানোর, কিন্তু ছোট এবং ছোট ছোট 704 00:29:14,760 --> 00:29:15,660 এবং ছোট. 705 00:29:15,660 --> 00:29:18,420 >> মনে হয় এর বাছাই এখন অন্য মজা উপায় এই বিষয়ে, যদিও এটি না 706 00:29:18,420 --> 00:29:20,520 আপনি একই স্বজ্ঞাত দিতে যাচ্ছে বুঝতে হয়, 707 00:29:20,520 --> 00:29:21,640 নিম্নলিখিত অ্যানিমেশন. 708 00:29:21,640 --> 00:29:25,400 তাই এই একত্রে একটি ভিডিও কেউ বিভিন্ন যুক্ত 709 00:29:25,400 --> 00:29:29,970 বিভিন্ন অপারেশন সঙ্গে শব্দসমূহ সন্নিবেশ সাজানোর, একত্রীকরণ সাজানোর জন্য, এবং 710 00:29:29,970 --> 00:29:31,150 অন্যদের একটি দম্পতি জন্য. 711 00:29:31,150 --> 00:29:32,330 সুতরাং একটি মুহূর্ত, আমি চালাও আঘাত করতে যাচ্ছি. 712 00:29:32,330 --> 00:29:33,600 এটা দীর্ঘ প্রায় এক মিনিট সময় আছে. 713 00:29:33,600 --> 00:29:37,410 এবং আপনি এখনও দেখতে পারেন, যদিও নিদর্শন, আপনি যা করতে পারেন এই সময় ঘটছে 714 00:29:37,410 --> 00:29:41,420 এই আলগোরিদিম কিভাবে এছাড়াও শুনতে ভিন্নভাবে এবং সম্পাদন 715 00:29:41,420 --> 00:29:43,950 কিছুটা বিভিন্ন নিদর্শন. 716 00:29:43,950 --> 00:29:45,830 >> এই সন্নিবেশ ধরণের. 717 00:29:45,830 --> 00:29:50,400 >> [টোন বাজানো] 718 00:29:50,400 --> 00:29:52,400 >> DAVID Malan: এটা আবার চেষ্টা করছে প্রতিটি উপাদান সন্নিবেশ 719 00:29:52,400 --> 00:29:52,900 এটি জন্যে যেখানে মধ্যে. 720 00:29:52,900 --> 00:29:54,628 এই বুদ্বুদ ধরণের. 721 00:29:54,628 --> 00:30:10,097 >> [টোন বাজানো] 722 00:30:10,097 --> 00:30:13,630 >> DAVID Malan: এবং আপনি মনে করেন বাছাই করতে পারেন তুলনামূলকভাবে সামান্য এটা করছেন কিভাবে কাজ করে 723 00:30:13,630 --> 00:30:15,834 প্রতিটি ধাপে. 724 00:30:15,834 --> 00:30:20,470 এই tediousness মত শোনাচ্ছে কি. 725 00:30:20,470 --> 00:30:21,472 >> [টোন বাজানো] 726 00:30:21,472 --> 00:30:25,222 >> DAVID Malan: এই নির্বাচন সাজানোর, আমরা আমরা চাই উপাদান নির্বাচন করুন যেখানে 727 00:30:25,222 --> 00:30:28,845 আবার ভিতর দিয়ে যাচ্ছে এবং আবার এবং আবার এবং শুরুতে এটি নির্বাণ. 728 00:30:28,845 --> 00:30:37,674 >> [টোন বাজানো] 729 00:30:37,674 --> 00:30:43,970 >> DAVID Malan: এই একত্রীকরণ ধরণের, যা আপনি কি সত্যিই মনে করা শুরু করতে পারেন. 730 00:30:43,970 --> 00:30:51,810 >> [টোন বাজানো] 731 00:30:51,810 --> 00:30:54,770 >> [হাস্য] 732 00:30:54,770 --> 00:30:58,395 >> DAVID Malan: জিনোম কিছু বলা আমরা দিকে তাকিয়ে না যা সাজানোর. 733 00:30:58,395 --> 00:31:13,630 >> [টোন বাজানো] 734 00:31:13,630 --> 00:31:17,910 >> DAVID Malan: সুতরাং, এখন, আমাকে দেখতে দিন আপনি আশা দ্বারা হয় বিভ্রান্ত 735 00:31:17,910 --> 00:31:21,110 আমি একটু স্লিপ করতে পারেন যদি সঙ্গীত, এখানে গণিত বিট. 736 00:31:21,110 --> 00:31:24,850 যাতে আমরা করতে পারেন একটি চতুর্থ উপায় আছে এই এর মানে কি তা নিয়ে চিন্তা 737 00:31:24,850 --> 00:31:29,210 দ্রুত বেশী হতে ফাংশন আমরা আগে দেখা করেছি. 738 00:31:29,210 --> 00:31:32,470 এবং আপনার কাছ থেকে অবশ্যই এ আসছে করছি একটি গণিত পটভূমি, আপনি 739 00:31:32,470 --> 00:31:36,030 আসলে ইতিমধ্যে সম্ভবত জানেন যে আপনি এই পদ্ধতির উপর একটি শব্দ চড় করতে পারেন - 740 00:31:36,030 --> 00:31:40,400 যথা recursion, একটি ফাংশন যে একরকম নিজেই কল. 741 00:31:40,400 --> 00:31:44,780 >> এবং আবার, যে একত্রীকরণ সাজানোর প্রত্যাহার pseudocode অর্থে recursive ছিল 742 00:31:44,780 --> 00:31:48,460 যে একত্রীকরণ সাজানোর এর কর্ম সাজানোর কল ছিল - 743 00:31:48,460 --> 00:31:49,740 , যে নিজেই. 744 00:31:49,740 --> 00:31:52,480 কিন্তু সৌভাগ্যক্রমে, কারণ আমরা রাখা , সাজানোর আহ্বান জানিয়ে, অথবা সাজানোর একত্রীকরণ 745 00:31:52,480 --> 00:31:55,880 নির্দিষ্টভাবে, একটি ছোট এবং ছোট এবং ছোট তালিকা, আমরা শেষ পর্যন্ত 746 00:31:55,880 --> 00:32:00,005 আমরা ডাকবো কি খুঁজে ঠেকার ধন্যবাদ একটি বেস কেস, হার্ড কোড ক্ষেত্রে যে 747 00:32:00,005 --> 00:32:04,270 তালিকা ছোট হয়, তাহলে কম 2 বলেন, যে ক্ষেত্রে, ঠিক অবিলম্বে ফিরে. 748 00:32:04,270 --> 00:32:07,550 আমরা যে বিশেষ কেস আছে না করে থাকেন, অ্যালগরিদম নীচে আউট, হবে 749 00:32:07,550 --> 00:32:11,010 এবং আপনি সত্যিই একটি ঢোকা হবে সত্যিই সব সময় অসীম লুপ. 750 00:32:11,010 --> 00:32:14,330 >> কিন্তু আমরা এখন লাগাতে চেয়েছিল অনুমান এই কিছু সংখ্যা, আবার, n ব্যবহার 751 00:32:14,330 --> 00:32:15,660 ইনপুট মাপ হিসাবে. 752 00:32:15,660 --> 00:32:18,680 আর আমি কি, আপনি জিজ্ঞাসা করতে চেয়েছিলেন জড়িত মোট সময় 753 00:32:18,680 --> 00:32:19,800 একত্রীকরণ ধরণের চলমান? 754 00:32:19,800 --> 00:32:22,960 অথবা আরো সাধারণভাবে, কি সময়ের মধ্যে তা খরচ? 755 00:32:22,960 --> 00:32:24,730 >> এটি ভাল যে পরিমাপ বেশ সহজ. 756 00:32:24,730 --> 00:32:29,010 N কম 2 হয়, তাহলে সময় জড়িত N উপাদান বাছাই মধ্যে, 757 00:32:29,010 --> 00:32:30,480 N 2, যেখানে 0. 758 00:32:30,480 --> 00:32:31,410 আমরা শুধু ফিরে কারণ. 759 00:32:31,410 --> 00:32:32,510 কাজ করতে হবে কোন কাজ নেই. 760 00:32:32,510 --> 00:32:35,660 এখন তর্কসাপেক্ষ, হয়তো এটা এক ধাপ বা দুই পরিমাণ জিনিসটা পদক্ষেপ 761 00:32:35,660 --> 00:32:38,420 কাজ, কিন্তু এটা 0 পাসে যথেষ্ট আমি কোন কাজ বলতে যাচ্ছি 762 00:32:38,420 --> 00:32:40,940 তালিকা এত ছোট যদি প্রয়োজন নীরস করা যাবে না. 763 00:32:40,940 --> 00:32:42,580 >> কিন্তু এই ক্ষেত্রে আকর্ষণীয়. 764 00:32:42,580 --> 00:32:47,320 recursive ক্ষেত্রে শাখা ছিল অন্য যে বলেন pseudocode, সাজানোর 765 00:32:47,320 --> 00:32:52,000 বাম অর্ধেক, ডান বাছাই অর্ধেক, দুটি আংশিক একত্রীকরণ. 766 00:32:52,000 --> 00:32:55,530 এখন কেন এই অভিব্যক্তি আছে যে ব্যয় প্রতিনিধিত্ব করছে? 767 00:32:55,530 --> 00:32:58,690 ওয়েল, N এর টি মাত্র মানে N উপাদান বাছাই করার সময়. 768 00:32:58,690 --> 00:33:03,070 এবং তারপর ডান দিকে সেখানে সাইন সমান, এন এর টি বিভক্ত 769 00:33:03,070 --> 00:33:06,600 2 কি খরচ উল্লেখ করা হয়? 770 00:33:06,600 --> 00:33:07,570 বাম অর্ধেক বাছাই. 771 00:33:07,570 --> 00:33:10,990 2 দ্বারা বিভক্ত N অন্যান্য রয়ে হয় সম্ভবতঃ আপনি খরচ উল্লেখ 772 00:33:10,990 --> 00:33:12,390 ডান অর্ধেক বাছাই. 773 00:33:12,390 --> 00:33:14,590 >> এবং তারপর প্লাস N? 774 00:33:14,590 --> 00:33:15,420 মার্জ করা হয়. 775 00:33:15,420 --> 00:33:19,120 কারণ আপনি দুই তালিকা, এক থাকে তাহলে আকার 2 ওভার N এবং অন্য আকারের N 776 00:33:19,120 --> 00:33:22,580 2 ওভার, আপনি মূলত স্পর্শ আছে শুধু রব মত যারা উপাদান প্রতিটি, 777 00:33:22,580 --> 00:33:24,990 কাপ প্রতিটি স্পর্শ, এবং মাত্র আমরা প্রতিটি তীক্ষ্ন হিসাবে 778 00:33:24,990 --> 00:33:26,310 মঞ্চে স্বেচ্ছাসেবকদের. 779 00:33:26,310 --> 00:33:28,790 সুতরাং N মার্জ ব্যয় হয়. 780 00:33:28,790 --> 00:33:31,780 >> এখন দুর্ভাগ্যবশত,, এই সূত্র নিজেই recursive হয়. 781 00:33:31,780 --> 00:33:36,390 N যদি তাই আপনি যদি,, বলার, প্রশ্ন জিজ্ঞাসা 16, ব্লক মঞ্চে 16 জনের আছে 782 00:33:36,390 --> 00:33:40,670 বা ভিডিও 16 কাপ, কতগুলি মোট পদক্ষেপ এটা তাদের বাছাই করতে সময় লাগবে 783 00:33:40,670 --> 00:33:41,550 একত্রীকরণ সাজানোর সঙ্গে? 784 00:33:41,550 --> 00:33:45,790 এটি আসলে একটি সুস্পষ্ট উত্তর না এখন আপনি বাছাই করতে হবে, কারণ 785 00:33:45,790 --> 00:33:48,500 recursively এই সূত্র উত্তর. 786 00:33:48,500 --> 00:33:51,190 >> আমার সম্পর্কে উত্থাপন করা যাক, কারণ কিন্তু যে ঠিক আছে, আমরা নিচের যে কি. 787 00:33:51,190 --> 00:33:56,670 16 জনের সাজাতে বা জড়িত সময় 16 কাপ প্রতিনিধিত্ব করা যাচ্ছে না 788 00:33:56,670 --> 00:33:58,020 সাধারণত 16 টি হিসাবে. 789 00:33:58,020 --> 00:34:01,400 কিন্তু যে অনুযায়ী সমান আমাদের পূর্ববর্তী সূত্র, 2 বার পরিমাণ 790 00:34:01,400 --> 00:34:04,780 সময় এটি বাছাই লাগে 8 কাপ প্লাস 16. 791 00:34:04,780 --> 00:34:08,590 এবং আবার, প্লাস 16, একত্রীকরণ সময় এবং 8 এর দুই বার টি হল 792 00:34:08,590 --> 00:34:10,790 বাম অর্ধেক এবং ডান অর্ধেক বাছাই করার সময়. 793 00:34:10,790 --> 00:34:11,989 >> কিন্তু আবার, এই যথেষ্ট নয়. 794 00:34:11,989 --> 00:34:13,210 আমরা গভীর ঝাঁপিয়ে আছে. 795 00:34:13,210 --> 00:34:16,409 আমরা উত্তর আছে মানে প্রশ্ন, 8 টি কি? 796 00:34:16,409 --> 00:34:19,610 ওয়েল 8 টি ঠিক হল 2 4 প্লাস 8 বার টি. 797 00:34:19,610 --> 00:34:20,520 ওয়েল, 4 টি কি? 798 00:34:20,520 --> 00:34:23,780 4 টি 2 প্লাস 4 মাত্র 2 টি বার হয়. 799 00:34:23,780 --> 00:34:25,489 ওয়েল, 2 টি কি? 800 00:34:25,489 --> 00:34:29,030 2 টি 1 প্লাস 2 মাত্র 2 টি বার হয়. 801 00:34:29,030 --> 00:34:31,940 >> এবং আবার, আমরা পেয়ে দয়ালু এই চক্রের মধ্যে আটকে. 802 00:34:31,940 --> 00:34:34,790 কিন্তু এটি সম্পর্কে আঘাত যে বেস ক্ষেত্রে তথাকথিত. 803 00:34:34,790 --> 00:34:37,310 1 টি কি কারণ, আমরা দাবি করেছেন? 804 00:34:37,310 --> 00:34:37,810 0. 805 00:34:37,810 --> 00:34:39,730 তাই এখন পরিশেষে, আমরা পিছন দিকে কাজ করতে পারেন. 806 00:34:39,730 --> 00:34:44,290 >> 1 টি 0 হলে, আমি এখন পর্যন্ত এক ফিরে যেতে পারেন এখানে এই লোক লাইন, এবং আমি যা করতে পারেন 807 00:34:44,290 --> 00:34:46,330 1 টি জন্য 0 মধ্যে প্লাগ. 808 00:34:46,330 --> 00:34:51,770 তাই এর মানে হল যে এটা, 2 বার শূন্য সমান অন্যথায় 0, প্লাস 2 হিসাবে পরিচিত. 809 00:34:51,770 --> 00:34:53,739 তাই যে সমগ্র প্রকাশের 2. 810 00:34:53,739 --> 00:34:58,740 >> আমি যার উত্তর 2 টি নিতে এখনই যদি 2, মাঝখানে লাইন, টি সেটিকে চলা 811 00:34:58,740 --> 00:35:02,740 4 যে, সম্পর্কে 2 বার দেয় 2 প্লাস 4, 8, তাই. 812 00:35:02,740 --> 00:35:07,080 আমি তখন পূর্ববর্তী 8 চলা যদি লাইন, যে সম্পর্কে 2 বার 8, 16 দেয়. 813 00:35:07,080 --> 00:35:12,470 এবং তারপর আমরা যে অবিরত যদি 24, 16, যোগ অবশেষে আমরা একটি পেতে 814 00:35:12,470 --> 00:35:13,820 64 এর মান. 815 00:35:13,820 --> 00:35:18,480 >> এখন ও নিজেই ধরণের কথা বলে যে N স্বরলিপি কিছুই, 816 00:35:18,480 --> 00:35:20,700 বড় হে, আমরা করেছি যে ওমেগা সম্পর্কে কথা বলা হয়েছে. 817 00:35:20,700 --> 00:35:24,890 কিন্তু এটা 64, প্রকৃতপক্ষে যে সক্রিয় আউট 16, ইনপুট মাপ, 818 00:35:24,890 --> 00:35:27,110 16 বেস 2 লগ ইন করুন. 819 00:35:27,110 --> 00:35:30,200 এবং এই, একটু অপরিচিত যদি ঠিক ফিরে মনে হয়, এবং এটি ফিরে আসবো 820 00:35:30,200 --> 00:35:30,700 আপনি শেষ পর্যন্ত. 821 00:35:30,700 --> 00:35:33,775 এই লগ বেস 2 হয়, তাহলে এটি 2 মত আপনি কি 16 দেয় উত্থাপিত? 822 00:35:33,775 --> 00:35:36,380 ওহ, যে 4 এর, তাই এটা 16 বার 4 এর. 823 00:35:36,380 --> 00:35:39,380 >> এবং আবার, এটি একটি বড় চুক্তি না এই যদি একটি অস্পষ্ট মেমরি সাজানোর এখন হয়. 824 00:35:39,380 --> 00:35:43,720 কিন্তু এখন জন্য, বিশ্বাসের উপর নিতে 16 লগ 16 64 যে. 825 00:35:43,720 --> 00:35:46,590 তাই প্রকৃতপক্ষে, এই সহজ বৈধতা সঙ্গে চেক, আমরা নিশ্চিত করেছি - 826 00:35:46,590 --> 00:35:48,250 কিন্তু আনুষ্ঠানিকভাবে প্রমাণিত না - 827 00:35:48,250 --> 00:35:52,800 যে একত্রীকরণ চলমান সময় সাজানোর সত্যিই N উল্লেখ্য লগ ইন করুন. 828 00:35:52,800 --> 00:35:53,790 >> তাই খারাপ না. 829 00:35:53,790 --> 00:35:57,260 এটা চেয়ে স্পষ্টভাবে ভাল আমরা দূর পর্যন্ত দেখা যায়, এবং করেছি আলগোরিদিম 830 00:35:57,260 --> 00:36:00,710 আমরা leveraged করেছি কারণ, এক recursion নামক একটি কৌশল. 831 00:36:00,710 --> 00:36:03,880 যে, যে তুলনায় কিন্তু আরও বেশি আকর্ষণীয় বিভাজক এবং অতিক্রমকারী ধারণা. 832 00:36:03,880 --> 00:36:07,460 আবার, সত্যিই সপ্তাহে 0 স্টাফ যে এমনকি এখন একটি মধ্যে হচ্ছিল না 833 00:36:07,460 --> 00:36:08,740 আরও আকর্ষক উপায়. 834 00:36:08,740 --> 00:36:11,750 >> এখন একটি মজার সামান্য ব্যায়াম, আপনি থাকেন তাহলে এই কাজ না - এবং আপনি সম্ভবত 835 00:36:11,750 --> 00:36:14,660 হবে না, কারণ স্বাভাবিক সাজানোর মানুষ এই কাজ করতে মনে করি না. 836 00:36:14,660 --> 00:36:20,650 কিন্তু আমি google.com এ এবং যদি যান আমি কিছু শিখতে চাই 837 00:36:20,650 --> 00:36:22,356 recursion লিখুন. 838 00:36:22,356 --> 00:36:25,106 839 00:36:25,106 --> 00:36:29,058 >> [হাস্য] 840 00:36:29,058 --> 00:36:32,030 [আরও হাস্য] 841 00:36:32,030 --> 00:36:33,385 DAVID Malan: খারাপ তামাশা ধীরে ধীরে ছড়িয়ে. 842 00:36:33,385 --> 00:36:34,450 [হাস্য] 843 00:36:34,450 --> 00:36:36,970 DAVID Malan: শুধু ক্ষেত্রে, এটা আছে. 844 00:36:36,970 --> 00:36:38,710 আমি ভুল বানান নি, এবং রসিকতা আছে. 845 00:36:38,710 --> 00:36:40,810 ঠিক আছে. 846 00:36:40,810 --> 00:36:42,950 আপনি পাশে তা ব্যাখ্যা করা হলে এটা পুরোপুরি ঠিক কোনো ক্লিক না. 847 00:36:42,950 --> 00:36:47,650 কিন্তু recursion, আরো সাধারণভাবে, বোঝায় কলিং একটি ফাংশন এর প্রক্রিয়া 848 00:36:47,650 --> 00:36:51,430 নিজেই, বা আরো সাধারণভাবে, একটি বিভাজক হতে পারে যে কিছু ভাগ সমস্যা 849 00:36:51,430 --> 00:36:56,220 অভিন্ন সমাধান দ্বারা টুকরা টুকরা করিয়া সমাধান প্রতিনিধি সমস্যা. 850 00:36:56,220 --> 00:36:58,400 >> ভাল, যাক এর পরিবর্তন গিয়ার্স শুধু একটা মুহূর্ত জন্য. 851 00:36:58,400 --> 00:37:00,840 আমরা কিছু cliffhangers নেভিগেশন শেষ করতে চাই তাই সেট শুরু 852 00:37:00,840 --> 00:37:05,870 পর্যায়, কয়েক মিনিটের জন্য, একটি খুব সহজ ধারণা - 853 00:37:05,870 --> 00:37:07,620 দুটি উপাদান সোয়াপিং যে, ডান? 854 00:37:07,620 --> 00:37:10,040 এই সব আলগোরিদিম আমরা চলেছি গত কয়েক বিষয়ে কথা বলছি 855 00:37:10,040 --> 00:37:12,420 বক্তৃতা কিছু জড়িত সোয়াপিং সাজানোর. 856 00:37:12,420 --> 00:37:14,630 আজ তাদের বুঝিয়ে ভিসুয়ালাইজ্ড ছিল আপ তাদের চেয়ার আউট এবং 857 00:37:14,630 --> 00:37:18,570 হাঁটা কাছাকাছি, কিন্তু কোড, আমরা চাই শুধু একটা অ্যারে থেকে একটি উপাদান গ্রহণ 858 00:37:18,570 --> 00:37:20,370 এবং অন্য মধ্যে plop এটি. 859 00:37:20,370 --> 00:37:21,880 >> আমরা এই করছেন সুতরাং কিভাবে যেতে হয়? 860 00:37:21,880 --> 00:37:24,850 আচ্ছা, আমাকে এগিয়ে যান এবং লিখুন যাক এখানে একটি দ্রুত প্রোগ্রাম. 861 00:37:24,850 --> 00:37:31,600 আমি এগিয়ে যান এবং করতে যাচ্ছি এই নিম্নলিখিত. 862 00:37:31,600 --> 00:37:33,910 চলুন শুরু করা যাক এই কল - 863 00:37:33,910 --> 00:37:38,070 আমরা এই এক কল কি করতে চান? 864 00:37:38,070 --> 00:37:38,650 >> আসলে, কোন. 865 00:37:38,650 --> 00:37:39,420 আমার সম্পর্কে গুটিয়ে চলুন শুরু করা যাক. 866 00:37:39,420 --> 00:37:41,220 আমি যে কাজ করতে চান না কোনো cliffhanger. 867 00:37:41,220 --> 00:37:42,270 এটা মজা নষ্ট হবে. 868 00:37:42,270 --> 00:37:43,600 পরিবর্তে এই কাজ করা যাক. 869 00:37:43,600 --> 00:37:47,430 >> আমি একটু লিখতে চান যে ধরুন প্রোগ্রাম এবং যে এখন এই embraces 870 00:37:47,430 --> 00:37:48,700 recursion ধারণা. 871 00:37:48,700 --> 00:37:50,370 আমি ধরনের আছে এগিয়ে নিজের পেয়েছিলাম. 872 00:37:50,370 --> 00:37:51,420 আমি নিম্নলিখিত কাজ করতে যাচ্ছি. 873 00:37:51,420 --> 00:38:00,220 >> প্রথমত, একটি দ্রুত, মান io.h এর অন্তর্ভুক্ত cs50.h. হিসাবে পাশাপাশি একটি মধ্যে 874 00:38:00,220 --> 00:38:03,200 এবং তারপর আমি এগিয়ে যান যাচ্ছে না এবং int প্রধান অকার্যকর ঘোষণা 875 00:38:03,200 --> 00:38:04,360 স্বাভাবিক ভাবেই. 876 00:38:04,360 --> 00:38:07,920 আমি ফাইল misnamed করেছি উপলব্ধি, তাই আমাকে শুধু এখানে তাই. C এক্সটেনশন যোগ দিন 877 00:38:07,920 --> 00:38:09,510 আমরা ঠিকমতো কম্পাইল করতে পারেন. 878 00:38:09,510 --> 00:38:10,970 এই ফাংশন বন্ধ করতে শুরু করুন. 879 00:38:10,970 --> 00:38:13,290 >> এবং ফাংশন আমি বেশ, লিখতে চান সহজভাবে, জানতে চেয়ে এক 880 00:38:13,290 --> 00:38:16,210 তারপর একটি সংখ্যা জন্য ব্যবহারকারীর নাম ও যোগ যে সব সংখ্যার মধ্যে 881 00:38:16,210 --> 00:38:19,920 সংখ্যা এবং,, বলতে 0. 882 00:38:19,920 --> 00:38:22,510 সুতরাং প্রথম আমি এগিয়ে যেতে চলেছি এবং int-N ডিক্লেয়ার. 883 00:38:22,510 --> 00:38:24,760 তারপর আমি কিছু কোড কপি করে যে আমরা কিছুদিনের জন্য ব্যবহার করেছি. 884 00:38:24,760 --> 00:38:26,660 কিছু সত্য হয়. 885 00:38:26,660 --> 00:38:28,000 আমি একটি মুহূর্ত যে ফিরে আসবো. 886 00:38:28,000 --> 00:38:29,010 >> আমি কি করতে চান? 887 00:38:29,010 --> 00:38:33,460 আমি printf, ইতিবাচক বলতে চাই পূর্ণসংখ্যা দয়া করে. 888 00:38:33,460 --> 00:38:36,130 এবং তারপর আমি যাচ্ছি N int-পেতে পায় বলে. 889 00:38:36,130 --> 00:38:38,800 তাই আবার, কিছু boilerplate কোড আমরা আগে ব্যবহার করেছি যে. 890 00:38:38,800 --> 00:38:40,810 এবং আমি এই কাজ করতে যাচ্ছি N কম 1 হয়. 891 00:38:40,810 --> 00:38:44,120 তাই এই নিশ্চিত করবে যে ব্যবহারকারী আমার সম্পর্কে একটি ইতিবাচক পূর্ণসংখ্যা দেয়. 892 00:38:44,120 --> 00:38:45,490 >> এবং এখন আমি নিম্নোক্ত কাজ করতে যাচ্ছি. 893 00:38:45,490 --> 00:38:51,020 আমি সংখ্যার সমস্ত পর্যন্ত যোগ করতে চান N, অথবা 0 এবং 1 এর মধ্যে N এবং, 894 00:38:51,020 --> 00:38:52,570 equivalently, মোট সমষ্টি পেতে. 895 00:38:52,570 --> 00:38:55,100 এত বড় সিগমা প্রতীক আপনি পুনরাহ্বান হতে পারে. 896 00:38:55,100 --> 00:38:59,050 তাই আমি প্রথমে কল করে এই কাজ করতে যাচ্ছি সিগমা নামক একটি ফাংশন, 897 00:38:59,050 --> 00:39:06,030 N তা ক্ষণস্থায়ী, এবং তারপর আমি যাচ্ছি printf, বলে, উত্তর অধিকার আছে. 898 00:39:06,030 --> 00:39:08,180 >> তাই সংক্ষেপে, আমি পেতে ব্যবহারকারী থেকে int. 899 00:39:08,180 --> 00:39:09,280 আমি এটা ইতিবাচক এর নিশ্চিত. 900 00:39:09,280 --> 00:39:12,700 আমি একটি পরিবর্তনশীল নামক উত্তর ঘোষণা এটি টাইপ int-এ এবং দোকান রিটার্ন 901 00:39:12,700 --> 00:39:15,610 ইনপুট হিসেবে N কথা প্রসঙ্গে সিগমা মান. 902 00:39:15,610 --> 00:39:17,060 এবং তারপর আমি যে উত্তর প্রিন্ট আউট. 903 00:39:17,060 --> 00:39:19,550 >> দুর্ভাগ্যবশত, সিগমা শোনাচ্ছে যদিও হতে পারে যে কিছু চাই 904 00:39:19,550 --> 00:39:24,040 math.h ফাইল, তার ঘোষণা, এটা আসলে না. 905 00:39:24,040 --> 00:39:24,690 সুতরাং যে ঠিক আছে. 906 00:39:24,690 --> 00:39:26,170 আমি এটি নিজে বাস্তবায়ন করতে পারে. 907 00:39:26,170 --> 00:39:29,160 আমি নামক একটি ফাংশন বাস্তবায়ন করা যাচ্ছে না সিগমা, এবং এটি একটি নিতে যাচ্ছে 908 00:39:29,160 --> 00:39:29,900 পরামিতি - 909 00:39:29,900 --> 00:39:32,100 এর যাক এটা মি কল, শুধু তাই এটা আলাদা. 910 00:39:32,100 --> 00:39:35,910 এবং তারপর এখানে, আমি বলতে যাচ্ছি M 1 এর চেয়ে কম হলে ভাল, - এই হল একটি 911 00:39:35,910 --> 00:39:38,180 খুব প্রোগ্রাম নীরস. 912 00:39:38,180 --> 00:39:41,700 তাই আমি এগিয়ে যান যাচ্ছে এবং করছি অবিলম্বে 0 ফিরে. 913 00:39:41,700 --> 00:39:45,920 এটা ঠিক সমস্ত পর্যন্ত যোগ অর্থে দেখা যায় না 1 এবং M M যদি এর মধ্যে নম্বর 914 00:39:45,920 --> 00:39:48,470 নিজেই 0 বা নেগেটিভ. 915 00:39:48,470 --> 00:39:50,900 >> এবং তারপর আমি এগিয়ে যান যাচ্ছে না এবং খুব iteratively এই কাজ. 916 00:39:50,900 --> 00:39:53,090 আমি পুরানো স্কুল এই সাজানোর কাজ করতে যাচ্ছি এবং আমি এগিয়ে যান যাচ্ছে না 917 00:39:53,090 --> 00:39:57,150 এবং আমি করতে যাচ্ছি বলে যে 0 হতে একটি সমষ্টি ডিক্লেয়ার. 918 00:39:57,150 --> 00:39:59,630 তারপর আমি যাচ্ছি int-লুপ জন্য একটি - 919 00:39:59,630 --> 00:40:02,820 এবং আমাকে এটা আমাদের মেলে না দেওয়া ডিস্ট্রিবিউশন কোড, তাই আপনি একটি কপি আছে 920 00:40:02,820 --> 00:40:07,500 বাড়ীতে. int-আমি উপর 1 পায় আমি কম বা মিটার সমান. 921 00:40:07,500 --> 00:40:09,430 আমি প্লাস প্লাস. 922 00:40:09,430 --> 00:40:11,430 এবং তারপর ভিতরে লুপ জন্য এই - 923 00:40:11,430 --> 00:40:12,440 আমরা প্রায় নেই করছি - 924 00:40:12,440 --> 00:40:15,810 সমষ্টি সমষ্টি প্লাস 1 পায়. 925 00:40:15,810 --> 00:40:17,670 এবং তারপর আমি সমষ্টি ফিরে যাচ্ছি. 926 00:40:17,670 --> 00:40:19,420 >> তাই আমি দ্রুত, এই কি বেশ বোঝা যাচ্ছে. 927 00:40:19,420 --> 00:40:22,775 কিন্তু আবার, প্রধান ফাংশন প্রশংসনীয় এর আমরা করেছি কোডের উপর ভিত্তি করে, সহজবোধ্য 928 00:40:22,775 --> 00:40:23,190 এ পর্যন্ত হবে. 929 00:40:23,190 --> 00:40:25,610 একটি ইতিবাচক পেতে দ্বৈত লুপ ব্যবহার করে ব্যবহারকারী থেকে int. 930 00:40:25,610 --> 00:40:29,870 আমি তখন একটি নতুন ফাংশন যে int-এ পাস N, আবার, এটি আহ্বান জানিয়ে, সিগমা বলা হয়. 931 00:40:29,870 --> 00:40:33,100 এবং আমি ফিরতি মূল্য, উত্তর সংরক্ষণ বর্তমানে কালো বাক্স থেকে 932 00:40:33,100 --> 00:40:35,460 একটি পরিবর্তনশীল, সিগমা হিসাবে পরিচিত উত্তর বলা হয়. 933 00:40:35,460 --> 00:40:36,580 তারপর আমি এটা মুদ্রণ. 934 00:40:36,580 --> 00:40:39,090 >> এখন আমরা গল্প চালিয়ে যেতে চান, সিগমা কিভাবে বাস্তবায়িত হয়? 935 00:40:39,090 --> 00:40:40,840 আমি নিম্নরূপ বাস্তবায়ন উত্থাপন করা. 936 00:40:40,840 --> 00:40:43,560 ত্রুটি পরীক্ষণ প্রথমত, একটি সামান্য বিট ব্যবহারকারী না নিশ্চিত যে আপনি 937 00:40:43,560 --> 00:40:46,480 আমার সঙ্গে সেনাবিভাগে মেসে খাবার ও ক্ষণস্থায়ী কিছু নেতিবাচক বা 0 মান. 938 00:40:46,480 --> 00:40:49,710 তারপর আমি নামে একটি ভেরিয়েবল ডিক্লেয়ার যোগফল এবং এটি 0 সেট. 939 00:40:49,710 --> 00:40:55,910 >> এবং এখন আমি সমান থেকে সরানো শুরু 1 সমস্ত উপায় আপ এবং মি সহ 940 00:40:55,910 --> 00:41:00,130 আমি সব অন্তর্ভুক্ত করতে চান, কারণ M মাধ্যমে এক থেকে নম্বর, সমেত. 941 00:41:00,130 --> 00:41:04,350 এবং ভেতরের লুপ জন্য এই, আমি ঠিক সমষ্টি এটা এখন যাই হোক না কেন পায়, প্লাস 942 00:41:04,350 --> 00:41:08,900 আমি মান. 943 00:41:08,900 --> 00:41:10,370 আমি প্লাস মান. 944 00:41:10,370 --> 00:41:14,090 >> একটি সরাইয়া হিসাবে, আপনি এই দেখা যায় না করেছি আগে, কিছু অন্বিত চিনি আছে 945 00:41:14,090 --> 00:41:14,870 এই লাইন জন্য. 946 00:41:14,870 --> 00:41:21,120 উপরন্তু আমি সমান হিসাবে আমি, এই পুনর্লিখন করতে পারেন শুধু নিজেকে কয়েক keystrokes সংরক্ষণ 947 00:41:21,120 --> 00:41:22,570 এবং একটি বিট শীতল চেহারা. 948 00:41:22,570 --> 00:41:23,140 কিন্তু যে সব. 949 00:41:23,140 --> 00:41:24,660 এটা বৈশিষ্ট্যগুলি একই জিনিস. 950 00:41:24,660 --> 00:41:26,710 >> দুর্ভাগ্যবশত, এই কোড এর এখনও সঙ্কলন করা যাচ্ছে না. 951 00:41:26,710 --> 00:41:31,600 আমি কিভাবে সিগমা 0, না চালানোর আমি এ yelled পেতে যাচ্ছে? 952 00:41:31,600 --> 00:41:33,473 কি এটা পছন্দ না যাচ্ছে? 953 00:41:33,473 --> 00:41:35,740 >> শ্রোতা: [শ্রবণাতীত]. 954 00:41:35,740 --> 00:41:37,800 >> DAVID Malan: হ্যাঁ, আমি ঘোষণা করা হয়নি উপরে, ডান? আপ ফাংশন 955 00:41:37,800 --> 00:41:40,590 সি, ধরনের মূঢ় এটা শুধুমাত্র যে আপনি এটা করতে বলবেন কি আছে, এবং আপনি 956 00:41:40,590 --> 00:41:41,880 যাতে এটা করতে হবে. 957 00:41:41,880 --> 00:41:45,910 আমি এখানে আঘাত লিখুন এবং যদি তাই হয়, আমি যাচ্ছি সিগমা সম্পর্কে একটি সতর্কবার্তা অন্তর্নিহিত পেতে 958 00:41:45,910 --> 00:41:46,860 ঘোষণা. 959 00:41:46,860 --> 00:41:48,120 >> ওহ, না একটা সমস্যা. 960 00:41:48,120 --> 00:41:50,370 আমি উপরে পর্যন্ত যেতে পারেন, এবং আমি যা করতে পারেন ঠিক আছে, বলে, এক মিনিট অপেক্ষা করুন. 961 00:41:50,370 --> 00:41:54,240 সিগমা ফেরৎ যে একটি ফাংশন কোন int এবং এটি একটি প্রত্যাশা 962 00:41:54,240 --> 00:41:56,620 ইনপুট, সেমিকোলন হিসাবে int-এ. 963 00:41:56,620 --> 00:41:59,550 অথবা আমি সমগ্র ফাংশন করা যায়নি প্রধান উপরে, তবে সাধারণভাবে, আমি চাই 964 00:41:59,550 --> 00:42:02,260 এটা, কারণ যে বিরুদ্ধে সুপারিশ সর্বদা শীর্ষে তাই প্রধান আছে চমৎকার 965 00:42:02,260 --> 00:42:06,310 আপনি ডান ঝাঁপিয়ে পড়ে জানতে পারি কি প্রোগ্রাম প্রথম প্রধান পড়া করছে. 966 00:42:06,310 --> 00:42:07,930 >> তাই এখন আমার পর্দা পরিষ্কার করা. 967 00:42:07,930 --> 00:42:09,330 পুনর্নির্মাণ সিগমা 0. 968 00:42:09,330 --> 00:42:10,340 সমস্ত চেক আউট বলে মনে হয়. 969 00:42:10,340 --> 00:42:11,970 আমার সম্পর্কে সিগমা 0 চালানো যাক. 970 00:42:11,970 --> 00:42:12,770 ইতিবাচক আন্তঃ. 971 00:42:12,770 --> 00:42:15,580 আমি এটা সংখ্যা দেব 3 এটা সহজ রাখা. 972 00:42:15,580 --> 00:42:18,710 সুতরাং যে আমার 3 দিতে হবে প্লাস 2 প্লাস 1, তাই 6. 973 00:42:18,710 --> 00:42:20,750 লিখুন, এবং প্রকৃতপক্ষে আমি 6 পেতে. 974 00:42:20,750 --> 00:42:21,820 >> আমি বড় কিছু করতে পারেন - 975 00:42:21,820 --> 00:42:24,080 50, 12, 75. 976 00:42:24,080 --> 00:42:27,690 শুধু একটি স্পর্শক, আমি কাজ করতে যাচ্ছি সত্যিই একটি বড় মত হাস্যকর কিছু 977 00:42:27,690 --> 00:42:30,375 নম্বর, ওহ, আসলে কাজ যে - 978 00:42:30,375 --> 00:42:31,600 অঁ্যা, আমি ঠিক মনে করি না. 979 00:42:31,600 --> 00:42:32,810 এর দেখতে দিন. 980 00:42:32,810 --> 00:42:34,060 এর সত্যিই এটি সঙ্গে বিশৃঙ্খল চলুন শুরু করা যাক. 981 00:42:34,060 --> 00:42:37,150 982 00:42:37,150 --> 00:42:38,400 >> যে একটি সমস্যা. 983 00:42:38,400 --> 00:42:43,180 984 00:42:43,180 --> 00:42:44,970 কি হচ্ছে? 985 00:42:44,970 --> 00:42:46,050 কোড যে খারাপ না. 986 00:42:46,050 --> 00:42:48,470 এটা এখনও রৈখিক না. 987 00:42:48,470 --> 00:42:50,810 Whistling যদিও,, একটি ভাল প্রভাব. 988 00:42:50,810 --> 00:42:52,060 কি হচ্ছে? 989 00:42:52,060 --> 00:42:54,700 990 00:42:54,700 --> 00:42:55,620 >> আমি এটা শুনে যদি নিশ্চিত না. 991 00:42:55,620 --> 00:42:57,620 সুতরাং দেখা যাচ্ছে - এবং এই একটি সরাইয়া হিসেবে. 992 00:42:57,620 --> 00:42:59,400 এই কোর না recursion ধারণা. 993 00:42:59,400 --> 00:43:02,480 আমি চেষ্টা করছি, কারণ এটি সক্রিয় আউট অধিকাংশ যেমন একটি বড় সংখ্যা প্রতিনিধিত্ব 994 00:43:02,480 --> 00:43:06,980 সম্ভবত এটি misinterpreted হচ্ছে একটি ইতিবাচক না সংখ্যা C দ্বারা, 995 00:43:06,980 --> 00:43:09,980 কিন্তু ঋণাত্মক সংখ্যা. 996 00:43:09,980 --> 00:43:12,690 >> আমরা এই বিষয়ে কথা বলত না, কিন্তু করেন নি এটা ঋণাত্মক সংখ্যা আছে সক্রিয় আউট 997 00:43:12,690 --> 00:43:14,210 ছাড়াও বিশ্বের ধনাত্মক সংখ্যা. 998 00:43:14,210 --> 00:43:16,290 এবং আপনি যা করতে পারেন যার দ্বারা একটি নেতিবাচক সংখ্যা প্রতিনিধিত্ব 999 00:43:16,290 --> 00:43:19,530 মূলত, আপনি একটি ব্যবহার করা হয় নির্দেশ করার জন্য বিশেষ বিট 1000 00:43:19,530 --> 00:43:20,400 নেতিবাচক ওভার ইতিবাচক. 1001 00:43:20,400 --> 00:43:22,950 এটা যে একটু বেশী জটিল এর কিন্তু যে মৌলিক ধারণা. 1002 00:43:22,950 --> 00:43:26,740 >> তাই দুর্ভাগ্যবশত, সি এক বিভ্রান্তিকর হলে আসলে যার অর্থ হিসাবে যারা বিট, 1003 00:43:26,740 --> 00:43:30,790 ওহ, এই একটি ঋণাত্মক সংখ্যা, আমার লুপ এখানে উদাহরণস্বরূপ, আসলে না হয় 1004 00:43:30,790 --> 00:43:31,740 খতম করা যাচ্ছে. 1005 00:43:31,740 --> 00:43:33,850 আসলে আমি কিছু প্রিন্ট করা হয়েছে তাই আপনি যদি আবার এবং আবার, আমরা চাই 1006 00:43:33,850 --> 00:43:34,650 পুরো অনেক দেখতে. 1007 00:43:34,650 --> 00:43:36,220 কিন্তু আবার, এই পয়েন্ট ছাড়াও হয়. 1008 00:43:36,220 --> 00:43:38,590 এই সত্যিই শুধু একটি সাজানোর আমরা আসবো যে মেধা কৌতূহল 1009 00:43:38,590 --> 00:43:39,550 অবশেষে ফিরে. 1010 00:43:39,550 --> 00:43:43,400 কিন্তু এখন জন্য, এই হল একটি সঠিক বাস্তবায়ন আমরা অনুমান যে যদি 1011 00:43:43,400 --> 00:43:45,970 ব্যবহারকারী ints প্রদান করবে যে ints মধ্যে ফিট. 1012 00:43:45,970 --> 00:43:49,370 >> কিন্তু আমি যে এই কোড, উন্মুক্তভাবে দাবি আরও অনেক কিছু সহজভাবে সম্পন্ন করা যেতে পারে. 1013 00:43:49,370 --> 00:43:54,060 হাতের লক্ষ্য একটি নম্বর নিতে হয় তাহলে মত মিটার এবং সব আপ যোগ করুন 1014 00:43:54,060 --> 00:43:59,510 এটি 1, বা বিপরীতক্রমে মধ্যে সংখ্যা 1 এর মধ্যে এবং এটি, আমি দাবি 1015 00:43:59,510 --> 00:44:03,380 আমি একত্রীকরণ যে এই ধারণা ধার করতে পারেন সাজানোর একটি সমস্যা নেন, যা ছিল 1016 00:44:03,380 --> 00:44:05,660 এই মাপ এবং এটা বিভাজক এর ছোট কিছু ভাগ. 1017 00:44:05,660 --> 00:44:09,875 হয়তো অর্ধেক, কিন্তু ছোট, কিন্তু না representatively একই. 1018 00:44:09,875 --> 00:44:12,130 একই ধারণা, কিন্তু একটি ছোট সমস্যা. 1019 00:44:12,130 --> 00:44:15,470 >> তাই আমি আসলে করছি - আমার এই ফাইলটি সংরক্ষণ করতে দিন একটি ভিন্ন সংস্করণ সংখ্যা সঙ্গে. 1020 00:44:15,470 --> 00:44:17,670 আমরা এই সংস্করণের ডাকবো 1 এর পরিবর্তে 0. 1021 00:44:17,670 --> 00:44:20,790 এবং আমি যে আমি আসলে করতে পারেন দাবি এই সাজানোর এই reimplement 1022 00:44:20,790 --> 00:44:22,160 মন নমন উপায়. 1023 00:44:22,160 --> 00:44:23,710 >> আমি একা এটা অংশ ছেড়ে যাচ্ছি. 1024 00:44:23,710 --> 00:44:27,710 M কম হয় তাহলে আমি বলতে যাচ্ছি আর বা 0 এমনকি সমান - 1025 00:44:27,710 --> 00:44:29,280 আমি শুধু একটি সামান্য হতে যাচ্ছি আরো পায়ূ এই সময় 1026 00:44:29,280 --> 00:44:30,520 - আমার ত্রুটি পরীক্ষা সঙ্গে 1027 00:44:30,520 --> 00:44:33,190 আমি এগিয়ে যান এবং 0 ফিরে যাচ্ছি. 1028 00:44:33,190 --> 00:44:34,490 এই হয় নির্বিচারে. 1029 00:44:34,490 --> 00:44:37,500 আমি শুধু শুধু মীমাংসাকারী করছি, তাহলে ব্যবহারকারী আমাকে একটি ঋণাত্মক সংখ্যা দেয়, আমি 1030 00:44:37,500 --> 00:44:41,490 0 ফিরে, এবং তারা পড়া উচিত ডকুমেন্টেশন আরো ঘনিষ্ঠভাবে. 1031 00:44:41,490 --> 00:44:42,170 >> অন্য - 1032 00:44:42,170 --> 00:44:44,070 আমি কাজ করতে যাচ্ছি তা লক্ষ্য করা. 1033 00:44:44,070 --> 00:44:49,260 অন্যথায় আমি মি প্লাস ফিরে যাচ্ছি - 1034 00:44:49,260 --> 00:44:51,010 মি সিগমা কি? 1035 00:44:51,010 --> 00:44:56,710 ওয়েল, M M প্লাস মাইনাস 1 সিগমা, প্লাস M বিয়োগ 2, প্লাস M বিয়োগ 3. 1036 00:44:56,710 --> 00:44:58,030 আমি যে সব লিখতে চাই না. 1037 00:44:58,030 --> 00:44:59,120 আমি কেন punt ঠিক না? 1038 00:44:59,120 --> 00:45:05,080 Recursively সামান্য সঙ্গে নিজেকে কল ছোট সমস্যা, সেমিকোলন, 1039 00:45:05,080 --> 00:45:06,840 এবং এটি একটি দিন কল? 1040 00:45:06,840 --> 00:45:07,040 >> রাইট? 1041 00:45:07,040 --> 00:45:10,980 এখন এখানে খুব,, আপনি মনে বা চিন্তা হতে পারে এই আমি যে একটি অসীম লুপ যে 1042 00:45:10,980 --> 00:45:15,450 আমি রূপায়ণকারী করছি যদ্দ্বারা inducing, কলিং সিগমা সিগমা দ্বারা. 1043 00:45:15,450 --> 00:45:20,342 কিন্তু যে কারণ, পুরোপুরি ঠিক আছে আমি একটি লাইন, যা এখনো যোগ করেনি এগিয়ে চিন্তা? 1044 00:45:20,342 --> 00:45:22,600 >> শ্রোতা: [শ্রবণাতীত]. 1045 00:45:22,600 --> 00:45:25,430 >> DAVID Malan: 23 থেকে 26, যা আমার যদি অবস্থা হয়. 1046 00:45:25,430 --> 00:45:28,390 সম্পর্কে চমৎকার কি কারণ এখানে বিয়োগ, আমি রাখা কারণ 1047 00:45:28,390 --> 00:45:31,180 হস্তান্তর সিগমা ছোট সমস্যা, ছোট সমস্যা, ছোট - এটা না 1048 00:45:31,180 --> 00:45:31,870 অর্ধেক মাপ. 1049 00:45:31,870 --> 00:45:34,380 এটা ছোট শুধুমাত্র একটি শিশুর পদক্ষেপ কিন্তু যে ঠিক আছে. 1050 00:45:34,380 --> 00:45:38,050 অবশেষে, আমরা কাজ করব কারণ নিচে 1 অথবা 0 আমাদের উপায়. 1051 00:45:38,050 --> 00:45:41,630 এবং একবার আমরা 0 আঘাত, সিগমা না আর নিজেই কল করতে যাচ্ছে. 1052 00:45:41,630 --> 00:45:43,590 তা অবিলম্বে 0 ফিরে যাচ্ছে. 1053 00:45:43,590 --> 00:45:47,960 >> সুতরাং প্রভাব, বাতাসে আপনি সাজানোর এই যদি আপনার মন, M প্লাস যোগ হয় 1054 00:45:47,960 --> 00:45:52,740 M বিয়োগ 1, প্লাস M বিয়োগ 2, প্লাস M বিয়োগ 3, প্লাস বিন্দু, বিন্দু, বিন্দু, M বিয়োগ 1055 00:45:52,740 --> 00:45:57,820 মি, অবশেষে আপনি 0, দান এবং প্রভাব সব যোগ পরিণামে হয় 1056 00:45:57,820 --> 00:45:59,070 একসঙ্গে এই জিনিস. 1057 00:45:59,070 --> 00:46:02,380 সুতরাং আমরা recursion সঙ্গে, না আছে সমস্যার সমাধান যে আমরা 1058 00:46:02,380 --> 00:46:03,470 আগে সমাধান করতে পারে নি. 1059 00:46:03,470 --> 00:46:06,840 প্রকৃতপক্ষে, এই সংস্করণে 0, এবং প্রতি ডেট সমস্যা, solvable হয়েছে 1060 00:46:06,840 --> 00:46:09,980 শুধু loops জন্য ব্যবহার করে অথবা যখন loops বা একই রকমের নির্মান. 1061 00:46:09,980 --> 00:46:13,150 >> কিন্তু recursion, আমি daresay, আমাদের দেয় চিন্তা অন্যভাবে 1062 00:46:13,150 --> 00:46:17,010 সমস্যা, আমরা একটি নিতে পারেন যদ্দ্বারা যদি সমস্যা, কিছু থেকে এটা ভাগ 1063 00:46:17,010 --> 00:46:22,340 কিছুটা কিছু মধ্যে কিছুটা বড় ছোট, আমি মনে করি আমরা তা সমাধান করতে পারে যে দাবি 1064 00:46:22,340 --> 00:46:26,040 সম্ভবত একটু বেশি এইরূপ সূচারূভাবে পদ নকশা, কম কোডটা দিয়ে, 1065 00:46:26,040 --> 00:46:30,980 এবং এমনকি যে সেই সমস্যার সমাধান আমরা অবশেষে পাবেন, কঠিন হতে 1066 00:46:30,980 --> 00:46:33,280 বিশুদ্ধরূপে iteratively সমাধান, দেখুন. 1067 00:46:33,280 --> 00:46:35,980 >> আমি কিন্তু cliffhanger আমাদের উপর ছেড়ে দিতে চান এই ছিল. 1068 00:46:35,980 --> 00:46:40,720 আমাকে এগিয়ে যান এবং খুলুন থেকে ফাইল আপ - 1069 00:46:40,720 --> 00:46:44,300 আসলে, আমাকে যেতে দিন এবং এই বাস্তব দ্রুত করতে. 1070 00:46:44,300 --> 00:46:46,875 আমাকে এগিয়ে যান এবং উত্থাপন করা যাক নিম্নলিখিত. 1071 00:46:46,875 --> 00:46:51,160 1072 00:46:51,160 --> 00:46:54,785 আজকের কোড মধ্যে এই ফাইলটি এখানে. 1073 00:46:54,785 --> 00:47:01,090 1074 00:47:01,090 --> 00:47:03,050 এখানে এই এক, noswap. 1075 00:47:03,050 --> 00:47:06,260 >> তাই এই যে একটি মূঢ় সামান্য প্রোগ্রাম আমি দাবি করতে যে বেত্রাঘাত 1076 00:47:06,260 --> 00:47:06,940 নিম্নলিখিত. 1077 00:47:06,940 --> 00:47:10,140 প্রধান ইন, এটি প্রথমে একটি ঘোষণা int-x এর বলা হয় এবং এটি ধার্য করা হয় 1078 00:47:10,140 --> 00:47:11,100 1 এর মান. 1079 00:47:11,100 --> 00:47:13,520 তারপর এটি কোন int Y ঘোষণা করে এবং এটা মান 2 নির্ধারণ করা হয়. 1080 00:47:13,520 --> 00:47:15,310 তারপর, এটা x এবং y কি ছাপে. 1081 00:47:15,310 --> 00:47:17,781 তারপর এটা, বিন্দু বিন্দু বিন্দু সোয়াপিং, নেই. 1082 00:47:17,781 --> 00:47:21,670 >> তারপর এটি একটি ফাংশন আহ্বান করা দাবি x এর মধ্যে ক্ষণস্থায়ী এবং swap 'বলা 1083 00:47:21,670 --> 00:47:24,290 যে আশা, হয় ধারণা যা y, ও x এবং y ফিরে আসবে 1084 00:47:24,290 --> 00:47:25,620 ভিন্ন, বিপরীত. 1085 00:47:25,620 --> 00:47:27,110 তারপর, এটা আনা দাবি! 1086 00:47:27,110 --> 00:47:28,420 কোন বিস্ময়বোধক বিন্দু সঙ্গে. 1087 00:47:28,420 --> 00:47:30,190 তারপর, এটা x এবং y আউট ছাপে. 1088 00:47:30,190 --> 00:47:33,480 >> কিন্তু দেখা যাচ্ছে যে এই অত্যন্ত নিচে সহজ বিক্ষোভের 1089 00:47:33,480 --> 00:47:35,570 এখানে আসলে বগী. 1090 00:47:35,570 --> 00:47:38,870 আমি একটি অস্থায়ী ঘোষণা করছি, যদিও পরিবর্তনশীল এবং অস্থায়ীভাবে একটি নির্বাণ 1091 00:47:38,870 --> 00:47:42,010 তাহলে, আমি পুনরায় করছি বো একটি মান - 1092 00:47:42,010 --> 00:47:45,080 আমি করেছি, যা যুক্তিসঙ্গত মতানুযায়ী temp একটি একটি কপি সংরক্ষিত. 1093 00:47:45,080 --> 00:47:48,410 তারপর আমি সমান যাও বো আপডেট temp মধ্যে যাই হোক না কেন ছিল. 1094 00:47:48,410 --> 00:47:51,610 একটি চলন্ত শেল খেলার এই সাজানোর এই ব্যবহার করে একটি মধ্যে মধ্যে খ এবং খ 1095 00:47:51,610 --> 00:47:54,360 মধ্যবিত্ত মানুষের temp মতানুযায়ী বলা পুরোপুরি যুক্তিসঙ্গত. 1096 00:47:54,360 --> 00:47:57,270 >> আমি এই রান যখন কিন্তু আমি যে দাবি কোড, এখন আমি কি করব হিসেবে - 1097 00:47:57,270 --> 00:47:59,490 আমাকে এগিয়ে যান এবং এটা এখানে পেস্ট করে দিন. 1098 00:47:59,490 --> 00:48:01,995 আমি এই noswap.c ডাকবো. 1099 00:48:01,995 --> 00:48:05,630 নাম প্রস্তাব দেওয়া হয় এবং এই নয় একটি সঠিক প্রোগ্রাম হতে যাচ্ছে. 1100 00:48:05,630 --> 00:48:09,460 Noswap করুন. / কোন swap '. 1101 00:48:09,460 --> 00:48:12,110 এক্স 1, y, ও 2 সোয়াপিং, আনা. 1102 00:48:12,110 --> 00:48:14,220 এক্স 1, Y 2. 1103 00:48:14,220 --> 00:48:16,920 এই, এমনকি মৌলিকভাবে ভুল এই পুরোপুরি মনে হচ্ছে, যদিও 1104 00:48:16,920 --> 00:48:17,730 আমার যুক্তিসঙ্গত. 1105 00:48:17,730 --> 00:48:21,330 এবং সেখানে একটি কারণ হল, কিন্তু আমরা পারব না এখনও কারণ প্রকাশ করা যাচ্ছে. 1106 00:48:21,330 --> 00:48:24,610 >> আমি চেয়েছি দ্বিতীয় cliffhanger এখন জন্য সঙ্গে আপনি ছেড়ে একটি, এই হল 1107 00:48:24,610 --> 00:48:27,120 কুপন কোড নেভিগেশন বিশৃঙ্খলভাবে ঘোষণার. 1108 00:48:27,120 --> 00:48:31,590 দেরী দিন আমাদের উদ্ভাবনের এই বছর একটি অ তুচ্ছ সংখ্যা কুপিত হয়েছে 1109 00:48:31,590 --> 00:48:33,830 প্রশ্ন, যা ছিল আমাদের উদ্দেশ্য. 1110 00:48:33,830 --> 00:48:36,590 এই কুপন কোড অভিপ্রায়, যেখানে আপনি সমস্যার অংশ না 1111 00:48:36,590 --> 00:48:39,850 যার ফলে, একটি অতিরিক্ত দিন পেয়ে প্রথম দিকে সেট আপনাকে বলছি সহায়তা সত্যিই ছিল 1112 00:48:39,850 --> 00:48:42,420 নিজেকে তাড়াতাড়ি, বাছাই শুরু আপনি incentivizing দ্বারা. 1113 00:48:42,420 --> 00:48:44,880 আমাদের সারা লোড বিতরণ সাহায্য অফিসে ঘন্টা ভাল যাতে 1114 00:48:44,880 --> 00:48:45,740 এটি জয় ধরণের. 1115 00:48:45,740 --> 00:48:48,860 >> দুর্ভাগ্যবশত, আমি আমার নির্দেশাবলী মনে তাই, তারিখ, খুব স্পষ্ট, হয়েছে না 1116 00:48:48,860 --> 00:48:52,230 আমি এই সপ্তাহান্তে ফিরে যান এবং আপডেট আপনি বড়, সাহসী লেখা বৈশিষ্ট 1117 00:48:52,230 --> 00:48:53,600 এই মত বুলেট ব্যাখ্যা. 1118 00:48:53,600 --> 00:48:56,900 এবং ঠিক করে, আরও প্রকাশ্যে এটা বলে Default, সমস্যা সেট বৃহস্পতিবার কারণে 1119 00:48:56,900 --> 00:48:58,400 দুপুরে, পাঠ্যক্রম প্রতি. 1120 00:48:58,400 --> 00:49:02,030 আপনি অংশ সমাপ্তি, তাড়াতাড়ি শুরু করেন 12:00 বুধবার দ্বারা সেট করা সমস্যা 1121 00:49:02,030 --> 00:49:05,170 PM তে পোস্ট করা, একটি কুপন সাথে সম্পর্কিত যে অংশ কোড, ধারণা আপনি প্রসারিত করতে পারেন 1122 00:49:05,170 --> 00:49:07,710 আপনার সর্বশেষ সময়সীমাঃ পি শুক্রবার পর্যন্ত সেট. 1123 00:49:07,710 --> 00:49:10,890 যে বিট পি একটি ক্ষুদ্র অংশ বন্ধ, হল সাধারণত কি আপেক্ষিক সেট 1124 00:49:10,890 --> 00:49:13,200 বড় সমস্যা, এবং আপনি কিনতে নিজেকে একটি অতিরিক্ত দিন. 1125 00:49:13,200 --> 00:49:15,190 আবার, এটা সম্পর্কে চিন্তা আপনাকে পায় সমস্যা সেট, আপনি পায় 1126 00:49:15,190 --> 00:49:16,380 অফিসে ঘন্টা শুভস্য. 1127 00:49:16,380 --> 00:49:20,670 কিন্তু কুপন কোড সমস্যা এখনও আপনি কি এটিকে জমা না, এমনকি যদি প্রয়োজন. 1128 00:49:20,670 --> 00:49:23,340 >> কিন্তু আরো compellingly এটি হয়. 1129 00:49:23,340 --> 00:49:26,520 (স্বগতোক্তি) এবং যারা ভাবেন যাব প্রথম দিকে এটা দু: খ প্রকাশ করত হয়. 1130 00:49:26,520 --> 00:49:28,620 হিসাবে বারান্দার লোকেরা আছে. 1131 00:49:28,620 --> 00:49:32,510 নেভিগেশন ভাবেন অগ্রিম আমি ক্ষমাপ্রার্থী হবে যে কারণে বারান্দা 1132 00:49:32,510 --> 00:49:33,920 শুধু একটা মুহূর্ত স্পষ্ট. 1133 00:49:33,920 --> 00:49:37,050 >> তাই আমরা এক আছে সৌভাগ্যবান হয় এ CS50 এর সাবেক প্রধান শিক্ষণ ফেলোগণ 1134 00:49:37,050 --> 00:49:39,302 dropbox.com নামক একটি কোম্পানি. 1135 00:49:39,302 --> 00:49:45,500 তারা খুব generously একটি দান করা হয়েছে এই অনেক স্থান জন্য এখানে কুপন কোড, 1136 00:49:45,500 --> 00:49:48,180 থেকে যা হয় স্বাভাবিক 2 গিগাবাইট. 1137 00:49:48,180 --> 00:49:51,740 তাই আমি চিন্তা কি আমরা এই কাজ করতে হবে চূড়ান্ত নোট, একটি giveaway একটি বিট করতে হয় 1138 00:49:51,740 --> 00:49:55,380 শুধু একটা মুহূর্ত, আমরা প্রকাশ করা হবে যদ্দ্বারা বিজয়ী এবং যারা একটি কুপন আছে 1139 00:49:55,380 --> 00:49:57,980 তারপর আপনি তাদের যেতে পারেন যে কোড ওয়েবসাইট, তা টাইপ করুন, এবং voila, একটি পেতে 1140 00:49:57,980 --> 00:50:01,370 আপনার জন্য পুরো অনেক বেশি ড্রপবক্স স্থান প্রয়োগ এবং আপনার ব্যক্তিগত ফাইল. 1141 00:50:01,370 --> 00:50:05,690 >> এবং প্রথমে, যারা অংশগ্রহণ করতে চান এই অঙ্কন মধ্যে? 1142 00:50:05,690 --> 00:50:09,630 ঠিক আছে, এখন যে এটি এমনকি আরও মজার করে তোলে. 1143 00:50:09,630 --> 00:50:14,010 এই 25 গিগাবাইট প্রাপ্ত ব্যক্তি কুপন কোড - এ পর্যন্ত যা 1144 00:50:14,010 --> 00:50:16,150 দেরী চেয়ে বেশি আকর্ষক এখন, সম্ভবত দিন - 1145 00:50:16,150 --> 00:50:20,620 একটি উপরে উপবিষ্ট হয় এক সেখানে যা অধ সীট কুশন 1146 00:50:20,620 --> 00:50:21,620 যে কুপন কোড. 1147 00:50:21,620 --> 00:50:23,480 আপনি এখন নীচে হতে পারে আপনার সীট কুশন. 1148 00:50:23,480 --> 00:50:28,710 1149 00:50:28,710 --> 00:50:29,680 >> [ভিডিও প্লেব্যাক] 1150 00:50:29,680 --> 00:50:31,620 >> এক, দুই, তিন. 1151 00:50:31,620 --> 00:50:35,015 >> [চিত্কার] 1152 00:50:35,015 --> 00:50:35,985 >> -আপনি একটি গাড়ী পেতে! 1153 00:50:35,985 --> 00:50:36,670 আপনি একটি গাড়ী পেতে! 1154 00:50:36,670 --> 00:50:37,970 >> DAVID Malan: আমরা দেখতে পাবেন বুধবার আপনাকে. 1155 00:50:37,970 --> 00:50:38,904 >> -আপনি একটি গাড়ী পেতে! 1156 00:50:38,904 --> 00:50:39,371 আপনি একটি গাড়ী পেতে! 1157 00:50:39,371 --> 00:50:40,305 আপনি একটি গাড়ী পেতে! 1158 00:50:40,305 --> 00:50:41,706 আপনি একটি গাড়ী পেতে! 1159 00:50:41,706 --> 00:50:43,107 আপনি একটি গাড়ী পেতে! 1160 00:50:43,107 --> 00:50:45,530 >> DAVID Malan: অলিন্দ ভাবেন, আসা নিচে এখানে সামনে, 1161 00:50:45,530 --> 00:50:46,866 আমরা অতিরিক্ত যেখানে. 1162 00:50:46,866 --> 00:50:50,282 >> -সকলে একটি গাড়ী পায়! 1163 00:50:50,282 --> 00:50:52,234 সকলে একটি গাড়ী পায়! 1164 00:50:52,234 --> 00:50:52,722 >> [END টি ভিডিও প্লেব্যাক] 1165 00:50:52,722 --> 00:50:54,590 >> কথক: পরের CS50 এ - 1166 00:50:54,590 --> 00:51:00,374 >> স্পিকার 5: ভগবন্ ভগবন্ ভগবন্ ভগবন্ ওহ ভগবন্ ভগবন্ ভগবন্ ভগবন্ ভগবন্ ভগবন্ - 1167 00:51:00,374 --> 00:51:02,106 >> [UKELELE নাটকগুলি]