1 00:00:00,000 --> 00:00:03,332 >> [সঙ্গীত বাজাচ্ছি] 2 00:00:03,332 --> 00:00:06,490 >> Andi Peng: ধারার সপ্তাহে 3 স্বাগতম. 3 00:00:06,490 --> 00:00:09,550 সব আসার জন্য ধন্যবাদ, আপনাকে বলছি, এই আগে শুরুর সময় আজ. 4 00:00:09,550 --> 00:00:11,466 আমরা একটি সুন্দর, একটু পেয়েছেন ঘনিষ্ঠ গ্রুপ আজ. 5 00:00:11,466 --> 00:00:14,570 তাই আশা করছি আমরা কিনবো ফিনিস, সম্ভবত, তাড়াতাড়ি, 6 00:00:14,570 --> 00:00:15,780 একটি সামান্য বিট তাড়াতাড়ি আজ. 7 00:00:15,780 --> 00:00:22,057 তাই দ্রুত, শুধু কিছু এজেন্ডা আজকের জন্য ঘোষণা. 8 00:00:22,057 --> 00:00:23,890 আমরা শুরু করার আগে, আমরা করছি শুধু ওভার যেতে যাচ্ছে 9 00:00:23,890 --> 00:00:28,910 কিছু সংক্ষিপ্ত যৌক্তিক বিষয়, pset প্রশ্ন, জিজ্ঞাসাবাদ, যে ভালো জিনিস. 10 00:00:28,910 --> 00:00:30,250 এবং তারপর আমরা সঠিক আকর্ষণীয় করব. 11 00:00:30,250 --> 00:00:34,710 আমরা, GDB নামক একটি ডিবাগার ব্যবহার করব আমাদের কোড, debunking শুরু যা ডেভিড 12 00:00:34,710 --> 00:00:36,550 অন্যান্য দিনের বক্তৃতায় ব্যাখ্যা. 13 00:00:36,550 --> 00:00:39,420 আমরা প্রকারের চার প্রকারের উপর যাবেন. 14 00:00:39,420 --> 00:00:42,310 আমরা বেশ দ্রুত তাদের উপর যাবেন তারা চমত্কার নিবিড় যেহেতু. 15 00:00:42,310 --> 00:00:45,710 কিন্তু জানেন যে সব স্লাইড এবং সোর্স কোড অনলাইন সবসময়. 16 00:00:45,710 --> 00:00:50,810 তাই করতে, আপনার পড়ন এ, বিনা দ্বিধায় ফিরে যান এবং যে কটাক্ষপাত. 17 00:00:50,810 --> 00:00:53,930 >> আমরা দিয়ে যাবেন asymptotic স্বরলিপি, যা 18 00:00:53,930 --> 00:00:55,944 শুধু একটি অভিনব উপায় বলার অপেক্ষা রাখে না "রানটাইম," 19 00:00:55,944 --> 00:00:58,360 আমরা বড় হে, আছে যেখানে যা ডেভিড বক্তৃতায় ব্যাখ্যা. 20 00:00:58,360 --> 00:01:01,550 আর আমরা উদাহরণ ওমেগা, আছে যা কম আবদ্ধ রানটাইম. 21 00:01:01,550 --> 00:01:06,450 আর আমরা কিছুটা আলোচনা করব ইন গভীরতার কিভাবে ঐ কাজের বিষয়ে. 22 00:01:06,450 --> 00:01:10,160 এবং সর্বশেষে, আমরা বাইনারি অনুসন্ধান উপর যাবেন কারণ ইতিমধ্যে আছে যারা আপনাকে অনেক 23 00:01:10,160 --> 00:01:15,190 আপনার psets এ glanced সম্ভবত জানি যে যে আপনার pset মধ্যে যে একটি প্রশ্ন. 24 00:01:15,190 --> 00:01:17,470 তাই আপনি সব খুশি হবেন আমরা এই আজ আবরণ যে. 25 00:01:17,470 --> 00:01:20,610 >> এবং সর্বশেষে, প্রতি আপনার অধ্যায় মতামত, আমি আসলে 26 00:01:20,610 --> 00:01:23,000 প্রায় 15 মিনিট সময় বাকি শেষ পর্যন্ত ঠিক পুনরালোচনা 27 00:01:23,000 --> 00:01:27,730 pset3 এর সরবরাহ, কোন প্রশ্ন, হয়তো নির্দেশিকা একটি বিট, যদি আপনি হবে, 28 00:01:27,730 --> 00:01:28,990 আমরা প্রোগ্রামিং শুরু করার আগে. 29 00:01:28,990 --> 00:01:30,890 সুতরাং আসুন মাধ্যমে পেতে চেষ্টা করা যাক প্রশংসনীয় দ্রুত উপাদান. 30 00:01:30,890 --> 00:01:33,880 এবং তারপর আমরা কিছু সময় ব্যয় করতে পারেন pset জন্য আরো প্রশ্ন করার. 31 00:01:33,880 --> 00:01:35,230 ঠিক আছে. 32 00:01:35,230 --> 00:01:39,570 >> তাড়াতাড়ি, যাতে মাত্র কয়েক আমরা আগে ঘোষণা আজ শুরু. 33 00:01:39,570 --> 00:01:45,410 প্রথমত, উপার্জন করতে স্বাগত জানাই আপনার psets দুটি মাধ্যমে এটা. 34 00:01:45,410 --> 00:01:49,432 আমি your-- হ্যা, যাক এর কটাক্ষপাত গ্রহণ যে কেউ জন্য সাধুবাদ একটি বৃত্তাকার পেতে. 35 00:01:49,432 --> 00:01:51,140 বাস্তবিক, আমি সত্যিই ছিল সত্যিই আমি অভিভূত. 36 00:01:51,140 --> 00:01:55,800 আমি আপনাকে বলছি জন্য প্রথম pset graded গত সপ্তাহে এবং আপনাকে বলছি অবিশ্বাস্য করেনি. 37 00:01:55,800 --> 00:01:58,290 >> স্টাইল পয়েন্ট ছিল কিছু মন্তব্য রয়েছে. 38 00:01:58,290 --> 00:02:00,660 নিশ্চিত করুন যে আপনি সবসময় করছি করুন আপনার কোড মন্তব্য. 39 00:02:00,660 --> 00:02:03,040 কিন্তু আপনার psets বিন্দুতে ছিল. 40 00:02:03,040 --> 00:02:05,549 এবং এটা বজায় রাখা. 41 00:02:05,549 --> 00:02:08,090 আর এটা করতে শ্রেণির জন্য ভাল আপনাকে বলছি নির্বাপণ করা হয় যে দেখতে 42 00:02:08,090 --> 00:02:10,704 আপনার শৈলী মধ্যে যতটা প্রচেষ্টা আপনার কোড মধ্যে এবং আপনার নকশা 43 00:02:10,704 --> 00:02:12,120 আপনি দেখতে জন্য আমরা চাই যে. 44 00:02:12,120 --> 00:02:16,450 তাই আমি আমার কৃতজ্ঞতা বরাবর পার করছি Tas পর্যালোচনা সারা. 45 00:02:16,450 --> 00:02:19,210 >> তবে আছে একটি কয়েক জিজ্ঞাসাবাদ প্রশ্ন 46 00:02:19,210 --> 00:02:22,010 আমি শুধু যে উপর যেতে চান উভয় আমার জীবনের করতে হবে 47 00:02:22,010 --> 00:02:24,900 এবং অন্যান্য অনেক Tas পর্যালোচনা 'একটু সহজ বসবাস. 48 00:02:24,900 --> 00:02:28,220 প্রথমতঃ, আমি খেয়াল করেছি এই অতীতে আপনাকে কতগুলি সপ্তাহে 49 00:02:28,220 --> 00:02:32,301 প্রথম check50 চলমান হয়েছে আপনি আগে আপনার কোড জমা? 50 00:02:32,301 --> 00:02:32,800 ঠিক আছে. 51 00:02:32,800 --> 00:02:36,690 তাই সবাই check50 কাজ করা উচিত, আসলে আমরা একটি secret-- কারণ হয় 52 00:02:36,690 --> 00:02:41,540 আমাদের শুদ্ধতা অংশ হিসেবে check50 চালানো আপনার কোড পরীক্ষামূলক জন্য স্ক্রিপ্ট. 53 00:02:41,540 --> 00:02:45,480 আপনার কোড ব্যর্থ হয় তাহলে তাই check50, সব সম্ভাবনা, 54 00:02:45,480 --> 00:02:47,570 এটি সম্ভবত যাচ্ছে পাশাপাশি আমাদের চেক ব্যর্থ. 55 00:02:47,570 --> 00:02:49,320 কখনও কখনও আপনাকে বলছি সঠিক উত্তর আছে. 56 00:02:49,320 --> 00:02:52,200 এর মতো, লোভী, কিছু আপনি সঠিক সংখ্যা আছে, 57 00:02:52,200 --> 00:02:53,960 আপনি শুধু কিছু অতিরিক্ত জিনিস প্রিন্ট আউট. 58 00:02:53,960 --> 00:02:55,940 এবং যে অতিরিক্ত স্টাফ আসলে চেক ব্যর্থ, 59 00:02:55,940 --> 00:02:58,440 কম্পিউটার না কারণ সত্যিই এটা খুঁজছেন তা জানা. 60 00:02:58,440 --> 00:03:00,981 আর তাই এটি শুধু, মাধ্যমে চালানো হবে আপনার আউটপুট না দেখতে 61 00:03:00,981 --> 00:03:03,810 আমরা উত্তর আশা কি মেলে হতে পারে, এবং এটা ভুল চিহ্নিত করার. 62 00:03:03,810 --> 00:03:06,560 >> এবং আমি যে কি জানেন আপনার ক্ষেত্রে কিছু এই সপ্তাহে. 63 00:03:06,560 --> 00:03:09,870 তাই আমি ফিরে এবং নিজে গিয়েছিলাম সকলের কোড regraded. 64 00:03:09,870 --> 00:03:12,780 যদিও ভবিষ্যতে, , নিশ্চিত করুন যে দয়া 65 00:03:12,780 --> 00:03:14,570 আপনি চালাচ্ছেন যে আপনার কোড 50 বার. 66 00:03:14,570 --> 00:03:17,970 এটা টিএ জন্য ব্যাথা ধরনের কারণ regrade নিজে ফিরে যান এবং এটি আছে 67 00:03:17,970 --> 00:03:21,197 ভাষার জন্য প্রতিটি pset একক, একটু মিস উদাহরণস্বরূপ. 68 00:03:21,197 --> 00:03:22,530 তাই আমি কোনো পয়েন্ট বন্ধ করা হয়নি. 69 00:03:22,530 --> 00:03:25,210 আমি হয়তো গ্রহণ বন্ধ মনে এক বা নকশা জন্য দুটি. 70 00:03:25,210 --> 00:03:27,710 যদিও ভবিষ্যতে, যদি আপনি, check50 ব্যর্থ করছি 71 00:03:27,710 --> 00:03:31,330 পয়েন্ট নিয়ে যাওয়া হবে শুদ্ধি জন্য বন্ধ. 72 00:03:31,330 --> 00:03:35,020 >> উপরন্তু, psets হয় দুপুরে শুক্রবার কারণে. 73 00:03:35,020 --> 00:03:38,990 আমি সাত মিনিটের আছে মনে হয় আমরা আপনাকে দিতে যে দেরী অন্তর্বর্তী সময়কাল. 74 00:03:38,990 --> 00:03:42,434 হার্ভার্ড সময় প্রতি, তাদের অনুমতি দেয়া হয় সাত মিনিট দেরী সবকিছু করতে হবে. 75 00:03:42,434 --> 00:03:44,350 সুতরাং এখানে ইয়েল, আমরা করব পাশাপাশি যে মেনে চলে. 76 00:03:44,350 --> 00:03:47,910 কিন্তু অনেক সুন্দর, 12:07 এ, আপনার pset মধ্যে নয়, তাহলে 77 00:03:47,910 --> 00:03:49,720 এটা হিসাবে দেরী চিহ্নিত করা যাচ্ছে. 78 00:03:49,720 --> 00:03:53,160 যখন তাই এটি চিহ্নিত করা হয় হিসাবে দেরী, TA-- আমি আছি 79 00:03:53,160 --> 00:03:54,870 এখনও আপনার psets শূন্য করা যাচ্ছে. 80 00:03:54,870 --> 00:03:56,760 তাই আপনি এখনও একটি গ্রেড প্রদর্শিত দেখতে পাবেন. 81 00:03:56,760 --> 00:03:58,820 তবে এ জানি যে সেমিস্টারে শেষে, 82 00:03:58,820 --> 00:04:02,270 সব দেরী psets শুধু হবে স্বয়ংক্রিয়ভাবে কম্পিউটার দ্বারা zeroed. 83 00:04:02,270 --> 00:04:04,490 >> আমরা দুটি কারণে এই কাজ. 84 00:04:04,490 --> 00:04:09,220 এক, কখনও কখনও আমরা পেতে ডিন এর অজুহাত মত, মাফ, 85 00:04:09,220 --> 00:04:10,762 পরে যে আমি এখনো সম্পর্কে জানি না. 86 00:04:10,762 --> 00:04:13,761 তাই আমরা যদি আমরা শূন্য করছেন তা নিশ্চিত করার জন্য চাই ধরো সবকিছু মত, আমি আছি 87 00:04:13,761 --> 00:04:15,080 একটি ডিন এর অজুহাত অনুপস্থিত. 88 00:04:15,080 --> 00:04:17,000 আর দ্বিতীয়ত, এ রাখতে মন, আপনি এখনও করতে পারেন 89 00:04:17,000 --> 00:04:19,370 এক pset ড্রপ যে পূর্ণ সুযোগ পয়েন্ট আছে. 90 00:04:19,370 --> 00:04:21,430 আর তাই আমরা গ্রেড করতে চান আপনার Psets সব ঠিক 91 00:04:21,430 --> 00:04:24,730 আপনার সুযোগ এর নিশ্চিত যে সেখানে এবং আপনি তাদের চেষ্টা করছেন. 92 00:04:24,730 --> 00:04:29,150 এটা দেরি হয়ে গেছে তাই, এমনকি যদি আপনি এখনও হবে সুযোগ পয়েন্ট জন্য ক্রেডিট পান, আমি মনে করি. 93 00:04:29,150 --> 00:04:33,730 >> গল্প তাই নৈতিক, না নিশ্চিত আপনার psets সময়ের হয়. 94 00:04:33,730 --> 00:04:38,350 আর তারা সময়ের না হলে, খুব ভালো না জানি. 95 00:04:38,350 --> 00:04:41,678 হ্যা, আমি এগিয়ে যেতে, কেউ আছে pset মতামত সংক্রান্ত কোন প্রশ্ন? 96 00:04:41,678 --> 00:04:42,178 হ্যা. 97 00:04:42,178 --> 00:04:43,630 >> শ্রোতা: আপনি আমরা বলতে চেয়েছেন psets এক ড্রপ করতে পারেন? 98 00:04:43,630 --> 00:04:44,296 >> Andi Peng: হ্যা. 99 00:04:44,296 --> 00:04:47,050 সুতরাং নয়টি psets সার্বিক আছে সেমিস্টারে অবশ্যই বেশী. 100 00:04:47,050 --> 00:04:50,610 আর আপনি সুযোগ আছে points-- তাই সুযোগ, শুধু হয় 101 00:04:50,610 --> 00:04:53,567 অনেক সুন্দর, আপনি করার চেষ্টা করছেন সমস্যা নেই, আপনি, সময় নির্বাণ হয় 102 00:04:53,567 --> 00:04:56,150 যদি আপনি করেছি যে দেখানো হয় প্রদর্শিত আপনি বৈশিষ্ট পড়েছি. 103 00:04:56,150 --> 00:04:57,191 যে অনেক সুন্দর সুযোগ আছে. 104 00:04:57,191 --> 00:04:59,370 আর আপনি পূরণে যদি সুযোগ পয়েন্ট, আমরা 105 00:04:59,370 --> 00:05:03,360 সর্বনিম্ন ড্রপ করতে পারেন পূর্ণ সুযোগ নিয়ে বাইরে এক. 106 00:05:03,360 --> 00:05:06,790 সুতরাং যে আপনার সুবিধা আছে সম্পূর্ণ এবং প্রতি pset চেষ্টা. 107 00:05:06,790 --> 00:05:10,320 >> এমনকি upload-- কেউ যদি তাদের তাদের সব আপলোড, কাজ. 108 00:05:10,320 --> 00:05:13,711 এবং তারপর আমরা আশা করতে সক্ষম হবেন আপনি ঐ পয়েন্ট কিছু ফিরিয়ে দিতে. 109 00:05:13,711 --> 00:05:14,210 কুল. 110 00:05:14,210 --> 00:05:16,780 অন্য কোন প্রশ্ন? 111 00:05:16,780 --> 00:05:17,840 গ্রেট. 112 00:05:17,840 --> 00:05:21,960 >> দ্বিতীয়ত, অফিস কয়েক hours-- অফিস ঘন্টার সম্পর্কে দ্রুত নোট. 113 00:05:21,960 --> 00:05:24,300 সুতরাং প্রথম, প্রথম সপ্তাহে আসতে. 114 00:05:24,300 --> 00:05:26,909 কোন এক সময়ে কি হয় সোমবার অফিসে ঘন্টা. 115 00:05:26,909 --> 00:05:28,700 Christabel এসেছিলেন অফিসে ঘন্টা গত রাতে. 116 00:05:28,700 --> 00:05:29,691 হ্যা, Christabel. 117 00:05:29,691 --> 00:05:32,190 আর আমরা অফিসে কি আছে হয়নি ঘন্টা শেষ রাতে, Christabel? 118 00:05:32,190 --> 00:05:33,020 >> শ্রোতা: আমরা আইসক্রিম ছিল. 119 00:05:33,020 --> 00:05:36,160 >> Andi Peng: তাই ঠিক যে, আমরা ছিল অফিস সময়ে আইসক্রিম শেষ রাতে. 120 00:05:36,160 --> 00:05:39,390 আমি যে আপনাকে প্রতিশ্রুতি দিতে না পারলেও আমরা অফিসে ঘন্টা এ আইসক্রিম থাকবে 121 00:05:39,390 --> 00:05:43,230 প্রতি সপ্তাহে, আমি কি তোমাদেরকে এই ওয়াদা করতে পারি উল্লেখযোগ্যভাবে একটি হতে হবে 122 00:05:43,230 --> 00:05:45,380 টিএ অনুপাত ভাল ছাত্র. 123 00:05:45,380 --> 00:05:47,650 পাঠ্য মত, এটা এক তিনটি মত. 124 00:05:47,650 --> 00:05:50,350 সঙ্গে যে বিপরীতে যেহেতু বৃহস্পতিবার, আপনি প্রায় 150 পেয়েছেন 125 00:05:50,350 --> 00:05:52,830 সত্যিই বাচ্চাদের এবং কোন আইসক্রিম জোর. 126 00:05:52,830 --> 00:05:55,360 আর এটা শুধু যে কেউ জন্য উৎপাদনশীল না. 127 00:05:55,360 --> 00:05:58,730 গল্পের তাই নৈতিক, তাড়াতাড়ি আসতে হয় অফিসে ঘন্টা এবং ভালো কিছু করার 128 00:05:58,730 --> 00:06:00,310 ঘটবে. 129 00:06:00,310 --> 00:06:02,110 >> এছাড়াও, প্রশ্ন জিজ্ঞাসা করার জন্য প্রস্তুত আসে. 130 00:06:02,110 --> 00:06:03,200 তুমি জান? 131 00:06:03,200 --> 00:06:05,420 তথাপি কি Tas পর্যালোচনা, আমি বলার অপেক্ষা রাখে না হয়েছে মনে, 132 00:06:05,420 --> 00:06:10,710 আমরা কয়েক ছাত্র পেয়ে থাকেন 10:50, মত, বৃহস্পতিবার আসা যারা 133 00:06:10,710 --> 00:06:15,100 বৈশিষ্ট পড়া থাকার করবেন আমাকে সাহায্য মত হচ্ছে, আমাকে সাহায্য কর. 134 00:06:15,100 --> 00:06:18,200 দুর্ভাগ্যবশত যে সময়ে, আছে না আমরা আপনাকে অনেক সাহায্য করতে পারেন. 135 00:06:18,200 --> 00:06:19,590 তাই তাড়াতাড়ি সপ্তাহে আসা দয়া করে. 136 00:06:19,590 --> 00:06:22,040 অফিসে ঘন্টা তাড়াতাড়ি আসতে. 137 00:06:22,040 --> 00:06:23,350 প্রশ্ন জিজ্ঞাসা করার জন্য প্রস্তুত আসা. 138 00:06:23,350 --> 00:06:25,310 যেমন, নিশ্চিত করুন যে আপনি যে করুন একজন ছাত্র, যেখানে হয় 139 00:06:25,310 --> 00:06:27,620 আপনি যাতে করা প্রয়োজন Tas, ধরে আপনাকে গাইড করতে পারেন 140 00:06:27,620 --> 00:06:32,850 কি অফিসে ঘন্টা যা উচিত বরাদ্দ করা. 141 00:06:32,850 --> 00:06:37,380 >> দ্বিতীয়ত, তাই আমি জানি অধ্যাপকদের পরীক্ষা দিয়ে আমাদের অবাক চান. 142 00:06:37,380 --> 00:06:39,439 আমি একটি অধ্যাপক যারা ছিল ইয়ো, মত, পথ দ্বারা, 143 00:06:39,439 --> 00:06:41,230 যে মিডটার্ম স্মরণ আপনি আগামী সোমবার আছে. 144 00:06:41,230 --> 00:06:42,855 হ্যা, আমি যে মিডটার্ম সম্পর্কে জানেন না. 145 00:06:42,855 --> 00:06:45,630 তাই আমি যে হতে যাচ্ছি টিএ যে আপনি সব যে ব্যঙ্গ মনে করিয়ে দেয় 146 00:06:45,630 --> 00:06:47,270 আপনি কি জানেন, কারণ 0--, আমরা সি এস আছেন. 147 00:06:47,270 --> 00:06:50,730 এখন আমরা সম্পন্ন অ্যারে করেছি যে, আপনি পেতে এটা ব্যঙ্গ 0 কেন, অঁ্যা, 1 ব্যঙ্গ না? 148 00:06:50,730 --> 00:06:51,320 ঠিক আছে. 149 00:06:51,320 --> 00:06:52,490 ওহ, আমি যে এক কয়েকটি chuckles পেয়েছিলাম. 150 00:06:52,490 --> 00:06:53,120 ঠিক আছে. 151 00:06:53,120 --> 00:06:59,710 >> তাই ব্যঙ্গ 0 তাহলে অক্টোবর 14 হতে হবে আপনি সোমবার-বুধবার বিভাগে আছেন 152 00:06:59,710 --> 00:07:02,920 এবং 15 অক্টোবর আপনি হন তাহলে মঙ্গলবার-বৃহস্পতিবার অধ্যায়. 153 00:07:02,920 --> 00:07:05,630 এই জন্য প্রযোজ্য নয় হার্ভার্ডে আপনাদের মধ্যে যারা 154 00:07:05,630 --> 00:07:10,350 আমি আপনি সব হবেন মনে who-- 14 ই আপনার quizzes গ্রহণের. 155 00:07:10,350 --> 00:07:13,560 >> তাই হ্যাঁ, আগামী সপ্তাহে, যদি ডেভিড, বক্তৃতায়, যায় 156 00:07:13,560 --> 00:07:15,747 হাঁ, যে সম্পর্কে তাই ব্যঙ্গ আগামী সপ্তাহে, আপনি সব 157 00:07:15,747 --> 00:07:17,580 কারণ মর্মাহত হবে না আপনি অধ্যায় এসেছিলেন 158 00:07:17,580 --> 00:07:19,664 এবং আপনি যে জানেন আপনার ক্যুইজ 0 দুই সপ্তাহের মধ্যে হয়. 159 00:07:19,664 --> 00:07:21,580 আর আমরা পর্যালোচনা থাকবে সেশন এবং সবকিছু. 160 00:07:21,580 --> 00:07:26,360 সম্পর্কে তাই কোন উদ্বেগ যে জন্য ভয় হচ্ছে. 161 00:07:26,360 --> 00:07:29,890 কোন প্রশ্ন কোন প্রশ্ন before-- সব সংক্রান্ত যৌক্তিক বিষয় এ, 162 00:07:29,890 --> 00:07:32,591 শূন্য, অফিস ঘন্টা, বিভাগে? 163 00:07:32,591 --> 00:07:33,090 হ্যা. 164 00:07:33,090 --> 00:07:35,100 >> শ্রোতা: ব্যঙ্গ তাই বক্তৃতা করার সময় হতে যাচ্ছে? 165 00:07:35,100 --> 00:07:35,766 >> Andi Peng: হ্যা. 166 00:07:35,766 --> 00:07:39,460 ব্যঙ্গ সুতরাং, আমি মনে করি, 60 হয় যে সময় স্লট বরাদ্দ মিনিট 167 00:07:39,460 --> 00:07:42,240 আপনি শুধু নেব যে বক্তৃতা কক্ষে. 168 00:07:42,240 --> 00:07:44,810 সুতরাং যে আপনি আসতে হবে না একটি র্যান্ডম 7:00 PM তে পোস্ট করা, মত, উপর. 169 00:07:44,810 --> 00:07:46,140 এটা সব ভাল. 170 00:07:46,140 --> 00:07:47,100 হ্যা. 171 00:07:47,100 --> 00:07:50,060 কুল. 172 00:07:50,060 --> 00:07:50,840 >> ঠিক আছে. 173 00:07:50,840 --> 00:07:54,330 সুতরাং আমরা চলুন আপনাকে একটা ধারণা প্রবর্তন 174 00:07:54,330 --> 00:08:00,760 ডেভিড ধরনের ইতিমধ্যে আছে যে এই সপ্তাহে এই গত সপ্তাহে বক্তৃতায় ছোঁয়া. 175 00:08:00,760 --> 00:08:02,010 এটা, GDB বলা হচ্ছে. 176 00:08:02,010 --> 00:08:05,570 এবং কিভাবে আপনি অনেক, যখন আপনার psets লেখা অবশ্যই, 177 00:08:05,570 --> 00:08:09,981 বলছেন যে একটি বড় বাটন লক্ষ্য করেছি আপনার আইডিই উপরে "ডিবাগ"? 178 00:08:09,981 --> 00:08:10,480 ঠিক আছে. 179 00:08:10,480 --> 00:08:13,770 তাই এখন আমরা আসলে খুঁড়ে পাবেন কি যে বাটন রহস্য আসলে 180 00:08:13,770 --> 00:08:14,270 আছে. 181 00:08:14,270 --> 00:08:16,790 এবং আমি এটি একটি হল, আপনি গ্যারান্টি সুন্দর, সুন্দর জিনিস. 182 00:08:16,790 --> 00:08:20,740 >> এখন পর্যন্ত, আমি মনে করি আপ সুতরাং দুটি জিনিস আছে এর 183 00:08:20,740 --> 00:08:23,320 ছাত্র সাধারণত হয়েছে psets ডিবাগ যখন করছেন. 184 00:08:23,320 --> 00:08:27,635 এক, তারা হয় যোগ printf, () - তাই প্রতি কয়েক লাইন, 185 00:08:27,635 --> 00:08:29,760 তারা একটি printf () এ যোগ - ওহ, এই পরিবর্তনশীল কি? 186 00:08:29,760 --> 00:08:32,551 ওহ, এই পরিবর্তনশীল কি এখন আমি এবং আপনি কি ধরনের অগ্রগতি দেখতে 187 00:08:32,551 --> 00:08:33,940 আপনার কোড এটি সঞ্চালিত হিসাবে. 188 00:08:33,940 --> 00:08:37,030 অথবা বাচ্চারা কি দ্বিতীয় পদ্ধতি তারা শুধু গোটা ব্যাপারটাই লিখুন যে 189 00:08:37,030 --> 00:08:38,610 এবং তারপর শেষে এই মত যেতে. 190 00:08:38,610 --> 00:08:39,970 আশা রাখি, এটা কাজ করে. 191 00:08:39,970 --> 00:08:44,851 আমি আপনাকে গ্যারান্টি,, GDB ভালো যারা পদ্ধতির উভয় তুলনায়. 192 00:08:44,851 --> 00:08:45,350 হ্যা. 193 00:08:45,350 --> 00:08:46,980 তাই এটি আপনার নতুন ভাল বন্ধু হতে হবে. 194 00:08:46,980 --> 00:08:51,780 এটি একটি সুন্দর জিনিস কারণ যে দৃশ্যত প্রদর্শন উভয় 195 00:08:51,780 --> 00:08:54,850 কি আপনার কোড করছে একটি নির্দিষ্ট সময়ে 196 00:08:54,850 --> 00:08:57,486 পাশাপাশি এর কি সব আপনার ভেরিয়েবল বহন করা হয়, 197 00:08:57,486 --> 00:08:59,610 তাদের কি মান ভালো, যে নির্দিষ্ট সময়ে. 198 00:08:59,610 --> 00:09:02,670 আর এই ভাবে, আপনি কি সত্যিই করতে পারেন আপনার কোড ব্রেকপয়েন্ট সেট. 199 00:09:02,670 --> 00:09:04,350 আপনি পাতিপাতি মাধ্যমে চালানো যাবে. 200 00:09:04,350 --> 00:09:07,324 আর শুধু GDB জন্য থাকবে আপনি, আপনার জন্য প্রদর্শন 201 00:09:07,324 --> 00:09:09,490 কি সব আপনার ভেরিয়েবল তারা কি করছেন করছেন, 202 00:09:09,490 --> 00:09:10,656 কি কোড এর ঘটনাসমূহ. 203 00:09:10,656 --> 00:09:13,240 আর এমনভাবে, এটা এত সহজ দেখতে 204 00:09:13,240 --> 00:09:17,120 কি করতে printf হয়- ing পরিবর্তে ঘটছে অথবা আপনার বিবৃতি লিখে. 205 00:09:17,120 --> 00:09:19,160 >> সুতরাং আমরা পরে এই একটি উদাহরণ চেষ্টা করবো. 206 00:09:19,160 --> 00:09:20,660 সুতরাং এই একটি বিট বিমূর্ত মনে. 207 00:09:20,660 --> 00:09:23,490 কোন উদ্বেগ, আমরা উদাহরণ চেষ্টা করবো. 208 00:09:23,490 --> 00:09:29,170 তাই মূলত, তিনটি বৃহত্তম, আপনি GDB হবে ফাংশন সবচেয়ে বেশি ব্যবহৃত হয় 209 00:09:29,170 --> 00:09:32,500 এর পরে, উপর পদক্ষেপ, এবং বোতাম মধ্যে পর্যায়. 210 00:09:32,500 --> 00:09:34,860 আমি ওভার আগাইয়া যাচ্ছি সেখানে, আসলে, এই মুহূর্তে. 211 00:09:34,860 --> 00:09:40,930 >> তাই আপনাকে বলছি সব দেখতে পারেন অথবা আমি একটি বিট জুম করা উচিত? 212 00:09:40,930 --> 00:09:43,220 213 00:09:43,220 --> 00:09:44,470 ফিরে ইন, আপনি দেখতে পারেন? 214 00:09:44,470 --> 00:09:45,730 আমি জুম করা উচিত? 215 00:09:45,730 --> 00:09:46,480 একটুখানি মাত্র? 216 00:09:46,480 --> 00:09:49,390 ঠিক আছে শান্ত হও. 217 00:09:49,390 --> 00:09:50,280 আমরা শুরু করছি. 218 00:09:50,280 --> 00:09:50,960 ঠিক আছে. 219 00:09:50,960 --> 00:09:57,000 >> তাই আমি আমার এখানে, আছে অর্থগৃধ্নু জন্য বাস্তবায়ন. 220 00:09:57,000 --> 00:10:01,430 আর আপনাকে বলছি অনেক লিখেছে যে form-- যখন লুপ অর্থগৃধ্নু 221 00:10:01,430 --> 00:10:04,890 না করার জন্য একটি পুরোপুরি গ্রহণযোগ্য উপায় এটা কেবল হয় না অন্য ভাবে এটিকে 222 00:10:04,890 --> 00:10:06,280 মডুলো মধ্যে বিভক্ত. 223 00:10:06,280 --> 00:10:09,290 তারপর আপনি থাকতে পারে, কারণ আপনার মূল্য এবং তারপর আপনার বাকি আছে. 224 00:10:09,290 --> 00:10:11,150 এবং তারপর আপনি ঠিক করতে পারেন এটি সব একসাথে যুক্ত. 225 00:10:11,150 --> 00:10:13,390 আমি কি করছি যুক্তি আছে এখানে সকলের জানার জন্য, 226 00:10:13,390 --> 00:10:14,117 আমরা শুরু করার আগে? 227 00:10:14,117 --> 00:10:16,760 228 00:10:16,760 --> 00:10:17,980 কাইন্ড? 229 00:10:17,980 --> 00:10:18,710 কুল. 230 00:10:18,710 --> 00:10:19,210 গ্রেট. 231 00:10:19,210 --> 00:10:21,290 এটি একটি চমত্কার সেক্সি টুকরা কোড, আমি বলতে হবে. 232 00:10:21,290 --> 00:10:23,502 ভালো লেগেছে আমি ডেভিড, এ বলেন, একটা সময় পরে, বক্তৃতা, 233 00:10:23,502 --> 00:10:25,960 আপনি সমস্ত কোড দেখা শুরু করব সুন্দর কিছু যে হিসাবে. 234 00:10:25,960 --> 00:10:29,950 এবং মাঝে মাঝে আপনাকে সুন্দর দেখতে হলে কোড, এটা যেমন একটা চমৎকার অনুভূতি. 235 00:10:29,950 --> 00:10:35,410 >> সুতরাং যাইহোক, এই কোড খুব থাকাকালীন সুন্দর, এটি সঠিকভাবে কাজ করে না. 236 00:10:35,410 --> 00:10:37,750 তাই আসুন এই প্রথম check50 চালানো যাক. 237 00:10:37,750 --> 00:10:39,440 50 20-- OOP চেক করুন. 238 00:10:39,440 --> 00:10:43,221 239 00:10:43,221 --> 00:10:43,720 2? 240 00:10:43,720 --> 00:10:44,990 যে pset2 হয়? 241 00:10:44,990 --> 00:10:46,870 হ্যা. 242 00:10:46,870 --> 00:10:47,520 ওহ, pset1. 243 00:10:47,520 --> 00:10:50,970 244 00:10:50,970 --> 00:10:52,890 ঠিক আছে. 245 00:10:52,890 --> 00:10:53,900 সুতরাং আমরা check50 চালানো. 246 00:10:53,900 --> 00:11:01,550 247 00:11:01,550 --> 00:11:07,170 >> আর আপনাকে বলছি এখানে দেখতে পারেন, এটা ক্ষেত্রে একটি দম্পতি ব্যর্থ হচ্ছে. 248 00:11:07,170 --> 00:11:10,165 আর যদি আপনি কিছু জানার জন্য, আপনার সমস্যা সেট করছেন অবশ্যই, 249 00:11:10,165 --> 00:11:11,110 আহ, কেন এটা কাজ করছে না, চাই আপনি. 250 00:11:11,110 --> 00:11:13,318 কেন এটা কিছু জন্য কাজ করছে মান না কিন্তু অন্যদের জন্য? 251 00:11:13,318 --> 00:11:17,760 ওয়েল, GDB আপনাকে চিত্রে সাহায্য যাচ্ছে কেন খুঁজে যারা ইনপুট কাজ করা হয় নি. 252 00:11:17,760 --> 00:11:18,320 >> ঠিক আছে. 253 00:11:18,320 --> 00:11:21,640 সুতরাং আসুন, এক দেখতে দিন আমি check50 ব্যর্থ হয়েছিল চেক 254 00:11:21,640 --> 00:11:24,920 0.41 এর ইনপুট মান ছিল. 255 00:11:24,920 --> 00:11:27,830 সঠিক উত্তরটি যাতে আপনি পেয়ে হবে একটি 4 হয়. 256 00:11:27,830 --> 00:11:33,090 কিন্তু এর পরিবর্তে আমি প্রিন্ট আউট করছি ভুল যা 3-এন, হয়. 257 00:11:33,090 --> 00:11:36,190 তাই শুধু, এর শুধু নিজে এই চালানো যাক check50 কাজ করছে তা নিশ্চিত করুন. 258 00:11:36,190 --> 00:11:36,940 এর ./greedy করুক না. 259 00:11:36,940 --> 00:11:40,130 260 00:11:40,130 --> 00:11:43,340 ওহো, আমি লোভী করতে হবে. 261 00:11:43,340 --> 00:11:43,840 আমরা শুরু করছি. 262 00:11:43,840 --> 00:11:44,381 এখন ./greedy. 263 00:11:44,381 --> 00:11:46,950 264 00:11:46,950 --> 00:11:47,670 >> কত অপরিশোধিত হয়? 265 00:11:47,670 --> 00:11:49,550 এর 0.41 করুক না. 266 00:11:49,550 --> 00:11:52,590 আর হাঁ, আমরা এখানে দেখতে এটা 3 outputting যে 267 00:11:52,590 --> 00:11:55,160 যখন সঠিক উত্তরটি, আসলে, 4 হওয়া উচিত. 268 00:11:55,160 --> 00:12:01,460 সুতরাং আসুন, GDB লিখতে দিন এবং আমরা কিভাবে দেখতে এই সমস্যা স্থাপন সম্পর্কে যেতে পারেন. 269 00:12:01,460 --> 00:12:03,992 >> প্রথম ধাপ তাই সবসময় আপনার কোড ডিবাগ 270 00:12:03,992 --> 00:12:05,950 একটি ব্রেকপয়েন্ট সেট করতে হয়, অথবা একটি বিন্দু যা আপনি 271 00:12:05,950 --> 00:12:09,079 কম্পিউটার বা চান ডিবাগার এ খুঁজছেন শুরু করতে. 272 00:12:09,079 --> 00:12:11,120 যদি আপনি না তাই না সত্যিই আপনার কি সমস্যা হয়, 273 00:12:11,120 --> 00:12:14,670 সাধারণত, সাধারণত জিনিস আমরা করতে চান না প্রধান আমাদের ব্রেকপয়েন্ট সেট করতে হয়. 274 00:12:14,670 --> 00:12:18,520 তাই আপনাকে বলছি এই দেখতে পারেন যদি ঠিক আছে লাল বাটন, 275 00:12:18,520 --> 00:12:22,860 হাঁ, যে আমার অস্ত যাবার একটি প্রধান ফাংশন জন্য ব্রেকপয়েন্ট. 276 00:12:22,860 --> 00:12:24,130 আমি যে ক্লিক করুন. 277 00:12:24,130 --> 00:12:26,130 >> এবং তারপর আমি আমার ডিবাগ বাটন পর্যন্ত যেতে পারেন. 278 00:12:26,130 --> 00:12:27,036 আমি যে বাটন আঘাত. 279 00:12:27,036 --> 00:12:31,710 280 00:12:31,710 --> 00:12:36,555 আমি যদি আমাকে ফিরে জুম আউট করা যাক. 281 00:12:36,555 --> 00:12:38,020 আমরা শুরু করছি. 282 00:12:38,020 --> 00:12:40,730 তাই আমরা এখানে, ডানদিকে একটি প্যানেল আছে. 283 00:12:40,730 --> 00:12:43,680 আমি পিছন, বলছি দুঃখিত নই, আপনি সত্যিই সত্যিই ভাল দেখতে পারে না. 284 00:12:43,680 --> 00:12:49,090 কিন্তু মূলত, সব এই ডান প্যানেলে করছে 285 00:12:49,090 --> 00:12:53,130 উভয় হাইলাইট সম্পর্কে অবগত থাকার হয় কোড লাইন, যা লাইন, 286 00:12:53,130 --> 00:12:56,640 কম্পিউটার যা বর্তমানে চলমান, পাশাপাশি আপনার ভেরিয়েবল সব হিসাবে 287 00:12:56,640 --> 00:12:57,600 এখানে নিচে. 288 00:12:57,600 --> 00:13:00,487 >> তাই আপনি যদি সেন্ট, কয়েন, এন পেয়েছেন, সমস্ত বিভিন্ন জিনিষ ঘোষণা 289 00:13:00,487 --> 00:13:01,070 এই মুহূর্তে. 290 00:13:01,070 --> 00:13:04,850 কোন উদ্বেগ, কারণ আমরা না আসলে আছে এখনো কোনো ভেরিয়েবল তাদের সক্রিয়া. 291 00:13:04,850 --> 00:13:07,200 আপনার কম্পিউটার এ সুতরাং আপনার কম্পিউটার শুধু দেখা হচ্ছে, 292 00:13:07,200 --> 00:13:14,376 ওহ, 32767 সর্বশেষ ব্যবহৃত ফাংশন ছিল আমার কম্পিউটার এ যে মেমরি স্থান. 293 00:13:14,376 --> 00:13:16,000 সেন্ট বর্তমানে যেখানে আর তাই যে. 294 00:13:16,000 --> 00:13:19,360 কিন্তু কোন যে একবার আপনি, কোড চালানো এটি সক্রিয়া হওয়া উচিত. 295 00:13:19,360 --> 00:13:24,110 >> সুতরাং আসুন দ্বারা লাইন দিয়ে যেতে দেওয়া লাইন, তা এখানে ঘটছে. 296 00:13:24,110 --> 00:13:25,350 ঠিক আছে. 297 00:13:25,350 --> 00:13:29,400 এখানে আপ সুতরাং তিন হয় আমি শুধু ব্যাখ্যা যে বোতাম. 298 00:13:29,400 --> 00:13:34,090 আপনি, খেলা, অথবা চালান ফাংশন আছে বাটন, আপনি, বাটনের উপর ধাপ আছে 299 00:13:34,090 --> 00:13:36,600 এবং আপনি বোতাম মধ্যে পর্যায় আছে. 300 00:13:36,600 --> 00:13:41,260 এবং মূলত, সব তিনটি তাদের শুধু আপনার কোড মধ্য দিয়ে যেতে 301 00:13:41,260 --> 00:13:42,690 এবং বিভিন্ন জিনিষ না. 302 00:13:42,690 --> 00:13:45,680 >> তাই সাধারণত, যখন আপনি ডিবাগিং সেটি, আমরা শুধু খেলা আঘাত করতে চাই না, 303 00:13:45,680 --> 00:13:47,930 খেলা শুধু চালানো হবে, কারণ এটা শেষে আপনার কোড. 304 00:13:47,930 --> 00:13:49,070 এবং তারপর আপনি আসলে না জানেন কি আপনার সমস্যা 305 00:13:49,070 --> 00:13:51,432 আপনি একাধিক ব্রেকপয়েন্ট সেট যদি হয়. 306 00:13:51,432 --> 00:13:53,890 আপনি একাধিক ব্রেকপয়েন্ট সেট করেন তাহলে, এটা শুধু স্বয়ংক্রিয়ভাবে 307 00:13:53,890 --> 00:13:56,030 এক ব্রেকপয়েন্ট থেকে চালানো, পরের পরের যাও, যাও. 308 00:13:56,030 --> 00:13:58,030 কিন্তু এই ক্ষেত্রে আমরা করেছি শুধু যে এক, আমরা কারণ 309 00:13:58,030 --> 00:13:59,970 আমাদের পথ কাজ করতে চান নিচ থেকে নিচে. 310 00:13:59,970 --> 00:14:04,830 তাই আমরা যে বাটন উপেক্ষা চলুন এই মুহূর্তে এই অনুষ্ঠানের উদ্দেশ্যের জন্য. 311 00:14:04,830 --> 00:14:08,230 >> ফাংশন ওভার পদক্ষেপ সুতরাং শুধু প্রতিটি লাইন ধরে পদক্ষেপ 312 00:14:08,230 --> 00:14:11,510 এবং আপনি বলে কি কম্পিউটার করছে. 313 00:14:11,510 --> 00:14:14,630 ফাংশন মধ্যে ধাপ যায় প্রকৃত ফাংশন মধ্যে 314 00:14:14,630 --> 00:14:16,000 যে কোড আপনার লাইনে আছেন. 315 00:14:16,000 --> 00:14:19,070 সুতরাং উদাহরণস্বরূপ, printf (), যে অধিকার, একটি ফাংশন? 316 00:14:19,070 --> 00:14:21,980 আমি শারীরিকভাবে ধাপে চেয়েছিলেন printf () ফাংশন মধ্যে, 317 00:14:21,980 --> 00:14:25,610 আমি আসলে সমাচার মধ্যে যেতে হবে printf, () লেখা এবং দেখতে হয় যেখানে কোড 318 00:14:25,610 --> 00:14:26,730 সেখানে কি হচ্ছে. 319 00:14:26,730 --> 00:14:29,924 >> কিন্তু সাধারণত, আমরা ধরে নিই যে আমরা আপনাকে দিতে যে কোড কাজ করে. 320 00:14:29,924 --> 00:14:31,340 আমরা () কাজ করছে printf, অনুমান. 321 00:14:31,340 --> 00:14:33,170 আমরা GetInt () কাজ করে যাচ্ছে অনুমান. 322 00:14:33,170 --> 00:14:35,170 তাই কোন প্রয়োজন নেই যারা ফাংশন মধ্যে সিঁড়ির ধাপ. 323 00:14:35,170 --> 00:14:37,170 কিন্তু ফাংশন আছে যদি আপনি নিজেকে লিখুন যে 324 00:14:37,170 --> 00:14:39,060 আপনি না পরীক্ষা করতে চান যে কি ঘটছে খুঁজে, 325 00:14:39,060 --> 00:14:41,200 আপনি পইঠা চায় যে ফাংশন মধ্যে. 326 00:14:41,200 --> 00:14:43,940 >> তাই এই মুহূর্তে আমরা শুধু চলুন কোড এই টুকরা উপর পইঠা. 327 00:14:43,940 --> 00:14:44,485 তাহলে দেখা যাক. 328 00:14:44,485 --> 00:14:46,547 ওহ, মুদ্রণ, "ওহ হ্যায়, কিভাবে অনেক পরিবর্তন অপরিশোধিত হয়? " 329 00:14:46,547 --> 00:14:47,130 আমরা পরোয়া করি না. 330 00:14:47,130 --> 00:14:49,830 আমরা যে কাজ জানেন, তাই আমরা পদধ্বনি উপর. 331 00:14:49,830 --> 00:14:53,290 >> তাই এন, আমাদের ভাসা যা যে আমরা initialized-- করেছি বা declared-- 332 00:14:53,290 --> 00:14:56,810 উপরের আপ, আমরা এখন করছি GetFloat, যে সমপরিমান (). 333 00:14:56,810 --> 00:14:57,810 সুতরাং আসুন যে উপর পইঠা যাক. 334 00:14:57,810 --> 00:14:59,580 আর আমরা দেখতে নীচে এখানে, প্রোগ্রাম 335 00:14:59,580 --> 00:15:03,360 একটি মান ইনপুট আমাকে অনুরোধ করা হয়. 336 00:15:03,360 --> 00:15:08,580 তাই ইনপুট এর আমরা চাই মান দিন 0.41, যা এখানে পরীক্ষা. 337 00:15:08,580 --> 00:15:09,160 গ্রেট. 338 00:15:09,160 --> 00:15:12,780 >> তাই এখন n-- আপনাকে বলছি দেখতে না এখানে, নীচে এ এটা 339 00:15:12,780 --> 00:15:15,140 stored-- আমরা কারণ এখনো বৃত্তাকার নি, এটা 340 00:15:15,140 --> 00:15:19,540 এই দানবসদৃশ মধ্যে সংরক্ষিত 0,4099999996 যে ভাসা, 341 00:15:19,540 --> 00:15:22,550 পাসে যথেষ্ট যা আমাদের উদ্দেশ্য, এই মুহূর্তে, 0.41 থেকে. 342 00:15:22,550 --> 00:15:26,090 এবং তারপর আমরা পরবর্তী হিসেবে দেখতে পাবেন আমরা কর্মসূচি নিয়ে পদবিন্যাস অবিরত, 343 00:15:26,090 --> 00:15:29,850 এখানে পরে, এন পরিণত হয়েছে বৃত্তাকার এবং সেন্ট 41 হয়ে গেছে. 344 00:15:29,850 --> 00:15:30,350 গ্রেট. 345 00:15:30,350 --> 00:15:32,230 তাই আমরা আমাদের রাউন্ডইং এর কাজ জানি. 346 00:15:32,230 --> 00:15:34,700 আমরা যে আমরা জানি সেন্ট সঠিক সংখ্যা, 347 00:15:34,700 --> 00:15:36,990 তাই আমরা যে জানি যে না সত্যিই সমস্যা. 348 00:15:36,990 --> 00:15:40,050 >> সুতরাং আমরা পদবিন্যাস অবিরত এই প্রোগ্রাম উপর. 349 00:15:40,050 --> 00:15:40,900 আমরা এখানে যান. 350 00:15:40,900 --> 00:15:46,139 আর তাই এই লাইন কোড পর আমরা আমরা কত ত্রৈমাসিক জানা উচিত. 351 00:15:46,139 --> 00:15:46,680 আমরা উপর পইঠা. 352 00:15:46,680 --> 00:15:52,040 এবং আমরা, আসলে, এক আছে না দেখতে কোয়ার্টার আমরা 25 বিয়োগ করেছি কারণ 353 00:15:52,040 --> 00:15:53,790 41 আমাদের প্রারম্ভিক মান থেকে. 354 00:15:53,790 --> 00:15:55,890 আর আমরা আমাদের সেন্ট জন্য 16 বাম আছে. 355 00:15:55,890 --> 00:15:58,830 >> সবাই বুঝতে না প্রোগ্রামের মাধ্যমে পদবিন্যাস করা হয় 356 00:15:58,830 --> 00:16:02,980 এবং কেন সেন্ট এখন 16 হয়ে গেছে এবং কেন, এখন, কয়েন 1 পরিণত হয়েছে? 357 00:16:02,980 --> 00:16:04,610 সবাই যে যুক্তি অনুসরণ করছে? 358 00:16:04,610 --> 00:16:05,110 কুল. 359 00:16:05,110 --> 00:16:07,860 , এই বিন্দু থেকে তাই প্রোগ্রাম এর কাজ, তাই না? 360 00:16:07,860 --> 00:16:09,797 আমরা এটা ঠিক করছে জানেন আমরা এটা করতে চান কি. 361 00:16:09,797 --> 00:16:11,880 আমরা আসলে না ওহ, প্রিন্ট আউট আছে, কি 362 00:16:11,880 --> 00:16:14,430 এই সময়ে সেন্ট, হয় এই সময়ে কয়েন কি. 363 00:16:14,430 --> 00:16:17,170 >> আমরা প্রোগ্রামের মাধ্যমে যাচ্ছে অবিরত. 364 00:16:17,170 --> 00:16:18,100 স্টেপ ওভার. 365 00:16:18,100 --> 00:16:18,620 কুল. 366 00:16:18,620 --> 00:16:19,700 আমরা এটি dimes ঝালিয়ে. 367 00:16:19,700 --> 00:16:20,200 গ্রেট. 368 00:16:20,200 --> 00:16:22,367 আমরা এখানে কেউ আছে দেখতে একটা কয়েন জন্য $ 0.10 বন্ধ. 369 00:16:22,367 --> 00:16:23,450 আর এখন আমরা দুটি কয়েন আছে. 370 00:16:23,450 --> 00:16:25,260 এটা সঠিক. 371 00:16:25,260 --> 00:16:31,555 >> আমরা পেনিসমূহ পুনরালোচনা এবং আমরা দেখতে আমরা সেন্ট ওভার বাকি পেয়েছেন. 372 00:16:31,555 --> 00:16:32,680 হুম, যে অদ্ভুত. 373 00:16:32,680 --> 00:16:37,540 এখানে প্রোগ্রাম এ, আমি কথা ছিল আমার পেনিসমূহ বিয়োগ হয়েছে. 374 00:16:37,540 --> 00:16:39,400 সম্ভবত আমি শুধু ছিল না যে লাইন অধিকার করছেন. 375 00:16:39,400 --> 00:16:42,190 এবং হায়, আপনি দেখতে পারেন এখানে, কারণ আমরা জানি 376 00:16:42,190 --> 00:16:44,360 আমরা পদবিন্যাস করা হয় যে লাইন 32 এবং 33 মাধ্যমে, 377 00:16:44,360 --> 00:16:50,560 যে যেখানে আমাদের প্রোগ্রাম অযৌক্তিকভাবে ভেরিয়েবল চালানো ছিল. 378 00:16:50,560 --> 00:16:55,136 সুতরাং আমরা চেহারা এবং ওহ, দেখতে পারেন, আমি এখানে সেন্ট subtracting করছি, 379 00:16:55,136 --> 00:16:57,010 কিন্তু আমি আসলে নই আমার মুদ্রার মান যোগ. 380 00:16:57,010 --> 00:16:57,860 আমি সেন্ট যোগ করছি. 381 00:16:57,860 --> 00:17:00,234 আর আমি যোগ করতে চাই না সেন্ট, আমি কয়েন যোগ করতে চান. 382 00:17:00,234 --> 00:17:05,420 সুতরাং আমরা কয়েন যে পরিবর্তন করেন, আমরা একটি কাজ প্রোগ্রাম পেয়েছেন. 383 00:17:05,420 --> 00:17:06,730 আমি check50 চালাতে পারেন. 384 00:17:06,730 --> 00:17:11,063 আপনি শুধু, GDB সঠিক আউট থেকে প্রস্থান করতে পারেন এখানে এবং তারপর আবার check50 চালানো. 385 00:17:11,063 --> 00:17:11,938 আমি শুধু এই কাজ করতে পারে. 386 00:17:11,938 --> 00:17:14,822 387 00:17:14,822 --> 00:17:18,480 আমি লোভী করতে হবে. 388 00:17:18,480 --> 00:17:19,940 0.41. 389 00:17:19,940 --> 00:17:22,819 আর এখানে, এটা মুদ্রণ সঠিক উত্তর খুঁজে. 390 00:17:22,819 --> 00:17:26,569 >> আপনাকে বলছি দেখতে পারেন হিসাবে সুতরাং, GDB সত্যিই একটি শক্তিশালী হাতিয়ার 391 00:17:26,569 --> 00:17:29,940 আমরা এত কোড আছে জন্য এবং যাচ্ছে, তাই অনেক ভেরিয়েবল 392 00:17:29,940 --> 00:17:32,510 এটা যেমন, আমাদের জন্য কঠিন যে একটি মানবিক, ট্র্যাক রাখতে. 393 00:17:32,510 --> 00:17:35,360 GDB মধ্যে কম্পিউটার, ডিবাগার, ক্ষমতা আছে 394 00:17:35,360 --> 00:17:37,020 সবকিছু ট্র্যাক রাখতে. 395 00:17:37,020 --> 00:17:40,480 আমি সম্ভবত Visionaire এ, আপনাকে বলছি, জানি কিছু সেগমেন্টেশন ফল্ট আঘাত হতে পারে 396 00:17:40,480 --> 00:17:43,150 আপনি চলমান ছিল, কারণ আপনার অ্যারের সীমার বাইরে. 397 00:17:43,150 --> 00:17:46,510 সিজার উদাহরণে, যে ঠিক আমি এখানে কি প্রয়োগ করেছি. 398 00:17:46,510 --> 00:17:50,060 >> তাই আমি পরীক্ষা করার জন্য ভুলে গেছি কি ঘটতে পারে আমি 399 00:17:50,060 --> 00:17:52,510 দুটি কমান্ড লাইন আর্গুমেন্ট আছে কি না. 400 00:17:52,510 --> 00:17:53,880 আমি ঠিক যে চেক রাখা হয়নি. 401 00:17:53,880 --> 00:17:57,380 আমি Debug-- চালানো হলে আমি পড়ি ক্লাস থ্রিতে আমার ব্রেকপয়েন্ট অধিকার আছে. 402 00:17:57,380 --> 00:17:58,055 আমি ডিবাগ চালানো. 403 00:17:58,055 --> 00:18:15,880 404 00:18:15,880 --> 00:18:16,550 >> ঠিক আছে. 405 00:18:16,550 --> 00:18:17,050 হ্যা. 406 00:18:17,050 --> 00:18:20,350 তাই আসলে,, GDB অনুমিত ছিল আমাকে সেখানে বলা আছে 407 00:18:20,350 --> 00:18:22,300 সেখানে একটি সেগমেন্টেশন ফল্ট ছিল. 408 00:18:22,300 --> 00:18:24,883 আমি কি ঘটছে ছিল জানি না ঠিক আছে, কিন্তু আমি এটা দৌড়ে যখন 409 00:18:24,883 --> 00:18:25,590 এটি কাজ ছিল. 410 00:18:25,590 --> 00:18:29,410 আপনি মাধ্যমে লাইনের কোড চালানো হলে এবং শুধু GDB হঠাৎ, আপনি প্রস্থান পারে 411 00:18:29,410 --> 00:18:31,540 আপ যান এবং লাল পথভ্রষ্টতা দেখুন. 412 00:18:31,540 --> 00:18:33,930 এটা, আরে, আপনি বলতে পারবেন একটি সেগমেন্টেশন ফল্ট ছিল, 413 00:18:33,930 --> 00:18:38,550 যা আপনি অ্যাক্সেস করতে চেষ্টা করে যে মানে অস্তিত্ব ছিল না যে একটি অ্যারের মধ্যে স্থান. 414 00:18:38,550 --> 00:18:39,050 হ্যা. 415 00:18:39,050 --> 00:18:43,280 >> পরের সমস্যা তাই এই সপ্তাহে সেট, আপনাকে বলছি 416 00:18:43,280 --> 00:18:45,600 সম্ভবত অনেক আছে হবে ভেরিয়েবল চারপাশে ঘিরে আছে. 417 00:18:45,600 --> 00:18:48,560 আপনি নিশ্চিত হতে যাচ্ছেন না কি তারা সব একটি নির্দিষ্ট সময়ে মানে. 418 00:18:48,560 --> 00:18:53,560 তাই GDB সত্যিই figuring আপনাকে সাহায্য করবে তারা সব সমপরিমান হয় তা খুঁজে 419 00:18:53,560 --> 00:18:55,940 এবং দৃশ্যত যে দেখতে সক্ষম হচ্ছে. 420 00:18:55,940 --> 00:19:01,995 কেউ কিভাবে বিভ্রান্ত হয় যে কোন কাজ ছিল? 421 00:19:01,995 --> 00:19:02,495 কুল. 422 00:19:02,495 --> 00:19:10,121 423 00:19:10,121 --> 00:19:10,620 ঠিক আছে. 424 00:19:10,620 --> 00:19:14,260 তাই যে পরে, আমরা ডান আকর্ষণীয় যাচ্ছে 425 00:19:14,260 --> 00:19:17,562 মধ্যে বিভিন্ন চার হয় এই সপ্তাহের জন্য প্রকারের ধরনের. 426 00:19:17,562 --> 00:19:19,520 কিভাবে আপনি অনেক, প্রথম সব, আমরা শুরু করার আগে, 427 00:19:19,520 --> 00:19:23,020 pset3 জন্য সমগ্র বৈশিষ্ট পড়া আছে? 428 00:19:23,020 --> 00:19:23,824 ঠিক আছে. 429 00:19:23,824 --> 00:19:24,740 আমি আপনাকে বলছি গর্বিত নই. 430 00:19:24,740 --> 00:19:29,110 অর্ধেক যে শ্রেণীর, মত যা শেষ সময় তুলনায় উল্লেখযোগ্যভাবে বেশী. 431 00:19:29,110 --> 00:19:33,950 >> সুতরাং, যে দারুণ যখন কারণ আমরা কন্টেন্ট সম্পর্কে কথা 432 00:19:33,950 --> 00:19:36,170 lecture-- বা দুঃখিত মধ্যে, বিভাগে আমি চাই 433 00:19:36,170 --> 00:19:38,210 যে অনেক কহা করতে পিছনে যাও pset কি করতে 434 00:19:38,210 --> 00:19:40,210 এবং আপনি চান কিভাবে আপনার pset যে বাস্তবায়ন. 435 00:19:40,210 --> 00:19:42,400 আপনি থাকার আসা যদি তাই বৈশিষ্ট পড়া, এটা করব 436 00:19:42,400 --> 00:19:45,510 আপনি বুঝতে জন্য অনেক সহজ হবে আমি বলতে যখন কি বিষয়ে কথা বলছি, 437 00:19:45,510 --> 00:19:48,720 আরে ওহ, এই সত্যিই একটি হতে পারে এই সাজানোর বাস্তবায়ন ভাল জায়গা. 438 00:19:48,720 --> 00:19:52,870 পড়া আছে আপনাদের মধ্যে যারা তাই আপনার pset অংশ হিসাবে, জানি যে বৈশিষ্ট 439 00:19:52,870 --> 00:19:54,900 আপনি আছে চলুন সাজান একটি টাইপ লিখুন. 440 00:19:54,900 --> 00:19:58,670 তাই এই খুব সহায়ক হতে পারে আপনাকে অনেক আজকের জন্য. 441 00:19:58,670 --> 00:20:01,760 >> তাই নিয়ে আমরা শুরু করব, মূলত, সবচেয়ে সহজ টাইপ 442 00:20:01,760 --> 00:20:04,580 সাজানোর, নির্বাচন সাজানোর. 443 00:20:04,580 --> 00:20:06,800 সাধারণত অ্যালগরিদম আমরা এই সম্পর্কে যেতে চাই কিভাবে 444 00:20:06,800 --> 00:20:10,460 হচ্ছে ÑÑ ডেভিড সব এই মাধ্যমে গিয়েছিলাম বক্তৃতা, যাতে আমি দ্রুত বরাবর অগ্রসর হবে 445 00:20:10,460 --> 00:20:13,900 এখানে আপনি মূলত হয় মান একটি অ্যারে আছে. 446 00:20:13,900 --> 00:20:17,170 এবং তারপর আপনি এটি ক্ষুদ্রতম পাঁচমিশালী মূল্য 447 00:20:17,170 --> 00:20:20,200 এবং আপনি যে মান সঙ্গে অদলবদল প্রথম পাঁচমিশালী মূল্য. 448 00:20:20,200 --> 00:20:22,700 এবং তারপর আপনি শুধু পুনরায় রাখা আপনার তালিকার বাকি সাথে. 449 00:20:22,700 --> 00:20:25,740 >> এবং এখানে একটি চাক্ষুষ ব্যাখ্যা কিভাবে যে কাজ হবে এর. 450 00:20:25,740 --> 00:20:30,460 আমরা হলে সুতরাং উদাহরণস্বরূপ, শুরু করার জন্য পাঁচটি উপাদানের একটি অ্যারের, সূচক সঙ্গে 451 00:20:30,460 --> 00:20:35,910 4 0, 3, 5, 2, 6, এবং 4 মান তাই এই মুহূর্তে অ্যারে স্থাপন, 452 00:20:35,910 --> 00:20:38,530 আমরা শুধু অনুমান করতে যাচ্ছেন তারা সব পাঁচমিশালী করছি যে 453 00:20:38,530 --> 00:20:41,130 আমরা অন্যথায় পরীক্ষা নি কারণ. 454 00:20:41,130 --> 00:20:44,130 >> সুতরাং কিভাবে একটি নির্বাচন সাজানোর would কাজ যে এটা প্রথম would হয় 455 00:20:44,130 --> 00:20:46,800 সম্পূর্ণতা মাধ্যমে চালানো পাঁচমিশালী অ্যারের. 456 00:20:46,800 --> 00:20:49,120 এটি ক্ষুদ্রতম মান খুঁজে নিতে হবে. 457 00:20:49,120 --> 00:20:51,750 এই ক্ষেত্রে, 3, ডান এখন, সবচেয়ে ছোট. 458 00:20:51,750 --> 00:20:52,680 এটা 5 পায়. 459 00:20:52,680 --> 00:20:55,620 নাঃ, 5 than-- বড় নয় অথবা দুঃখিত, 3 than-- কম নয়. 460 00:20:55,620 --> 00:20:57,779 তাই সর্বনিম্ন মূল্য এখনও 3. 461 00:20:57,779 --> 00:20:58,695 এবং তারপর আপনি 2 পেতে. 462 00:20:58,695 --> 00:21:00,990 ওহ, সূচিত কম্পিউটার, 2 3 কম. 463 00:21:00,990 --> 00:21:02,750 2 এখন সর্বনিম্ন মান হতে হবে. 464 00:21:02,750 --> 00:21:06,630 আর তাই যে প্রথম মান সঙ্গে 2 অদলবদল. 465 00:21:06,630 --> 00:21:10,702 >> সুতরাং এক পাস করার পর, আমরা প্রকৃতপক্ষে দেখতে না যে 2 এবং 3 আনা হয়. 466 00:21:10,702 --> 00:21:13,910 আর আমরা শুধু করছেন চালিয়ে যাচ্ছেন এই আবার অ্যারের বাকি সাথে. 467 00:21:13,910 --> 00:21:17,660 তাই আমরা ঠিক মাধ্যমে চালানো চলুন অ্যারের গত চার সূচী. 468 00:21:17,660 --> 00:21:20,670 আমরা 3 দেখতে পাবেন পরবর্তী সর্বনিম্ন মান. 469 00:21:20,670 --> 00:21:23,240 তাই আমরা 4 যে অদলবদল চলুন. 470 00:21:23,240 --> 00:21:26,900 এবং তারপর আমরা ঠিক রাখতে যাচ্ছেন অবশেষে, যতক্ষণ মাধ্যমে চলমান, আপনি 471 00:21:26,900 --> 00:21:33,730 একটি সাজানো অ্যারের পেতে যা 2, 3, 4, 5, এবং 6 সব সাজানো হয়. 472 00:21:33,730 --> 00:21:37,530 সবাই লজিক বোঝে একটি নির্বাচন সাজানোর কাজ করে কিভাবে? 473 00:21:37,530 --> 00:21:39,669 >> আপনি শুধু কিছু বাছাই করা আছে একটি সর্বনিম্ন মান. 474 00:21:39,669 --> 00:21:41,210 আপনি যে কি করছেন অবগত থাকার. 475 00:21:41,210 --> 00:21:45,170 আপনি তা খুঁজে পেতে এবং যখনই আপনি এটা অদলবদল অ্যারে প্রথম মান সঙ্গে 476 00:21:45,170 --> 00:21:48,740 বা, না প্রথম value-- অ্যারের মধ্যে পরবর্তী মান. 477 00:21:48,740 --> 00:21:50,150 কুল. 478 00:21:50,150 --> 00:21:55,460 >> তাই আপনাকে বলছি হিসাবে ধরনের একটি সংক্ষিপ্ত ক্ষণিক থেকে দেখেছি, 479 00:21:55,460 --> 00:21:58,450 আমরা এই আউট pseudocode চলুন. 480 00:21:58,450 --> 00:22:02,510 তাই ফিরে আপনি না চান তাহলে একটি টেবিল এ একটি গ্রুপ, প্রত্যেকের গঠন 481 00:22:02,510 --> 00:22:06,170 একটু অংশীদার গঠন করতে পারেন, আমি যাচ্ছি আপনি তিন মিনিটের মত বলছি দিতে 482 00:22:06,170 --> 00:22:08,190 শুধু মাধ্যমে কথা বলার জন্য যুক্তিবিজ্ঞান, ইংরেজিতে, 483 00:22:08,190 --> 00:22:14,161 আমরা বাস্তবায়ন করতে সক্ষম হতে পারে কিভাবে pseudocode হয় একটি নির্বাচন সাজানোর লিখতে. 484 00:22:14,161 --> 00:22:14,910 এবং মিছরি আছে. 485 00:22:14,910 --> 00:22:16,118 আসা পর্যন্ত এবং ক্যান্ডি পেতে দয়া করে. 486 00:22:16,118 --> 00:22:19,520 আপনি ফিরে মধ্যে আছেন এবং আপনি চান ক্যান্ডি, আমি আপনাকে এ ক্যান্ডি নিক্ষেপ করতে পারেন. 487 00:22:19,520 --> 00:22:22,850 বাস্তবিক, তোমাদেরকে শীতল না. 488 00:22:22,850 --> 00:22:23,552 ওহ দুঃখিত. 489 00:22:23,552 --> 00:22:26,751 490 00:22:26,751 --> 00:22:27,250 ঠিক আছে. 491 00:22:27,250 --> 00:25:23,880 492 00:25:23,880 --> 00:25:27,140 >> আমরা যেমন, চাই যদি তাই একটি শ্রেণী, লেখার pseudocode 493 00:25:27,140 --> 00:25:30,466 এক যোগাযোগ পারে কিভাবে জন্য এই সমস্যা নেই, শুধু বিনা দ্বিধায়. 494 00:25:30,466 --> 00:25:32,340 আমি শুধু কাছাকাছি যেতে এবং করব, যাতে, গ্রুপ জিজ্ঞাসা 495 00:25:32,340 --> 00:25:35,065 এর পরের লাইনে জন্য আমরা কি কাজ করা উচিত. 496 00:25:35,065 --> 00:25:37,840 আপনাকে বলছি শুরু করতে চান তাহলে বন্ধ, প্রথম জিনিস কি 497 00:25:37,840 --> 00:25:40,600 আপনি চেষ্টা করছেন না করতে এই প্রোগ্রাম সমাধানের একটি উপায় বাস্তবায়ন 498 00:25:40,600 --> 00:25:43,480 বেছে বেছে একটি তালিকা বাছাই? 499 00:25:43,480 --> 00:25:46,349 শুধু আমরা অনুমান চলুন শুরু করা যাক একটি অ্যারের, ঠিক আছে? 500 00:25:46,349 --> 00:25:49,088 >> শ্রোতা: আপনি কিছু তৈরি করতে চান সাজান [শ্রবণাতীত] আপনি আছেন যে 501 00:25:49,088 --> 00:25:50,420 আপনার সম্পূর্ণ অ্যারে মাধ্যমে চলমান. 502 00:25:50,420 --> 00:25:51,128 >> Andi Peng: রাইট. 503 00:25:51,128 --> 00:25:54,100 সুতরাং আপনি পুনরুক্তি করতে চান চলুন ভাষার স্থান মাধ্যমে, ডান? 504 00:25:54,100 --> 00:26:05,490 অতি মহৎ. 505 00:26:05,490 --> 00:26:08,600 আপনাকে বলছি আমাকে দিতে চান পরবর্তী পিছন, হ্যা লাইনে. 506 00:26:08,600 --> 00:26:11,414 507 00:26:11,414 --> 00:26:13,290 >> শ্রোতা: তাদের পরীক্ষা সব ক্ষুদ্রতম জন্য. 508 00:26:13,290 --> 00:26:14,248 >> Andi Peng: এখন পর্যন্ত আমরা যেতে. 509 00:26:14,248 --> 00:26:17,438 সুতরাং আমরা মধ্য দিয়ে যেতে এবং চেক করতে চান সর্বনিম্ন মান ঠিক আছে, কি দেখতে? 510 00:26:17,438 --> 00:26:22,110 511 00:26:22,110 --> 00:26:24,840 আমি যে লইস যাচ্ছি "মিনিট." 512 00:26:24,840 --> 00:26:27,658 আপনাকে বলছি পরে কি চাও আপনি সর্বনিম্ন মূল্য পেয়েছি? 513 00:26:27,658 --> 00:26:28,533 >> শ্রোতা: [শ্রবণাতীত] 514 00:26:28,533 --> 00:26:29,942 515 00:26:29,942 --> 00:26:33,150 Andi Peng: সুতরাং আপনি করতে চান করতে যাচ্ছেন যে অ্যারের প্রথম সঙ্গে এটি সুইচ, 516 00:26:33,150 --> 00:26:33,650 ঠিক আছে? 517 00:26:33,650 --> 00:26:45,120 518 00:26:45,120 --> 00:26:46,850 যে আমি বলতে যাচ্ছি, শুরুতে. 519 00:26:46,850 --> 00:26:47,220 ঠিক আছে. 520 00:26:47,220 --> 00:26:50,386 তাই এখন আপনি প্রথম আনা করেছি যে এক, আপনি কি যে পরে কাজ করতে চান না? 521 00:26:50,386 --> 00:26:54,840 তাই এখন আমরা জানি যে এখানে এই এক ঠিক আছে, ক্ষুদ্রতম মান হতে হবে? 522 00:26:54,840 --> 00:26:58,310 তারপর আপনি একটি অতিরিক্ত বাকি আছে পাঁচমিশালী যে অ্যারের. 523 00:26:58,310 --> 00:27:01,569 তাই যদি আপনি যদি, এখানে কাজ করতে চান কি বলছি আমাকে পরের লাইন দিতে চান? 524 00:27:01,569 --> 00:27:04,610 শ্রোতা: তখন আপনি পুনরুক্তি করতে চান অ্যারের বাকি মাধ্যমে. 525 00:27:04,610 --> 00:27:05,276 Andi Peng: হ্যা. 526 00:27:05,276 --> 00:27:09,857 আর তাই মাধ্যমে iterating কী ধরনের আমরা সম্ভবত প্রয়োজন হবে পরোক্ষভাবে? 527 00:27:09,857 --> 00:27:10,440 কি ধরনের-- 528 00:27:10,440 --> 00:27:12,057 >> শ্রোতা: ওহ, একটি অতিরিক্ত পরিবর্তনশীল? 529 00:27:12,057 --> 00:27:13,890 Andi Peng: সম্ভবত লুপ জন্য আরেকটি, ঠিক আছে? 530 00:27:13,890 --> 00:27:28,914 তাই আমরা সম্ভবত চান চলুন এর মাধ্যমে মহান পুনরুক্তি করতে. 531 00:27:28,914 --> 00:27:31,830 এবং তারপর আপনি ফিরে যেতে চলুন এবং সম্ভবত আবার সর্বনিম্ন পরীক্ষা, 532 00:27:31,830 --> 00:27:32,100 ঠিক আছে? 533 00:27:32,100 --> 00:27:34,975 এবং যদি আপনি পুনরায় রাখতে যাচ্ছেন এই, loops, কারণ শুধু যাচ্ছে 534 00:27:34,975 --> 00:27:36,010 ঠিক আছে, চলমান রাখা? 535 00:27:36,010 --> 00:27:39,190 >> তাই আপনাকে বলছি, আমরা দেখতে পারেন শুধু একটি সাধারণ pseudocode হয় আছে 536 00:27:39,190 --> 00:27:41,480 আমরা চাই কিভাবে এই প্রোগ্রাম দেখুন. 537 00:27:41,480 --> 00:27:46,646 এখানে এই বারবার, আমরা কি সাধারণত আমাদের কোড লেখার প্রয়োজন 538 00:27:46,646 --> 00:27:49,270 আমরা একটি মাধ্যমে পুনরুক্তি করতে চান তাহলে কাঠামো অ্যারে, কি ধরনের? 539 00:27:49,270 --> 00:27:51,030 আমি Christabel মনে ইতিমধ্যে এই আগে বলেন. 540 00:27:51,030 --> 00:27:51,500 >> শ্রোতা: লুপ জন্য একটি. 541 00:27:51,500 --> 00:27:52,160 >> Andi Peng: লুপ জন্য একটি? 542 00:27:52,160 --> 00:27:52,770 ঠিক. 543 00:27:52,770 --> 00:27:56,060 তাই এটা সম্ভবত হয় একটি লুপ জন্য হতে যাচ্ছে. 544 00:27:56,060 --> 00:27:59,240 পরোক্ষভাবে যাচ্ছে এখানে একটি চেক কি? 545 00:27:59,240 --> 00:28:02,536 সাধারণত, আপনি না পরীক্ষা করতে চান তাহলে কিছু কিছু বিষয় যা কিনা else-- 546 00:28:02,536 --> 00:28:03,270 >> শ্রোতা: তাহলে. 547 00:28:03,270 --> 00:28:06,790 >> Andi Peng: একটি, ডান? 548 00:28:06,790 --> 00:28:10,790 এখানে অদল-বদল ও তারপর, আমরা করব পরে পুনরালোচনা ডেভিড কারণ 549 00:28:10,790 --> 00:28:12,770 পাশাপাশি বক্তৃতায় যে মাধ্যমে গিয়েছিলাম. 550 00:28:12,770 --> 00:28:14,580 এবং তারপর দ্বিতীয় বারবার implies-- 551 00:28:14,580 --> 00:28:15,120 >> শ্রোতা: লুপ জন্য আরেকটি. 552 00:28:15,120 --> 00:28:16,745 >> Andi Peng: ঠিক, লুপ জন্য --another. 553 00:28:16,745 --> 00:28:19,870 554 00:28:19,870 --> 00:28:22,000 আমরা খুঁজছেন যদি তাই সঠিকভাবে এই সময়ে, আমরা 555 00:28:22,000 --> 00:28:24,680 আমরা সম্ভবত করছি দেখতে পারেন লুপ জন্য একটি নেস্টেড প্রয়োজন যাচ্ছে 556 00:28:24,680 --> 00:28:28,330 সেখানে একটি কন্ডিশনাল স্টেটমেন্ট দিয়ে এবং তারপর কোড একজন প্রকৃত টুকরা যে 557 00:28:28,330 --> 00:28:31,360 মূল্যবোধের অদলবদল যাচ্ছে. 558 00:28:31,360 --> 00:28:35,980 তাই আমি শুধু সাধারণত লিখিত করেছি এখানে একটি pseudocode কোড. 559 00:28:35,980 --> 00:28:38,910 এবং তারপর আমরা আসলে চলুন শারীরিক, একটি শ্রেণী হিসেবে 560 00:28:38,910 --> 00:28:40,700 এই আজ বাস্তবায়নের চেষ্টা. 561 00:28:40,700 --> 00:28:42,486 এর এই আইডিই ফিরে যাওয়া যাক. 562 00:28:42,486 --> 00:28:49,243 563 00:28:49,243 --> 00:28:50,230 >> উহ ওহ. 564 00:28:50,230 --> 00:28:51,754 কেন সেখানে not-- হল যে. 565 00:28:51,754 --> 00:28:52,253 ঠিক আছে. 566 00:28:52,253 --> 00:28:55,834 567 00:28:55,834 --> 00:28:57,500 দুঃখিত, আমার একটি বিট আরো জুম করার চেষ্টা করা যাক. 568 00:28:57,500 --> 00:28:59,310 আমরা শুরু করছি. 569 00:28:59,310 --> 00:29:05,060 আমি এখানে কি করছি সকল আমি তৈরি করেছি হয় নামক একটি প্রোগ্রাম "নির্বাচন / sort.c." 570 00:29:05,060 --> 00:29:10,860 আমি নয়টি একটি অ্যারের তৈরি করেছি মান, 4, 8, 2, 1, 6, 9, 7, 5, 3. 571 00:29:10,860 --> 00:29:14,370 বর্তমানে, হিসাবে আপনি করতে পারেন তারা unordered হয়, দেখতে. 572 00:29:14,370 --> 00:29:17,880 এন সংখ্যা হতে যাচ্ছে আপনি মান পরিমাণ বলে 573 00:29:17,880 --> 00:29:18,920 আপনি আপনার অ্যারের মধ্যে আছে. 574 00:29:18,920 --> 00:29:20,670 এই ক্ষেত্রে, আমরা নয়টি মান আছে. 575 00:29:20,670 --> 00:29:23,760 আর আমি শুধু এখানে লুপ জন্য একটি পেয়েছেন যে পাঁচমিশালী অ্যারে আউট ছাপে. 576 00:29:23,760 --> 00:29:28,370 >> এবং শেষে, আমি একটি পেয়েছেন শুধু সেটা ছাপে আবার আউট যে লুপ. 577 00:29:28,370 --> 00:29:32,070 তাই তাত্ত্বিকভাবে, এই প্রোগ্রাম যদি শেষে, সঠিকভাবে কাজ করছে না, 578 00:29:32,070 --> 00:29:35,670 আপনি একটি লুপ জন্য মুদ্রিত দেখতে হবে যা 1, 2, 3, 4, 5, 6, 7, 8, 579 00:29:35,670 --> 00:29:39,310 9 যাতে সব কিছু ঠিকঠাক আছে. 580 00:29:39,310 --> 00:29:43,410 >> তাই আমরা এখানে আমাদের pseudocode পেয়েছেন. 581 00:29:43,410 --> 00:29:46,090 আমি শুধু আছি চাচ্ছি কেউ চান না স্বেচ্ছাসেবকদের জন্য অনুরোধ যেতে যাচ্ছে 582 00:29:46,090 --> 00:29:49,540 তাহলে কি টাইপ করার ঠিক সম্পর্কে বলুন আমরা, প্রথম, শুধু বারবার করতে চান 583 00:29:49,540 --> 00:29:52,840 এই অ্যারে শুরুতে মাধ্যমে? 584 00:29:52,840 --> 00:29:55,204 আমি কোড লাইন কী সম্ভবত এখানে প্রয়োজন যাচ্ছে? 585 00:29:55,204 --> 00:29:56,990 >> শ্রোতা: [শ্রবণাতীত] 586 00:29:56,990 --> 00:29:59,010 >> Andi Peng: হ্যা, মনে ফ্রি চাচ্ছি দুঃখিত, আপনি 587 00:29:59,010 --> 00:30:02,318 বইয়ের নাম আপ অনুভূতি স্ট্যান্ড করতে হবে না আপনার ভয়েস একটি বিট বাড়াতে বিনামূল্যে. 588 00:30:02,318 --> 00:30:08,190 >> শ্রোতা: int তোমার সমান জন্য 0-- 589 00:30:08,190 --> 00:30:10,690 >> Andi Peng: হ্যা, ভাল. 590 00:30:10,690 --> 00:30:15,220 >> শ্রোতা: আমি অ্যারের দৈর্ঘ্য কম হয়. 591 00:30:15,220 --> 00:30:19,630 >> Andi Peng: তাই রাখা , এখানে মনে আমরা কারণ 592 00:30:19,630 --> 00:30:23,060 একটি ফাংশন আছে না যে আমাদের একটি অ্যারের দ্বারা বলে, 593 00:30:23,060 --> 00:30:25,790 আমরা ইতিমধ্যে একটি আছে যে দোকানে যে মান. 594 00:30:25,790 --> 00:30:27,920 রাইট? 595 00:30:27,920 --> 00:30:31,010 আরেকটি বিষয় রাখা একটি অ্যারের মধ্যে mind-- মধ্যে 596 00:30:31,010 --> 00:30:33,940 নয়টি মান, ইনডেক্স কি হয়? 597 00:30:33,940 --> 00:30:38,720 এর ঠিক এই অ্যারে থেকে 3 0 ছিলাম. 598 00:30:38,720 --> 00:30:41,500 আপনি সর্বশেষ দেখতে সূচক আসলে 3. 599 00:30:41,500 --> 00:30:45,530 এটা আছে, যদিও 4 না অ্যারের মধ্যে চারটি মান. 600 00:30:45,530 --> 00:30:49,866 >> এখানে তাই, আমরা খুব সতর্ক হতে হবে দৈর্ঘ্য জন্য কি আমাদের অবস্থা 601 00:30:49,866 --> 00:30:50,490 হতে যাচ্ছে. 602 00:30:50,490 --> 00:30:51,948 >> শ্রোতা: এটা এন বিয়োগ 1 হবে না? 603 00:30:51,948 --> 00:30:54,440 Andi Peng: এটা যাচ্ছে ঠিক এন বিয়োগ 1,. 604 00:30:54,440 --> 00:30:57,379 যে অর্থে, কেন এটি এন এর বিয়োগ 1, সবাই? 605 00:30:57,379 --> 00:30:58,920 অ্যারে শূন্য সূচিবদ্ধ হয়, কারণ এটা. 606 00:30:58,920 --> 00:31:02,010 তারা 0 থেকে আরম্ভ হয় এবং 1 এন বিয়োগ পর্যন্ত চালানো. 607 00:31:02,010 --> 00:31:03,210 হ্যা, এটা একটি বিট চতুর. 608 00:31:03,210 --> 00:31:03,730 ঠিক আছে. 609 00:31:03,730 --> 00:31:05,929 এবং তারপর-- 610 00:31:05,929 --> 00:31:08,054 শ্রোতা: Isnt'1 যে ইতিমধ্যে যদিও যত্ন নেয়া, 611 00:31:08,054 --> 00:31:11,400 শুধু বেশি বা কম "বলার অপেক্ষা রাখে না করে সমান কম "ও ঠিক বলছে" কিভাবে? " 612 00:31:11,400 --> 00:31:13,108 >> Andi Peng: যে একটি কী সত্যিই ভাল প্রশ্ন. 613 00:31:13,108 --> 00:31:13,630 তাই ঠিক. 614 00:31:13,630 --> 00:31:17,410 তবে, আমরা পথ যে চেক এই মুহুর্তে বাস্তবায়ন, 615 00:31:17,410 --> 00:31:19,120 আপনি দুটি মান তুলনা করা প্রয়োজন. 616 00:31:19,120 --> 00:31:21,009 সুতরাং আপনি আসলে চান "যাও" ফাঁকা ছেড়ে চলে যান. 617 00:31:21,009 --> 00:31:23,050 আপনি তুলনা যদি কারণ এই এক, আপনার যাচ্ছেন না 618 00:31:23,050 --> 00:31:25,530 এটা পরে কিছু আছে ঠিক আছে, তুলনা? 619 00:31:25,530 --> 00:31:27,460 হ্যা. 620 00:31:27,460 --> 00:31:29,297 সুতরাং i ++. 621 00:31:29,297 --> 00:31:30,380 এর মধ্যে আমাদের বন্ধনী যোগ করা যাক. 622 00:31:30,380 --> 00:31:30,880 ওহো. 623 00:31:30,880 --> 00:31:33,950 624 00:31:33,950 --> 00:31:34,710 গ্রেট. 625 00:31:34,710 --> 00:31:39,117 তাই আমরা শুরুতে আছে আমাদের বাইরের লুপ. 626 00:31:39,117 --> 00:31:41,450 তাই এখন আমরা সম্ভবত চান থাকার জন্য একটি পরিবর্তনশীল তৈরি 627 00:31:41,450 --> 00:31:43,085 ক্ষুদ্রতম মান সম্পর্কে অবগত, ডান? 628 00:31:43,085 --> 00:31:45,751 কেউ আমাকে দিতে চান তা করতে হবে যে কোড লাইন? 629 00:31:45,751 --> 00:31:48,700 630 00:31:48,700 --> 00:31:53,570 আমরা চলুন তাহলে আমরা কী করতে হবে কিছু সঞ্চয় করতে চান? 631 00:31:53,570 --> 00:31:55,047 >> রাইট. 632 00:31:55,047 --> 00:31:57,630 যে জন্য হয়তো একটি ভাল নাম "Temp" be-- হবে সম্পূর্ণই আদৌ 633 00:31:57,630 --> 00:32:00,655 হয়তো আরো যথাযোগ্যভাবে হবে নামে একজন, আমরা ক্ষুদ্রতম value-- চান 634 00:32:00,655 --> 00:32:01,624 >> শ্রোতা: ন্যূনতম. 635 00:32:01,624 --> 00:32:02,790 Andi Peng: কমপক্ষে, সেখানে আমরা যেতে. 636 00:32:02,790 --> 00:32:05,230 কমপক্ষে ভাল হবে. 637 00:32:05,230 --> 00:32:08,340 তাই এখানে, আমরা কি এটি আরম্ভ করতে চান? 638 00:32:08,340 --> 00:32:09,620 এই একটু চতুর. 639 00:32:09,620 --> 00:32:13,580 কারণ এ মুহূর্তে এই অ্যারের শুরুতে, 640 00:32:13,580 --> 00:32:15,730 ডান, কিছু লাগছিল না? 641 00:32:15,730 --> 00:32:19,200 স্বয়ংক্রিয়ভাবে তাই কি, তাহলে আমরা, শুধু আমি 0 সমান করছি 642 00:32:19,200 --> 00:32:22,302 আমরা আরম্ভ করতে চান কি আমাদের প্রথম সর্বনিম্ন মান? 643 00:32:22,302 --> 00:32:22,802 শ্রোতা: আমি. 644 00:32:22,802 --> 00:32:24,790 Andi Peng: আমি ঠিক. 645 00:32:24,790 --> 00:32:27,040 Christabel, কেন আমরা চাই না আমি এটি আরম্ভ করতে? 646 00:32:27,040 --> 00:32:28,510 >> শ্রোতা: ভাল, কারণ আমরা 0 দিয়ে শুরু করছি. 647 00:32:28,510 --> 00:32:31,660 আমরা তুলনা কিছুই আছে, কারণ তাই এটা সর্বনিম্ন 0 হচ্ছে শেষ হয়ে যাবে যাও. 648 00:32:31,660 --> 00:32:32,451 >> Andi Peng: ঠিক. 649 00:32:32,451 --> 00:32:34,400 তাই সে ঠিক ঠিক. 650 00:32:34,400 --> 00:32:36,780 আমরা না আসলে আছে এখনো কিছু দিকে তাকিয়ে 651 00:32:36,780 --> 00:32:38,680 আমরা আমাদের সর্বনিম্ন মান কি না জানি না. 652 00:32:38,680 --> 00:32:41,960 আমরা শুধু এটি আরম্ভ করতে চান আমি যা, বর্তমানে, অধিকার এখানে. 653 00:32:41,960 --> 00:32:44,750 আর আমরা অবিরত হিসাবে এই অ্যারের নিচে নামাও, 654 00:32:44,750 --> 00:32:48,122 আমরা প্রতিটি সঙ্গে, দেখতে পাবেন অতিরিক্ত পাস, আমি সংখ্যা বৃদ্ধি হবে. 655 00:32:48,122 --> 00:32:49,830 আর তাই যে সময়ে, আমি সম্ভবত যাচ্ছে 656 00:32:49,830 --> 00:32:52,329 নূন্যতম হতে চান, এটা যাই হোক না কেন হতে যাচ্ছে কারণ 657 00:32:52,329 --> 00:32:54,520 পাঁচমিশালী অ্যারের শুরুতে. 658 00:32:54,520 --> 00:32:55,270 কুল. 659 00:32:55,270 --> 00:32:58,720 >> তাই এখন আমরা যোগ করতে চাই একটি এখানে লুপ জন্য যে 660 00:32:58,720 --> 00:33:03,225 মাধ্যমে পুনরুক্তি করা যাচ্ছে পাঁচমিশালী, বা এই অ্যারের বাকি. 661 00:33:03,225 --> 00:33:05,808 কেউ আমাকে দিতে চাই না তা করতে হবে যে কোড লাইন? 662 00:33:05,808 --> 00:33:08,870 663 00:33:08,870 --> 00:33:11,330 Hint-- আমরা এখানে কি প্রয়োজন না? 664 00:33:11,330 --> 00:33:17,320 665 00:33:17,320 --> 00:33:18,820 কি লুপ জন্য এই সালে যেতে যাচ্ছে? 666 00:33:18,820 --> 00:33:19,465 হ্যা. 667 00:33:19,465 --> 00:33:21,590 শ্রোতা: তাই আমরা চাই চাই একটি ভিন্ন পূর্ণসংখ্যা আছে, 668 00:33:21,590 --> 00:33:25,080 আমরা বাকি মাধ্যমে চালাচ্ছেন কারণ পরিবর্তে আমি অ্যারে, তাই হয়ত এর 669 00:33:25,080 --> 00:33:25,760 জে. 670 00:33:25,760 --> 00:33:27,301 >> Andi Peng: হ্যা, J আমার ভাল শোনাচ্ছে. 671 00:33:27,301 --> 00:33:27,850 সমান? 672 00:33:27,850 --> 00:33:33,930 >> শ্রোতা: সুতরাং, কারণ আমি হতে প্লাস 1 হবে আপনি পরবর্তী মান থেকে শুরু করছি. 673 00:33:33,930 --> 00:33:40,395 এবং তারপর তাই আবার end--, জে হয় এন বিয়োগ 1, এবং তারপর ঞ ++ কম. 674 00:33:40,395 --> 00:33:41,103 Andi Peng: গ্রেট. 675 00:33:41,103 --> 00:33:48,510 676 00:33:48,510 --> 00:33:52,750 >> এবং তারপর এখানে, আমরা চাই চলুন আমাদের শর্ত পূরণ হয় কিনা তা পরীক্ষা করার জন্য, 677 00:33:52,750 --> 00:33:53,250 ঠিক আছে? 678 00:33:53,250 --> 00:33:55,740 আপনি চান, কারণ নূন্যতম মূল্য পরিবর্তন 679 00:33:55,740 --> 00:33:58,700 এটা আসলে ছোট হলে কি ডান, সাথে তুলনা করছি? 680 00:33:58,700 --> 00:34:01,146 তাই আমরা এখানে চাইতে যাচ্ছি? 681 00:34:01,146 --> 00:34:04,160 682 00:34:04,160 --> 00:34:04,897 দেখুন. 683 00:34:04,897 --> 00:34:06,730 বিবৃতির কি ধরনের আমরা সম্ভবত যাচ্ছি 684 00:34:06,730 --> 00:34:08,389 TI যদি ব্যবহার করতে চান আমরা কিছু চেক করতে চান? 685 00:34:08,389 --> 00:34:09,360 >> শ্রোতা: একটি বিবৃতি যদি. 686 00:34:09,360 --> 00:34:10,485 >> Andi Peng: যদি একটি বিবৃতি. 687 00:34:10,485 --> 00:34:13,155 সুতরাং if-- ও হতে যাচ্ছে কি আমরা ভিতরে চান যে শর্ত 688 00:34:13,155 --> 00:34:13,988 আমাদের If Statement এর? 689 00:34:13,988 --> 00:34:18,255 690 00:34:18,255 --> 00:34:22,960 >> শ্রোতা: তাহলে J মান i-- মূল্যের চেয়ে কম হয় 691 00:34:22,960 --> 00:34:24,600 >> Andi Peng: ঠিক. 692 00:34:24,600 --> 00:34:27,480 সুতরাং if-- তাই এই অ্যারে "অ্যারে" বলা হয়. 693 00:34:27,480 --> 00:34:27,980 গ্রেট. 694 00:34:27,980 --> 00:34:30,465 যে কি ছিল অ্যারে যদি তাই? 695 00:34:30,465 --> 00:34:31,090 আবার বলো. 696 00:34:31,090 --> 00:34:39,590 >> শ্রোতা: অ্যারে-J কম হলে অ্যারে-আমি, তারপর আমরা কমপক্ষে পরিবর্তন হবে. 697 00:34:39,590 --> 00:34:41,590 তাই কমপক্ষে J হবে. 698 00:34:41,590 --> 00:34:44,590 699 00:34:44,590 --> 00:34:47,249 >> Andi Peng: যে জানার জন্য? 700 00:34:47,249 --> 00:34:48,670 ঠিক আছে. 701 00:34:48,670 --> 00:34:52,929 আর এখন এখানে নিচে, আমরা আসলে ঠিক আছে, swap 'বাস্তবায়ন করতে চান? 702 00:34:52,929 --> 00:34:58,285 সুতরাং, বক্তৃতায়, প্রত্যাহার দায়ূদ যখন যে তিনি the-- কি ছিল অদলবদল করার চেষ্টা ছিল 703 00:34:58,285 --> 00:34:59,996 এটিকে কমলার রস এবং milk-- 704 00:34:59,996 --> 00:35:01,150 >> শ্রোতা: যে স্থূল ছিল. 705 00:35:01,150 --> 00:35:02,816 >> Andi Peng: হাঁ, যে ধরনের স্থূল ছিল. 706 00:35:02,816 --> 00:35:05,310 কিন্তু এটি একটি প্রশংসনীয় ভাল ছিল ধারণা সময় প্রদর্শক. 707 00:35:05,310 --> 00:35:08,430 তাই এখানে আপনার মান মনে. 708 00:35:08,430 --> 00:35:10,794 আপনি একটি অ্যারের পেয়েছেন কমপক্ষে, আমি একটি অ্যারের, 709 00:35:10,794 --> 00:35:12,460 অথবা আমরা এখানে অদলবদল করার চেষ্টা করা হোক. 710 00:35:12,460 --> 00:35:15,310 এবং সম্ভবত আপনি সেগুলি ঢালা পারবেন না একই সময়ে একে অপরের, ডান? 711 00:35:15,310 --> 00:35:17,180 সুতরাং আমরা যাচ্ছি এখানে তৈরি করতে প্রয়োজন 712 00:35:17,180 --> 00:35:19,126 সঠিকভাবে মূল্যবোধের অদলবদল করার জন্য? 713 00:35:19,126 --> 00:35:19,820 >> শ্রোতা: একটি অস্থায়ী পরিবর্তনশীল. 714 00:35:19,820 --> 00:35:21,370 >> Andi Peng: একটি অস্থায়ী পরিবর্তনশীল. 715 00:35:21,370 --> 00:35:22,570 সুতরাং এর int- টেম্প না দেওয়া. 716 00:35:22,570 --> 00:35:25,681 এই একটি ভাল হবে, দেখুন দাঁড়ান চাচ্ছি সময়, যে কি ছিল? 717 00:35:25,681 --> 00:35:26,180 ঠিক আছে. 718 00:35:26,180 --> 00:35:29,800 সুতরাং এই একটি ভাল হত সময় পরিবর্তনশীল "টেম্প." নাম 719 00:35:29,800 --> 00:35:30,730 সুতরাং এর int- টেম্প না দেওয়া. 720 00:35:30,730 --> 00:35:32,563 আমরা কি যাচ্ছি এখানে সমান temp সেট? 721 00:35:32,563 --> 00:35:34,752 722 00:35:34,752 --> 00:35:35,335 শ্রোতা: ন্যূনতম? 723 00:35:35,335 --> 00:35:38,508 724 00:35:38,508 --> 00:35:39,716 Andi Peng: এটি একটি বিট চতুর. 725 00:35:39,716 --> 00:35:43,110 726 00:35:43,110 --> 00:35:44,880 এটা আসলে শেষ পর্যন্ত কোন ব্যাপার না. 727 00:35:44,880 --> 00:35:47,690 এটা কি কোন ব্যাপার না যাতে আপনি অদলবদল করে নিন 728 00:35:47,690 --> 00:35:50,862 যতদিন না পর্যন্ত আপনি নিশ্চিত করছি হিসাবে আপনি আছেন আপনি সোয়াপিং তা সম্পর্কে অবগত থাকার. 729 00:35:50,862 --> 00:35:52,250 >> শ্রোতা: এটা অ্যারে-আমি অনেক কিছু হতে পারে. 730 00:35:52,250 --> 00:35:53,666 >> Andi Peng: হ্যা, এর অ্যারে-আমি কাজ করতে দিন. 731 00:35:53,666 --> 00:35:55,950 732 00:35:55,950 --> 00:35:59,305 এবং তারপর পরের লাইন কি কোডের আমরা এখানে আছে চান? 733 00:35:59,305 --> 00:36:00,680 শ্রোতা: অ্যারে-আমি অ্যারে-জে সমান. 734 00:36:00,680 --> 00:36:07,154 735 00:36:07,154 --> 00:36:08,070 Andi Peng: এবং সর্বশেষে? 736 00:36:08,070 --> 00:36:12,070 শ্রোতা: অ্যারে-J অ্যারে-আমি সমান. 737 00:36:12,070 --> 00:36:14,525 শ্রোতা: অথবা অ্যারে-জে সমান অ্যারে-temp-- বা, টেম্প. 738 00:36:14,525 --> 00:36:17,135 739 00:36:17,135 --> 00:36:19,430 >> Andi Peng: ঠিক আছে. 740 00:36:19,430 --> 00:36:21,510 তাই আসুন এই রান দেওয়া এবং দেখতে এটা কাজ করতে যাচ্ছে. 741 00:36:21,510 --> 00:36:37,520 742 00:36:37,520 --> 00:36:39,335 যে কোথায় কী ঘটছে? 743 00:36:39,335 --> 00:36:40,210 ওহ, যে একটি সমস্যা. 744 00:36:40,210 --> 00:36:44,320 আমরা করছি, লাইন 40, দেখুন অ্যারে-J ব্যবহার করার চেষ্টা? 745 00:36:44,320 --> 00:36:47,022 কিন্তু যেখানে শুধুমাত্র এ জে অস্তিত্ব আছে? 746 00:36:47,022 --> 00:36:48,402 >> শ্রোতা: লুপ জন্য. 747 00:36:48,402 --> 00:36:49,110 Andi Peng: রাইট. 748 00:36:49,110 --> 00:36:51,730 তাই আমরা কি করতে প্রয়োজন যাচ্ছি? 749 00:36:51,730 --> 00:36:53,170 >> শ্রোতা: the-- বাইরে এটি সংজ্ঞায়িত 750 00:36:53,170 --> 00:36:57,777 751 00:36:57,777 --> 00:37:00,610 শ্রোতা: হ্যাঁ, আমি তোমাকে আছে অনুমান বিবৃতিতে, ডান যদি অন্য ব্যবহার করতে? 752 00:37:00,610 --> 00:37:05,230 তাই মত, যদি minimum-- ঠিক আছে, আমার মনে হয় যাক. 753 00:37:05,230 --> 00:37:08,170 754 00:37:08,170 --> 00:37:09,990 >> Andi Peng: বলছি, চেষ্টা একটি যাক এর নেওয়া 755 00:37:09,990 --> 00:37:11,270 আমরা এখানে কিছু কি করতে পারেন দেখতে? 756 00:37:11,270 --> 00:37:11,811 >> শ্রোতা: ঠিক আছে. 757 00:37:11,811 --> 00:37:15,900 নূন্যতম সমান না হয়, তাহলে নূন্যতম যদি j-- তাই এখনও i-- 758 00:37:15,900 --> 00:37:17,570 তারপর আমরা অদলবদল করতে হবে না. 759 00:37:17,570 --> 00:37:22,450 760 00:37:22,450 --> 00:37:24,712 >> Andi Peng: আমি যে সমান করে? 761 00:37:24,712 --> 00:37:25,920 আপনি কি এখানে বলতে চাই না? 762 00:37:25,920 --> 00:37:30,494 >> শ্রোতা: অথবা হ্যা, যদি নূন্যতম হ্যা, না সমান আমি না. 763 00:37:30,494 --> 00:37:39,627 764 00:37:39,627 --> 00:37:40,210 Andi Peng: ঠিক আছে. 765 00:37:40,210 --> 00:37:42,040 ভাল যে আমাদের সমস্যা, ধরনের, solves. 766 00:37:42,040 --> 00:37:47,265 কিন্তু যে এখনও সমাধান না J থেকে j-- তাহলে কি সমস্যা 767 00:37:47,265 --> 00:37:49,890 এটা বাইরে অস্তিত্ব নেই, কি আমরা এটা দিয়ে কি করতে চান না? 768 00:37:49,890 --> 00:37:50,698 বাইরে তা মেনে নেবে? 769 00:37:50,698 --> 00:37:59,410 770 00:37:59,410 --> 00:38:02,730 এর এই চলমান চেষ্টা করা যাক. 771 00:38:02,730 --> 00:38:04,435 উহ ওহ. 772 00:38:04,435 --> 00:38:06,200 আমাদের সাজানোর কাজ করছে না. 773 00:38:06,200 --> 00:38:10,060 >> আপনি, আমাদের প্রাথমিক দেখতে পারেন অ্যারে যারা মান ছিল. 774 00:38:10,060 --> 00:38:14,800 এবং পরে তা থাকা উচিত 1, 2, 3, 4, 5, 6, 7, 8, 9 হয়েছে. 775 00:38:14,800 --> 00:38:15,530 এটা কাজ করছে না. 776 00:38:15,530 --> 00:38:16,030 ওহ. 777 00:38:16,030 --> 00:38:17,184 আমরা কি করবো? 778 00:38:17,184 --> 00:38:17,850 শ্রোতা: ডিবাগ. 779 00:38:17,850 --> 00:38:21,787 780 00:38:21,787 --> 00:38:23,370 Andi Peng: ঠিক আছে, আমরা যে চেষ্টা করে দেখতে পারেন. 781 00:38:23,370 --> 00:38:25,030 আমরা ডিবাগ করতে পারেন. 782 00:38:25,030 --> 00:38:26,042 একটি বিট জুম আউট. 783 00:38:26,042 --> 00:38:31,177 784 00:38:31,177 --> 00:38:33,656 আসুন আমাদের ব্রেকপয়েন্ট সেট. 785 00:38:33,656 --> 00:38:37,280 এর ঠিক করার মত যাওয়া যাক. 786 00:38:37,280 --> 00:38:40,444 >> আমরা ইতিমধ্যে জানি যে কারণ তাই এই লাইন, 15 22 মাধ্যমে, 787 00:38:40,444 --> 00:38:43,610 আমি করছি সব কারণ working-- হয় শুধু মাধ্যমে এবং printing-- iterating 788 00:38:43,610 --> 00:38:45,406 আমি এগিয়ে যান এবং যে থামিয়া যাবে. 789 00:38:45,406 --> 00:38:47,280 এর লাইন 25 এ শুরু করা যাক. 790 00:38:47,280 --> 00:38:48,712 OOP, আমার যে পরিত্রাণ পেতে যাক. 791 00:38:48,712 --> 00:38:51,598 792 00:38:51,598 --> 00:38:54,057 >> শ্রোতা: সুতরাং ব্রেকপয়েন্ট এর ডিবাগ যেখানে শুরু? 793 00:38:54,057 --> 00:38:54,890 Andi Peng: বা স্টপ. 794 00:38:54,890 --> 00:38:55,670 শ্রোতা: বা স্টপ. 795 00:38:55,670 --> 00:38:55,930 Andi Peng: হ্যা. 796 00:38:55,930 --> 00:38:58,640 আপনি একাধিক ব্রেকপয়েন্ট সেট করতে পারেন এবং এটা শুধু এক থেকে অন্য তিড়িং লাফ পারেন. 797 00:38:58,640 --> 00:39:01,590 কিন্তু এই ক্ষেত্রে আমরা জানি না যেখানে ত্রুটি ঘটছে. 798 00:39:01,590 --> 00:39:03,780 তাই আমরা ঠিক করতে চান উপরে নিচে থেকে শুরু. 799 00:39:03,780 --> 00:39:05,020 হাঁ. 800 00:39:05,020 --> 00:39:05,550 ঠিক আছে. 801 00:39:05,550 --> 00:39:08,460 >> সুতরাং এখানে এই লাইন, আমরা এ পদক্ষেপ পারেন. 802 00:39:08,460 --> 00:39:11,499 আপনি, এখানে নিচে দেখতে পারেন আমরা একটি অ্যারের পেয়েছেন. 803 00:39:11,499 --> 00:39:13,290 যারা মান হয় অ্যারের মধ্যে হয়. 804 00:39:13,290 --> 00:39:16,360 আপনি কি দেখতে পাচ্ছেন, যে কিভাবে সূচক 0, এটা , ওহ value-- অনুরূপ 805 00:39:16,360 --> 00:39:17,526 আমি জুম করার চেষ্টা করে চলেছি. 806 00:39:17,526 --> 00:39:20,650 দুঃখিত, এটা সত্যিই কঠিন অ্যারে ইনডেক্স 0 see-- করতে, 807 00:39:20,650 --> 00:39:24,090 আমরা 4 একটি মান আছে এবং তারপর তাই ঘোষণা, and so on. 808 00:39:24,090 --> 00:39:25,670 আমরা আমাদের স্থানীয় ভেরিয়েবল আছে. 809 00:39:25,670 --> 00:39:28,570 এই মুহূর্তে আমি সমান আমরা এটা হতে চান যা 0,. 810 00:39:28,570 --> 00:39:31,540 811 00:39:31,540 --> 00:39:33,690 >> আর তাই এর মাধ্যমে পদবিন্যাস রাখা যাক. 812 00:39:33,690 --> 00:39:36,850 আমাদের সর্বনিম্ন, 0 সমান যা আমরা এটা হতে চান. 813 00:39:36,850 --> 00:39:39,470 814 00:39:39,470 --> 00:39:45,560 এবং তারপর আমরা আমাদের দ্বিতীয় লিখুন লুপ, অ্যারে-J অ্যারে-আমি চেয়ে কম হয় তাহলে, 815 00:39:45,560 --> 00:39:46,380 যা কিছুই বলতে পারলাম না. 816 00:39:46,380 --> 00:39:48,130 সুতরাং আপনি কিভাবে দেখতে হয়নি যে এড়ানো উপর? 817 00:39:48,130 --> 00:39:52,430 >> শ্রোতা: তাই যদি উচিত সর্বনিম্ন, সব কিন্তু যে পক্ষে ভালো 818 00:39:52,430 --> 00:39:55,424 লুপ জন্য প্রথম ভিতরে হতে? 819 00:39:55,424 --> 00:39:57,340 Andi Peng থে, কারণ আপনি এখনও পরীক্ষা করতে চান. 820 00:39:57,340 --> 00:40:00,329 আপনি প্রতি একটি তুলনা করতে চান সময়, আপনি এটি দিয়ে চালানো, এমনকি পরে. 821 00:40:00,329 --> 00:40:02,620 আপনি শুধু এটা করতে চান না প্রথম পাস-থ্রু তে. 822 00:40:02,620 --> 00:40:05,240 আপনার সাথে কি করতে চান আবার প্রতিটি অতিরিক্ত পাস. 823 00:40:05,240 --> 00:40:07,198 তাই আপনার জন্য চেক করতে চান ভিতরে আপনার অবস্থা. 824 00:40:07,198 --> 00:40:11,610 825 00:40:11,610 --> 00:40:13,746 তাই আমরা ঠিক করতে যাচ্ছেন এখানে মাধ্যমে চলমান রাখতে. 826 00:40:13,746 --> 00:40:17,337 827 00:40:17,337 --> 00:40:18,420 আমি বলছি আপনি ফ্লাইন. 828 00:40:18,420 --> 00:40:23,910 এটা আসলে কি আছে যে যখন আপনি, আপনার শর্তাধীন চেক করছি 829 00:40:23,910 --> 00:40:26,600 আপনি চেক করছি না সঠিক সূচক জন্য. 830 00:40:26,600 --> 00:40:32,510 তাই এই মুহূর্তে আপনার জন্য চেক করছি J অ্যারে সূচক অ্যারে কম হয় 831 00:40:32,510 --> 00:40:33,970 আমি এর সূচী. 832 00:40:33,970 --> 00:40:36,580 কিন্তু আপনি কি এ পর্যন্ত করছেন লুপ জন্য শুরুতে? 833 00:40:36,580 --> 00:40:38,260 আপনি আমি সমান J সেটিং নেই? 834 00:40:38,260 --> 00:40:41,260 835 00:40:41,260 --> 00:40:45,415 >> হ্যাঁ, তাই আমরা আসলে যা করতে পারেন এখানে ডিবাগার প্রস্থান. 836 00:40:45,415 --> 00:40:47,040 সুতরাং আসুন আমাদের pseudocode কটাক্ষপাত করা যাক. 837 00:40:47,040 --> 00:40:50,070 838 00:40:50,070 --> 00:40:52,580 For-- আমরা চলুন আমি 0 সমান এ শুরু. 839 00:40:52,580 --> 00:40:54,760 আমরা 1 এন বিয়োগ পর্যন্ত যেতে চলুন. 840 00:40:54,760 --> 00:40:58,040 এর পরীক্ষা করা যাক, আমরা যে সঠিক ছিল? 841 00:40:58,040 --> 00:40:59,580 হাঁ, যে সঠিক ছিল. 842 00:40:59,580 --> 00:41:02,080 >> তাই এখানে ভিতরে, আমরা করছি একটি সর্বনিম্ন মান তৈরি করতে যাচ্ছে 843 00:41:02,080 --> 00:41:03,630 এবং আমি যে সমান সেট. 844 00:41:03,630 --> 00:41:04,950 আমরা যে কি? 845 00:41:04,950 --> 00:41:06,270 হাঁ, যে করেনি. 846 00:41:06,270 --> 00:41:10,430 এখন আমাদের ভেতরের জন্য লুপ, আমরা করছি J করতে যাচ্ছে আমি এন বিয়োগ 1 সমান. 847 00:41:10,430 --> 00:41:11,950 আমরা যে কি? 848 00:41:11,950 --> 00:41:15,540 প্রকৃতপক্ষে, আমরা তা-ই করেছিলেন. 849 00:41:15,540 --> 00:41:19,922 >> সুতরাং যাইহোক, আমরা কি হয় এখানে তুলনা? 850 00:41:19,922 --> 00:41:20,925 >> শ্রোতা: J প্লাস 1. 851 00:41:20,925 --> 00:41:21,716 Andi Peng: ঠিক. 852 00:41:21,716 --> 00:41:24,184 853 00:41:24,184 --> 00:41:27,350 এবং তারপর আপনি সেট করতে চান চলুন J প্লাস 1 পাশাপাশি সমান আপনার সর্বনিম্ন. 854 00:41:27,350 --> 00:41:31,057 855 00:41:31,057 --> 00:41:32,640 তাই আমি সত্যিই দ্রুত যে মাধ্যমে গিয়েছিলাম. 856 00:41:32,640 --> 00:41:36,190 আপনাকে বলছি বুঝতে না কেন এটা J প্লাস 1 এর? 857 00:41:36,190 --> 00:41:36,890 ঠিক আছে. 858 00:41:36,890 --> 00:41:40,700 >> আপনার অ্যারের মধ্যে, তাই মাধ্যমে আপনার প্রথম পাস, 859 00:41:40,700 --> 00:41:44,850 আপনার লুপ জন্য, int জন্য আমি 0 সমান, এর মাত্র দিন 860 00:41:44,850 --> 00:41:46,740 এই এখনো পরিবর্তন করা হয় নি অনুমান. 861 00:41:46,740 --> 00:41:53,180 862 00:41:53,180 --> 00:41:56,760 আমরা সম্পূর্ণভাবে একটি অ্যারে আছে, মাত্র চার পাঁচমিশালী উপাদান, ডান? 863 00:41:56,760 --> 00:42:00,760 সুতরাং আমরা আমি 0 সমান আরম্ভ করতে চান. 864 00:42:00,760 --> 00:42:03,650 আর আমি যাচ্ছে শুধু এই লুপের মাধ্যমে চালানো. 865 00:42:03,650 --> 00:42:08,560 আর তাই প্রথম পাস, আমরা চলুন "মিনিট" নামক একটি পরিবর্তনশীল আরম্ভ করার 866 00:42:08,560 --> 00:42:11,245 যে এটাও একটা কারণ, আমি সমান আমরা একটি সর্বনিম্ন মূল্য আছে না. 867 00:42:11,245 --> 00:42:12,870 সুতরাং যে পাশাপাশি 0 বর্তমানে সমান. 868 00:42:12,870 --> 00:42:16,182 869 00:42:16,182 --> 00:42:17,640 এবং তারপর আমরা মধ্য দিয়ে যেতে চলুন. 870 00:42:17,640 --> 00:42:19,270 এবং আমরা আবার পুনরুক্তি করতে চান. 871 00:42:19,270 --> 00:42:22,900 এখন আমরা পেয়েছি যে তা আমাদের সর্বনিম্ন আমরা মাধ্যমে পুনরুক্তি করতে চান, হয় 872 00:42:22,900 --> 00:42:25,190 তুলনা যদি আবার সঠিক, দেখতে? 873 00:42:25,190 --> 00:42:40,440 সুতরাং J, এখানে, যাচ্ছে সমান আমি, 0 যা. 874 00:42:40,440 --> 00:42:46,320 এবং তারপর যদি অ্যারের J প্লাস আমি যা কম, পরের ওভার যে এক 875 00:42:46,320 --> 00:42:49,270 কি আপনার বর্তমান সর্বনিম্ন চেয়ে মূল্য আপনি অদলবদল করতে চান, হয়. 876 00:42:49,270 --> 00:42:56,850 >> তাই শুধু আমরা করেছি বলে আসুন 2, 5, 1, 8, মত, পেয়েছিলাম. 877 00:42:56,850 --> 00:43:01,610 এই মুহূর্তে, আমি সমান 0 এবং জে 0 সমান. 878 00:43:01,610 --> 00:43:05,210 এবং যে আমাদের সর্বনিম্ন মান. 879 00:43:05,210 --> 00:43:09,950 অ্যারে-J তাহলে প্লাস i-- এক যদি তাই যে আমরা এ খুঁজছেন এক পরে 880 00:43:09,950 --> 00:43:13,450 , এটি আগে এক তার চেয়ে অনেক বেশী এটা সর্বনিম্ন হয়ে যাচ্ছে. 881 00:43:13,450 --> 00:43:18,120 >> তাই আমরা এখানে 5 দেখতে যে কম নয়. 882 00:43:18,120 --> 00:43:19,730 তাই এটি 5 নাও হতে যাচ্ছে. 883 00:43:19,730 --> 00:43:23,580 আমরা 1 ঠিক আছে, 2 তুলনায় কম দেখতে? 884 00:43:23,580 --> 00:43:32,970 তাই এখন আমরা আমাদের সর্বনিম্ন জানি যে 0, 1, 2 সূচক মান হতে যাচ্ছে. 885 00:43:32,970 --> 00:43:34,030 হ্যা? 886 00:43:34,030 --> 00:43:39,170 এবং তারপর আপনি, এখানে নিচে পেতে হলে আপনি সঠিক মূল্যবোধের অদলবদল করতে পারেন. 887 00:43:39,170 --> 00:43:42,610 >> তাই আপনাকে বলছি শুধু J জমিদারি ছিল যখন আগে, আপনি এক সময়ে খুঁজছেন ছিল না 888 00:43:42,610 --> 00:43:43,260 এরপর. 889 00:43:43,260 --> 00:43:44,520 আপনি এ খুঁজছেন সেটা একই মান, যা 890 00:43:44,520 --> 00:43:46,290 এটা শুধু কিছু করছেন না কেন হয়. 891 00:43:46,290 --> 00:43:49,721 যে সবাই জানার, কেন আমরা যে প্লাস আছে 1 প্রয়োজন? 892 00:43:49,721 --> 00:43:50,220 ঠিক আছে. 893 00:43:50,220 --> 00:43:53,345 এখন এটা করতে মাধ্যমে এর শুধু চালানো যাক নিশ্চিত কোড বাকি সঠিক. 894 00:43:53,345 --> 00:44:04,424 895 00:44:04,424 --> 00:44:05,340 কেন যে ঘটছে? 896 00:44:05,340 --> 00:44:14,780 897 00:44:14,780 --> 00:44:16,364 আহ, এটা ঠিক এখানে কমপক্ষে এর. 898 00:44:16,364 --> 00:44:17,780 আমরা ভুল মূল্য তুলনা করা হয়. 899 00:44:17,780 --> 00:44:24,944 900 00:44:24,944 --> 00:44:25,906 ওহ না. 901 00:44:25,906 --> 00:44:30,720 902 00:44:30,720 --> 00:44:33,482 >> ওহ হ্যাঁ, এখানে আমরা নিচে ছিল পাশাপাশি ভুল মান সোয়াপিং. 903 00:44:33,482 --> 00:44:34,940 আমরা আমি এবং জে এ খুঁজছেন সেটা. 904 00:44:34,940 --> 00:44:36,440 যারা আমরা নিচ্ছিলাম বেশী. 905 00:44:36,440 --> 00:44:39,160 আমরা আসলে অদলবদল করতে চান সর্বনিম্ন, বর্তমান সর্বনিম্ন, 906 00:44:39,160 --> 00:44:40,550 যাই হোক না কেন সঙ্গে এক বাইরে. 907 00:44:40,550 --> 00:44:59,510 908 00:44:59,510 --> 00:45:05,402 আর আপনাকে বলছি নিচে দেখতে পারেন এখানে আমরা একটি সাজানো অ্যারের আছে. 909 00:45:05,402 --> 00:45:07,110 এটা শুধু কি ছিল আসলে যখন যে 910 00:45:07,110 --> 00:45:09,350 আমরা নিচ্ছিলাম আমরা তুলনা হয় মান, 911 00:45:09,350 --> 00:45:11,226 আমরা সঠিক মান এ খুঁজছেন ছিল না. 912 00:45:11,226 --> 00:45:13,850 আমরা একই দিকে তাকিয়ে ছিল এখানে, আসলে এটা সোয়াপিং না. 913 00:45:13,850 --> 00:45:17,135 আপনি পরের এক তাকান আছে এটা করতে এবং তারপর আপনি অদলবদল করতে পারেন. 914 00:45:17,135 --> 00:45:19,260 সুতরাং যে ধরনের ছিল কি আগে আমাদের কোড bugging. 915 00:45:19,260 --> 00:45:22,460 আর কি আমি এখানে কি সবকিছু হয় ডিবাগার আপনার জন্য কাজ করতে পারে 916 00:45:22,460 --> 00:45:23,810 আমি শুধু তা, বোর্ড, এটা সহজ কারণ 917 00:45:23,810 --> 00:45:26,320 চেষ্টা করার চেয়ে বরং দেখতে ডিবাগার জুমইন. 918 00:45:26,320 --> 00:45:29,391 যে সবাই জানার? 919 00:45:29,391 --> 00:45:29,890 কুল. 920 00:45:29,890 --> 00:45:34,800 921 00:45:34,800 --> 00:45:35,410 >> ঠিক আছে. 922 00:45:35,410 --> 00:45:41,070 আমরা যে বিষয়ে কথা সরানো যাবে asymptotic স্বরলিপি, যা 923 00:45:41,070 --> 00:45:44,580 বলার অপেক্ষা রাখে না শুধু একটি অভিনব উপায় এই প্রকারের সমস্ত রানটাইম. 924 00:45:44,580 --> 00:45:47,650 তাই আমি বক্তৃতায়, ডেভিড জানেন, রানটাইম উপর অক্ষত. 925 00:45:47,650 --> 00:45:52,124 এবং তিনি পুরো সূত্র মাধ্যমে গিয়েছিলাম এর রানটাইম নিরূপণ কিভাবে. 926 00:45:52,124 --> 00:45:53,040 যে সম্পর্কে কোন উদ্বেগ. 927 00:45:53,040 --> 00:45:54,660 আপনি কি সত্যিই জানতে আগ্রহী হলে যে কাজ করে কিভাবে, 928 00:45:54,660 --> 00:45:55,810 অধ্যায় পর আমার সাথে কথা বলতে দ্বিধা বোধ করবেন না. 929 00:45:55,810 --> 00:45:57,560 আমরা ভিতর দিয়ে হেটে যেতে পারেন একসঙ্গে সূত্র. 930 00:45:57,560 --> 00:46:00,689 কিন্তু সব আপনাকে বলছি সত্যিই আছে জানি এন 2 ওভার ছক যে হয় 931 00:46:00,689 --> 00:46:01,980 n ছক হিসাবে একই জিনিস. 932 00:46:01,980 --> 00:46:04,710 বৃহত্তম সংখ্যা কারণ, সূচক, সবচেয়ে বৃদ্ধি. 933 00:46:04,710 --> 00:46:06,590 আর তাই আমাদের উদ্দেশ্যে, আমরা যত্নশীল সব 934 00:46:06,590 --> 00:46:09,470 ক্রমবর্ধমান যে দৈত্য সংখ্যা. 935 00:46:09,470 --> 00:46:13,340 >> তাই কি ভাল ক্ষেত্রে হয় নির্বাচন সাজানোর রানটাইম? 936 00:46:13,340 --> 00:46:15,830 আপনি চলুন একটি তালিকা মাধ্যমে বারবার 937 00:46:15,830 --> 00:46:18,712 এবং তারপর মাধ্যমে বারবার যে তালিকার বাকি, 938 00:46:18,712 --> 00:46:20,420 কত বার আছে আপনি সম্ভবত যাচ্ছে 939 00:46:20,420 --> 00:46:24,612 সবচেয়ে খারাপ ক্ষেত্রেই এ যদি ভাল, মাধ্যমে চালানো sorry--? 940 00:46:24,612 --> 00:46:27,070 হয়ত ভাল প্রশ্ন জিজ্ঞাসা, খারাপ ক্ষেত্রে কি 941 00:46:27,070 --> 00:46:28,153 নির্বাচন সাজানোর রানটাইম. 942 00:46:28,153 --> 00:46:29,366 শ্রোতা: n ছক. 943 00:46:29,366 --> 00:46:30,740 Andi Peng: এটি এন অধিকার, ছক আছে. 944 00:46:30,740 --> 00:46:36,986 এই ভালো হয় তাই একটি সহজ উপায় মনে করতে, আপনি loops জন্য নেস্টেড দুটি আছে যে কোনো সময়, 945 00:46:36,986 --> 00:46:38,110 n ছক হতে যাচ্ছে. 946 00:46:38,110 --> 00:46:40,386 আপনি না শুধুমাত্র কারণ আবার মাধ্যমে চলমান, 947 00:46:40,386 --> 00:46:42,260 আপনি ফিরে যেতে হবে কাছাকাছি এবং এটি মাধ্যমে চালানো 948 00:46:42,260 --> 00:46:44,980 আবার ভাষার মান জন্য ভিতরে. 949 00:46:44,980 --> 00:46:48,640 যে ক্ষেত্রে, আপনি এন চালাচ্ছেন বার এন, দুঃখিত হচ্ছে ÑÑ যা, ছক 950 00:46:48,640 --> 00:46:50,505 nn বার, n ছক সমান, যা. 951 00:46:50,505 --> 00:46:53,230 952 00:46:53,230 --> 00:46:56,360 >> এবং সাজানোর একটি বিট অর্থে অনন্য 953 00:46:56,360 --> 00:46:59,774 এটা এই তাহলে ব্যাপার না যে মান যাতে ইতিমধ্যেই আছে. 954 00:46:59,774 --> 00:47:01,440 এটা এখনও কোন পথে মাধ্যমে চালানো যাচ্ছে. 955 00:47:01,440 --> 00:47:03,872 এর ঠিক এই 1, 2, 3, 4 ছিলাম. 956 00:47:03,872 --> 00:47:07,080 তথাপি এটি ছিল কিনা বা না অর্ডার, এটা এখনও মাধ্যমে স্থাপিত হবে 957 00:47:07,080 --> 00:47:08,620 এবং এখনও সর্বনিম্ন মূল্য চেক. 958 00:47:08,620 --> 00:47:10,100 এটি তৈরি করা হয়েছে হবে চেক একই সংখ্যা 959 00:47:10,100 --> 00:47:12,780 প্রতি একক সময়, এমনকি এটা যদি আসলে কিছু স্পর্শ করা হয়নি. 960 00:47:12,780 --> 00:47:16,940 >> যেমন একটি ক্ষেত্রে, ভাল এবং খারাপ রানটাইম আসলে সমতুল্য. 961 00:47:16,940 --> 00:47:19,160 তাই প্রত্যাশিত রানটাইম নির্বাচন সাজানোর, 962 00:47:19,160 --> 00:47:23,790 যা আমরা চিহ্ন দ্বারা নামকরণ থেটা, থেটা, এই ক্ষেত্রে, 963 00:47:23,790 --> 00:47:24,790 এছাড়াও n ছক হবে. 964 00:47:24,790 --> 00:47:26,480 এই তিনজনই n ছক হবে. 965 00:47:26,480 --> 00:47:29,653 কেন সবাই স্পষ্ট রানটাইম n ছক হয়? 966 00:47:29,653 --> 00:47:33,360 967 00:47:33,360 --> 00:47:33,980 >> ঠিক আছে. 968 00:47:33,980 --> 00:47:39,120 তাই আমি শুধু দ্রুত চালানো যাচ্ছে না বিশৃঙ্খলভাবে বাকি মাধ্যমে. 969 00:47:39,120 --> 00:47:41,137 জন্য এলগরিদম বাবল, মনে sort-- 970 00:47:41,137 --> 00:47:43,220 এই প্রথম এক ছিল ডেভিড বক্তৃতায় উপর গিয়েছিলাম. 971 00:47:43,220 --> 00:47:46,000 মূলত, আপনি ধাপে সম্পূর্ণ তালিকা মাধ্যমে 972 00:47:46,000 --> 00:47:48,950 এবং আপনি শুধু আপনার swap-- একটি সময়ে দুটি সুবিধাগুলি তুলনা করুন. 973 00:47:48,950 --> 00:47:51,350 আর এক, যদি বেশী থাকে আপনার চেয়ে শুধু তাদের অদলবদল. 974 00:47:51,350 --> 00:47:53,590 এই বৃহত্তর সুতরাং, যদি আপনি অদলবদল হবে. 975 00:47:53,590 --> 00:47:56,180 আমি ডান এখানে অফিসিয়াল পেয়েছেন. 976 00:47:56,180 --> 00:47:59,100 >> তাই আসুন শুধু আপনি 8, 6, 4, 2 ছিল বলা যাক. 977 00:47:59,100 --> 00:48:00,571 আপনি 8 এবং 6 তুলনা চাই. 978 00:48:00,571 --> 00:48:01,570 আপনি তাদের অদলবদল করতে হবে চাই. 979 00:48:01,570 --> 00:48:02,610 আপনি 8 এবং একটি 4 তুলনা হবে. 980 00:48:02,610 --> 00:48:03,609 আপনি তাদের অদলবদল করতে হবে চাই. 981 00:48:03,609 --> 00:48:07,000 আপনি 8 অদলবদল থাকে এবং 2, সেইসাথে তাদের পরিবর্তন. 982 00:48:07,000 --> 00:48:10,760 যেমন একটি অর্থে সুতরাং, আপনি দেখতে পারেন একটি সময় দীর্ঘ সময়কালে অকেজো, 983 00:48:10,760 --> 00:48:13,730 কিভাবে বুদ্বুদের মান ধরনের যা শেষ হয়, আমরা তা কেন কল 984 00:48:13,730 --> 00:48:15,320 বাবল সাজান. 985 00:48:15,320 --> 00:48:19,950 >> আমরা শুধু আবার মাধ্যমে চালানো হবে আমাদের দ্বিতীয় পাস, এবং আমাদের তৃতীয় পাস, 986 00:48:19,950 --> 00:48:21,150 এবং আমাদের চতুর্থ পাস. 987 00:48:21,150 --> 00:48:25,820 মূলত, বাবল সাজান শুধু রান আপনি কোন আরো বিনিময়সমূহ করতে না হওয়া পর্যন্ত. 988 00:48:25,820 --> 00:48:31,109 যে অর্থে তাই, এই মাত্র এটা জন্য সাধারণ pseudocode হয়. 989 00:48:31,109 --> 00:48:32,650 কোন উদ্বেগ, এই সব অনলাইন হতে হবে. 990 00:48:32,650 --> 00:48:34,990 আমরা আসলে এই পুনরালোচনা করা হবে না. 991 00:48:34,990 --> 00:48:38,134 >> আমরা শুধু একটি পাল্টা আরম্ভ 0 আরম্ভ করা হয় যে পরিবর্তনশীল. 992 00:48:38,134 --> 00:48:39,800 আর আমরা সম্পূর্ণ অ্যারে মাধ্যমে বারবার. 993 00:48:39,800 --> 00:48:43,420 আর একটি মান এই যদি হচ্ছে ÑÑ যদি মান, যে মূল্য তার চেয়ে অনেক বেশী 994 00:48:43,420 --> 00:48:44,610 আপনি তাদের অদলবদল চলুন. 995 00:48:44,610 --> 00:48:46,860 এবং তারপর আপনি ঠিক আছেন বর্তা যাচ্ছে. 996 00:48:46,860 --> 00:48:47,970 এবং আপনি গণনা করতে যাচ্ছেন. 997 00:48:47,970 --> 00:48:50,845 আর আপনি শুধু করছেন রাখতে যাচ্ছেন এই পাল্টা বেশী সময় 998 00:48:50,845 --> 00:48:53,345 যার মানে 0, চেয়ে প্রত্যেক সময় আপনি বিনিময় করা আছে, 999 00:48:53,345 --> 00:48:55,220 আপনি যেতে চান জানি ফিরে এবং আবার পরীক্ষা. 1000 00:48:55,220 --> 00:48:59,510 আপনি যদি জানেন যে পর্যন্ত চেক রাখতে চান যে আপনি আর অদলবদল করতে হবে না. 1001 00:48:59,510 --> 00:49:05,570 >> তাই সবচেয়ে ভাল এবং সবচেয়ে খারাপ কি আছে বুদ্বুদ সাজানোর জন্য runtimes? 1002 00:49:05,570 --> 00:49:09,300 আর hint-- এই আসলে ভিন্ন অর্থে নির্বাচন সাজানোর থেকে 1003 00:49:09,300 --> 00:49:11,810 এই দুটি উত্তর একই না হয়. 1004 00:49:11,810 --> 00:49:14,709 এ ঘটতে পারে সে সম্পর্কে চিন্তা করুন একটি ক্ষেত্রে এটি আগে থেকেই সাজানো ছিল তাহলে. 1005 00:49:14,709 --> 00:49:16,500 এবং আমার মনে হয় কি এটা যদি ঘটতে পারে 1006 00:49:16,500 --> 00:49:18,372 ক্ষেত্রে যা এটা সাজানো যায়নি. 1007 00:49:18,372 --> 00:49:20,580 এবং আপনি কি ধরনের চালাতে পারেন কেন মাধ্যমে যে ঘটছে. 1008 00:49:20,580 --> 00:49:22,954 আমি 30 মত, বলছি দেব সেকেন্ডের যে আমার মনে হয়. 1009 00:49:22,954 --> 00:49:52,330 1010 00:49:52,330 --> 00:49:53,540 >> ঠিক আছে. 1011 00:49:53,540 --> 00:49:57,462 কেউ কি একটি অনুমান আছে বুদবুদ সাজানোর খারাপ ক্ষেত্রে রানটাইম? 1012 00:49:57,462 --> 00:49:57,962 হ্যা. 1013 00:49:57,962 --> 00:50:07,810 >> শ্রোতা: এটা, মত, এন বার হবে এন বিয়োগ 1 বা ওই জাতীয় কিছু? 1014 00:50:07,810 --> 00:50:10,650 ভালো লেগেছে, এটি সঞ্চালিত হয় প্রতিটি সময়, এটা একটি swap 'র কম, মত, ঠিক 1015 00:50:10,650 --> 00:50:10,960 যাই হোক না কেন যে এটা ছিল. 1016 00:50:10,960 --> 00:50:12,668 >> Andi Peng: হ্যাঁ, তাই আপনি একেবারে ঠিক. 1017 00:50:12,668 --> 00:50:15,940 আর এই একটি ক্ষেত্রে যা হয় আপনার উত্তর আসলে আরো জটিল ছিল 1018 00:50:15,940 --> 00:50:17,240 একটির আমরা দিতে হবে. 1019 00:50:17,240 --> 00:50:19,772 তাই এটা আমি run-- যাচ্ছে এখানে এই সব মুছে দিতে চলেছে. 1020 00:50:19,772 --> 00:50:20,480 সবাই ভাল? 1021 00:50:20,480 --> 00:50:21,869 আমি এই মুছে দিতে পারেন? 1022 00:50:21,869 --> 00:50:22,368 ঠিক আছে. 1023 00:50:22,368 --> 00:50:27,904 1024 00:50:27,904 --> 00:50:30,320 আপনি এন মাধ্যমে চালানো চলুন বার প্রথমবার, তাই না? 1025 00:50:30,320 --> 00:50:33,200 তাঁরা মাধ্যমে চালানো চলুন এন বিয়োগ 1 সেকেন্ড সময়, ঠিক আছে? 1026 00:50:33,200 --> 00:50:37,130 এবং তারপর আপনি রাখতে যাচ্ছেন এন খনি 2, ইত্যাদি ইত্যাদি, যাচ্ছে. 1027 00:50:37,130 --> 00:50:40,210 ডেভিড যেখানে একটি বক্তৃতা, এই করেনি, আপনি ঐ সমস্ত মান আপ যোগ করা হলে, 1028 00:50:40,210 --> 00:50:48,080 আপনি কিছু যে পেতে করার মত yeah-- মূলত শুধু কমিয়ে দেয় যা 2, ওভার 1029 00:50:48,080 --> 00:50:49,784 এন নিচে ছক. 1030 00:50:49,784 --> 00:50:51,700 আপনি একটি পেতে যাচ্ছেন সেখানে অদ্ভুত ভগ্নাংশ. 1031 00:50:51,700 --> 00:50:53,892 আর তাই শুধু জানি যে এন সবসময় ছক 1032 00:50:53,892 --> 00:50:55,350 ভগ্নাংশ অগ্রগণ্য. 1033 00:50:55,350 --> 00:50:58,450 আর তাই এই ক্ষেত্রে, খারাপ রানটাইম n ছক হবে. 1034 00:50:58,450 --> 00:51:00,210 এটা সাজানো ছিল অর্ডার, আপনি কি মনে করেন 1035 00:51:00,210 --> 00:51:02,530 অদল-বদলের কাজটি প্রতি একক সময় করতে হবে. 1036 00:51:02,530 --> 00:51:05,170 >> সম্ভাব্য কী হবে, সেরা ক্ষেত্রে রানটাইম? 1037 00:51:05,170 --> 00:51:08,580 তালিকায় আগে থেকেই ছিল, শুধু বলে চলুন শুরু করা যাক যাতে, রানটাইম কি হবে? 1038 00:51:08,580 --> 00:51:09,565 >> শ্রোতা: এন. 1039 00:51:09,565 --> 00:51:10,690 Andi Peng: এটা ঠিক, এন. 1040 00:51:10,690 --> 00:51:11,600 আর কেনই বা এটি এন হয়? 1041 00:51:11,600 --> 00:51:13,850 শ্রোতা: আপনি কারণ শুধু প্রতিটি একবার পরীক্ষা আছে. 1042 00:51:13,850 --> 00:51:14,770 Andi Peng: ঠিক. 1043 00:51:14,770 --> 00:51:17,150 সম্ভাব্য সর্বোত্তম রানটাইম তাই এই তালিকায় আগে থেকেই ছিল যদি 1044 00:51:17,150 --> 00:51:20,270 সাজানো, এর 1, 2, 3 বলা যাক 4-- আপনি শুধু মধ্য দিয়ে যেতে হবে, আপনি, পরীক্ষা হবে 1045 00:51:20,270 --> 00:51:21,720 আপনি ওহ, তারা সব প্যান, দেখতে হবে. 1046 00:51:21,720 --> 00:51:22,636 আমি অদলবদল করতে হত না. 1047 00:51:22,636 --> 00:51:23,370 আমি কাজ করছি. 1048 00:51:23,370 --> 00:51:26,500 সুতরাং যে ক্ষেত্রে, এটা ঠিক এর n বা ধাপের সংখ্যা আপনি শুধু 1049 00:51:26,500 --> 00:51:29,870 প্রথম তালিকায় চেক করা ছিল. 1050 00:51:29,870 --> 00:51:33,990 >> এবং পরে, আমরা এখন আঘাত সন্নিবেশ সাজানোর, যেখানে 1051 00:51:33,990 --> 00:51:39,260 অ্যালগরিদম ডিভাইড মূলত হয় এটি একটি সাজানো এবং পাঁচমিশালী অংশ মধ্যে. 1052 00:51:39,260 --> 00:51:42,810 এবং তারপর একের পর এক, পাঁচমিশালী মান 1053 00:51:42,810 --> 00:51:46,880 তাদের উপযুক্ত ঢোকানো তালিকার শুরুতে অবস্থানের. 1054 00:51:46,880 --> 00:51:52,120 >> সুতরাং উদাহরণস্বরূপ, আমরা একটি আছে 3 তালিকা, 5, 2, 6, 4 আবার. 1055 00:51:52,120 --> 00:51:54,750 আমরা এটা বর্তমানে যে জানেন পাঁচমিশালী আমরা শুধু করেছি কারণ 1056 00:51:54,750 --> 00:51:57,030 এটি এ খুঁজছেন শুরু. 1057 00:51:57,030 --> 00:52:00,610 আমরা দেখব এবং আমরা জানি যে প্রথম মান, ডান সাজানো হয়? 1058 00:52:00,610 --> 00:52:04,190 আপনি শুধুমাত্র একটি অ্যারের খুঁজছেন আকার এক, যদি আপনি এটি সাজানো যে জানেন. 1059 00:52:04,190 --> 00:52:08,230 >> তখন আমরা জানি যে অন্য চার পাঁচমিশালী হয়. 1060 00:52:08,230 --> 00:52:10,980 আমরা মধ্য দিয়ে যেতে এবং আমরা যে মান দেখতে. 1061 00:52:10,980 --> 00:52:11,730 চল যাই. 1062 00:52:11,730 --> 00:52:13,130 5 এর যে মান দেখুন? 1063 00:52:13,130 --> 00:52:14,110 আমরা এটা কটাক্ষপাত. 1064 00:52:14,110 --> 00:52:15,204 আমরা 3 এটি তুলনা. 1065 00:52:15,204 --> 00:52:17,870 আমরা এটা তার চেয়ে অনেক বেশী জানি যে 3, তাই আমরা যে সাজানো যে জানেন. 1066 00:52:17,870 --> 00:52:22,940 তাই এখন আমরা জানি যে প্রথম দুই সাজানো এবং গত তিন না করাই বাঞ্ছনীয়. 1067 00:52:22,940 --> 00:52:24,270 >> আমরা 2 কটাক্ষপাত. 1068 00:52:24,270 --> 00:52:25,720 আমরা প্রথম 5 সঙ্গে এটি পরীক্ষা. 1069 00:52:25,720 --> 00:52:26,700 এটা 5 এর চেয়ে কম? 1070 00:52:26,700 --> 00:52:27,240 তা না হয়. 1071 00:52:27,240 --> 00:52:29,510 সুতরাং আমরা নতমুখ রাখা আছে. 1072 00:52:29,510 --> 00:52:30,940 তারপর আপনি 3 বন্ধ 2 পরীক্ষা. 1073 00:52:30,940 --> 00:52:31,850 এটা এর চেয়ে কম? 1074 00:52:31,850 --> 00:52:32,350 না. 1075 00:52:32,350 --> 00:52:35,430 তাই আপনি যদি একটি 2 সন্নিবেশিত করা হয়েছে জানি সামনে মধ্যে এবং 3 ও 5 1076 00:52:35,430 --> 00:52:38,200 উভয় আউট push করা আছে. 1077 00:52:38,200 --> 00:52:42,190 6 এবং 4 আবার এই কাজ. 1078 00:52:42,190 --> 00:52:48,962 আর আমরা শুধু, মূলত চেক রাখা আমরা শুধু পরীক্ষা, যেখানে, চেক. 1079 00:52:48,962 --> 00:52:51,170 এবং এটা সঠিক যে না হওয়া পর্যন্ত অবস্থান, আমরা ধরনের মাত্র 1080 00:52:51,170 --> 00:52:54,890 সঠিক অবস্থানে সেটিকে সন্নিবেশ, যা তা নামে যেখান থেকে এসেছিলেন হয়. 1081 00:52:54,890 --> 00:52:59,830 >> সুতরাং যে শুধু অ্যালগরিদম, pseudocode সহজাতভাবে ধরনের, 1082 00:52:59,830 --> 00:53:04,990 আমরা বাস্তবায়ন করবে কিভাবে একটি সন্নিবেশ সাজান. 1083 00:53:04,990 --> 00:53:05,954 Pseudocode এখানে. 1084 00:53:05,954 --> 00:53:06,620 এটা সব অনলাইন. 1085 00:53:06,620 --> 00:53:10,720 কোন উদ্বেগ আপনাকে বলছি হয় তাহলে এই কপি করার চেষ্টা করছে. 1086 00:53:10,720 --> 00:53:14,500 তাই আবার, একই question-- কি ভাল এবং খারাপ রানটাইম হবে 1087 00:53:14,500 --> 00:53:16,120 সন্নিবেশ সাজানোর জন্য? 1088 00:53:16,120 --> 00:53:17,750 এটা শেষ প্রশ্নের অনুরূপ. 1089 00:53:17,750 --> 00:53:20,479 আমি 30 মত, বলছি দেব সেকেন্ড পাশাপাশি এই সম্পর্কে চিন্তা. 1090 00:53:20,479 --> 00:53:47,150 1091 00:53:47,150 --> 00:53:50,071 >> কেউ করতে চান না ঠিক আছে আমার খারাপ রানটাইম দিতে? 1092 00:53:50,071 --> 00:53:50,570 হ্যা. 1093 00:53:50,570 --> 00:53:51,490 >> শ্রোতা: n ছক. 1094 00:53:51,490 --> 00:53:52,573 >> Andi Peng: n ছক হচ্ছে. 1095 00:53:52,573 --> 00:53:53,730 আর কেনই বা n ছক হয়? 1096 00:53:53,730 --> 00:53:57,562 >> শ্রোতা: এর মধ্যে কারণ বিপরীত ক্রমে, আপনি 1097 00:53:57,562 --> 00:54:02,619 হচ্ছে ÑÑ যা, এন বার মধ্য দিয়ে যেতে এন 1098 00:54:02,619 --> 00:54:03,660 Andi Peng: হাঁ, ঠিক. 1099 00:54:03,660 --> 00:54:06,610 বুদ্বুদ সাজানোর হিসাবে তাই একই জিনিস. 1100 00:54:06,610 --> 00:54:08,720 এই তালিকা করা হয় তাহলে ক্রম সাজানো, আপনি আছেন 1101 00:54:08,720 --> 00:54:11,240 প্রথম একবার পরীক্ষা করতে যাচ্ছেন. 1102 00:54:11,240 --> 00:54:13,470 এবং তারপর সাথে ভাষার অতিরিক্ত মূল্য, আপনি আছেন 1103 00:54:13,470 --> 00:54:16,390 আছে যাচ্ছে বিরুদ্ধে এটি পরীক্ষা করতে ডান প্রতিটি একক মান? 1104 00:54:16,390 --> 00:54:20,290 আর তাই পুরাপুরি, আপনি করতে যাচ্ছেন একটি পা Pass বার অন্য এন, যা পাস 1105 00:54:20,290 --> 00:54:21,750 n ছক. 1106 00:54:21,750 --> 00:54:22,860 কি সেরা কেস সম্পর্কে কি? 1107 00:54:22,860 --> 00:54:24,360 হ্যা. 1108 00:54:24,360 --> 00:54:28,840 >> শ্রোতা: এন বিয়োগ 1, কারণ প্রথম এক ইতিমধ্যে ছক. 1109 00:54:28,840 --> 00:54:30,270 >> Andi Peng: সুতরাং, বন্ধ. 1110 00:54:30,270 --> 00:54:31,850 উত্তর আসলে এন হয়. 1111 00:54:31,850 --> 00:54:37,189 প্রথমটি হল, যখন কারণ সাজানো, এটা আসলে না পারে 1112 00:54:37,189 --> 00:54:38,980 আমরা শুধু এ, lucked আউট যে উদাহরণস্বরূপ, যে 2 1113 00:54:38,980 --> 00:54:40,930 ক্ষুদ্রতম সংখ্যা হতে ঘটেছে. 1114 00:54:40,930 --> 00:54:43,680 কিন্তু যে সবসময় হবে না. 1115 00:54:43,680 --> 00:54:48,040 2 ইতিমধ্যে শুরুতে সাজানো হয় তাহলে কিন্তু আপনি, চেহারা এবং এখানে একটি 1 আছে 1116 00:54:48,040 --> 00:54:49,144 1 এটা আচমকা যাচ্ছে. 1117 00:54:49,144 --> 00:54:51,060 এবং এটি শেষ করতে যাচ্ছে আপ পথে নম্বর পজিশনে হচ্ছে. 1118 00:54:51,060 --> 00:54:56,250 >> , শ্রেষ্ঠ কেস দৃশ্যকল্প মধ্যে তাই এটা আসলে শুধু এন হতে যাচ্ছে. 1119 00:54:56,250 --> 00:54:59,090 যদি আপনি 1, 2, 3, 4, 5, 6, 7, 8, আপনি আছেন 1120 00:54:59,090 --> 00:55:00,940 মাধ্যমে চালানো যাচ্ছে যে সমগ্র তালিকায় একবার 1121 00:55:00,940 --> 00:55:03,430 সবকিছু ঠিক আছে কিনা তা পরীক্ষা করার জন্য. 1122 00:55:03,430 --> 00:55:07,390 চলমান প্রত্যেককে স্পষ্ট পাশাপাশি নির্বাচনের বার? 1123 00:55:07,390 --> 00:55:09,960 আমি মাধ্যমে যাচ্ছি জানি এই সত্যিই দ্রুত. 1124 00:55:09,960 --> 00:55:13,330 কিন্তু আপনি যদি জানেন যে জানেন সাধারণ ধারণা, আপনি ভাল হওয়া উচিত. 1125 00:55:13,330 --> 00:55:16,070 ঠিক আছে. 1126 00:55:16,070 --> 00:55:19,790 তাই আমি ঠিক মত, হয়তো বলছি দেব, একটি মিনিট আপনার প্রতিবেশীদের সাথে কথা বলতে 1127 00:55:19,790 --> 00:55:21,890 কি শুধু কিছু প্রধান পার্থক্য 1128 00:55:21,890 --> 00:55:23,540 প্রকারের এই ধরনের মধ্যে. 1129 00:55:23,540 --> 00:56:24,571 1130 00:56:24,571 --> 00:56:25,570 আমরা যে শীঘ্রই উপর যাবেন. 1131 00:56:25,570 --> 00:56:26,444 শ্রোতা: ঠিক আছে, ওহ. 1132 00:56:26,444 --> 00:56:27,320 Andi Peng: হ্যা. 1133 00:56:27,320 --> 00:56:28,380 ঠিক আছে. 1134 00:56:28,380 --> 00:56:33,420 কুল, এর একটি শ্রেণী হিসেবে reconvene যাক. 1135 00:56:33,420 --> 00:56:34,330 ঠিক আছে. 1136 00:56:34,330 --> 00:56:37,579 তাই এই ছিল ধরনের একটি অর্থে সবিস্তার প্রশ্ন 1137 00:56:37,579 --> 00:56:39,120 যে তাদের উত্তর প্রচুর আছে. 1138 00:56:39,120 --> 00:56:40,746 এবং আমরা সংক্ষেপে তাদের কিছু উপর যাবেন. 1139 00:56:40,746 --> 00:56:43,411 আমি শুধু আপনাকে বলছি পেতে চেয়েছিলেন পৃথকীকৃত সে সম্পর্কে চিন্তা 1140 00:56:43,411 --> 00:56:44,530 বিশৃঙ্খলভাবে সব তিন ধরনের. 1141 00:56:44,530 --> 00:56:47,440 তখন আমি বললাম, এছাড়াও, একটি মহান শোনা কি সাজান একত্রীকরণ question--? 1142 00:56:47,440 --> 00:56:50,110 বড় প্রশ্ন, যে কারণ কি আমরা পরের আচ্ছাদন করছি. 1143 00:56:50,110 --> 00:56:52,850 >> সুতরাং সাজানোর একত্রীকরণ যে ফাংশন এক সাজান 1144 00:56:52,850 --> 00:56:56,100 খুব ভিন্নভাবে অন্যান্য প্রকারের থেকে. 1145 00:56:56,100 --> 00:56:58,180 আপনাকে বলছি see-- পারেন ডেভিড যে ডেমো কি হয়নি 1146 00:56:58,180 --> 00:57:01,130 তিনি সব শান্ত ছিল যেখানে একত্রীকরণ কিভাবে দেখা গোলমালের 1147 00:57:01,130 --> 00:57:04,010 সাজান অসীম, মত, দৌড়ে অন্য দুটি ধরনের তুলনায় দ্রুততর? 1148 00:57:04,010 --> 00:57:04,510 ঠিক আছে. 1149 00:57:04,510 --> 00:57:07,580 সুতরাং যে একত্রীকরণ কারণ এর সাজান যে ডিভাইড কার্যকরী 1150 00:57:07,580 --> 00:57:11,020 এবং আমরা করেছি যে ধারণা বশীভূত বক্তৃতায় অনেক বিষয়ে কথা বলত. 1151 00:57:11,020 --> 00:57:14,550 আমরা কাজ করতে চাই যে অর্থে স্মার্ট, আপনি বিভক্ত করা, না কঠিন 1152 00:57:14,550 --> 00:57:18,120 এবং সমস্যার বশীভূত, এবং তাদের বিরতি নিচে, এবং তারপর, তাদের একত্রে 1153 00:57:18,120 --> 00:57:19,930 ভাল জিনিস সবসময় এরকম. 1154 00:57:19,930 --> 00:57:21,960 >> একত্রীকরণ যে ভাবে তাই সাজান মূলত কাজ করে 1155 00:57:21,960 --> 00:57:24,660 এটি একটি ভাগ যে হয় অর্ধেক পাঁচমিশালী অ্যারে. 1156 00:57:24,660 --> 00:57:26,500 এবং তারপর এটা অ্যারে দুই অর্ধেক পেয়েছিলাম. 1157 00:57:26,500 --> 00:57:28,220 আর এটা শুধু ঐ দুটি অর্ধ অসুস্থ. 1158 00:57:28,220 --> 00:57:31,750 এটা শুধু যে, অর্ধেক বিভাজক রাখে অর্ধেক, অর্ধেক সবকিছু সাজানো না হওয়া পর্যন্ত 1159 00:57:31,750 --> 00:57:33,680 এবং তারপর পৌনঃপুনিকভাবে এটি সব একসঙ্গে রাখে. 1160 00:57:33,680 --> 00:57:36,550 >> সুতরাং যে সত্যিই বিমূর্ত. 1161 00:57:36,550 --> 00:57:38,750 সুতরাং এই pseudocode শুধুমাত্র একটি বিট হয়. 1162 00:57:38,750 --> 00:57:41,040 যে জানার এটি চলমান পথ? 1163 00:57:41,040 --> 00:57:43,870 সুতরাং আপনি একটি আছে যাক এন উপাদানের অ্যারের, ডান? 1164 00:57:43,870 --> 00:57:45,450 এন 2 চেয়ে কম হয়, তাহলে আপনি আসতে পারেন. 1165 00:57:45,450 --> 00:57:49,040 কারণ আপনি জানেন যে আছে কিনা শুধুমাত্র এক জিনিস, এটা সাজানো হবে. 1166 00:57:49,040 --> 00:57:52,600 অন্যথায়, আপনি বাম অর্ধেক, এবং তারপর আপনি ডান অর্ধেক বাছাই, 1167 00:57:52,600 --> 00:57:54,140 এবং তারপর আপনি একত্রীকরণ. 1168 00:57:54,140 --> 00:57:56,979 >> যে সত্যিই সহজ মনে হচ্ছে, যখন সুতরাং, বাস্তবে, এটা সম্পর্কে চিন্তা 1169 00:57:56,979 --> 00:58:00,270 অনুমোদিত ধরনের. আপনি ভালো থাকেন কারণ, ভাল, যে ধরনের নিজেই চলমান. 1170 00:58:00,270 --> 00:58:00,769 রাইট? 1171 00:58:00,769 --> 00:58:02,430 এটা নিজেই চলমান. 1172 00:58:02,430 --> 00:58:05,479 সুতরাং যে অর্থে, ডেভিড স্পর্শ বর্গ মধ্যে recursion উপর. 1173 00:58:05,479 --> 00:58:07,270 এবং যে একটি ধারণা আমরা আরো সম্পর্কে আলোচনা করব. 1174 00:58:07,270 --> 00:58:11,430 এটা এই যে, এই দুটি লাইন এখানে, আসলে শুধু প্রোগ্রাম 1175 00:58:11,430 --> 00:58:13,860 এটা বলার নিজেই চালাতে বিভিন্ন ইনপুট সঙ্গে. 1176 00:58:13,860 --> 00:58:17,230 তাই বরং নিজেই চালাতে চেয়ে n উপাদান সম্পূর্ণতা, 1177 00:58:17,230 --> 00:58:20,530 আপনি সেটিকে ভেঙ্গে যাবে বাম এবং ডান অর্ধেক অর্ধেক 1178 00:58:20,530 --> 00:58:22,680 এবং তারপর আবার এটি চালানোর জন্য. 1179 00:58:22,680 --> 00:58:26,050 >> এবং তারপর আমরা, দৃশ্যত এটা তাকান করব আমি চাক্ষুষ শিক্ষার্থী নই, কারণ. 1180 00:58:26,050 --> 00:58:27,270 এটা আমার জন্য ভাল কাজ করে. 1181 00:58:27,270 --> 00:58:29,890 তাই আমরা এখানে একটি চাক্ষুষ উদাহরণ তাকান করব. 1182 00:58:29,890 --> 00:58:36,237 >> ছয় এর আমরা একটি অ্যারে আছে বলে উপাদান, 3, 5, 2, 6, 4, 1, সাজানো না. 1183 00:58:36,237 --> 00:58:37,820 ঠিক আছে, এই পৃষ্ঠায় একটি অনেক আছে. 1184 00:58:37,820 --> 00:58:43,179 আপনাকে বলছি তাকান পারেন, তাই যদি এখানে প্রথম ধাপে, 3, 5, 2, 6, 4, 1, 1185 00:58:43,179 --> 00:58:44,220 আপনি অর্ধেক এটি বিভক্ত করতে পারেন. 1186 00:58:44,220 --> 00:58:45,976 আপনি 3, 5, 2, 6, 4, 1 আছে. 1187 00:58:45,976 --> 00:58:48,850 আপনি এই আপনি aren't-- জানি যে তারা সাজানো বা না থাকেন তাহলে জানি না, 1188 00:58:48,850 --> 00:58:52,517 তাই আপনি অর্ধেক, তাদের নিচে ভঙ্গ রাখা, অর্ধেক, অর্ধেক, অবশেষে পর্যন্ত, 1189 00:58:52,517 --> 00:58:53,600 আপনি শুধুমাত্র একটি উপাদান আছে. 1190 00:58:53,600 --> 00:58:56,790 আর এক উপাদান সবসময় সঠিক, সাজানো হয়? 1191 00:58:56,790 --> 00:59:01,560 >> তাই আমরা জানি যে 3, 5, 2, 4, 6, 1, নিজেরাই, সাজানো হয়. 1192 00:59:01,560 --> 00:59:05,870 আর এখন আমরা তাদের একসঙ্গে ফিরে লাগাতে পারেন. 1193 00:59:05,870 --> 00:59:07,510 সুতরাং আমরা 3, 5 জানি. 1194 00:59:07,510 --> 00:59:08,510 আমরা চাই যারা একত্রে. 1195 00:59:08,510 --> 00:59:09,617 আমরা যে সাজানো জানেন. 1196 00:59:09,617 --> 00:59:10,450 এখনও আছে 2 এর. 1197 00:59:10,450 --> 00:59:11,830 আমরা একসাথে 4 ও 6 লাগাতে পারেন. 1198 00:59:11,830 --> 00:59:13,996 আমরা, যে সাজানো যে জানেন তাই আমরা একসাথে যে করা. 1199 00:59:13,996 --> 00:59:14,940 আর 1 আছে. 1200 00:59:14,940 --> 00:59:18,720 >> এবং তারপর আপনি শুধু তাকান এখানে ডান এই দুই অর্ধেক. 1201 00:59:18,720 --> 00:59:21,300 আপনি 3, 5, 2, 2, 3, 5 আছে. 1202 00:59:21,300 --> 00:59:23,465 আপনি শুধু তুলনা করতে পারেন সবকিছু শুরু হয়. 1203 00:59:23,465 --> 00:59:26,340 আপনি এই সাজানো জানি যে কারণ এবং আপনি যে সাজানো যে জানেন. 1204 00:59:26,340 --> 00:59:29,360 আমি তখন আপনি এমনকি করতে হবে না 5 তুলনা, আপনি শুধু 3 সুবিধাগুলি তুলনা করুন. 1205 00:59:29,360 --> 00:59:32,070 আর 2 তাই, 3 কম হয় আপনি 2 শেষ পর্যন্ত যেতে হবে জানি. 1206 00:59:32,070 --> 00:59:33,120 >> ওইখানে একই জিনিস. 1207 00:59:33,120 --> 00:59:34,740 1 এখানে যেতে হবে. 1208 00:59:34,740 --> 00:59:37,330 যখন আপনি যান এবং তারপর করা একসাথে ঐ দুটি মান, 1209 00:59:37,330 --> 00:59:39,950 আপনি এই সাজানো হয় জানেন এবং আপনি যে সাজানো হয় যে জানেন. 1210 00:59:39,950 --> 00:59:43,240 তারপর 1 এবং 2, 1 2 তুলনায় কম. 1211 00:59:43,240 --> 00:59:45,570 1 যে আপনি বলে এই প্রান্তে যেতে হবে 1212 00:59:45,570 --> 00:59:47,480 এমনকি 3 বা 5 এ খুঁজছেন ছাড়া. 1213 00:59:47,480 --> 00:59:50,100 এবং তারপর 4, আপনি ঠিক করতে পারেন তা এখানে সঠিক যায়, পরীক্ষা. 1214 00:59:50,100 --> 00:59:51,480 আপনি 5 তাকান আছে না. 1215 00:59:51,480 --> 00:59:52,570 6 সঙ্গে একই জিনিস. 1216 00:59:52,570 --> 00:59:55,860 আপনি জানেন 6-- এটা ঠিক যে যাচাই করা হবে না. 1217 00:59:55,860 --> 00:59:57,870 >> আর তাই যে ভাবে, আপনি আছেন শুধু নিজেকে বাঁচান 1218 00:59:57,870 --> 00:59:59,526 পদক্ষেপ অনেকটা আপনি তুলনা করছি. 1219 00:59:59,526 --> 01:00:02,150 আপনি প্রতি তুলনা করতে হবে না অন্যান্য উপাদান বিরুদ্ধে উপাদান. 1220 01:00:02,150 --> 01:00:05,230 আপনি শুধু তাদের বিরুদ্ধে তুলনা আপনার বিরুদ্ধে এটি তুলনা করতে চাইবে. 1221 01:00:05,230 --> 01:00:06,870 সুতরাং যে একটি বিমূর্ত ধারণা ধরনের. 1222 01:00:06,870 --> 01:00:10,540 কোন উদ্বেগ, এটা ঠিক নয় মোটামুটি ঠিক এখনো আপনি আঘাত. 1223 01:00:10,540 --> 01:00:14,740 কিন্তু সাধারণত, এই হল কিভাবে একটি একত্রীকরণ সাজানোর কাজ. 1224 01:00:14,740 --> 01:00:17,750 প্রশ্ন, দ্রুত প্রশ্ন, আমি উপর সরানো আগে? 1225 01:00:17,750 --> 01:00:18,550 হ্যা. 1226 01:00:18,550 --> 01:00:22,230 >> শ্রোতা: সুতরাং আপনি যে আপনি নিতে বললেন 1, এবং তারপর 4, এবং 6 1227 01:00:22,230 --> 01:00:23,860 এবং তাদের করা. 1228 01:00:23,860 --> 01:00:26,800 সুতরাং those-- নেই না হয় আপনি তাদের এ খুঁজছেন 1229 01:00:26,800 --> 01:00:28,544 না পুরো হিসাবে পৃথক উপাদান, যেমন? 1230 01:00:28,544 --> 01:00:29,210 Andi Peng: হ্যা. 1231 01:00:29,210 --> 01:00:32,020 তাই কি ঘটছে আপনি যে মূলত 1232 01:00:32,020 --> 01:00:33,650 একটি ব্র্যান্ড নতুন অ্যারে তৈরি হয়. 1233 01:00:33,650 --> 01:00:36,690 সুতরাং আপনি এখানে, আমি জানি যে আকার 3 দুই অ্যারে, ডান? 1234 01:00:36,690 --> 01:00:39,600 তাই আপনি যদি জানেন যে আমার সাজানো অ্যারের ছয়টি উপাদান প্রয়োজন আছে. 1235 01:00:39,600 --> 01:00:42,270 তাই আপনি শুধু একটি তৈরি মেমরি নতুন পরিমাণ. 1236 01:00:42,270 --> 01:00:44,270 সুতরাং আপনি যে ধরনের মত আছেন , মেমরি অপব্যবহারে হচ্ছে 1237 01:00:44,270 --> 01:00:46,186 কিন্তু যে কোন ব্যাপার না এটা এত ছোট কারণ. 1238 01:00:46,186 --> 01:00:48,590 তাই আপনি যদি 1 তাকান এবং আপনি 2 তাকান. 1239 01:00:48,590 --> 01:00:50,770 এবং আপনি 1 কম 2 পারে. 1240 01:00:50,770 --> 01:00:53,840 তাই আপনি যদি 1 যেতে হবে জানি যে ঐ সব শুরুতে. 1241 01:00:53,840 --> 01:00:55,850 >> এমনকি আপনি প্রয়োজন হবে না 3 ও 5 তাকান. 1242 01:00:55,850 --> 01:00:57,400 তাই আপনি যদি 1 সেখানে যায় জানি. 1243 01:00:57,400 --> 01:00:59,300 তারপর আপনি মূলত 1 চোয়াল বন্ধ. 1244 01:00:59,300 --> 01:01:00,370 এটা আমাদের জন্য মৃত, মত. 1245 01:01:00,370 --> 01:01:03,690 তারপর আমরা শুধু 2 আছে, 3, 5, এবং তারপর 4 এবং 6. 1246 01:01:03,690 --> 01:01:06,270 এবং তারপর আপনি যে জানেন তুলনা 4 এবং 2, 1247 01:01:06,270 --> 01:01:07,560 ওহ, 2 সেখানে যেতে হবে. 1248 01:01:07,560 --> 01:01:09,685 সুতরাং আপনি 2 নিচে অকস্মাৎ, আপনি এটা বন্ধ চপ. 1249 01:01:09,685 --> 01:01:12,060 অতএব আপনি শুধু 3 আছে এবং 4 ও 6 5. 1250 01:01:12,060 --> 01:01:14,650 এবং আপনি এটা বন্ধ চপ রাখতে আপনি অ্যারের মধ্যে তাদের করা পর্যন্ত. 1251 01:01:14,650 --> 01:01:17,110 >> শ্রোতা: তাই আপনি শুধু সবসময় আছেন [শ্রবণাতীত] তুলনা? 1252 01:01:17,110 --> 01:01:17,710 >> Andi Peng: ঠিক. 1253 01:01:17,710 --> 01:01:19,590 সুতরাং যে অর্থে, আপনি আছেন শুধু তুলনা, মূলত, 1254 01:01:19,590 --> 01:01:21,240 অন্যান্য সংখ্যা বিরুদ্ধে এক নম্বর. 1255 01:01:21,240 --> 01:01:22,990 এবং আপনি কি জানেন, কারণ এটা, আপনি সাজানো যে 1256 01:01:22,990 --> 01:01:24,350 মাধ্যমে সন্ধান করতে হবে না সংখ্যার সকল. 1257 01:01:24,350 --> 01:01:25,870 আপনি শুধু প্রথম এক তাকান আছে. 1258 01:01:25,870 --> 01:01:27,582 এবং তারপর আপনি শুধু অকস্মাৎ করতে পারেন তাদের নিচে, আপনি জানেন, কারণ 1259 01:01:27,582 --> 01:01:29,640 তারা অন্তর্গত করতে হবে যেখানে তারা অন্তর্গত. 1260 01:01:29,640 --> 01:01:31,030 হ্যা. 1261 01:01:31,030 --> 01:01:32,920 ভালো প্রশ্ন. 1262 01:01:32,920 --> 01:01:35,290 >> এবং তারপর আপনি কোন একটি বিট উচ্চাভিলাষী, 1263 01:01:35,290 --> 01:01:38,660 এই কোড তাকান বিনা দ্বিধায়. 1264 01:01:38,660 --> 01:01:40,680 এই আসলে পেশীশক্তির 1265 01:01:40,680 --> 01:01:42,150 আমরা একত্রীকরণ সাজানোর লিখতে হবে কিভাবে. 1266 01:01:42,150 --> 01:01:44,070 এবং আপনি এটা খুব ছোট, দেখতে পারেন. 1267 01:01:44,070 --> 01:01:46,310 পিছনে কিন্তু ধারনা এটা প্রশংসনীয় জটিল হয়. 1268 01:01:46,310 --> 01:01:50,865 তাই আপনি যদি এই আউট আঁকার মত যদি মনে করেন আপনার হোমওয়ার্ক আজ রাতে, বিনা দ্বিধায়. 1269 01:01:50,865 --> 01:01:54,050 1270 01:01:54,050 --> 01:01:54,740 >> ঠিক আছে. 1271 01:01:54,740 --> 01:01:58,070 তাই দায়ূদ বক্তৃতায় এই উপর গিয়েছিলাম. 1272 01:01:58,070 --> 01:02:00,660 সেরা ক্ষেত্রে কি হয় রানটাইম, খারাপ ক্ষেত্রে রানটাইম, 1273 01:02:00,660 --> 01:02:05,680 একত্রীকরণ এবং সাজানোর আশা রানটাইম? 1274 01:02:05,680 --> 01:02:07,260 কয়েক সেকেন্ডের মনে. 1275 01:02:07,260 --> 01:02:11,198 এই বেশ কঠিন, কিন্তু ধরনের আপনি এটি সম্পর্কে স্বজ্ঞাত মনে করে. 1276 01:02:11,198 --> 01:02:20,090 1277 01:02:20,090 --> 01:02:23,054 ঠিক আছে. 1278 01:02:23,054 --> 01:02:25,269 >> শ্রোতা: খারাপ ক্ষেত্রে এন লগ এন? 1279 01:02:25,269 --> 01:02:26,060 Andi Peng: ঠিক. 1280 01:02:26,060 --> 01:02:29,380 আর কেনই বা তা যা n log n. 1281 01:02:29,380 --> 01:02:32,230 >> শ্রোতা: এটা না কারণ এটি ব্যাখ্যা মূলকভাবে দ্রুত হয়ে 1282 01:02:32,230 --> 01:02:35,390 তাই এটি যে একটি ফাংশন মত পরিবর্তে সহজভাবে এন হচ্ছে 1283 01:02:35,390 --> 01:02:37,529 ছক বা কিছু? 1284 01:02:37,529 --> 01:02:38,320 Andi Peng: ঠিক. 1285 01:02:38,320 --> 01:02:40,750 তাই কারণ কেন এই রানটাইম এন লগ 1286 01:02:40,750 --> 01:02:44,310 আপনি কি আছে কারণ এন ধাপগুলি সব করছেন? 1287 01:02:44,310 --> 01:02:46,190 আপনি শুধু ডান, অর্ধেক এটি চপ করছেন? 1288 01:02:46,190 --> 01:02:48,750 আর তাই আমরা করছেন যখন এরকম সব যে, লগ 1289 01:02:48,750 --> 01:02:53,150 অর্ধেক একটি সমস্যা বিভাজক হয়, অর্ধেক, অর্ধেক, আরো অর্ধেক. 1290 01:02:53,150 --> 01:02:56,430 আর যে অর্থে, আপনি যা করতে পারেন ধরনের রৈখিক মডেল নিষ্কাশন 1291 01:02:56,430 --> 01:02:57,510 যে আমরা ব্যবহার করে থাকেন. 1292 01:02:57,510 --> 01:03:00,254 আপনি চপ যখন কারণ অর্ধেক জিনিষ, এটি একটি পাসওয়ার্ড ভুলে গেছেন?. 1293 01:03:00,254 --> 01:03:02,420 যে শুধু গাণিতিক এর এটা প্রতিনিধিত্বমূলক প্রণালী. 1294 01:03:02,420 --> 01:03:06,310 >> এবং পরিশেষে, তাহলে শেষে, আপনি আছেন শুধু গত এক পাস মাধ্যমে উপার্জন 1295 01:03:06,310 --> 01:03:07,930 ঠিক আছে, যাতে তাদের সব করা? 1296 01:03:07,930 --> 01:03:10,330 এবং যাতে আপনি শুধু আছে যদি এক জিনিস পরীক্ষা, যে এন. 1297 01:03:10,330 --> 01:03:13,420 তাই আপনি যে ধরনের আছেন দুটি একসঙ্গে গুন. 1298 01:03:13,420 --> 01:03:17,660 আপনি যে চূড়ান্ত পেয়েছেন তাই এটা এন একটি লগ সাথে এখানে নিচে n জন্য পরীক্ষা 1299 01:03:17,660 --> 01:03:18,390 এখানে আপ. 1300 01:03:18,390 --> 01:03:21,060 আর আপনি সংখ্যাবৃদ্ধি তাদের, যে এন এন পাসওয়ার্ড ভুলে গেছেন?. 1301 01:03:21,060 --> 01:03:26,100 >> তাই সবচেয়ে ভালো এবং খারাপ কেস ক্ষেত্রে এবং সব হল n log n প্রত্যাশিত. 1302 01:03:26,100 --> 01:03:27,943 এটা অন্য সাজান মত এছাড়াও. 1303 01:03:27,943 --> 01:03:30,090 এটা নির্বাচন সাজানোর মত এটা যে অর্থে 1304 01:03:30,090 --> 01:03:32,131 কি ব্যাপার না আপনার তালিকায় এটি শুধু যাচ্ছে, হয় 1305 01:03:32,131 --> 01:03:34,801 একই জিনিস প্রতি একক সময় করতে. 1306 01:03:34,801 --> 01:03:35,300 ঠিক আছে. 1307 01:03:35,300 --> 01:03:39,950 যদিও, আপনাকে বলছি দেখতে পারেন হিসাবে সুতরাং আমরা এন এর মাধ্যমে সর্বস্বান্ত করেছি যে প্রকারের 1308 01:03:39,950 --> 01:03:41,660 ছক, এটা খুব কার্যকর নয়. 1309 01:03:41,660 --> 01:03:47,060 এবং এমনকি এই এন লগ n হল সবচেয়ে বেশি কার্যকরী না. 1310 01:03:47,060 --> 01:03:49,720 আপনাকে বলছি জানতে আগ্রহী হন, সাজান মেকানিজম আছে 1311 01:03:49,720 --> 01:03:54,310 তারা যাতে কার্যকর হয় প্রায় মূলত ফ্ল্যাট রানটাইম. 1312 01:03:54,310 --> 01:03:55,420 >> আপনি কিছু লগ n এর পেয়েছেন. 1313 01:03:55,420 --> 01:03:58,190 আপনি পাসওয়ার্ড ভুলে গেছেন? কিছু লগ n এর পেয়েছেন. 1314 01:03:58,190 --> 01:04:00,330 আমরা তাদের উপর স্পর্শ না এই মুহূর্তে এই ক্লাসে. 1315 01:04:00,330 --> 01:04:02,663 কিন্তু আপনি যদি না জানতে আগ্রহী হলে, কি, google বিনা দ্বিধায় 1316 01:04:02,663 --> 01:04:04,392 সবচেয়ে বেশি কার্যকরী বাছাই প্রক্রিয়া. 1317 01:04:04,392 --> 01:04:06,350 আমি আছে, জানি না কিছু সত্যিই মজার বেশী, 1318 01:04:06,350 --> 01:04:09,860 করার মত কিছু সত্যিই আছে মানুষ যে মজার বেশী. 1319 01:04:09,860 --> 01:04:12,210 এবং যদি আপনি কিভাবে ভাবছি তারা কখনো যে চিন্তা. 1320 01:04:12,210 --> 01:04:15,730 আপনি কিছু অতিরিক্ত আছে, তাই যদি google সময়, উপর, কিছু মজার উপায় কী 1321 01:04:15,730 --> 01:04:17,730 যে পাশাপাশি লোক দক্ষ ways-- মানুষ 1322 01:04:17,730 --> 01:04:20,371 বিশৃঙ্খলভাবে বাস্তবায়ন করতে সক্ষম হয়েছে. 1323 01:04:20,371 --> 01:04:20,870 ঠিক আছে. 1324 01:04:20,870 --> 01:04:22,880 আর এখানে শুধু একটি সহজ সামান্য চার্ট. 1325 01:04:22,880 --> 01:04:26,850 আমি যে ব্যঙ্গ 0 আগে, আপনি সব জানেন আপনার রুমে সম্ভবত চেষ্টা করা হবে 1326 01:04:26,850 --> 01:04:27,960 যে মুখস্থ. 1327 01:04:27,960 --> 01:04:30,940 সুতরাং যে আপনাকে বলছি জন্য সেখানে চমৎকার. 1328 01:04:30,940 --> 01:04:37,120 শুধু made-- যে যুক্তি দিতে ভুলবেন না কেন ঐ সংখ্যার ঘটছে ছিল. 1329 01:04:37,120 --> 01:04:39,870 আপনি সবসময় হারিয়ে করছি, শুধু করতে নিশ্চিত করুন যে আপনি প্রকারের হয় কি জানেন. 1330 01:04:39,870 --> 01:04:40,820 এবং আপনি এর মাধ্যমে চালানো যাবে আপনার মনের মধ্যে তাদের 1331 01:04:40,820 --> 01:04:42,903 কেন ঐ জিনিসটা উত্তর যারা উত্তর হয়. 1332 01:04:42,903 --> 01:04:46,250 1333 01:04:46,250 --> 01:04:47,600 >> ঠিক আছে. 1334 01:04:47,600 --> 01:04:49,680 সুতরাং আমরা সরাতে চলুন অবশেষে, অনুসন্ধান করার জন্য, উপর. 1335 01:04:49,680 --> 01:04:51,638 কারণ আপনাকে যারা যারা pset পড়া আছে, 1336 01:04:51,638 --> 01:04:55,175 অনুসন্ধানের এছাড়াও অংশ এই সপ্তাহে এর সমস্যা সেট. 1337 01:04:55,175 --> 01:04:57,300 আপনি বাস্তবায়ন করতে বলা হবে অনুসন্ধান দুই ধরনের. 1338 01:04:57,300 --> 01:05:00,070 এক একটি রৈখিক অনুসন্ধান এবং এক একটি বাইনারি অনুসন্ধান করা হয়. 1339 01:05:00,070 --> 01:05:01,760 >> তাই রৈখিক অনুসন্ধান মোটামুটি সহজ. 1340 01:05:01,760 --> 01:05:04,070 আপনি শুধু উপাদান অনুসন্ধান করতে চান যদি আপনি এটি পেতে একটি তালিকা দেখতে. 1341 01:05:04,070 --> 01:05:05,444 আপনি শুধু মাধ্যমে বারবার আছে. 1342 01:05:05,444 --> 01:05:08,170 এবং এটা কিছু সমান হলে, আপনি সঠিক, তা আসতে পারে? 1343 01:05:08,170 --> 01:05:10,890 কিন্তু এক সবচেয়ে আছেন যে নিয়ে কথা বলতে আগ্রহী 1344 01:05:10,890 --> 01:05:14,550 বাইনারি অনুসন্ধান করা হয়, যা ঠিক আছে, হয় বিভক্ত করা এবং প্রক্রিয়া বশীভূত যা 1345 01:05:14,550 --> 01:05:18,190 ডেভিড বক্তৃতায় প্রদর্শক ছিল. 1346 01:05:18,190 --> 01:05:20,810 >> ফোন বই উদাহরণ মনে রেখো তিনি আপ আনয়ন রাখে যে, 1347 01:05:20,810 --> 01:05:23,960 তিনি যে ধরনের লড়াই যে এক এই গত বছর একটি বিট, 1348 01:05:23,960 --> 01:05:27,530 আপনি অর্ধেক সমস্যা বিভক্ত যেখানে, অর্ধেক, অর্ধেক, আবার এবং আবার, 1349 01:05:27,530 --> 01:05:30,730 যদি আপনি যা খুঁজছেন তা খুঁজে না পাওয়া পর্যন্ত? 1350 01:05:30,730 --> 01:05:33,727 এবং যদি আপনি পেয়েছেন পাশাপাশি যে রানটাইম. 1351 01:05:33,727 --> 01:05:35,810 আর যেহেতু আপনি দেখতে পারেন, এটা উল্লেখযোগ্যভাবে আরো দক্ষ 1352 01:05:35,810 --> 01:05:39,080 অনুসন্ধান অন্য কোনো ধরনের তুলনায়. 1353 01:05:39,080 --> 01:05:41,880 >> তাই আমরা সম্পর্কে যেতে হবে যে ভাবে একটি বাইনারি অনুসন্ধান বাস্তবায়ন 1354 01:05:41,880 --> 01:05:46,510 হয়, আমরা একটি অ্যারের ছিল, সূচক 0 থেকে 6, সাত উপাদান, 1355 01:05:46,510 --> 01:05:49,790 আমরা right--, মাঝখানে সন্ধান করতে পারেন দুঃখিত, আমাদের প্রশ্ন তাহলে first-- 1356 01:05:49,790 --> 01:05:53,840 আমরা প্রশ্ন জিজ্ঞাসা করতে চান তাহলে, না অ্যারে, 7 উপাদান থাকে 1357 01:05:53,840 --> 01:05:56,840 একথাও ঠিক যে, মানুষের হচ্ছে, এবং হচ্ছে একটি ছোট অ্যারে যেমন, এটা আমাদের জন্য সহজ 1358 01:05:56,840 --> 01:05:58,210 হ্যাঁ বলার. 1359 01:05:58,210 --> 01:06:05,750 কিন্তু উপায় একটি বাইনারি বাস্তবায়ন অনুসন্ধান মাঝখানে দেখুন হবে. 1360 01:06:05,750 --> 01:06:08,020 >> আমরা সূচক 3 হয় যে জানেন মাঝখানে, আমরা কারণ 1361 01:06:08,020 --> 01:06:09,270 সাত উপাদান আছে জানি. 1362 01:06:09,270 --> 01:06:10,670 কি 7 2 দ্বারা বিভক্ত? 1363 01:06:10,670 --> 01:06:12,850 আপনি অতিরিক্ত 1 যে চোয়াল বন্ধ করতে পারেন. 1364 01:06:12,850 --> 01:06:14,850 আপনি মাঝখানে 3 পেয়েছেন. 1365 01:06:14,850 --> 01:06:17,590 তাই 7 সমান 3 অ্যারে? 1366 01:06:17,590 --> 01:06:18,900 এটা ঠিক আছে, না হয়? 1367 01:06:18,900 --> 01:06:21,050 কিন্তু আমরা চেক একটি দম্পতি করতে পারেন. 1368 01:06:21,050 --> 01:06:25,380 3 কম 7 তুলনায় বা এর অ্যারে 7 তার চেয়ে অনেক বেশী 3 অ্যারে? 1369 01:06:25,380 --> 01:06:27,240 >> এবং আমরা তা কম 7 তুলনায় যে জানেন. 1370 01:06:27,240 --> 01:06:30,259 সুতরাং আমরা জানি ওহ, এটা হবে, যে বাম অর্ধেক হবে না. 1371 01:06:30,259 --> 01:06:32,300 আমরা এটা হতে হবে জানি ডান অর্ধেক, তাই না? 1372 01:06:32,300 --> 01:06:34,662 তাই আমরা ঠিক অর্ধেক অ্যারের বন্ধ চপ করতে পারেন. 1373 01:06:34,662 --> 01:06:36,370 আমরা এমনকি আছে না আর এটি তাকান. 1374 01:06:36,370 --> 01:06:38,711 আমরা জানি যে কারণ আমাদের সমস্যা অর্ধেক 1375 01:06:38,711 --> 01:06:41,210 আমরা উত্তর হল জানি আমাদের সমস্যা ডান অর্ধেক. 1376 01:06:41,210 --> 01:06:42,580 তাই আমরা ঠিক এখন যে তাকান. 1377 01:06:42,580 --> 01:06:44,860 >> তাই এখন আমরা তাকান বাকি কি মাঝখানে. 1378 01:06:44,860 --> 01:06:46,880 সূচকের 5. 1379 01:06:46,880 --> 01:06:50,200 আমরা আবার একই চেক করতে এবং আমরা এটি ছোট দেখতে. 1380 01:06:50,200 --> 01:06:52,050 তাই আমরা যে বাম দিকে তাকিয়ে আছি. 1381 01:06:52,050 --> 01:06:53,430 এবং তারপর আমরা যে চেক করুন. 1382 01:06:53,430 --> 01:06:57,600 অ্যারে মান হয় 7 সমান সূচক 4? 1383 01:06:57,600 --> 01:06:58,260 ইহা. 1384 01:06:58,260 --> 01:07:03,580 সুতরাং আমরা সত্য ফিরে কারণ পারেন আমরা আমাদের তালিকায় মান পাওয়া. 1385 01:07:03,580 --> 01:07:06,738 আমি মাধ্যমে গিয়েছিলাম উপায় আছে সবাই যে জানার জন্য? 1386 01:07:06,738 --> 01:07:08,760 ঠিক আছে. 1387 01:07:08,760 --> 01:07:11,670 আমি ভালো, হয়তো বলছি দেব তিন, চার মিনিটের জিনিসটা 1388 01:07:11,670 --> 01:07:13,270 কিভাবে এই pseudocode করতে. 1389 01:07:13,270 --> 01:07:18,070 >> তাই আমি একটি লিখতে আপনাকে জিজ্ঞাসা কল্পনা ফিরে যে ফাংশন বলা অনুসন্ধান () 1390 01:07:18,070 --> 01:07:20,640 একটি মান, একটি বুলিয়ান মান, যে মত ছিল সত্য বা false-- 1391 01:07:20,640 --> 01:07:22,970 আপনি যদি পাওয়া যায় নি সত্য মান, আপনি না করে থাকেন তাহলে মিথ্যা. 1392 01:07:22,970 --> 01:07:25,230 এবং তারপর আপনি ছিল মান উত্তীর্ণ আপনি 1393 01:07:25,230 --> 01:07:28,410 মান, মধ্যে খুঁজছেন সেটা যা অ্যারে ওহ, আমি স্পষ্টভাবে করা হয় 1394 01:07:28,410 --> 01:07:29,410 ভুল জায়গায় যে. 1395 01:07:29,410 --> 01:07:29,580 ঠিক আছে. 1396 01:07:29,580 --> 01:07:31,829 সকল অবস্থাতেই, যে থাকতে হবে মান ঠিক করতে হয়েছে. 1397 01:07:31,829 --> 01:07:36,280 এবং তারপর কোন int n সংখ্যা যে অ্যারের মধ্যে উপাদানের. 1398 01:07:36,280 --> 01:07:39,430 কিভাবে আপনি চেষ্টা সম্পর্কে যেতে হবে যে সমস্যা pseudocode করতে? 1399 01:07:39,430 --> 01:07:41,630 আমি আপনার মত বলছি দেব তিন মিনিট যে কাজ করতে. 1400 01:07:41,630 --> 01:08:00,137 1401 01:08:00,137 --> 01:08:02,595 না, আমি only-- আছে মনে হয় হ্যাঁ, ঠিক আপ এখানে কেউ নেই. 1402 01:08:02,595 --> 01:08:03,261 শ্রোতা: I Can? 1403 01:08:03,261 --> 01:08:04,388 Andi Peng: হ্যাঁ, আমি তোমাকে পেয়েছিলাম. 1404 01:08:04,388 --> 01:08:09,410 1405 01:08:09,410 --> 01:08:11,050 যে কাজ করছে? 1406 01:08:11,050 --> 01:08:12,290 ঠিক আছে শান্ত হও. 1407 01:08:12,290 --> 01:10:43,590 1408 01:10:43,590 --> 01:10:44,720 >> ঠিক আছে. 1409 01:10:44,720 --> 01:10:47,630 ঠিক আছে বলছি, আমরা করছি এটি নিয়ন্ত্রিত যাচ্ছে. 1410 01:10:47,630 --> 01:10:49,730 ঠিক আছে. 1411 01:10:49,730 --> 01:10:54,020 সুতরাং আমরা এই সুদৃশ্য পেয়েছেন অনুমান এটি এন মান সঙ্গে সামান্য অ্যারে. 1412 01:10:54,020 --> 01:10:55,170 আমি লাইন আঁকা হয়নি. 1413 01:10:55,170 --> 01:10:58,649 কিন্তু আমরা কীভাবে তা করবেন এই লেখার চেষ্টা? 1414 01:10:58,649 --> 01:11:00,440 কেউ করতে চান না আমার প্রথম লাইন দিতে? 1415 01:11:00,440 --> 01:11:02,814 আপনি আমাকে দিতে চান এই pseudocode প্রথম লাইন. 1416 01:11:02,814 --> 01:11:06,563 1417 01:11:06,563 --> 01:11:08,430 >> শ্রোতা: [শ্রবণাতীত] 1418 01:11:08,430 --> 01:11:10,138 শ্রোতা: আপনি চাই চাই এর মাধ্যমে বারবার 1419 01:11:10,138 --> 01:11:11,094 শ্রোতা: শুধু আরেকটি লুপ জন্য? 1420 01:11:11,094 --> 01:11:11,760 শ্রোতা: --for. 1421 01:11:11,760 --> 01:11:15,880 1422 01:11:15,880 --> 01:11:17,780 >> Andi Peng: সুতরাং এই এক একটি বিট চতুর. 1423 01:11:17,780 --> 01:11:23,130 আপনি চান মনে করেন সম্পর্কে এই লুপ চলমান রাখতে 1424 01:11:23,130 --> 01:11:27,950 এবং উপর আবার যখন পর্যন্ত? 1425 01:11:27,950 --> 01:11:30,819 >> শ্রোতা: [শ্রবণাতীত] পর্যন্ত মান যে মান সমান হয়. 1426 01:11:30,819 --> 01:11:31,610 Andi Peng: ঠিক. 1427 01:11:31,610 --> 01:11:33,900 সুতরাং আপনি আসলে শুধু লিখতে পারেন আমরা আরও এটাকে সহজ করে. 1428 01:11:33,900 --> 01:11:35,630 আমরা ঠিক ঠিক, যখন একটি লুপ করতে পারেন? 1429 01:11:35,630 --> 01:11:39,380 তাই আপনি শুধু লুপ থাকতে পারে আমরা এটি একটি সময় যে জানেন. 1430 01:11:39,380 --> 01:11:42,850 কিন্তু এই মুহূর্তে জন্য, আমি যাচ্ছি কি দিয়ে - "লুপ" বলতে? 1431 01:11:42,850 --> 01:11:46,640 লুপ কি until-- আমাদের শেষ শর্ত? 1432 01:11:46,640 --> 01:11:47,510 আমি এই কথা শুনে মনে হয়. 1433 01:11:47,510 --> 01:11:48,530 আমি কেউ এটা বলতে শুনেছি. 1434 01:11:48,530 --> 01:11:51,255 >> শ্রোতা: মূল্যবোধ মাঝখানে সমান. 1435 01:11:51,255 --> 01:11:52,255 Andi Peng: এটা আবার বলতে. 1436 01:11:52,255 --> 01:11:54,470 অথবা যতক্ষন না,: শ্রোতা মূল্য আপনি অনুসন্ধান করছেন 1437 01:11:54,470 --> 01:11:58,470 জন্য মধ্যম মান সমান. 1438 01:11:58,470 --> 01:12:00,280 >> Andi Peng: এটা সেখানে না তাহলে কি হবে? 1439 01:12:00,280 --> 01:12:03,113 কেমন হয়, যদি আপনি অনুসন্ধান করছেন মূল্য এই অ্যারের মধ্যে আসলে নয়? 1440 01:12:03,113 --> 01:12:05,890 শ্রোতা: আপনি 1 ফিরে. 1441 01:12:05,890 --> 01:12:08,850 >> Andi Peng: কিন্তু আমরা কি চান না আমরা যদি একটি শর্ত আছে, যদি না হওয়া পর্যন্ত লুপ? 1442 01:12:08,850 --> 01:12:09,350 হ্যা. 1443 01:12:09,350 --> 01:12:11,239 >> শ্রোতা: শুধুমাত্র একটি মান আছে না হওয়া পর্যন্ত? 1444 01:12:11,239 --> 01:12:13,530 Andi Peng: আপনি লুপ until-- তাই আপনি যে জানেন 1445 01:12:13,530 --> 01:12:15,714 ঠিক আছে, একটি সর্বোচ্চ মূল্য আছে যাচ্ছে? 1446 01:12:15,714 --> 01:12:18,130 আর আপনি চলুন জানি যে সঠিক একটি ন্যূনতম মান, আছে? 1447 01:12:18,130 --> 01:12:20,379 এছাড়াও, যে এমন কিছু কারণ আমি আগে বলতে ভুলে গেছি 1448 01:12:20,379 --> 01:12:22,640 যে এমন কিছু বিষয় বাইনারি অনুসন্ধান সম্পর্কে সমালোচনামূলক 1449 01:12:22,640 --> 01:12:24,182 আপনার অ্যারের ইতিমধ্যেই সাজানো হয়. 1450 01:12:24,182 --> 01:12:26,973 এরকম কোন উপায় নেই, কারণ এই তারা শুধু র্যান্ডম মান হন তাহলে. 1451 01:12:26,973 --> 01:12:29,190 এক, যদি আপনি জানেন না অন্যান্য চেয়ে বড়, ঠিক আছে? 1452 01:12:29,190 --> 01:12:32,720 >> তাই আপনি কি জানেন যে আপনার সর্বোচ্চ এবং আপনার মিনিট ঠিক আছে, এখানে আছেন? 1453 01:12:32,720 --> 01:12:35,590 আপনি সামঞ্জস্য হতে যাচ্ছেন তাহলে আপনার মিনিট এবং mid-- আপনার সর্বোচ্চ 1454 01:12:35,590 --> 01:12:38,470 এর ঠিক অনুমান করা যাক আপনার মধ্য মূল্য অধিকার এখানে হয় 1455 01:12:38,470 --> 01:12:43,910 আপনি মূলত চলুন লুপ আপনার নূন্যতম না হওয়া পর্যন্ত 1456 01:12:43,910 --> 01:12:47,510 ঠিক আছে, আপনার সর্বোচ্চ হিসাবে একই, বা সম্পর্কে আপনার সর্বোচ্চ আপনার সর্বনিম্ন হিসাবে একই নয়. 1457 01:12:47,510 --> 01:12:48,040 রাইট? 1458 01:12:48,040 --> 01:12:51,340 এটি ঘটে যখন কারণ, আপনি জানেন যে আপনি শেষ পর্যন্ত একই মান আঘাত করেছি. 1459 01:12:51,340 --> 01:12:59,135 তাই আপনি যদি আপনার মিনিট পর্যন্ত লুপ করতে চান , কম বা ওহো চাচ্ছি সমান 1460 01:12:59,135 --> 01:13:01,510 না কম বা তার সমান কম, সর্বোচ্চ around-- অন্যান্য উপায়. 1461 01:13:01,510 --> 01:13:15,110 1462 01:13:15,110 --> 01:13:16,160 >> যে জানার হয়নি? 1463 01:13:16,160 --> 01:13:18,810 আমি যে অধিকার পেতে কয়েক চেষ্টা করে নেন. 1464 01:13:18,810 --> 01:13:21,869 কিন্তু লুপ আপনার সর্বোচ্চ মান পর্যন্ত মূলত প্রায় কম 1465 01:13:21,869 --> 01:13:23,410 এর চেয়ে বড় বা আপনার নূন্যতম সমান, ডান? 1466 01:13:23,410 --> 01:13:25,201 আপনি জানেন যে যখন আপনি converged থাকেন যে. 1467 01:13:25,201 --> 01:13:29,290 শ্রোতা: যখন would আপনার সর্বোচ্চ মান হল সর্বনিম্ন কম হতে? 1468 01:13:29,290 --> 01:13:31,040 Andi Peng: আপনি রাখতে পারবেন যদি , এটা সামঞ্জস্য যা 1469 01:13:31,040 --> 01:13:32,380 আমরা যাচ্ছি কি এই কাজ করা. 1470 01:13:32,380 --> 01:13:33,460 এটা কি অর্থপূর্ণ? 1471 01:13:33,460 --> 01:13:35,750 নূন্যতম এবং সর্বোচ্চ শুধু আমরা সম্ভবত হয় পূর্ণসংখ্যার 1472 01:13:35,750 --> 01:13:39,260 চান বর্তা তৈরি করতে আমরা খুঁজছেন যেখানে ট্র্যাক. 1473 01:13:39,260 --> 01:13:41,790 অ্যারে বিদ্যমান কারণ নির্বিশেষে আমরা কি করছেন. 1474 01:13:41,790 --> 01:13:45,030 ভালো লেগেছে, আমরা আসলে শারীরিকভাবে না হন ঠিক আছে, অ্যারে কাটছে? 1475 01:13:45,030 --> 01:13:47,261 আমরা শুধু সামঞ্জস্য করছি যেখানে আমরা খুঁজছেন. 1476 01:13:47,261 --> 01:13:48,136 এটা কি অর্থপূর্ণ? 1477 01:13:48,136 --> 01:13:48,472 >> শ্রোতা: হ্যাঁ. 1478 01:13:48,472 --> 01:13:49,110 >> Andi Peng: ঠিক আছে. 1479 01:13:49,110 --> 01:13:57,090 যে আমাদের জন্য লুপ শর্ত থাকে, তাহলে আমরা এই লুপ এর ভিতরে কি চাও? 1480 01:13:57,090 --> 01:13:58,700 আমরা কি অনুপস্থিত হতে যাচ্ছে? 1481 01:13:58,700 --> 01:14:02,390 তাই এই মুহূর্তে, আমরা পেয়েছেন একটি সর্বোচ্চ এবং একটি সর্বনিম্ন, ঠিক আছে, 1482 01:14:02,390 --> 01:14:04,962 সম্ভবত এখানে কোথাও আপ তৈরি. 1483 01:14:04,962 --> 01:14:07,170 আমরা সম্ভবত চান চলুন ডান মধ্যাংশ এটি? 1484 01:14:07,170 --> 01:14:08,450 কিভাবে আমরা হতে যাচ্ছি মাঝখানে খুঁজে পেতে সক্ষম? 1485 01:14:08,450 --> 01:14:09,491 Mathematical-- কী 1486 01:14:09,491 --> 01:14:11,079 শ্রোতা: সর্বোচ্চ প্লাস 2 দ্বারা বিভক্ত মিনিট. 1487 01:14:11,079 --> 01:14:11,870 Andi Peng: ঠিক. 1488 01:14:11,870 --> 01:14:20,300 1489 01:14:20,300 --> 01:14:21,620 এটা কি অর্থপূর্ণ? 1490 01:14:21,620 --> 01:14:25,780 আর আপনাকে বলছি কেন আমরা দেখতে না আমরা এই কেন শুধু use-- করা হয়নি 1491 01:14:25,780 --> 01:14:27,850 পরিবর্তে করছেন শুধু এন 2 দ্বারা বিভক্ত? 1492 01:14:27,850 --> 01:14:30,310 এন একটি মান, কারণ এটা যে একই থাকার যাচ্ছে. 1493 01:14:30,310 --> 01:14:30,979 রাইট? 1494 01:14:30,979 --> 01:14:34,020 কিন্তু আমরা আমাদের সর্বনিম্ন সমন্বয় হিসাবে এবং সর্বাধিক মান, তারা পরিবর্তন করতে যাচ্ছেন. 1495 01:14:34,020 --> 01:14:36,040 এবং এর ফলে আমাদের মাঝখানে খুব পরিবর্তন করতে যাচ্ছে. 1496 01:14:36,040 --> 01:14:37,873 আমরা চাই সুতরাং যে কেন এখানে এই অধিকার কি. 1497 01:14:37,873 --> 01:14:38,510 ঠিক আছে. 1498 01:14:38,510 --> 01:14:41,600 >> এবং তারপর, এখন যে আমরা হাঁ our-- পেয়েছি. 1499 01:14:41,600 --> 01:14:44,270 >> শ্রোতা: শুধু একটি দ্রুত question-- যখন আপনি সর্বনিম্ন এবং সর্বোচ্চ বলে, 1500 01:14:44,270 --> 01:14:46,410 আমরা অভিমানী হয় এটি আগে থেকেই সাজানো? 1501 01:14:46,410 --> 01:14:48,400 >> Andi Peng: হাঁ, যে আসলে একটি একটি বাইনারি অনুসন্ধান জন্য পূর্বশর্ত, 1502 01:14:48,400 --> 01:14:49,816 আপনি যে এটা সাজানো জানতে. 1503 01:14:49,816 --> 01:14:53,660 কেন সাজান যা, আপনি লিখতে আপনার সমস্যা আপনার বাইনারি অনুসন্ধান আগে সেট. 1504 01:14:53,660 --> 01:14:55,910 ঠিক আছে. 1505 01:14:55,910 --> 01:14:58,876 তাই এখন আমরা যেখানে আমাদের মিডপয়েন্ট জানেন যে , কি আপনি এখানে কাজ করতে চান না? 1506 01:14:58,876 --> 01:15:01,789 1507 01:15:01,789 --> 01:15:04,319 >> শ্রোতা: আমরা তুলনা করতে চান অন্য এক যে. 1508 01:15:04,319 --> 01:15:05,110 Andi Peng: ঠিক. 1509 01:15:05,110 --> 01:15:12,280 তাই আপনি তুলনা করতে যাচ্ছেন মান মধ্য, ডান? 1510 01:15:12,280 --> 01:15:14,900 1511 01:15:14,900 --> 01:15:18,670 আর যে তা বলতে না আমাদের আমরা তুলনা যখন? 1512 01:15:18,670 --> 01:15:22,226 আমরা কি পরে কাজ করতে চান না? 1513 01:15:22,226 --> 01:15:25,389 >> শ্রোতা: মান বড় হয় মধ্য তুলনায়, আমরা তা কেটে চান. 1514 01:15:25,389 --> 01:15:26,180 Andi Peng: ঠিক. 1515 01:15:26,180 --> 01:15:33,940 মূল্য বৃহত্তর যদি তাই মধ্য তুলনায়, আমরা করছি 1516 01:15:33,940 --> 01:15:36,550 এই পরিবর্তন করতে চান যাচ্ছে সর্বনিম্ন ও Maxes, ডান? 1517 01:15:36,550 --> 01:15:38,980 কি আমরা পরিবর্তন চাই না? 1518 01:15:38,980 --> 01:15:42,145 আমরা জানি, তাই যদি মান কোথাও এখানে, আমরা পরিবর্তন করতে পারি না? 1519 01:15:42,145 --> 01:15:44,758 আমরা আমাদের পরিবর্তন করতে চান নূন্যতম অধিকার, মধ্য হতে? 1520 01:15:44,758 --> 01:15:49,420 1521 01:15:49,420 --> 01:15:54,292 এবং তারপর অন্য, এটা এই যে যদি অর্ধেক, কি আমরা পরিবর্তন চাই না? 1522 01:15:54,292 --> 01:15:55,306 >> শ্রোতা: আপনার সর্বোচ্চ. 1523 01:15:55,306 --> 01:15:55,972 Andi Peng: হ্যা. 1524 01:15:55,972 --> 01:16:02,597 1525 01:16:02,597 --> 01:16:04,680 এবং তারপর আপনি শুধু চলুন , ডান looping রাখতে? 1526 01:16:04,680 --> 01:16:08,920 এখন যেহেতু, এক পুনরাবৃত্তির পর মাধ্যমে, আপনি এখানে একটি সর্বোচ্চ পেয়েছেন. 1527 01:16:08,920 --> 01:16:10,760 এবং তারপর আপনি একটি মধ্য পুনঃগণনা পারেন. 1528 01:16:10,760 --> 01:16:11,990 এবং তারপর আপনি তুলনা করতে পারেন. 1529 01:16:11,990 --> 01:16:14,766 আর আপনি বর্তা চলুন মিনিট এবং Maxes পর্যন্ত 1530 01:16:14,766 --> 01:16:15,890 মূলত দিয়েছেন. 1531 01:16:15,890 --> 01:16:17,890 আপনি যে জানেন এবং যে যখন আপনি এটা শেষ আঘাত করেছি. 1532 01:16:17,890 --> 01:16:20,280 আর যদি আপনি তা খুঁজে পাওয়া যাচ্ছে অথবা আপনি যে সময়ে না আছে. 1533 01:16:20,280 --> 01:16:23,170 >> এই সবাই জানার জন্য? 1534 01:16:23,170 --> 01:16:26,020 1535 01:16:26,020 --> 01:16:26,770 ঠিক আছে. 1536 01:16:26,770 --> 01:16:27,900 এটা বেশ গুরুত্বপূর্ণ আপনি হবে, কারণ 1537 01:16:27,900 --> 01:16:29,760 আপনার কোড আজ রাতে এই লিখতে. 1538 01:16:29,760 --> 01:16:32,660 কিন্তু আপনি যদি না একটি প্রশংসনীয় ভাল আছে আপনি কাজ করা উচিত কি অর্থে, 1539 01:16:32,660 --> 01:16:34,051 কোনটা ভাল. 1540 01:16:34,051 --> 01:16:34,550 ঠিক আছে. 1541 01:16:34,550 --> 01:16:38,840 সুতরাং আমরা সাত সম্পর্কে পেয়েছেন মিনিট অধ্যায় বাকি. 1542 01:16:38,840 --> 01:16:43,170 তাই আমরা যে বিষয়ে কথা বলতে যাচ্ছেন আমরা কাজ করব যে এই pset. 1543 01:16:43,170 --> 01:16:46,410 তাই pset দুটি অর্ধ বিভক্ত করা হয়. 1544 01:16:46,410 --> 01:16:50,230 প্রথমার্ধে জড়িত একটি খুঁজে বাস্তবায়ন 1545 01:16:50,230 --> 01:16:54,210 যা আপনি একটি রৈখিক অনুসন্ধান লিখুন, একটি বাইনারি অনুসন্ধান, এবং একটি বাছাই আলগোরিদিম. 1546 01:16:54,210 --> 01:16:56,690 >> তাই এই প্রথম একটি pset যেখানে সময় 1547 01:16:56,690 --> 01:17:00,050 বলা কি আমরা আপনাকে বলছি প্রদান করা হবে বন্টন কোড, কোড, যা 1548 01:17:00,050 --> 01:17:02,740 আমরা প্রাক লিখিত আছে যে, কিন্তু শুধু বন্ধ কিছু টুকরা বাকি 1549 01:17:02,740 --> 01:17:04,635 জন্য আপনার লেখার শেষ করতে. 1550 01:17:04,635 --> 01:17:07,510 আপনি যদি এই তাকান যখন আপনাকে বলছি, তাই কোড, আপনি কি সত্যিই ভয় পেতে পারে. 1551 01:17:07,510 --> 01:17:08,630 আপনি, Ahh, আমি চাই শুধু করছি যে কি করছেন জানি না, 1552 01:17:08,630 --> 01:17:11,670 আমি চাই, যে মনে হয়, জানি না তাই জটিল, Ahh, শিথিল. 1553 01:17:11,670 --> 01:17:12,170 ঠিক আছে. 1554 01:17:12,170 --> 01:17:12,930 বৈশিষ্ট পড়ুন. 1555 01:17:12,930 --> 01:17:16,920 বৈশিষ্ট ঠিক আপনাকে ব্যাখ্যা করতে হবে এই প্রোগ্রামের সব কি করছেন. 1556 01:17:16,920 --> 01:17:20,560 >> উদাহরণস্বরূপ, generate.c একটি প্রোগ্রাম যে আপনার pset সাথে আসতে হবে. 1557 01:17:20,560 --> 01:17:24,060 আপনি আসলে এটা স্পর্শ আছে, কিন্তু না আপনি এটা করছে তা বুঝতে হবে. 1558 01:17:24,060 --> 01:17:28,550 আর generate.c, এটা করছে সব হয় হয় র্যান্ডম সংখ্যার উৎপাদিত 1559 01:17:28,550 --> 01:17:32,400 অথবা আপনি একটি ভালো, এটি একটি বীজ দিতে পারেন যে সময় লাগে prearranged সংখ্যা, 1560 01:17:32,400 --> 01:17:34,140 এবং এটা আরো সংখ্যা উৎপন্ন করা. 1561 01:17:34,140 --> 01:17:37,170 সুতরাং একটি নির্দিষ্ট উপায় আছে generate.c বাস্তবায়ন যা 1562 01:17:37,170 --> 01:17:42,760 আপনি শুধু সংখ্যার একটি গুচ্ছ করতে পারেন আপনি আপনার অন্য পদ্ধতি উপর পরীক্ষা করার জন্য. 1563 01:17:42,760 --> 01:17:45,900 >> তাই আপনি যদি চান, এর জন্য উদাহরণস্বরূপ, আপনার খুঁজে পরীক্ষা, 1564 01:17:45,900 --> 01:17:48,970 আপনি generate.c চালানোর চায়, সংখ্যার একটি গুচ্ছ উৎপন্ন 1565 01:17:48,970 --> 01:17:50,880 এবং তারপর আপনার সাহায্যকারী ফাংশন চালানো. 1566 01:17:50,880 --> 01:17:53,930 আপনি যেখানে আপনার সাহায্যকারী ফাংশন আসলে শারীরিকভাবে কোড লেখা. 1567 01:17:53,930 --> 01:17:59,330 এবং একটি লাইব্রেরী ফাইল হিসাবে সাহায্যকারী মনে জানতে পারেন যে আহ্বান করা হয় লেখার. 1568 01:17:59,330 --> 01:18:02,950 তাই helpers.c মধ্যে এবং, আপনি পাবেন অনুসন্ধান এবং বাছাই না. 1569 01:18:02,950 --> 01:18:06,500 >> এবং তারপর মূলত আপনাকে চলুন শুধু একসাথে তাদের সব করা. 1570 01:18:06,500 --> 01:18:10,350 কিভাবে বৈশিষ্ট আপনাকে বলতে হবে কমান্ড লাইনে যে করা. 1571 01:18:10,350 --> 01:18:14,880 আর আপনি কি না তা পরীক্ষা করতে সক্ষম হবেন বা না আপনার বাছাই এবং অনুসন্ধান কাজ করছে. 1572 01:18:14,880 --> 01:18:15,870 কুল. 1573 01:18:15,870 --> 01:18:18,720 কেউ ইতিমধ্যে শুরু হয়েছে এবং সম্মুখীন সমস্যা বা প্রশ্ন 1574 01:18:18,720 --> 01:18:20,520 তারা এই সঙ্গে এই মুহূর্তে আছে? 1575 01:18:20,520 --> 01:18:21,020 ঠিক আছে. 1576 01:18:21,020 --> 01:18:21,476 >> শ্রোতা: অপেক্ষা করুন. 1577 01:18:21,476 --> 01:18:21,932 আমার একটা প্রশ্ন আছে. 1578 01:18:21,932 --> 01:18:22,844 >> Andi Peng: হ্যা. 1579 01:18:22,844 --> 01:18:28,390 >> শ্রোতা: তাই আমি শুরু করছেন helpers.c মধ্যে রৈখিক অনুসন্ধান 1580 01:18:28,390 --> 01:18:29,670 এবং এটি সত্যিই কাজ করা হয়নি. 1581 01:18:29,670 --> 01:18:34,590 কিন্তু পরে, আমি মনে করি আমরা শুধু খুঁজে পাওয়া তা মুছে দিন এবং বাইনারি অনুসন্ধান করতে হবে. 1582 01:18:34,590 --> 01:18:36,991 এটা কাজ করে না যদি এটা কোন ব্যাপার না? 1583 01:18:36,991 --> 01:18:39,700 1584 01:18:39,700 --> 01:18:41,510 >> Andi Peng: সংক্ষিপ্ত উত্তর নেই. 1585 01:18:41,510 --> 01:18:42,642 কিন্তু যেহেতু আমরা not-- আছেন 1586 01:18:42,642 --> 01:18:44,350 শ্রোতা: কিন্তু কেউ এর আসলে চেক. 1587 01:18:44,350 --> 01:18:46,058 Andi Peng: আমরা চেষ্টা করছি না দেখতে যাচ্ছে. 1588 01:18:46,058 --> 01:18:49,590 কিন্তু আপনি সম্ভবত করতে চান নিশ্চিত করুন যে আপনার সন্ধানের কাজ করছে. 1589 01:18:49,590 --> 01:18:51,700 আপনার রৈখিক যদি কারণ অনুসন্ধান কাজ করে না, 1590 01:18:51,700 --> 01:18:54,410 তাহলে সম্ভাবনা আপনার বাইনারি হয় অনুসন্ধান পাশাপাশি কাজ করতে যাচ্ছে না. 1591 01:18:54,410 --> 01:18:56,646 আপনি একই আছে, কারণ তাদের উভয়ের মধ্যে যুক্তিবিজ্ঞান. 1592 01:18:56,646 --> 01:18:58,020 আর না, এটা কোন ব্যাপার না. 1593 01:18:58,020 --> 01:19:01,300 সুতরাং শুধুমাত্র লোক আপনি চালু করব সাজান এবং বাইনারি অনুসন্ধান হয়. 1594 01:19:01,300 --> 01:19:02,490 হ্যা. 1595 01:19:02,490 --> 01:19:06,610 >> এবং এছাড়াও, বাচ্চাদের অনেক ছিল helpers.c কম্পাইল করার চেষ্টা করছে. 1596 01:19:06,610 --> 01:19:09,550 আপনি আসলে অনুমতি দেওয়া হয় না যে কি, helpers.c কারণ 1597 01:19:09,550 --> 01:19:11,200 একটি প্রধান ফাংশন নেই. 1598 01:19:11,200 --> 01:19:13,550 আর তাই আপনি শুধুমাত্র উচিত আসলে কম্পাইল করা 1599 01:19:13,550 --> 01:19:18,670 কল এটি কারণ, উৎপন্ন এবং এটি helpers.c এবং এটি মধ্যে ফাংশন. 1600 01:19:18,670 --> 01:19:20,790 যে ডিবাগ তোলে তাই গুঁতা ব্যাথা. 1601 01:19:20,790 --> 01:19:22,422 কিন্তু যে আমরা যা করতে হবে কি. 1602 01:19:22,422 --> 01:19:23,880 শ্রোতা: আপনি ঠিক ঠিক, সব করতে? 1603 01:19:23,880 --> 01:19:27,290 Andi Peng: আপনি ঠিক করতে পারেন হ্যা, সেইসাথে সব করতে. 1604 01:19:27,290 --> 01:19:28,060 ঠিক আছে. 1605 01:19:28,060 --> 01:19:32,570 সুতরাং যে কি পরিপ্রেক্ষিতে এটা pset আপনি সব কাজ করতে চাইছে. 1606 01:19:32,570 --> 01:19:35,160 যদি আপনার কোন প্রশ্ন থাকে, তাহলে বোধ অধ্যায় পর আমাকে জিজ্ঞাসা বিনামূল্যে. 1607 01:19:35,160 --> 01:19:37,580 আমি 20 মিনিটের মত, জন্য অপেক্ষা করে থাকব. 1608 01:19:37,580 --> 01:19:40,500 >> আর হ্যা, আপনি pset এর সত্যিই যে খারাপ না. 1609 01:19:40,500 --> 01:19:41,680 আপনাকে বলছি ঠিক করা উচিত. 1610 01:19:41,680 --> 01:19:43,250 এই মাত্র নির্দেশাবলী অনুসরণ করুন. 1611 01:19:43,250 --> 01:19:47,840 কাইন্ড কথাটি, একটা ধারনা আছে, কি উচিত ঘটছে করা এবং আপনাকে জরিমানা করা হবে. 1612 01:19:47,840 --> 01:19:48,690 খুব ভয় পেও না. 1613 01:19:48,690 --> 01:19:50,220 কোড একটি অনেক আছে ইতিমধ্যে সেখানে লেখা. 1614 01:19:50,220 --> 01:19:53,011 যদি আপনি না খুব ভয় পেও না যে সব মানে কি বুঝতে. 1615 01:19:53,011 --> 01:19:54,749 এটি একটি অনেক আছে, এটি সম্পূর্ণই সূক্ষ্ম. 1616 01:19:54,749 --> 01:19:55,790 আর অফিস ঘন্টা আসা. 1617 01:19:55,790 --> 01:19:57,520 আমরা আপনাকে একটি কটাক্ষপাত সাহায্য করব. 1618 01:19:57,520 --> 01:20:00,810 >> শ্রোতা: অতিরিক্ত সঙ্গে ফাংশন, আমরা যারা সন্ধান করেন? 1619 01:20:00,810 --> 01:20:03,417 >> Andi Peng: হ্যা, ঐ কোড আছে. 1620 01:20:03,417 --> 01:20:05,750 15 এর খেলা, অর্ধেক ইন এটা আপনার জন্য ইতিমধ্যে লেখা. 1621 01:20:05,750 --> 01:20:09,310 সুতরাং যারা ফাংশন হয় ইতিমধ্যে কোড. 1622 01:20:09,310 --> 01:20:12,020 হাঁ. 1623 01:20:12,020 --> 01:20:12,520 ঠিক আছে. 1624 01:20:12,520 --> 01:20:14,000 ওয়েল, ভাগ্য ভাল. 1625 01:20:14,000 --> 01:20:15,180 এটা একটি ঘৃণ্য দিন. 1626 01:20:15,180 --> 01:20:19,370 তাই আশা করছি আপনাকে বলছি খুব মনে হয় না ভিতরে থাকা এবং কোডিং সম্পর্কে খারাপ. 1627 01:20:19,370 --> 01:20:22,133