বক্তা 1: আরে সবাই! অধ্যায় ফিরে স্বাগতম. এখানে আপনি উভয় তাই অনেক দেখতে তাই আনন্দিত, এবং অনলাইন পর্যবেক্ষক এর সবাই কে. সুতরাং, স্বাভাবিক স্বাগত ফিরে হিসাবে. আমি আপনাকে সমস্ত একটি সুদৃশ্য ছিল আশা করি বাকি পূর্ণ উইকএন্ড, শিথিলায়ন. এটা গতকাল আউট সুন্দর ছিল. সুতরাং, আমি আপনি বিদেশে আস্বাদিত আশা করি. ঘোষণা একটি দম্পতি সুতরাং প্রথম. শূন্য. সুতরাং, আপনি অধিকাংশ অর্জিত উচিত একটি আপনার ভূত Pset সম্পর্কে আমার কাছ থেকে ইমেইল, সেইসাথে 1 pset জন্য শূন্য. সুতরাং, মাত্র কয়েক জিনিষ. Style50 মধ্যে check50 ব্যবহার করতে ভুলবেন না. এই হতে বোঝানো হয় আপনাকে বলছি জন্য সম্পদ, আপনি পেয়ে থাকেন তা নিশ্চিত করা আপনি পারেন হিসাবে অনেক পয়েন্ট অকারণে তাদের হারানো ছাড়া. সুতরাং, শৈলী ভালো জিনিস খুবই গুরুত্বপূর্ণ. আমরা এটি জন্য বন্ধ করা যাচ্ছে. আপনি সম্ভবত কিছু থাকতে পারে আপনার pset থেকে লক্ষ্য করেছি যে. এবং check50 মাত্র হল নিশ্চিত করুন সত্যিই সহজ উপায় আমরা আসলে ফিরে করছি যে কি ব্যবহারকারী যাও ফিরে করা দরকার, এবং যে সবকিছু সঠিকভাবে কাজ করছে. দ্বিতীয় নোট অন, নিশ্চিত করুন আপনার সঠিক ফোল্ডারে জিনিস আপলোড. এটা আমার জীবন শুধু একটি করে তোলে সামান্য বিট আরো কঠিন আপনি pset 1 মধ্যে pset 2 আপলোড করে আমি কিছু ডাউনলোড করার সময় কারণ, তারা সঠিকভাবে ডাউনলোড না. এবং আমি এটা একটু নড়বড়ে জানি একটি সিস্টেমের মধ্যে থেকে পাওয়ার, কিন্তু শুধু সুপার হতে সাবধান, শুধুমাত্র আমার জন্য যদি, যাতে আপনি ইমেইল পেয়ে থাকেন যখন মত 2 ছয়টা এ এবং আমি শূন্য নই. না হলে আমি তাকান আছে কারণ সমস্ত কাছাকাছি আপনার pset জন্য. কুল. আমি এটা প্রথম দিকে জানি, কিন্তু আমি সম্পূর্ণই প্রহরীদের নেওয়া বন্ধ ফেরার এই শুক্রবার কারণে যে একটি প্রবন্ধ, যে দ্বারা আমার অধ্যাপকদের ওহ হ্যাঁ, চাই শুধু ছিল. মনে রাখবেন, আপনি একটি আছে শুক্রবার কারণে রচনা. সুতরাং, আমি কেউ লেগেছে জানতে midterms আমার মনে হয়, কিন্তু আপনার প্রথম ব্যঙ্গ, অক্টোবর 15th উপর হয় যা অক্টোবর এই সপ্তাহে শুরু হয়. সুতরাং, এটি আরও আগে হতে পারে আপনি প্রত্যাশিত সব হয়. সুতরাং যে আপনি পাহারা যখন বন্ধ নিক্ষিপ্ত করছি না আমি, উহু যে পরের সপ্তাহে এর বিভাগে উল্লেখ আপনার ব্যঙ্গ আগামী সপ্তাহে, আমি চিন্তা আমি আরো আপনি একটি সামান্য বিট দিতে চাই এখন পর্যন্ত একটি মাথা. সুতরাং, আপনার সমস্যা সেট, সংখ্যা তিন. মানুষ পঠিত কিভাবে কৌতূহল আউট বৈশিষ্ট? ঠিক আছে. আমরা একটি দম্পতি পেয়েছেন. কাইন্ড অফ নিচে শেষ থেকে যে কিন্তু সপ্তাহে ঠিক আছে. আমি এটা সুন্দর ছিল আউট জানেন. সুতরাং সহসা আবির্ভূত হত্তয়া. নিশ্চিতভাবে আপনি করাতে পর আজ অন্তত আপনার বৈশিষ্ট পড়ুন ডাউনলোড মতো চেষ্টা বন্টন কোড এবং চলমান প্রথম প্রাথমিক মতো তারা আপনাকে জিজ্ঞাসা যে জিনিস. আমরা ব্যবহার করছেন কারণ বন্টন কোড এবং একটি লাইব্রেরি আমরা কেবল এটি বিবেচনার মাত্র using-- করে থাকেন যে আমরা এই pset কাজ করেছি দ্বিতীয়বার, ছবি ব্যাপার ঘটতে পারে আপনার প্রয়োগ সঙ্গে, এবং আপনি যে খুঁজতে চান এখন আউট পরে বনাম. এটি বৃহস্পতিবার রাতে অথবা যদি এটা কারণ বুধবার রাতে এবং কোনো কারণে আপনার প্রয়োগ ঠিক না গ্রন্থাগারের সঙ্গে চালাতে চান বা বন্টন সাথে কোড, মানে যে আপনি এমনকি কোডিং কাজ শুরু করতে পারে না. আপনি না পরীক্ষা করতে পারবেন না কারণ এটা কাজ করে কিনা দেখতে. তোমার না করত পাবে এটি প্রনয়ন কিনা দেখতে. আপনি প্রথম দিকে যারা যত্ন নিতে চান সপ্তাহে, আপনি কি এখনও আমাকে ইমেইল করতে পারেন যখন বা অন্যান্য টিএফএস এক, এবং আমরা সংশোধন যারা পেতে পারেন. যারা কারণ সমস্যা যে আপনি বন্ধ হয়ে যাচ্ছে কোনো বাস্তব অগ্রগতি তৈরি থেকে. এটা যে, এক বাগ চাই না আপনি শুধু ধরনের উপর লাফালাফি করতে পারেন. আপনার সাথে সমস্যা হয় তাহলে আপনার যন্ত্র বা বন্টন কোড, আপনি সত্যিই যে গ্রহণ করতে চান শুভস্য বরং পরে এর যত্ন. সুতরাং এমনকি আপনি আসলে করত না করছি কোডিং শুরু, বিতরণ ডাউনলোড কোড, বৈশিষ্ট পড়া, নিশ্চিত করুন সবকিছু সেখানে কাজ করছে. ঠিক আছে? আপনাকে ঠিক সেটা করতে পারেন, তাহলে আমি সহজ হবে আপনার জীবনের অঙ্গীকার. এবং যাতে আপনি সম্ভবত যাচ্ছেন এখনই ডান এটা করতে? ঠিক আছে. সুতরাং, সেখানে কোন প্রশ্ন? কোন লজিস্টিক জিনিস? প্রত্যেকেরই ভাল? ঠিক আছে. তাদের জন্য দাবী পরিত্যাগ আপনি রুমে এবং অনলাইন. আমি সুইচ করার চেষ্টা করা যাচ্ছে না যন্ত্র পাওয়ার পয়েন্ট মধ্যে আমরা যাচ্ছি কারণ কিছু কোডিং করছেন হতে বেনামী এর জনপ্রিয় চাহিদা দ্বারা আজ পরামর্শ পোলের আমি গত সপ্তাহে পাঠানো আউট. সুতরাং, আমরা কিছু কোডিং কাজ করা হবে. সুতরাং, আপনাকে বলছি কি চান আপনার যন্ত্রপাতি ফায়ার আপ, এবং আপনি একটি ইমেইল পেয়েছেন উচিত একটি নমুনা ফাইলের সাথে, আমার কাছ থেকে. তা করতে বিনা দ্বিধায় দয়া করে. সুতরাং, আমরা যে বিষয়ে কথা বলতে যাচ্ছেন একটি ডিবাগার যা GDB,. এটা আপনাকে সাহায্য করতে যাচ্ছে ধরনের চিন্তা করা যেখানে জিনিস আপনার কোড মধ্যে ভুল যাচ্ছি. এটা সত্যিই আপনি পইঠা জন্য মাত্র উপায় আপনার কোড মাধ্যমে হিসাবে এটা ঘটছে, এবং ভেরিয়েবল প্রিন্ট আউট করতে পারবেন বা আসলে কি ঘটছে সে দেখতে ফণা আপনার প্রোগ্রাম আয়াত অধীনে শুধু চলমান, এটা faulting মত, এবং আপনি, কোন ধারণা ভালো থাকেন কি ঠিক এখানে ঘটেছে. আমি এটা এ ব্যর্থ কি লাইন জানি না. এটা ভুল হয়েছে যেখানে আমি জানি না. সুতরাং, GDB যে সঙ্গে আপনি সাহায্য করতে যাচ্ছে. এছাড়াও, আপনি সিদ্ধান্ত নিতে হলে হ্যাঁ অবিরত, এবং 61 নিতে, এটা সত্যিই সত্যিই হতে হবে আপনার সবচেয়ে ভালো বন্ধু, আমি আপনি বলতে পারেন কারণ আমি যে বর্গ মাধ্যমে যাচ্ছি কারণ. আমরা বাইনারি তাকান চলুন অনুসন্ধান, আপনাকে বলছি মনে রাখবেন যদি যা মহান ফোন বই উদাহরণ বর্গ থেকে প্রদর্শনী. আমরা যে রূপায়ণকারী, এবং হবে একটি সামান্য বিট আরো যে মাধ্যমে হাঁটা, এবং তারপর আমরা চার মাধ্যমে চলুন বাবল যা বিভিন্ন প্রকারের,, নির্বাচন, সন্নিবেশন, এবং মার্জ করুন. কুল. সুতরাং, আমি উল্লেখ GDB হিসাবে, একটি ডিবাগার হয়. এবং এই বড় ধরনের জিনিষ, বড় ফাংশন বা কমান্ড আপনি GDB মধ্যে ব্যবহার, এবং আমি হেটে করবে আপনি একটি দ্বিতীয় মধ্যে এটি একটি ডেমো মাধ্যমে. সুতরাং, এই মাত্র নয় বিমূর্ত থাকতে যাচ্ছে. আমি চেষ্টা এবং কংক্রিট হিসাবে এটা করতে হবে আপনাকে বলছি জন্য সম্ভব. সুতরাং, বিরতি. এটা হয় বিরতির হবেন ভালো, কিছু সংখ্যা, যা আপনার প্রোগ্রামে একটি লাইন প্রতিনিধিত্ব করে অথবা আপনি একটি ফাংশন নাম দিতে পারেন. সুতরাং, আপনি মূল বিরতি বলতে হলে, এটা, প্রধান এ বন্ধ হবে এবং আপনি যে ফাংশন দিয়ে হেটে যাক. অনুরূপভাবে, আপনি যদি কিছু বহিরাগত থাকে তাহলে সোয়াপ বা ঘনক মত কাজ, আমরা গত সপ্তাহে দিকে তাকিয়ে যে. আপনি ঐ এক বিরতি বলতে থাকে, আপনার প্রোগ্রাম হিট যখনই, যে এটা আপনার জন্য অপেক্ষা করব কি করতে এটা বলতে. এটা ঠিক আপনি তাই চালানো হবে আগে আসলে ফাংশন ভিতরে পইঠা পারে এবং কি ঘটছে তা দেখতে. সুতরাং, এর পরে, ঠিক অগ্রাহ্য পরের লাইন, ফাংশন উপর যায়. ধাপ. এই সব একটু বিমূর্ত হয়. সুতরাং, আমি শুধু তাদের মাধ্যমে চালানো যাচ্ছে না, কিন্তু আপনি একটি দ্বিতীয় মধ্যে ব্যবহারে তাদের দেখতে পাবেন. একটি ফাংশন মধ্যে ধাপ. সুতরাং হিসাবে আমি বলছে ছিল, সোয়াপ সঙ্গে, এটা একটা ভালো আপনি আসলে আপনি আছেন হিসাবে যদি অনুমতি ভালো শারীরিকভাবে ভিতরে পদবিন্যাস, যারা ভেরিয়েবল সঙ্গে আপনি পারেন জগাখিচুড়ি, মুদ্রণ কি তারা আউট, কি করছেন দেখতে. তালিকা আক্ষরিক শুধু প্রিন্ট হবে পার্শ্ববর্তী কোড আউট. সুতরাং, আপনি যে ধরনের ভুলে গেলে আপনি আপনার প্রোগ্রামে যেখানে, অথবা আপনি হতাশ করছি কি, এটা এর কাছাকাছি যাওয়া শুধু এই একটি সেগমেন্ট প্রিন্ট আউট হবে এর এটি প্রায় পাঁচ বা ছয় লাইনের মত. সুতরাং, আপনি ভিত্তিক পেতে পারেন যেখানে আপনি সম্পর্কে. কিছু ভেরিয়েবল মুদ্রণ করুন. সুতরাং, আপনি কী মত থাকে তাহলে সিজার, আমরা তাকান করব যে. আপনি যে কোনো স্থানে প্রিন্ট কী বলতে পারেন. মান তাই কি এটা আপনি বলতে পারবেন যে, হয়তো কোথাও পথ ধরে, আপনি আপনার কী overwrote. আপনি আসলে কারণ যে বলতে পারেন আপনি আসলে যে মান মান্য করতে পারেন. স্থানীয়, শুধু প্রিন্ট ইন আপনার স্থানীয় ভেরিয়েবল আউট. সুতরাং, যে কোন সময় আপনি একটি লুপ মধ্যে আছেন, এবং আপনি শুধু উহু, মত দেখতে চাই. আমার আমি কি? এই কী মান কি আমি এখানে আরম্ভ যে? এই সময়ে বার্তা কি? এটা শুধু সব প্রিন্ট হবে যারা এর, তাই আপনি যে পৃথকভাবে করতে হবে না প্রিন্ট আই প্রিন্ট মেসেজ, বলতে. প্রিন্ট কী. এবং তারপর প্রদর্শন করা হবে. কি যে আছে আপনি হিসাবে হয় প্রোগ্রামের মাধ্যমে পইঠা, এটা ঠিক এটা নিশ্চিত যে করব কিছু নির্দিষ্ট পরিবর্তনশীল প্রদর্শন প্রতি সময়ে. যাতে আপনি এটি বিবেচনার এর also-- একটি শর্টকাট যেখানে ধরনের আপনি উহু, ভালো বর্তা হবে না. প্রিন্ট কী বা প্রিন্ট আই এটা শুধু আপনার জন্য তা স্বয়ংক্রিয়ভাবে হবে. সুতরাং, যে সঙ্গে, আমরা চলুন এই যায় কিভাবে দেখতে. আমি চেষ্টা এবং সুইচ যাচ্ছি আমার প্রয়োগ করার উপর. আমি এই কাজ করতে পারেন দেখুন. সবাই. আমরা শুধু এটা মিরর চলুন. ছবি কিছুই নেই আমার ল্যাপটপে কোন পথে. ঠিক আছে. এই এই এক করা প্রয়োজন. এটা এত ছোট. আমরা এটা করতে পারেন যদি এর দেখতে দিন. ঠিক আছে. এলিস সম্ভবত সংগ্রাম করা হয় এখানে শুধু একটি সামান্য বিট, কিন্তু আমরা একটি Momento মধ্যে এটি পাবেন. ঠিক আছে. আমরা শুধু এই বৃদ্ধি করতে যাচ্ছি. ঠিক আছে. সবার ধরনের যে দেখতে পাচ্ছেন? হয়তো অল্প? আমি এটা একটু ছোট জানি. আপনি বেশ চিন্তা করতে পারে না এই বড় করতে. কেউ জানে না. কেউ এটা বড় করতে জানেন কিভাবে করে? ঠিক আছে. আমরা এটা দিয়ে পাকানো চলুন. এটা ঠিক, কারণ কোন পথে ব্যাপার না যে যে আপনাকে বলছি উচিত কোড এর আছে. কি আরো গুরুত্বপূর্ণ এখানে টার্মিনাল হল. এবং আমরা কেন এটা এত ছোট হয় এখানে আছে? সেটিংস. ওহ. ট্রু Ike. এই কি এর? সেখানে আউট. যে সবার জন্য ভাল? ঠিক আছে ,. কুল. আপনি একটি সি এস এ যখন আপনি জানেন বর্গ প্রযুক্তিগত সমস্যা the-- ধরনের অংশ সুতরাং, আসুন এই পরিষ্কার করা যাক. ঠিক আছে. সুতরাং, এখানে ডান বিভাগে, যা আমরা এখানে ছিল. সিজার একটি এক্সিকিউটেবল ফাইল. তাই আমি এটি গঠিত. সুতরাং, GDB সঙ্গে উপলব্ধি করা এক জিনিস যে এটা শুধুমাত্র এক্সিকিউটেবল ফাইল কাজ করে. সুতরাং, আপনি একটি dotsy তে এটি চালানোর পারবেন না. আপনি আসলে করতে হবে আপনার কোড প্রনয়ন নিশ্চিত যে, এবং এটা আসলে চালানো যাবে যে. যদি না হয় তাই, নিশ্চিত করুন যে কম্পাইল, এটা কম্পাইল পেতে, যাতে আপনি ধরনের এটি মাধ্যমে চালানো যাবে. সুতরাং, GDB শুরু করতে, সমস্ত আপনাকে যা, গ্লোরিয়া টাইপ GDB, এবং তারপর মাত্র আপনি চান যে ফাইল. আমি সবসময় সিজার ভুল বানান. কিন্তু আপনি নিশ্চিত করতে চাই এটি একটি এক্সিকিউটেবল যেহেতু, TI এর ডট ফ্ল্যাশ যাতে আপনি চলুন মানে সিএসআই আপনি চালানো চলুন চালানোর এই ডিবাগার সঙ্গে হয় ফাইল. ঠিক আছে. সুতরাং, আপনি যে, আপনি পেতে পারি অর্থহীন এই ধরণের. এটা ডিবাগার সম্পর্কে শুধু সব জিনিস. আপনি কি সত্যিই হবে না এখনই এটা নিয়ে চিন্তা. আপনি দেখুন, আমরা এই আছে খোলা Parens, জিডিপি, বন্ধ Parens, এবং শুধু ধরনের মত দেখাচ্ছে আমাদের কমান্ড লাইন, ডান? সুতরাং, আমরা do-- কি চান --So, প্রথম জিনিস আমরা নির্বাচন করতে চান হয় একটি জায়গা তা ভঙ্গ করা. সুতরাং, এক বাগ আছে এই সিজার প্রোগ্রাম আমি যে পরিচয় করিয়ে যে আমরা খুঁজে বের করতে যাচ্ছেন. এটা ইনপুট নেয় হয় এটি কী সব ক্যাপ মধ্যে Barfoo, এবং কোনো কারণে এটা এটা শুধু পাতার এ পরিবর্তন করা হয় না একলা, সঠিক সবকিছু অন্য Is কিন্তু দ্বিতীয় চিঠি একটি অপরিবর্তিত রয়ে গেছে. সুতরাং, আমরা চেষ্টা চলুন এবং যে জিনিসটা কেন. সুতরাং, প্রথম জিনিস আপনি সাধারণত আপনি GDB শুরু যখনই কাজ করতে চান তা ভঙ্গ করার চিন্তা করা যেখানে হয়. সুতরাং সিজার খুবই ছোট প্রোগ্রাম. আমরা শুধু অধিকার, এক ফাংশন আছে? সিজার আমাদের ফাংশন কী ছিল? শুধুমাত্র একটি ফাংশন, মুখ্য অধিকার আছে? মুখ্য একটি ফাংশন আপনার সব প্রোগ্রামের জন্য. আপনি মুখ্য আছে কি না, আমি প্রতাপ একটি চিন্তিত সামান্য এখনই হতে, কিন্তু আমি আপনাকে সব সেখানে মুখ্য ছিল আশা করি. সুতরাং, কি আমরা করতে পারি আমরা করতে পারেন শুধু মাত্র যে মত, মুখ্য বিরতি. সুতরাং, এটা ঠিক আছে, বলছেন. আমরা সেখানে আমাদের ব্রেকপয়েন্ট এক সেট. সুতরাং, মনে রাখতে এখন জিনিস সিজার হয় আর মাত্র একটি কমান্ড লাইন আর্গুমেন্ট সঠিক লাগে এবং আমরা কোথাও এখনো যে এটি না করে. সুতরাং, আপনি কি করবেন যখন হয় আপনি আসলে চালাতে যান প্রোগ্রাম, আপনি যে কোন প্রোগ্রাম GDB চলমান যে কমান্ড লাইন প্রয়োজন আর্গুমেন্ট, আপনি ইনপুট চলুন যখন প্রথম আপনি এটি চলমান শুরু. সুতরাং, এই ক্ষেত্রে, আমরা কি তিনটি একটি কী দিয়ে চালান. এবং এটা আসলে শুরু হবে. আপনি এখানে দেখতে সুতরাং, যদি আমরা আছে রেসিন 2 সমান নয় তাহলে. তাই আপনাকে বলছি সব আছে যদি আমি আপ পাঠানো আউট যে যে ফাইল আপনি যে মত দেখতে পাবেন প্রথম লাইন আমাদের প্রধান ফাংশন, ডান? এটা আমরা আছে কিনা দেখতে পরীক্ষা আছে আর্গুমেন্ট সঠিক সংখ্যা. সুতরাং, আপনি ভাবছি করছি দূরনিয়ন্ত্রিত সঠিক হলে, আপনি শুধু প্রিন্ট রেসিন ভালো কিছু করতে পারেন. রেসিন, যা দুটি হল আমরা, ডান প্রত্যাশিত কি? সুতরাং, আমরা পরবর্তী যেতে পারেন, এবং মাধ্যমে অবিরত. সুতরাং, আমরা সেখানে কিছু কি আছে. এবং আমরা আমাদের কী প্রিন্ট আউট করতে পারেন যে সঠিক কি না নিশ্চিত করতে. আকর্ষনীয়. নেই বেশ আমরা আশা কি. সুতরাং, এক জিনিস বুঝতে এছাড়াও GDB সঙ্গে, হয় আপনি আসলে আঘাত না হওয়া পর্যন্ত এটা না যে এর পরে, যে আপনি শুধু দেখেছি যে লাইন আসলে মৃত্যুদন্ড কার্যকর করা হয়. সুতরাং, এই ক্ষেত্রে কী মধ্যে এখনো নির্ধারিত হয়নি. সুতরাং, মূল কিছু আবর্জনা মান আপনি সেখানে নীচে দেখুন যে. নেতিবাচক $ 120-- এটি বিবেচনার এর এক বিলিয়ন এবং কিছু অদ্ভুত জিনিষ ডান? এটা আমরা আশা যে কী না. কিন্তু আমরা তখন পরবর্তী আঘাত, এবং যদি আমরা চেষ্টা এবং প্রিন্ট কী, তা তিন এর. প্রত্যেকেরই যে দেখতে? সুতরাং, আপনি কিছু পেতে হলে আপনি ভালো থাকেন যে, অপেক্ষা করুন. এটি সম্পূর্ণরূপে হয় ভুল, এবং আমি জানি না আমি সব চাই, কারণ এই ঘটতে হবে কিভাবে একটি সংখ্যা ধার্য করা হয় যা করতে, একটি পরিবর্তনশীল, মুদ্রণ চেষ্টা, পরবর্তী আঘাত চেষ্টা যে কাজ করে তা আবার, এবং দেখতে. এটা শুধুমাত্র চালানো যাচ্ছে কারণ ও আসলে আপনি পরে কিছু দায়িত্ব অর্পণ পরবর্তী আঘাত. সকলের জানার জন্য? হাহ উহ? স্পিকার 2: যখন আপনি র্যান্ডম সংখ্যা যে কি মানে? বক্তা 1: এটা শুধু র্যান্ডম এর. এটা শুধু আবর্জনা নয়. এটা শুধু কিছু যে আপনার কম্পিউটার এলোমেলোভাবে ধার্য হবে. কুল. সুতরাং, এখন আমরা এর মাধ্যমে সরানো, এবং তাই করতে পারেন এখন আমরা এই প্লেইন টেক্সট GetString আছে. সুতরাং, আমাকে শুধু পরিচয় করিয়ে দেওয়া কি আমরা এখানে পরবর্তী আঘাত যখন ঘটবে. আমাদের GDB ধরনের অধিকার, disappears? যে GetString কারণ এর এখন নির্বাহ হয়, ডান? আমরা দেখেছি সুতরাং যখন, প্লেইন টেক্সট সমান GetString, খোলা Parens এবং পিতা বা মাতা, এবং আমরা পরবর্তী আঘাত, যে আছে আসলে এখন মৃত্যুদন্ড কার্যকর. সুতরাং, এটি জন্য অপেক্ষা করছে ইনপুট কিছু করার আমাদের. সুতরাং, আমরা ইনপুট করতে আমাদের খাদ্য যাচ্ছেন যা আমি আপনাকে বলেছে হিসাবে এটি ব্যর্থ হচ্ছে কি এবং যে শুধু এটা বলছেন যে বন্ধ যে, নির্বাহ সমাপ্ত বন্ধনী এটা মানে যে লুপ আউট থেকে প্রস্থান. আমি আছি হিসাবে সুতরাং, আমরা, এখন পরবর্তী আঘাত, এবং পারেন নিশ্চিত করুন যে আপনি সিজার থেকে পরিচিত সব করছি, এই কাজ করতে যাচ্ছেন এই লাইন কি, হয়. Int i 0 সমান জন্য এটা, এন সমান Strlen, প্লেইন টেক্সট, এবং তারপর আমি এন, আমি, প্লাস, প্লাস চেয়ে কম হয়. কি করতে যাচ্ছি এই লুপ কি? আপনার বার্তা খুলুন. কুল. সুতরাং, এর যে কাজ শুরু করা যাক. সুতরাং, এই অবস্থার উচিত আমাদের প্রথম এক জন্য, মেলে? এটি একটি বি, এটা প্লেইন টেক্সট আই আমরা এর আমাদের স্থানীয়দের সম্পর্কে তথ্য পেতে পারেন. সুতরাং, আমি শূন্য, এবং, ছয় হলে যা আমরা আশা, এবং আমাদের কী তিনটি হল. জানার জন্য যে সবাই, ডান? যারা সংখ্যার সকল করো ঠিক তারা উচিত কি. সুতরাং, গুন্ গুন্? স্পিকার 3: আমি আছে খনি জন্য র্যান্ডম সংখ্যা. বক্তা 1: ওয়েল, আমরা --we check-- পারেন একটি দ্বিতীয় যে সম্পর্কে চ্যাট করতে পারবেন. কিন্তু আপনি এই পেয়ে করা উচিত. সুতরাং, আমরা একটি মূলধন থাকে তাহলে আমাদের প্রথম এক জন্য বি, এই অবস্থায় সঠিক, এটা ধরা উচিত? আমরা পরবর্তী আঘাত সুতরাং, যদি আমরা দেখতে এই যদি আসলে executes যে. আপনি নিম্নলিখিত করছি কারণ আপনার কোড মধ্যে বরাবর, এখানে এই লাইন, যেখানে প্লেইন টেক্সট আমি এই গাণিতিক দিয়ে প্রতিস্থাপিত হয়, শুধুমাত্র যদি যদি executes শর্ত সঠিক সঠিক হয়? GDB শুধুমাত্র আপনি প্রদর্শন করতে যাচ্ছে আসলে নির্বাহ হয় যে জিনিষ. এই যদি শর্ত পূরণ না হলে সুতরাং, এটা শুধু পরের লাইন লাফালাফি করতে যাচ্ছে. ঠিক আছে? সুতরাং, আমরা যে আছে. এই বন্ধনী এটা মানে এখন যে লুপ আউট বন্ধ. সুতরাং, এটা আবার শুরু করতে যাচ্ছে. শুধু যে মত. সুতরাং, আমরা তথ্য পেতে পারেন এখানে আমাদের স্থানীয়দের সম্পর্কে, এবং আমরা আমাদের প্রথম দেখতে চিঠি, ডান পরিবর্তিত হয়েছে? এটি করা উচিত হিসাবে এটি এখন একটি ই এর. সুতরাং, আমরা অবিরত করতে পারেন. এবং আমরা এই চেক আছে. এবং এই চেক অধিকার, কাজ করা উচিত? এটা এটি পরিবর্তন করা উচিত উ এর এগিয়ে তিন অক্ষর. কিন্তু আপনি, আমরা লক্ষ্য করে ভিন্ন কিছু পেতে. এখানে এই ক্ষেত্রে আপ মধ্যে সুতরাং, এটা ধরা এটা, এবং তাই এই লাইন, মৃত্যুদন্ড আমাদের বি পরিবর্তিত যা কিন্তু, এখানে এই ক্ষেত্রে, আমরা এটা ঠিক এটা এড়ানো যে আছে, এবং [গিয়েছিলাম? এল SIFF. ?] তাই কিছু ঘটছে. যে কি যে আপনি কহন এর হয়, আমরা, এটা এখানে ধরা উচিত জানি যে কিন্তু এটা না. কেউ কি দেখতে পাচ্ছেন না আমাদের সমস্যা যে সঙ্গতিপূর্ণ হয়? এটি একটি খুব মিনিটে জিনিস. এবং এছাড়াও আপনি আপনার কোড তাকান পারে. এটি কি এটা লাইন ভুলবেন লাইন এর সেখানে সালে কিন্তু এটি [শ্রবণাতীত] আছে. হ্যাঁ? স্পিকার 4: এটা তার চেয়ে অনেক বেশী পাওয়া যাবে পাতা আপনি বইয়ের মধ্যে এটা পড়তে হলে. বক্তা 1: যথাযথভাবে. সুতরাং, ডিবাগার বলতে পারে না আপনি যে, কিন্তু ডিবাগার একটি লাইন আপনি নিচে পেতে পারে আপনি কাজ না হয় জানি যে. এবং কখনও কখনও, যখন বিশেষ পরে সেমিস্টারে, যখন এ আপনি একটি শত, একটি সঙ্গে লেনদেন করছেন শত কয়েক লাইনের কোড, এবং আপনি এটা ব্যর্থ হচ্ছে যেখানে জানি না, এই এটা করতে একটি দুর্দান্ত উপায়. সুতরাং, আমরা আমাদের বাগ খুঁজে পাওয়া যায়. আপনি, আপনার ফাইলে এটা ঠিক করতে এবং তারপর আপনি আবার এটি চালানো হবে এবং সবকিছু ঠিকভাবে কাজ করবে. আর সবচেয়ে বড় বিষয় এই ঠিক আছে, ভালো মনে করতে পারেন. হাঁ. কুল. আপনি যা খুঁজছেন তা জানত. সুতরাং, আপনি কি জানতেন. GDB আপনাকে কারণ সুপার সহায়ক হতে পারে সব জিনিষ প্রিন্ট আউট করতে পারেন যে আপনি না হবে. এটা আরো অনেক কিছু দরকারী printf তুলনায় এর. কত আপনি ব্যবহার নিয়ে printf বিবৃতি মত একটি বাগ অধিকার ছিল, যেখানে জিনিসটা? সুতরাং, এই সঙ্গে, আপনি করবেন না ফিরে বর্তা আছে, এবং এ মন্তব্য চাই Printf, বা, আউট মন্তব্য এবং জিনিসটা কি আপনি মুদ্রণ করা উচিত. এটি আসলে ঠিক করতে পারবেন , মাধ্যমে পইঠা জিনিষ প্রিন্ট আউট আপনি মাধ্যমে চলুন হিসাবে, তাই, আপনি যা করতে পারেন তারা বাস্তব সময়ে পরিবর্তন কিভাবে পালন, আপনার প্রোগ্রাম হিসাবে চালানো সম্ভব. এবং এটা একটু সময় লাগবে ব্যবহার করা হচ্ছে বিট. আমি অত্যন্ত শুধু ধরনের সুপারিশ করবে এর এটা সঙ্গে একটু হতাশ হচ্ছে এখনই জন্য. আপনি উপর একটি ঘন্টা ব্যয় যদি আগামী সপ্তাহে কিভাবে GDB ব্যবহার করতে শেখার, আপনি নিজেকে বাঁচাতে হবে পরে অনেক সময়. এবং আক্ষরিক. আমরা বলতে এই মানুষ প্রতি বছর, আমি নেন এবং যখন আমি স্মরণ বর্গ, আমি ঠিক থাকবে, ভালো ছিল. না. Pset 6 এসেছিলেন এবং আমি ছিল ভালো, আমি করত শিখতে করছি আমি না, কারণ GDB ব্যবহার কিভাবে এখানে কি করছেন জানি. আপনি তাই সময় নিতে হলে তাই ছোট প্রোগ্রামের উপর এটি ব্যবহার আপনি হতে যাচ্ছেন যে কাজ ভালো, কাজ ভালো কিছু মাধ্যমে ভালো Visionare,. আপনি অতিরিক্ত অনুশীলন করতে চান অথবা যদি, আমি নিশ্চিত নই আমি, বগী প্রোগ্রাম সাথে আসতে পারেন আপনি যদি চান জন্য আপনি ডিবাগ. কিন্তু আপনি শুধু কিছু সময় নিতে যদি পেতে এটি ব্যবহার, শুধু এটা নিয়ে খেলা, এটা সত্যিই ভাল পরিবেশন করা হবে. এবং এটা সত্যিই এক সেগুলো যে আপনি শুধু চেষ্টা আছে, এবং আপনার হাত ময়লা পেতে আপনি সত্যিই এটা বুঝতে আগে, সাথে. আমি সত্যিই কেবল একবার এটি বোঝা আমি এটা দিয়ে ডিবাগ জিনিস ছিল এবং এটি একটি ধারণা আছে অনেক nicer এর কিভাবে শুভস্য বরং পরে ডিবাগ. ঠিক আছে. কুল. আমি যে ধরনের মত আছে জানি GDB একটি ক্র্যাশ কোর্স, এবং আমি স্পষ্টভাবে পেয়ে কাজ করবে এইসব বড় পরবর্তী সময়, দেখুন. কুল. সুতরাং, আমরা ফিরে আমাদের পাওয়ার পয়েন্ট যান. এই কাজ করতে যাচ্ছে? Awh. হ্যাঁ. ঠিক আছে. সুতরাং, আপনি কি কখনো কোন প্রয়োজন হলে যারা আবার, তালিকা আছে. সুতরাং বাইনারি অনুসন্ধান, যা সবাই ডেভিড মহান প্রদর্শনী মনে অর্ধেক ফোন বই চমত্কার. আমি সত্যিই পাবেন না আর ফোন বই, আপনি কি যেখানে ভালো কারণ এই দিন ফোন বই পেতে? আমি সত্যিই জানি না. বাইনারি অনুসন্ধান. কেউ মনে করেন কিভাবে বাইনারি অনুসন্ধান কাজ? যে কেউ এ সব? হাঁ? স্পিকার 5: আপনি যখন জানেন আপনি যা অর্ধেক তাকান এটা যে উপর ভিত্তি করে, হতে হবে, এবং অন্যান্য অর্ধেক পরিত্রাণ পেতে. বক্তা 1 যথাযথভাবে. সুতরাং, বাইনারি অনুসন্ধান, তা ছাগু karigor.com ধরনের --we এটি বিভক্ত করা এবং জেতা ডাকতে. সুতরাং, আপনি চেষ্টা করবো কি আপনি, মাঝখানে সন্ধান করব এটা সাথে মিলে গেলে এবং আপনি দেখতে পাবেন কি আপনি যা খুঁজছেন. যদি না হয়, তাহলে আপনি চেষ্টা চিন্তা, এটি বাম হতে যাচ্ছে অর্ধেক বা ডান অর্ধেক. আপনি খুঁজছেন সুতরাং, যদি এই হতে পারে alphabetized কিছু যে এ, আপনি উহু, দেখতে. Allison এম আগে আসে? হ্যাঁ. সুতরাং, আমরা চলুন প্রথম অর্ধেক তাকান. অথবা এটা সংখ্যার মত হতে পারে. কিছু যে আপনি যা করতে পারেন তুলনা, এটা সাজানো যাবে. আপনি উপর বাইনারি সার্চ ব্যবহার করতে পারেন. সুতরাং, যে কেউ এই মনে গ্রাফ বা এই কি? এটা asymptotic জটিলতা আছে. সুতরাং, এই গ্রাফ শুধু কতদিন বর্ণনা করে তা হিসাবে একটি সমস্যা সমাধানের প্রদর্শিত আপনি জিনিষ সংখ্যা বৃদ্ধি যে আপনি ব্যবহার করছেন. সুতরাং, আমরা রৈখিক সময় যা এন, আছে. সামান্য যা দুই ওভার এন, তাহলে ভাল, এখনও সুপার ফাস্ট বৃদ্ধি. এবং তারপর আমরা যা লগিন করেছে কি আমরা বাইনারি অনুসন্ধান বিবেচনা. আমরা বিজ্ঞপ্তি, আপনার সমস্যা হিসাবে , অনেক এবং অনেক বড় পায় এটি প্রদর্শিত হয় সময় এটি সমাধান করতে সত্যিই যে অনেক বাড়বে না. এটা তুলনীয় মত এখানে শুরুতে. আপনি ঠিক আছে, ভালো থাকেন. কিছু এখানে সত্যিই না ব্যাপার যা আমরা ব্যবহার এক, কিন্তু আপনি একটি মিলিয়ন বিলিয়ন নামা. আপনি some-- --you're খুঁজে বের করার চেষ্টা করছি একটি খড়ের গাদা মধ্যে একটি সুই খুঁজে বের করার চেষ্টা. আমি আপনাকে এই সমস্যার চান মনে. আপনি এই জটিলতা, না চান রৈখিক কারণ সব জন্য আপনি আপনার করত মাধ্যমে অনুসন্ধান করা জানেন প্রতিটি সুই, খড় জিনিস, আপনার সুই জন্য, দেখুন চেষ্টা. এবং যে আমার মতে খুব মজা না. আমি দ্রুত চাই. আমি দক্ষ চাই. এবং যত পরিশ্রমী ছাত্র আপনি বলছি, আপনি দক্ষতা সহকারে কাজ জানেন, হয় না কঠিন টাইপ জিনিস, কিভাবে আপনি এই আলগোরিদিম আপ করতে পারেন. সুতরাং, আমরা হেঁটে যাচ্ছেন শুধুমাত্র একটি দ্রুত উদাহরণস্বরূপ মাধ্যমে. আমি আপনাকে বলছি থাকা উচিত মনে করি বাইনারি অনুসন্ধান উপর হাত, কিন্তু ক্ষেত্রে কেউ একটু হয় অস্পষ্ট, এটি শক্তিশালী করা চাই, আমরা শুধু যেতে চলুন এখানে একটি উদাহরণ দিয়ে. যদি জন্য তাই, আমরা খুঁজছেন অ্যারে সাত রয়েছে. সুতরাং, আমরা কি প্রথম জিনিস ঠিক আছে, মাঝখানে চেহারা? এবং এছাড়াও আপনি কোডিং করা চলুন শুধু এই একটি দ্বিতীয় মধ্যে বাইনারি অনুসন্ধান. সুতরাং, এটা মজা হতে যাচ্ছে. সুতরাং আমরা অল্পক্ষণের মাঝখানে একটু অ্যারে 3. 3 7 সমান করে? না কি. এটা ছয় এর. সুতরাং, তুলনায় এটা কম হয় বা সাত চেয়ে বড়? কম. হ্যাঁ. চমৎকার কাজ বলছি. আমি আমি আমি উচিত মনে করেন মিছরি কারণ আছে আমি এড়ো মধ্যে এটি নিক্ষেপ করতে ইচ্ছুক. এটা আমি পরের সপ্তাহে যা করতে যাচ্ছি কি. এটা ধারালো আপনাকে বলছি রাখা হবে. সুতরাং, আমরা যে দূরে নিক্ষেপ প্রথমার্ধে, ডান? এটা কম ছিল. আমরা যে সবকিছু জানেন যে বাম দিকে কম হতে যাচ্ছে কি আসলে আমরা খুঁজছেন. সুতরাং, কোন প্রয়োজন যাও আছে এটি অবধান. শুধু এটি সম্পর্কে ভুলবেন. সুতরাং, এখন আমরা আমাদের ডান দিকে তাকান, এবং আমরা, ওইখানে মাঝখানে তাকান এবং এখন তা নয় এর. সুতরাং, 9 হচ্ছে ÑÑ --Everyone? আমরা করছি কি আর গ্রেটার ডান, খুঁজছেন? সুতরাং, আমরা নিক্ষেপ করছি যাচ্ছে ডান থেকে দূরে সবকিছু. যে লেগেছে. এখন, সব আমরা এক সাথে বাকি করছি. তাই আমরা পরীক্ষা, এই এক কি আমরা খুঁজছেন? এটা হয়. আমরা কি আমরা চেয়েছিলাম পাওয়া. তাই আমরা কাজ করছি. বাইলিনিয়ার অনুসন্ধান. এবং যদি আপনি, আমরা লক্ষ্য করে সেখানে সাত ইনপুট ছিল. এটা শুধুমাত্র, তিনবার মত আমাদের গ্রহণ কিন্তু আপনি একটি বিলিয়ন মত কাজ করছি, আপনাকে বলছি কতগুলি পদক্ষেপ এটি হবে জানি আমরা চার বিলিয়ন জিনিস ছিল যদি নিতে? কোন অনুমান? এটা 32 এর. কিছু খুঁজে 32 ধাপ একটি চার বিলিয়ন মধ্যে কারণ দুটি ক্ষমতা উপাদান অ্যারে. সুতরাং দুই, 32 হয় চার বিলিয়ন হয়. তাই সুন্দর ছবি কিভাবে আপনি এখনও মধ্যে আছেন ধাপের একটি মোটামুটি অল্প সংখ্যক মত এ কিছু খুঁজে চার বিলিয়ন উপাদান. যে নোট উপর সুতরাং, আমরা আছেন এই কোড যাচ্ছে তাই আপনাকে বলছি আসলে যা করতে পারেন ধরনের এই কাজ করে দেখুন. ঠিক আছে, আপনাকে বলছি কোড করতে পারেন যাতে. আমি আপনাকে বলছি দেওয়া যাচ্ছে না কিছুক্ষন কথা বলার জন্য. যা আপনার চারপাশের মানুষ জানতে দিন কি কেউ শেষ অধ্যায় থেকে চেয়েছিলেন. সুতরাং আপনার চারপাশের মানুষ জানতে পারেন. অল্প জন্য কথা বলুন. আর সব আমি আপনার কাছ থেকে চাই বলছি এই মুহূর্তে ঠিক হয় pseudocode একটি রূপরেখা তৈরি করার চেষ্টা করুন. ঠিক আছে? দাঁড়ান. আমি আপনাকে বলছি থেকে চান তা আপনি আছেন হয় শুধু এই যখন ক্ষেত্রে পূরণ করতে যাচ্ছে. তাই আমি এই ঊর্ধ্ব সেট আছে এবং নিম্ন সীমার যা শুরুতে প্রতিনিধিত্ব আমাদের অ্যারের এবং শেষ. এবং আপনি আসলে যাচ্ছে লুপের মাধ্যমে এবং চিন্তা কি আমরা এই লুপ মধ্যে কাজ করছেন. আপনি out-- চিন্তা করতে পারেন, তাই যদি আমি আছে মামলা হয় কি সেখানে একটি ইঙ্গিতটি যে আমরা এখানে আছে? আপনি চিন্তা করতে চান সুতরাং ক্ষেত্রে, আমরা যারা pseudocode হবে এবং তারপর আমরা আসলে তাদের কোড পাবেন. এবং এটা হতে যাচ্ছে, আমি আশা করছি এটা করব, মনে আপনি আশা তুলনায় একটু সহজ হতে. এটা যে কত কোড না কারণ আসলে, যা সত্যিই শীতল হয়. মিমি-এইচএম? ছাত্র: [শ্রবণাতীত]? প্রশিক্ষক: হ্যাঁ. কিছু ত্রুটি ছিল মাঝখানে খুঁজে পেতে. ছাত্র: সুতরাং আমরা যে ব্যবহার করতে পারেন. ঠিক আছে. প্রশিক্ষক: পারফেক্ট. সুতরাং যে আমরা যা করতে হবে প্রথম জিনিস. তাই মধ্যবিত্ত খুঁজে. গ্রেট. সুতরাং আপনি একটি ধারণা আছে কিভাবে আমরা প্রতাপ আসলে কোড দিয়ে মাঝখানে খুঁজে? ছাত্র: হ্যাঁ. 2 টি এন? প্রশিক্ষক: সুতরাং N 2 ওভার. তাই মনে রাখা এক জিনিস যে হয় আপনার ঊর্ধ্ব এবং নিম্ন সীমার পরিবর্তন. আমরা অংশ constricting রাখা অ্যারের আমরা খুঁজছেন. সুতরাং N 2 ওভার শুধুমাত্র কাজ করবে সর্বপ্রথম জন্য আমরা কি. সুতরাং একাউন্টে ঊর্ধ্ব এবং নিম্ন গ্রহণ, কিভাবে আমরা যে মধ্যম উপাদান পেতে পারে? আমরা মধ্যবিত্ত চান কারণ উচ্চ এবং নিম্ন, ডান মধ্যে? মিমি-এইচএম? ছাত্র: [শ্রবণাতীত]. প্রশিক্ষক: তাই আমরা কিছু মধ্যম আছে. এবং এটা উপরের প্লাস 2 ওভার কম থাকব. জট্টিল. এখন পর্যন্ত আমরা যেতে. এক লাইন নিচে. আপনাকে বলছি আপনার উপায় থাকে. তাই এখন আমরা আমাদের আছে মাঝখানে, আমরা কি করতে চাও? শুধু সাধারণ. আপনি এটি কোড করার নেই. হ্যাঁ. ছাত্র: [শ্রবণাতীত]? প্রশিক্ষক: সুতরাং এটা প্লাস আপনি কারণ দুই মধ্যে গড় ফাইন্ডিং তাদের মধ্যে. সুতরাং আপনি যত ধরনের তাদের মনে হলে পাশ থেকে এ বৃদ্ধি, হিসাবে আপনার কাছে এটা সম্পর্কে চিন্তা মাঝখানে, আপনি যে ভালো চান. সুতরাং যদি আপনি যেকোন দিকে ছিল মধ্যম, এবং আমরা 5 ও 7 ভালো আছে. আপনি তাদের একসঙ্গে যোগ করার সময় 12 পেতে, আপনি 2 দ্বারা বিভক্ত, 6 হয়. কখনও কখনও এটি করা কঠিন যে কাজ করে কেন ব্যাখ্যা, কিন্তু আপনি মাধ্যমে কাজ করে একটি উদাহরণ কখনও কখনও, এটি আপনি যদি জিনিসটা সাহায্য করব এটা প্লাস বা বিয়োগ করা উচিত. হ্যাঁ. ছাত্র: [শ্রবণাতীত] ঠিক মাঝখানে তারা একটি কেস যেখানে ছিল ছোট সংখ্যার একটি অনেক আছে এবং এক সংখ্যক মত? প্রশিক্ষক: তাই সব আপনি প্রয়োজন অ্যারে মাঝখানে হয়. সুতরাং যদি আপনি ছোট সংখ্যার একটি গুচ্ছ ছিল এবং তারপর এক বৃহত্ সংখ্যা শেষে, এটা কোন ব্যাপার না. যে সমস্ত বিষয়গুলি যে হয় তারা, আপনি শুধু সাজানো করছি মাঝখানে তাকান করতে চান অ্যারের আপনি এখনও করছি কারণ অর্ধেক আপনার সমস্যা slicing. কুল. তাই এখন আমরা আছে মাঝখানে, আমরা পরের কি করবেন? ছাত্র: তুলনা. প্রশিক্ষক: তুলনা করুন. Value_wanted করতে তাই মাঝখানে তুলনা করুন. কুল. তাই আপনি যদি আমরা আছে এখানে আপ দেখতে আমরা এখানে আপ চাই এই মান. এই একটি অ্যারে মনে রাখবেন. সুতরাং মধ্যম সূচক বোঝায়. সুতরাং আমরা মধ্যম মান কাজ করতে চান. যদি আপনি চান ভুলবেন না , ডবল সমান তুলনা. আপনি একক আপনি আছেন সমান না শুধু এটা reassign যাচ্ছে, এবং তারপর, অবশ্যই, এটা আপনি চান মান হতে যাচ্ছে. সুতরাং যে কি না. সুতরাং আমরা যদি দেখতে যাচ্ছেন মাঝখানে এ মান আমরা চাই মান সমান. আপনার ধনুর্বন্ধনী ভুলবেন না. ড্রপবক্স দূরে যেতে হবে. সুতরাং আমরা এই ক্ষেত্রে কি করবেন? এটা আমরা ফিরে আসতে চান না কি যদি? আমরা বলার চেষ্টা করছি. ছাত্র: বন্ধ মুদ্রণ করুন. প্রশিক্ষক: ওয়েল, আমরা বন্ধ প্রিন্ট করতে চান না. তাই এই এখানে একটি bool হয়, আমরা তাই সত্য বা মিথ্যা ফেরত চাই. আমরা এই সংখ্যা হয়, বলছে একটি [? RRA? ?] এটা হয় তাই আপনি যদি, আমরা শুধু এটা সত্য ফিরে. আমি সত্য বানান করতে পারেন তাহলে. ছাত্র: আপনি কেন শূন্য ফিরে না কেন? প্রশিক্ষক: আপনি পারে তাই যদি আপনি যেমনটি শূন্য ফিরে. কিন্তু এই ক্ষেত্রে, কারণ এ আমাদের ফাংশন একটি bool ফেরৎ, আমরা সত্য বা মিথ্যা হয় ফেরত দিতে হবে. ছাত্র: যখন আপনি আছেন , বুলিয়ান অভিব্যক্তি বলছে আপনি এটা মিথ্যা সমান সেট করতে পারেন? আমি বলতে চাই, যদি এই অবস্থা ভালো লেগেছে উপরের হল মিথ্যা সমান ভালো, পূরণ করা হয় না. শুধু আপনি যদি এটা বুঝতে হবে অন্য দিকে মিথ্যা করা? প্রশিক্ষক: হ্যাঁ. তাই আসলে আপনি যদি কখনও কিছু করছেন ভালো ঊর্ধ্ব হয় বা কম হয়, যে সত্য বা মিথ্যা ফেরৎ এবং এটা আসলে খারাপ শৈলী বলে সমান সত্য বা সমান সমান মিথ্যা সমান. আপনি যে রিজাল্ট ব্যবহার করতে চান আপনার চেক হিসাবে নিজেকে হিসাবে. আমি চেয়েছি নেই কি. যে আমি চেয়েছি কি. বলছি আপনি এর ক্ষেত্রে তাই কিছু বিষয়ে মত গ সালে এই সংরক্ষণ. সুতরাং আমরা int প্রধান (অকার্যকর) থাকে তাহলে এবং ভালো কিছু. ঊর্ধ্ব এবং যদি আপনি আছে আপনি আছেন এবং কিছু ইনপুট আপনি কি করতে পারেন যদি জিজ্ঞাসা ভালো কিছু? রাইট? ছাত্র: আমি চেষ্টা ছিল এটি [শ্রবণাতীত] করতে. It's-- কারণ যদি প্রশিক্ষক: রাইট. তাই আপনি যদি এই অধিকার, মিথ্যা হতে চান? ছাত্র: হ্যাঁ. প্রশিক্ষক: এই ক্ষেত্রে তাই আপনি এটা সত্য না হলে এটি এক্সিকিউট করতে চান. সুতরাং আপনি আছে কি শীতল জিনিস এই. তাই বিস্ময়বোধক স্মরণ বিন্দু জিনিষ negates? এটা [শ্রবণাতীত] না মানে বলছেন. আমরা শুধু তাকান তাই এখানে এই অংশ, আপনি চাই যে মূল্যায়ণ বলে মিথ্যা যদি আপনি এটি করতে চান হিসাবে. মিথ্যা না সত্য যা এই চালানো হবে মানে. যে জানার জন্য? ছাত্র: হ্যাঁ. প্রশিক্ষক: জট্টিল. ঠিক আছে. তাই আমরা ফিরে আসতে পারে এই ক্ষেত্রে সত্য. তাই এখন আমরা অন্য দুটি আছে এই ক্ষেত্রে ক্ষেত্রেই. আমাদের দুই অন্যান্য ক্ষেত্রে কি কি? এর ঠিক তা এই ভাবে করুক না. সুতরাং আসুন আর সঙ্গে শুরু করা যাক যদি মাঝখানে এ মান আমরা চাই মান কম হয়. তাই মাঝখানে আমাদের মান কম হয় আমরা খুঁজছেন যে মূল্যের চেয়ে. সুতরাং বাউন্ড যা আপনি করবেন আমরা আপডেট করতে চান মনে হয়? হাতের বা ছোট? উচ্চ? অ্যারের তাই কোন পক্ষ আমরা এ খুঁজছেন করা যাচ্ছে? ছাত্র: নিম্ন. প্রশিক্ষক: আমরা যাচ্ছি বাম দিকে তাকিয়ে করা হবে. একটু মান কম হয় সুতরাং যদি অন্য. এখানে আপনার মধ্যম মান তাই আমরা কি চাই কম. সুতরাং আমরা নিতে চান আমাদের অ্যারের ডান দিকে. সুতরাং আমরা চলুন আমাদের নিম্ন পরিসর আপডেট. সুতরাং আমরা আমাদের নিম্ন reassign করব. এবং আপনি কম হওয়া উচিত কি মনে করেন? ছাত্র: মধ্যম মান? প্রশিক্ষক: সুতরাং মধ্যম মান ছাত্র: প্লাস 1. প্রশিক্ষক: --plus 1. কেউ কেন আমাকে বলতে পারবেন আমরা যে প্লাস 1 আছে? ছাত্র: [? কোন মান?] এটা আরো সমান. প্রশিক্ষক: রাইট. আমরা ইতিমধ্যে জানি যে কারণ আমাদের মধ্যম মান সমান নয় এটি এবং আমরা তা অগ্রাহ্য করতে চান সব পরবর্তী অনুসন্ধান থেকে. আপনি যে প্লাস 1, এই ভুলবেন হলে অনির্দিষ্টকালের জন্য লুপ পছন্দ করবে. এবং আপনি শুধুমাত্র একটি ধরা হবে অসীম লুপ এবং তারপর আপনি segfault করব এবং কিছু খারাপ যেতে. তাই সবসময় আপনি না হন তা নিশ্চিত করুন মূল্য সহ যে আপনি শুধু এ লাগছিল. সুতরাং আমরা একটি প্লাস 1 সঙ্গে যে যত্ন নিতে. তাই এখন আমরা আমাদের শেষ অবস্থায় আছে নিরাপত্তা অনুরোধে জন্য যা সবসময় আমি আপনি এ মান যদি অন্য, এখানে পরীক্ষা করতে পারবেন মধ্যম মূল্যের চেয়ে অনেক বেশী আমরা চাই. তার মানে আমরা চাই যে মানে বাম হাতের অর্ধেক. সুতরাং যা এক আমরা আপডেট করতে যাচ্ছি? উচ্চ. এবং সমান যাচ্ছে এই এক কি? মধ্য বিয়োগ 1, কারণ অবশ্যই, আমরা চাই আমরা পারব না তা নিশ্চিত করা আবার যে মধ্যম মান এ খুঁজছেন. এবং তারপর আমরা এটা আছে. এটাই. যে সব বাইনারি অনুসন্ধান হয় না. এটা ঠিক, যে খারাপ না? এটা 10 লাইন মত সাদা স্পেস দিয়ে কোড. সুতরাং খুব শক্তিশালী, খুব দরকারী, আপনি হবে আপনার পরে psets এক মধ্যে এটি ব্যবহার করা. হয়তো না এই এক, কিন্তু পরে. সুতরাং এটা শিখতে. এটি প্রেমের. এটা ভাল ব্যবহার করব. সুতরাং যে কেউ যে কোনো আছে বাইনারি অনুসন্ধান উপর প্রশ্ন? হ্যাঁ. ছাত্র: এটা কোন ব্যাপার না আপনার এন এমনকি বা বিজোড় হয় কিনা? প্রশিক্ষক: নং আমরা হিসাবে মাঝখানে থেকে এটি নিক্ষেপ কারণ কোন int, এটা ঠিক এটা অগ্রভাগ ছাঁটিয়া হবে. এটি একটি পূর্ণসংখ্যা থাকার এবং হবে সুতরাং এটা করবে অবশেষে সবকিছু মাধ্যমে বাছাই. সুতরাং আপনি যে সম্পর্কে চিন্তা করতে হবে না. প্রত্যেকেরই ভাল? জট্টিল. কুল. সুতরাং, আপনাকে বলছি এই পেয়েছিলাম. স্লাইড প্রদর্শন. আমরা যে বিষয়ে কথা ছিল তাই, আমি জানি ডেভিড জটিলতা runtimes উল্লেখ করেছে. সুতরাং সেরা ক্ষেত্রে, এটা ঠিক আমরা ধ্রুবক সময় কল যা এক,. যে হতে পারে কেন কেউ বলতে পারেন? যে পরিস্থিতি কি ধরনের ফলস্বরূপ ঘটা হবে? মিমি-এইচ এম. ছাত্র: [শ্রবণাতীত] first-- প্রশিক্ষক: মধ্যম হচ্ছে তাই আমরা থেকে আসা প্রথম উপাদান, ডান? সুতরাং এক একটি অ্যারের হয় বা যাই হোক না কেন আমরা শুধু খুঁজছি করছি মাঝখানে সজোরে আঘাত তুখোড় হতে হবে. সুতরাং যে আমাদের সেরা কেস. আপনি সম্ভবত বাস্তব সমস্যার মধ্যে না পেতে যে প্রায়ই [শ্রবণাতীত] পৌঁছাতে যাচ্ছে. কি আমাদের সবচেয়ে খারাপ ক্ষেত্রে সম্পর্কে? আমাদের সবচেয়ে খারাপ ক্ষেত্রে লগ n হল. এবং যে পুরো করতে হয়েছে আমি সম্পর্কে বললাম যে দুটি জিনিস ক্ষমতা. তাই সবচেয়ে খারাপ ক্ষেত্রে এটা মানে হবে আমরা নিচে অ্যারে চপ ছিল যে এটা এক একটি উপাদান ছিল পর্যন্ত. তাই আমরা অর্ধেক এটি নিচে চপ ছিল হিসাবে আমরা সম্ভবত পারে হিসাবে অনেকবার. এটা লগ n কারণ কেন এটা আপনি মাত্র দুই দ্বারা বিভক্ত রাখা. তাই অনুমানের, জিনিষ আপনি আপনি কি কখনো হন তাহলে জানা প্রয়োজন একটি বাইনারি সার্চ ব্যবহার করতে যাচ্ছি. তোমার উপাদানের সাজানো হবে. তারা কারণ বাছাই করা আছে যে একমাত্র উপায় আপনি এর আপনি পারবেন যদি জানতে পারেন এটি অর্ধেক বর্জন করা. আপনি এই jumbled ব্যাগ ছিল এবং সংখ্যার আপনি, বলছে ঠিক আছে, আমি মাঝখানে চেক করতে যাচ্ছি সংখ্যা এবং আমি খুঁজছি সংখ্যা যে কম, আমি শুধু যাচ্ছি ইচ্ছামত এক অর্ধেক বর্জন করা. আপনি যদি জানেন না আপনার অন্য যে অর্ধেক নম্বর. তোমার তালিকা অনুসারে বাছাই করা হয়েছে. পাশাপাশি, এই হতে পারে এগিয়ে কিছুক্ষন যাচ্ছে, কিন্তু আপনি র্যান্ডম এক্সেস আছে প্রয়োজন. আপনি করতে সক্ষম হতে হবে শুধু যে মধ্যম উপাদান যান. আপনি তর্ক করতে থাকে কিছু মাধ্যমে অথবা আপনার অতিরিক্ত পদক্ষেপ নেয় যে মধ্যম উপাদান পেতে, এটা লগ ইন এন আর কারণ না আপনি এটি আরও বেশি করে কাজ যোগ করছি. আর এই সামান্য করতে হবে দুই সপ্তাহের মধ্যে আরো ধারনা, কিন্তু আমি শুধু ধরনের, কথামুখ চেয়েছিলেন আপনাকে বলছি কি একটি ধারণা দিতে আসতে. কিন্তু ঐ দুটি করো গুরুত্বপূর্ণ ধারনাগুলো আপনি একটি বাইনারি তালিকার জন্য প্রয়োজন. এটি সাজানো এর নিশ্চিত করুন. যে জন্য বড় এক আপনি ডান এখন বলছি. এবং যে উপর আমরা ঢোকা যাবে আমাদের প্রকারের বাকি. তাই চার sorts-- বুদ্বুদ, সন্নিবেশ, নির্বাচন, এবং একত্রীকরণ. তারা শীতল সব ধরনের করছি. আপনাকে বলছি সি এস 124 নিতে সিদ্ধান্ত নেন, আপনি প্রকারের সমস্ত প্রকারের সম্পর্কে জানতে পারবেন. এবং যদি আপনি একটি XKCD ফ্যান হন তাহলে, সেখানে একটি সত্যিই শীতল কমিক সম্পর্কে সত্যিই অকার্যকর প্রকারের, মত যা আমি অত্যন্ত আপনি তাকান যাচ্ছে সুপারিশ. তাদের মধ্যে একজন প্যানিক সাজানোর, মত যা ভালো, ওহ না, র্যান্ডম অ্যারে প্রদান করে. শাটডাউন সিস্টেম. ছেড়ে দিন. সুতরাং geeky হাস্যরস সবসময় ভাল. সুতরাং কেউ ধরণের মনে করেন শুধু একটি সাধারণ ধারণা মত বুদ্বুদ সাজানোর কিভাবে কাজ করে. আপনি মনে রাখবেন? ছাত্র: হ্যাঁ. প্রশিক্ষক: এটি জন্য যান. ছাত্র: আপনি মাধ্যমে চলুন সুতরাং ও এটা বড় যদি, তারপর আপনি দুটি অদলবদল. প্রশিক্ষক: মিমি-এইচ এম. যথাযথভাবে. তাই আপনি শুধু মাধ্যমে বারবার. আপনি দুই নম্বর পরীক্ষা. এক আগে বড় হলে পরে একটির, আপনি শুধু মধ্যে যাতে তাদের অদলবদল এই ভাবে উচ্চতর সংখ্যার সকল তালিকায় শেষ দিকে বুদ্বুদ আপ এবং সব কম সংখ্যক বুদ্বুদ নিচে. তিনি শীতল আপনাকে বলছি দেখাতে চেয়েছেন ভিডিও শ্রেণীবিভাজন শব্দের ইফেক্ট? এটা শীতল ধরনের. রবার্ট শুধু বলেন, এলগরিদম তাই আপনি শুধু তালিকা মাধ্যমে পইঠা যে, সন্নিহিত মান সোয়াপিং তারা যাতে না হন তাহলে. এবং তারপর শুধু পুনরায় রাখা যতক্ষণ আপনি কোনো অদলবদল করতে না. তাই খারাপ না, ডান? তাই আমরা ঠিক এখানে একটি দ্রুত উদাহরণ আছে. তাই এই বাছাই যাচ্ছে অর্ডার আরোহী তাদের. তাই আমরা প্রথম মধ্য দিয়ে যেতে যখন সময়, আমরা আট মাধ্যমে সন্ধান এবং ছয় সম্ভবত হয় না যাতে আমরা তাদের অদলবদল. সুতরাং পরের এক তাকান. আট এবং যাতে চার না. তাদের অদল-বদল করুন. এবং তারপর আট এবং দুই, তাদের অদলবদল. এখন পর্যন্ত আমরা যেতে. তাই আপনার প্রথম পাস করার পর, আপনি জানেন যে আপনার বৃহত্তম সংখ্যা সব পথ হতে যাচ্ছে এটা ঠিক না কারণ উপরের ক্রমাগত হতে যাচ্ছে অন্য সব কিছুর চেয়ে বড় এবং এটি শুধু বুদ্বুদ যাচ্ছে সেখানে শেষ সব পথ আপ. সবাই যে অর্থে তোলে কি? কুল. তখন আমরা আমাদের দ্বিতীয় পাস তাকান. ছয় ও চারটি, সুইচ. ছয় ও দুটি, সুইচ. এবং এখন আমরা যাতে কিছু বিষয় আছে. প্রত্যেক পাস জন্য সুতরাং যে আমরা আমাদের সম্পূর্ণ তালিকায় মাধ্যমে করা, আমরা জানি যে যে অনেক নম্বর ভালো শেষে সাজানো হয়েছে হবে. সুতরাং আমরা একটি তৃতীয় পাস না, যা এক swap 'হয়. এবং তারপর আমাদের চতুর্থ উপর আমরা শূন্য স্লট আছে, পাস. এবং তাই আমরা জানি যে আমাদের অ্যারে সাজানো হয়েছে. এবং যে বড় হয় বুদ্বুদ সাজানোর সঙ্গে জিনিস. আমরা জানি যখন আমরা যে , যে শূন্য অদলবদল আছে সবকিছু যে মানে সম্পূর্ণ অনুক্রম হল. এটা আমরা পরীক্ষা কিভাবে ধরনের. সুতরাং আমরা বুদ্বুদ কোড যাচ্ছি সাজান যা এছাড়াও যে খারাপ না. এই কোনটিই যে খারাপ হয়. আমি তারা একটু ভীতিকর বলে মনে করতে পারেন জানি. আমি নেন যখন আমি জানি ক্লাস, এমনকি যখন আমি মার্কিন বর্গ অধ্যাপনা করেন প্রথমবার গত বছর, আমি ভালো, আমি এই কিভাবে করব হয়েছিল? এটা তত্ত্ব জ্ঞান করে তোলে, কিন্তু আসলে আমরা এই কিভাবে করব? যা আমি হেটে যেতে চাই কেন এখানে আপনাকে বলছি সঙ্গে কোড মাধ্যমে. তাই আমি একটি pseudocode আছে আপনাকে বলছি এই সময়ের জন্য. তাই ঠিক যেমন এই মন রাখতে আমরা ধরে স্থানান্তর করতে চলেছেন. তাই আমরা কিছু কাউন্টার আছে আমাদের অদলবদল ট্র্যাক রাখে আমরা নিশ্চিত করতে হবে কারণ আমরা যে চেক করছি যে. এবং আমরা সম্পূর্ণ অ্যারে পুনরুক্তি আমরা শুধু এই যেমন করেনি. উপাদান আগের চেয়ে বড় হয় তাহলে আমরা এ করছি যেখানে পরে উপাদান, আমরা তাদের অদলবদল এবং আমরা আমাদের বাড়ায় পাল্টা, আমরা অদলবদল যত তাড়াতাড়ি কারণ আমরা আমাদের পাল্টা জানাতে চাই. সেখানে কোন প্রশ্ন? কিছু এখানে বেশী মজার মনে হয়. ছাত্র: আপনি শূন্য পাল্টা সেট না আপনি লুপের মাধ্যমে যেতে প্রত্যেক সময়? আপনি বর্তা না ফিরে প্রত্যেক সময় শূন্য? প্রশিক্ষক: অগত্যা. তাই কি হবে আমরা এখানে দিয়ে যেতে হয়. সুতরাং, যখন, এই মনে করবেন ব্যর্থ ছাড়া একবার চালানো হবে. সুতরাং এটি সেট করতে যাচ্ছে শূন্যের সমান কাউন্টার, তারপর এটি মাধ্যমে পুনরুক্তি করতে যাচ্ছে. এটি মাধ্যমে iterates হিসাবে, এটি পাল্টা আপডেট হবে. এটি পাল্টা আপডেট হিসাবে, এটি করা হচ্ছে যখন, এটা অ্যারের শেষ পৌঁছেছেন যখন, আমাদের তালিকা সাজানো হয়েছে না হলে, পাল্টা আপডেট করা হবে. আমি তখন এটি শর্ত পরীক্ষা এবং এটা ঠিক আছে, শূন্য চেয়ে পাল্টা বেশী, বলেছেন. যদি তা না হয়, এটা আবার কি. আপনি তাই যখন আপনি যে রিসেট করতে চান দিয়ে যেতে, পাল্টা শূন্য সমান. আপনি একটি সাজানো মধ্য দিয়ে যেতে হলে অ্যারে, কিছুই, পরিবর্তন এই ব্যর্থ, এবং আপনি সাজানো তালিকা ফিরে. যে অর্থে তোলে কি? ছাত্র: কিছুক্ষন পারে এটা. প্রশিক্ষক: ঠিক আছে. অন্য কোন আছে আপ আসে যে প্রশ্ন. হ্যাঁ. ছাত্র: কি would ফাংশন উপাদান সোয়াপিং জন্য হতে? প্রশিক্ষক: সুতরাং আমরা আসলে লিখতে পারেন আমরা এখন ডান চলুন যে. কুল. যে নোট উপর সুতরাং, Alison যাচ্ছে ফিরে প্রয়োগ করার সুইচ. এটা মজা হতে যাচ্ছে. এবং আমরা আমাদের সুন্দর আছে এখানে বুদ্বুদ সাজানোর জিনিস. তাই আমি ইতিমধ্যে সাইক্লিং করেনি অ্যারে মাধ্যমে. আমরা আমাদের অদলবদল আছে শূন্যের সমান হয়. সুতরাং আমরা সন্নিহিত অদলবদল করতে চান উপাদান তারা যাতে বাইরে থাকেন. সুতরাং প্রথম জিনিস আমরা প্রয়োজন আমাদের অ্যারের মাধ্যমে পুনরুক্তি করা হয় না. সুতরাং কিভাবে আপনি আমরা আপনার মনে হয় আমাদের অ্যারের মাধ্যমে বারবার? আমরা জন্য আছে এবং আমি 0 সমান. আমরা আমি কম হতে চান এন বিয়োগ 1 বিয়োগ ট তুলনায়. এবং আমি একটি দ্বিতীয় যে ব্যাখ্যা করব. সুতরাং এই একটি অপ্টিমাইজেশান এইখানে যেখানে, আমি প্রত্যেক পাস করার পর বলেন কিভাবে স্মরণ অ্যারে আমরা মাধ্যমে যাই হোক না কেন on-- জানি যে সুতরাং এক পাস পরে আমরা এই সাজানো হয় যে জানেন. দুই পাস করার পর আমরা জানি সব এই সাজানো হয় যে. তিনটি পাস করার পর আমরা যে সাজানো এর জানি. উপায় তাই আমি iterating করছি এখানে অ্যারে মাধ্যমে, এটা শুধুমাত্র যেতে এমনটা নিশ্চিত করে হয় আমরা জানি কি মাধ্যমে পাঁচমিশালী হয়. ঠিক আছে? যে শুধু একটি অপ্টিমাইজেশান এর. আপনি শুধু naively এটি লিখতে পারে সবকিছু মাধ্যমে iterating, এটা শুধু আর নিতে হবে. এই চারটি লুপ সঙ্গে এটি শুধু একটি চমৎকার অপ্টিমাইজেশান আমরা যে প্রতি পূর্ণ পর জানি কারণ এখানে অ্যারে মাধ্যমে পুনরাবৃত্তির, এখানে প্রতি পূর্ণ লুপ মত, আমরা জানি এই উপাদান এক আরো যে শেষে বাছাই করা হবে. তাই আমরা যারা চিন্তা করতে হবে না. সবাই যে অর্থে তোলে কি? যে শীতল সামান্য কৌতুক? যে ক্ষেত্রে, যদি তাই আমরা, মাধ্যমে iterating করছি আমরা যদি চেক করতে চান জানি যে অ্যারে এন ও এন প্লাস 1 আদেশ হয়. ঠিক আছে. তাই এখানে pseudocode এর. আমরা যদি চেক করতে চান অ্যারের এন এবং এন প্লাস 1 আদেশ হয়. তাই আমরা সেখানে কি থাকতে পারে? এটা কিছু শর্তাধীন হতে যাচ্ছে. এটি একটি যদি হতে হবে. ছাত্র: অ্যারের এন হয় তাহলে অ্যারে এন প্লাস 1 কম. প্রশিক্ষক: মিমি-এইচ এম. ওয়েল, কম বা তার চেয়ে অনেক বেশী. ছাত্র: এর চেয়ে বৃহত্তর. তারপর আমরা তাদের অদলবদল করতে চান. যথাযথভাবে. তাই এখন আমরা কি ঢোকা তাদের সোয়াপিং জন্য প্রক্রিয়া? সুতরাং আমরা এই সংক্ষিপ্তভাবে মাধ্যমে গিয়েছিলাম, swap ফাংশন একটি ধরন গত সপ্তাহে. কেউ এটা কাজ করে কিভাবে মনে রাখবেন না? তাই আমরা ঠিক ডান, তাদের reassign পারে না? তাদের মধ্যে একজন হারিয়ে পেতে হবে. আমরা যদি বলেন একটি তারপরে বি বি এবং সমান একটি সমান, দুইটাই হঠাৎ সব বি ঠিক সমান হয় তাই আমরা যা করতে হবে তা আমরা হয় যে অস্থায়ী পরিবর্তনশীল আছে আমাদিগের যখন এক রাখা যাচ্ছে আমরা সোয়াপিং প্রক্রিয়ার মধ্যে আছেন. তাই আমরা আছে আমরা কিছু int- এ থাকবে হয় আপনি এটা ধার্য করতে পারেন চাচ্ছি টেম্প সমান যেটা এক আপনি শুধু চাই আপনি এটিকে উপর নজর রাখা নিশ্চিত করা তাই এই ক্ষেত্রে, আমি যাচ্ছি অ্যারে এন প্লাস 1 তা নির্ধারণ করুন. সুতরাং যে রাখা যাচ্ছে যাই হোক না কেন মান যে দ্বিতীয় ব্লক হয় আমরা এ খুঁজছেন যে. এবং আমরা যেতে পারেন তাহলে আমরা কি করতে পারি হয় এগিয়ে এবং reassign অ্যারে এন প্লাস 1, আমরা জানি কারণ সঞ্চিত যে মান আছে. এটি বড় এক আপনাদের মধ্যে যদি থাকে জিনিস আমি জানি না আপনি দুটি সুইচ যেখানে যদি বিষয় ছিল কোড অফ লাইন হঠাৎ জিনিস কাজ করেন. অর্ডার সি এস খুব গুরুত্বপূর্ণ. তাই নিশ্চিত করুন যে আপনি চিত্রটি করা সেটা যদি সম্ভব যাও হিসাবে কি আসলে ঘটছে. তাই এখন আমরা চলুন , অ্যারে এন প্লাস 1 reassign আমরা জানি কারণ সঞ্চিত যে মান আছে. এবং আমরা অ্যারের যে ধার্য করতে পারেন এন বা এই ক্ষেত্রে অ্যারের আমি এ. অনেকগুলি ভেরিয়েবল. ঠিক আছে. তাই এখন আমরা পুনরায় নির্ধারণ করেছি অ্যারে আমি প্লাস 1 অ্যারে আমি কি এর সমান. এবং এখন আমরা ফিরে যেতে পারেন এবং কি করতে অ্যারের আমি ধার্য? যে কেউ? ছাত্র: 10. প্রশিক্ষক: 10. যথাযথভাবে. এবং গত এক জিনিস. আমরা এখন এটা আনা যায় যদি, আমরা কি করতে হবে? এক জিনিস কি যে আমাদের বলতে যাচ্ছে আমরা কখনও এই প্রোগ্রাম বিনষ্ট করে? আমরা কি আমাদের বলে যে একটি সাজানো তালিকা আছে? আমরা কোনো অদলবদল সঞ্চালন না হলে, ডান? বিনিময়সমূহ যদি সমান এই শেষে শূন্য. তাই যখনই আপনি আমরা হিসাবে, একটি swap সঞ্চালন শুধু এখানে কি আমরা বিনিময়সমূহ আপডেট করতে চান. এবং আমি সেখানে ছিল জানেন একটি প্রশ্ন সম্পর্কে আগে আপনি পারেন পরিবর্তে শূন্য বা এক ব্যবহার সত্য বা মিথ্যা. এবং যে এই এখানে আছে কি. তাই এই যদি না অদলবদল বলেছেন. বিনিময়সমূহ শূন্য, যদি তাই যা সবসময় আমি হচ্ছে ÑÑ পেতে আমার সত্য এবং আমার falses ঘাঁটা. আমরা আমাদের মূল্যায়ন করতে চান সত্য এবং এটা না. এটা শূন্য যদি তাই হয়, তাহলে এটা মিথ্যা. আপনি একটি সঙ্গে এটি অস্বীকার তাহলে [? মুহূর্তেই?] এটা সত্য হয়ে যায়. আমি তখন এই লাইন executes. সত্য ও মিথ্যা এবং শূন্য এবং বেশী পাগল পেতে. শুধু আপনি ধীরে ধীরে হেটে হলে এটি মাধ্যমে তা জানার জন্য হবে. কিন্তু যে কি এই সামান্য কোড অফ বিট এখানে আছে. তাই এই দেখতে পরীক্ষা করা আমরা কোনো অদলবদল করতে পেরেছেন. সুতরাং এটা কিছু ছাড়াও যদি এর শূন্য, এটা মিথ্যা হতে যাচ্ছে এবং পুরো জিনিস আবার চালানো যাচ্ছে. কুল? ছাত্র: বিরতির কী কাজ করে? প্রশিক্ষক: শুধু বিরতি লুপ আউট আপনি বিরতি. এই ক্ষেত্রে এটি হবে তাই শুধু প্রোগ্রাম শেষ চান এবং আপনি শুধু would আপনার সাজানো তালিকা আছে. ছাত্র: অ্যামেজিং. প্রশিক্ষক: আমি দুঃখিত? ছাত্র: কারণ আমরা পূর্বে শূন্য লিখিত ওভার 1 লিখিত ব্যবহৃত যদি যে উপস্থাপন যে কাজ বা না হবে. প্রশিক্ষক: হ্যাঁ. সুতরাং আপনি শূন্য বা 1 যেতে পারেন. এই ক্ষেত্রে, কারণ আমরা আসলে পারছেন না ফাংশন সঙ্গে কিছু করছেন, আমরা শুধু তা ভঙ্গ করতে চান. আমরা সত্যিই এটা যত্নশীল না. ব্রেক এছাড়াও যদি ভাল হয় এটি ভঙ্গ জন্য ব্যবহৃত চার loops বা অবস্থার যে আপনি নির্বাহ রাখতে চাই না. এটা শুধু তাদের আউট প্রদর্শিত হয়. এটা একটা সামান্য পার্থক্য জিনিস একটি বিট. আছে ভালো আমি বোধ হাত waving অনেক, যেমন আপনি শীঘ্রই এই সম্পর্কে জানতে পারবেন. কিন্তু আপনি তাড়াতাড়ি এই সম্পর্কে জানতে পারবেন. আমি প্রতিজ্ঞা করছি. ঠিক আছে. তাই সবাই বুদ্বুদ সাজানোর পেতে পারি? খুব খারাপ নেই. মাধ্যমে পুনরুক্তি, swap- র জিনিষ একটি ব্যবহার টেম্প পরিবর্তনশীল, এবং আমরা সব আছে সেট করছি? কুল. জট্টিল. ঠিক আছে. পিছনে পাওয়ার পয়েন্ট যাও. সাধারণ কোন প্রশ্ন সম্পর্কে এইসব এতদূর? কুল. মিমি-এইচ এম. ছাত্র: [শ্রবণাতীত] সাধারণত প্রধান int. এই জন্য যে আছে আপনি আছে? প্রশিক্ষক: তাই আমরা ঠিক করছিলেন শুধু প্রকৃত বাছাই আলগোরিদিম এ. আপনি মধ্যে এটি ছিল একটি বৃহত্তর প্রোগ্রামের মত, আপনি কোন int প্রধান কোথাও হবে. যেখানে আপনি উপর নির্ভর করে এই অ্যালগরিদম ব্যবহার, এটা কি নির্ধারণ করবে এটা দ্বারা ফিরে হচ্ছে. কিন্তু আমাদের ক্ষেত্রে জন্য, আমরা কঠোরভাবে আছেন আসলে এই আছে কিভাবে এ খুঁজছেন একটি অ্যারের মাধ্যমে বারবার. সুতরাং আমরা এটা সম্পর্কে চিন্তা করবেন না. সুতরাং আমরা যে বিষয়ে সেরা কেস কথা বলা হয়েছে এবং বাইনারি অনুসন্ধান জন্য সবচেয়ে খারাপ ক্ষেত্রে শর্ত. সুতরাং এটা করতে গুরুত্বপূর্ণ আমাদের প্রকারের প্রতিটি জন্য যে. তাই কি আপনি মনে খারাপ হয় বুদ্বুদ সাজানোর ক্ষেত্রে রানটাইম? আপনাকে বলছি মনে রাখবেন? ছাত্র: এন বিয়োগ 1. প্রশিক্ষক: এন বিয়োগ 1. সুতরাং যে আছে মানে এন বিয়োগ 1 তুলনা. সুতরাং বুঝতে এক জিনিস প্রথম পুনরাবৃত্তির যে, আমরা, আমরা তুলনা দিয়ে যান এই two-- তাই যে 1 এর. এই দুই, তিন, চার. তাই এক পুনরাবৃত্তির পর আমরা ইতিমধ্যে চার তুলনা আছে. যখন আমি রানটাইম এবং এন বিষয়ে কথা বলছি না. এন তুলনা সংখ্যা প্রতিনিধিত্ব কিভাবে অনেক উপাদানের একটি ফাংশন হিসাবে আমরা আছে. ঠিক আছে? সুতরাং আমরা মধ্য দিয়ে যেতে, আমরা চার আছে. আপনি জানেন পরের বার আমরা না এই যত্ন নিতে. আমরা এই দুটি তুলনা এই দুই, এই দুই, এবং আমরা যে অপ্টিমাইজেশান আছে কি না যদি আমি লিখেছি যে চারটি লুপ সঙ্গে, আপনি এখন কোন পথে এখানে তুলনা করা হবে. সুতরাং আপনি করতে হবে অ্যারে মাধ্যমে চালানো এবং এন তুলনা করতে এন বার, প্রত্যেক সময় আমরা কারণ এটা কেমন এক জিনিস আমরা মাধ্যমে চালানো. এবং আমরা মাধ্যমে চালানো প্রত্যেক সময় অ্যারে, আমরা এন তুলনা করা. সুতরাং এই জন্য আমাদের রানটাইম হয় আসলে এন, ছক যা অনেক খারাপ হয় আমাদের যে কারণে শেষ লগ ইন আমরা চার ছিল মানে যদি বিলিয়ন উপাদান, এটা আমাদের চার বিলিয়ন নিতে যাচ্ছে পরিবর্তে 32 এর বর্গ. তাই না ভাল রানটাইম, কিন্তু কিছু জিনিস জন্য, আপনি মধ্যে হন তাহলে আপনি কি জানেন, উপাদানের একটি নির্দিষ্ট পরিসীমা বুদ্বুদ সাজানোর ব্যবহার জরিমানা হতে পারে. ঠিক আছে. তাই এখন সেরা ক্ষেত্রে রানটাইম কি? ছাত্র: জিরো? অথবা 1? প্রশিক্ষক: সুতরাং 1 would এক তুলনা করা. রাইট. ছাত্র: এন বিয়োগ 1? প্রশিক্ষক: সুতরাং, হাঁ. তাই এন বিয়োগ 1. আপনি n মত একটি ধারণা আছে যখনই বিয়োগ 1, আমরা শুধু এটা খসা ঝোঁক আপনি বলে আমরা শুধু এন বলতে these-- প্রতিটি জোড়া প্রতিটি তুলনা. সুতরাং, 1 এন হতে বিয়োগ করে যা আমরা আমরা শুধু আনুমানিক এন বলতে চাই. আপনি রানটাইম সঙ্গে লেনদেন করছেন, সবকিছু পরিমাপক হয়. যতদিন সূচক হিসাবে সঠিক, আপনি খুবই ভাল আছেন. আমরা তা মোকাবেলা কিভাবে. সেরা ক্ষেত্রে এন, যাতে যা , ইতিমধ্যে তালিকা অনুসারে বাছাই করা হয় যে মানে এবং আমরা কি সব দিয়ে চালানো হয় এবং এটা সাজানো এর যে পরীক্ষা. কুল. ঠিক আছে. আপনি এখানে দেখতে হিসাবে সুতরাং, আমরা শুধু আরো কিছু গ্রাফ আছে. সুতরাং n ছক. মজা. অনেক হিসাবে আমরা দেখতে এন চেয়ে খারাপ, এবং লগ 2n চেয়ে অনেক খারাপ, অনেক. এবং তারপর আপনাকে লগ লগের মধ্যে পেতে. আর আপনি 124 নিতে, আপনি ঢোকা পাগল মত যা লগ তারকা, মত. আপনি আগ্রহী হলে সুতরাং, লুকআপ লগ তারকা. এটা মজা ধরনের. সুতরাং আমরা এই মহান চার্ট আছে. শুধু একটি মাথা আপ, এই একটি বিস্ময়কর চার্ট আছে আমরা কারণ আপনার মধ্য মেয়াদী জন্য আপনি এই thins জিজ্ঞাসা দীর্ঘ. তাই শুধু একটি মাথা আপ, উপর এই আছে আপনার আপনার চমৎকার Cheat শীট উপর মধ্য মেয়াদী সেখানে. তাই আমরা ঠিক বুদ্বুদ সাজানোর দিকে তাকিয়ে. লক, এন, এন সেরা ক্ষেত্রে ছক. এবং আমরা অন্যদের তাকান চলুন. এবং যদি আপনি, শুধুমাত্র দেখতে পারেন সত্যিই ভাল আছে যে এক আমরা কেন মধ্যে পাবেন যা একত্রীকরণ সাজানোর, হয়. সুতরাং আমরা যেতে চলুন পরের এক এখানে নির্বাচন সাজান. কেউ কিভাবে মনে রাখবেন না নির্বাচন সাজানোর কাজ? এটি জন্য যান. ছাত্র: মূলত মধ্য দিয়ে যেতে একটা অর্ডার এবং একটি নতুন তালিকা তৈরি করুন. এবং আপনি উপাদান স্থাপন করছি, ঠিক যেমন এ, যথাস্থানে তাদের করা নতুন তালিকায়. প্রশিক্ষক: তাই শব্দসমূহ যে সন্নিবেশ সাজানোর মত আরো. কিন্তু আপনি কি সত্যিই বন্ধ করছি. তারা খুবই অনুরূপ. এমনকি আমি তাদের কখনও কখনও আপ মিশিয়ে পান. আমি মত ছিল এই বিভাগে আগে, অপেক্ষা করুন. ঠিক আছে. তাই আপনি যদি চান কি না, নির্বাচন সাজান আপনি মনে করতে পারেন উপায় এটি এবং উপায় সম্পর্কে আমি নিশ্চিত আমি পেতে চেষ্টা করা তাদের এটা মাধ্যমে যায় হয়, ঘাঁটা এবং এটি নির্বাচন ক্ষুদ্রতম সংখ্যা এবং এটা আপনার তালিকার শুরুতে যে রাখে. এটা যে প্রথম স্পট সঙ্গে এটি বিনিময়সমূহ. তারা আসলে আমার জন্য একটি উদাহরণ আছে. জট্টিল. তাই শুধু একটি উপায় এটিকে নির্বাচনের ভাবতে সাজান, ক্ষুদ্রতম মান নির্বাচন করুন. এবং আমরা চলুন একটি উদাহরণ দিয়ে চালানো আমি কারণ সাহায্য করবে মনে হয় যে আমি ভিজ্যুয়াল সবসময় সাহায্য করি. তাই আমরা কিছু দিয়ে শুরু যে সম্পূর্ণরূপে পাঁচমিশালী হয়. লাল, পাঁচমিশালী হতে হবে সবুজ সাজানো হবে. এটা সব এক সেকেন্ডের মধ্যে জানার করবে. সুতরাং আমরা মধ্য দিয়ে যেতে এবং আমরা পুনরুক্তি শুরু থেকে শেষ পর্যন্ত. এবং আমরা ঠিক আছে, 2 হয়, বলতে আমাদের ক্ষুদ্রতম সংখ্যা. সুতরাং আমরা 2 নিতে যাচ্ছেন এবং আমরা চলুন আমাদের অ্যারের সামনে এটা স্থানান্তর করতে এটা কারণ ক্ষুদ্রতম সংখ্যা আমরা আছে. সুতরাং যে এই এখানে কি করছে না. এটা শুধু ঐ দুটি অদলবদল করে যাচ্ছে. তাই এখন আমরা একটি সাজানো হয়েছে অংশ এবং একটি পাঁচমিশালী অংশ. আর মনে রাখা ভাল কি নির্বাচন সাজানোর সম্পর্কে আমরা কেবল নির্বাচন করছেন হয় পাঁচমিশালী অংশ থেকে. সাজানো অংশ আপনি শুধু একা ছেড়ে. মিমি-এইচএম? ছাত্র: কি এটা জানেন না কিভাবে এটি তুলনা ছাড়া ক্ষুদ্রতম অ্যারের মধ্যে প্রত্যেক অন্যান্য মান. প্রশিক্ষক: এটা তুলনা করে. আমরা এটা এড়ানো চান. এই সামগ্রিক শুধু সাধারণ হয়. হাঁ. আমরা আমি নই কোড লিখতে হলে নিশ্চিত আপনি আরো সন্তুষ্ট হবেন. কিন্তু আপনি প্রথম এই দোকান ক্ষুদ্রতম হিসাবে উপাদান. আপনি তুলনা আপনি ঠিক আছে, এটা ছোট হয়, বলতে? হ্যাঁ. এটা রাখুন. এখানে এটা ছোট হয়? কোন? এই, আপনার ক্ষুদ্রতম হয় আপনার মান এটা reassign. এবং আপনি অনেক সুখী হবেন আমরা কোড দিয়ে যেতে হলে. সুতরাং আমরা মধ্য দিয়ে যেতে, আমরা তাই তারপর, এটা অদলবদল আমরা এই পাঁচমিশালী অংশ তাকান. সুতরাং আমরা তিন আউট নির্বাচন করতে যাচ্ছেন. আমরা এ এটা করা চলুন আমাদের অনুসারে বাছাই করা অংশ শেষ. এবং আমরা শুধু করছেন রাখা চলুন যে করছেন, এবং যে করছেন, যে. তাই এই এখানে pseudocode আমাদের ধরনের. আমরা একটি দ্বিতীয় মধ্যে এটা এখানে আপ কোড পাবেন. কিন্তু শুধু কিছু পায়চারি করা একটি উচ্চ স্তরের উপর দিয়ে. আপনি থেকে যেতে চলুন আমি এন বিয়োগ 2 0 সমান. যে অন্য অপ্টিমাইজেশান এর. এটি সম্পর্কে খুব বেশী চিন্তা করবেন না. সুতরাং হিসাবে আপনি বলছে ছিল. ইয়াকুব বলছে ছিল, কিভাবে আমরা কি আমাদের সর্বনিম্ন কি ট্র্যাক রাখতে? কিভাবে আমরা জানি? আমরা তুলনা করতে হবে আমাদের তালিকায় সবকিছু. তাই সর্বনিম্ন তোমার সমান. এটা শুধু এই ক্ষেত্রে বলছে আমাদের সর্বনিম্ন মূল্যের সূচক. আমি তখন এটি মাধ্যমে পুনরুক্তি করতে যাচ্ছে ঞ আমি প্লাস 1 সমান থেকে এবং তা যায়. সুতরাং আমরা ইতিমধ্যে জানি যে যে আমাদের প্রথম উপাদান. আমরা নিজেই এটি তুলনা করতে হবে না. সুতরাং আমরা পরের সাথে তুলনা শুরু এটা আমি প্লাস 1 এন যাও কেন এক যা হয় বিয়োগ 1, যা সেখানে অ্যারের শেষ. এবং আমরা অ্যারে এ যদি বলেন ঞ, অ্যারে কমপক্ষে কম হয় তারপর আমরা যেখানে reassign আমাদের সর্বনিম্ন সূচকের হয়. আর যদি কমপক্ষে হিসাবে, আমি সমান নয় যেখানে আমরা ফিরে এখানে বেশী ছিল. আমরা প্রথম এই এক করেনি সুতরাং যখন চাই. এই ক্ষেত্রে, এটা এ শুরু হবে শূন্য, এটা দুই শেষ হচ্ছে হবে. তাই কমপক্ষে শেষে আমি সমান হবে না. যে আমাদের যে জানতে দেয় আমরা তাদের swap প্রয়োজন. আমি একটি কংক্রিট যেমন লাগছে এই তুলনায় অনেক বেশি সাহায্য করবে. তাই আমি আপনাকে বলছি সঙ্গে এই কোড আপ করব এখনই এবং আমি এটা ভাল হবেন. বিশৃঙ্খলভাবে যে যে ভাবে কাজ দেয় এটা শুধু তাদের দেখতে প্রায়ই ভালো. সুতরাং আমরা যেতে চাই কি আমরা প্রথম ক্ষুদ্রতম চান অ্যারের মধ্যে তার অবস্থানে উপাদান. ঠিক ইয়াকুব বলছে কি. আপনি একরকম যে সংরক্ষণ করতে হবে. তাই আমরা এখানে শুরু চলুন অ্যারের উপর iterating. আমরা এটা বলে যাচ্ছেন আমাদের শুধু দিয়ে শুরু করতে প্রথম এক. তাই আমরা int আছে যাচ্ছি ক্ষুদ্রতম আমি এ অ্যারের সমান. তাই এক জিনিস, প্রতি লক্ষ্য করা এই লুপ executes সময়, আমরা বরাবর আরও এক ধাপ শুরু হয়. আমরা যখন শুরু আমরা এই এক তাকান. আমরা মাধ্যমে পুনরুক্তি পরবর্তী সময়, আমরা এই এক সময়ে শুরু করছেন এবং এটা আমাদের ক্ষুদ্রতম মান নির্ধারণের. সুতরাং বুদ্বুদ সাজানোর অনুরূপ আমরা জানি যেখানে এক পাস পরে যে, এই শেষ উপাদান সাজানো হয়. নির্বাচন সাজানোর সঙ্গে, এটা ঠিক এর বিপরীত. প্রত্যেক পাস এ, আমরা জানি যে প্রথম এক সাজানো হয়. দ্বিতীয় পাস করার পর, দ্বিতীয় এক সাজানো হবে. এবং যদি আপনি স্লাইড উদাহরণ দিয়ে দেখেছি, আমাদের অনুসারে বাছাই করা অংশ শুধু ক্রমবর্ধমান রাখে. সুতরাং আমাদের ক্ষুদ্রতম এক সেটিং দ্বারা অ্যারে থেকে আমি সব এটা করছে constricting হয় কি আমরা তাই হিসাবে এ খুঁজছেন সংখ্যা কমান তুলনা আমরা করতে. সবাই যে জানার জন্য? কি আপনি যে মাধ্যমে চালানোর প্রয়োজন সম্পর্কে আবার মন্থর বা বিভিন্ন ভাষায়? আমি খুশি. ঠিক আছে. সুতরাং আমরা সংরক্ষণ করছেন এই সময়ে মান, কিন্তু আমরা সূচক সঞ্চয় করতে চান. সুতরাং আমরা সংরক্ষণ চলুন ক্ষুদ্রতম অবস্থান শুধু আমি হতে যাচ্ছে যা এক,. তাই এখন জ্যাকব সন্তুষ্ট হয়. আমরা সঞ্চিত জিনিষ আছে. এবং এখন আমরা মাধ্যমে সন্ধান করতে হবে অ্যারের পাঁচমিশালী অংশ. এই ক্ষেত্রে এই তাই আমাদের পাঁচমিশালী হবে. এই আমি হল. ঠিক আছে. তাই কি আমরা করতে যাচ্ছেন একটি লুপ জন্য হতে যাচ্ছে. আপনি প্রয়োজন যখনই একটি অ্যারের মাধ্যমে বারবার, আপনার মনের একটি লুপ জন্য যেতে পারে. কিছু int-ট জন্য তাই আমরা কি মনে করেন সমান ট দিয়ে শুরু সমান যাচ্ছে? এই আমরা আমাদের ক্ষুদ্রতম হিসাবে সেট কি মূল্য এবং আমরা এটি তুলনা করতে চান. আমরা এটি তুলনা করতে চান? এটা ঠিক, এই পরের এক হতে যাচ্ছে? সুতরাং আমরা সক্রিয়া করা ট চান যাও আমি প্লাস 1 শুরু করতে. এবং আমরা এই ক্ষেত্রে ট চান আমরা ইতিমধ্যে সাইজ এখানে মজুত আছে, তাই আমরা শুধু আকার ব্যবহার করতে পারেন. ফাইলের আকার অ্যারের আকার হচ্ছে. এবং আমরা শুধু চাই এক প্রতিটি সময় দ্বারা ট আপডেট. কুল. তাই এখন আমরা খুঁজে প্রয়োজন এখানে ক্ষুদ্রতম উপাদান. সুতরাং আমরা মাধ্যমে পুনরুক্তি করে, আমরা বলতে চাই, যদি ট এ অ্যারে আমাদের ক্ষুদ্রতম মান কম আমরা আসলে করছি এই হল যেখানে কি অবগত থাকার ক্ষুদ্রতম এখানে তারপর আমরা reassign করতে চান আমাদের ক্ষুদ্রতম মান কি. এই উহু, আমরা এসেছি, যে মানে এখানে মাধ্যমে iterating. যাই হোক মান এখানে হয় না আমাদের সবচেয়ে ছোট জিনিস. আমরা এটা চাই না. আমরা এটা reassign করতে চান. আমরা এটি পুনরায় নির্ধারণের করছি সুতরাং, কি করবেন আপনি এখানে এই কোড হতে পারে মনে? আমরা reassign করতে চান ক্ষুদ্রতম এবং অবস্থান. তাই এখন ক্ষুদ্রতম কি? ছাত্র: এরে ট. প্রশিক্ষক: এরে ট. এবং অবস্থান এখন কি? সূচকের কি আমাদের ক্ষুদ্রতম মান? এটা ঠিক ট এর. অ্যারে ট, ট সুতরাং, তারা মেলে. সুতরাং আমরা যে reassign চেয়েছিলেন. এবং আমরা আমাদের ক্ষুদ্রতম পাওয়া তারপর পরে লুপ জন্য এই শেষে তাই এখানে আমরা খুঁজে পেয়েছি কি আমাদের সবচেয়ে ছোট মান, তাই আমরা শুধু এটা অদলবদল. এই ক্ষেত্রে, মত আমাদের বলতে ক্ষুদ্রতম মান এখানে আউট হয়. এই আমাদের ক্ষুদ্রতম মান. আমরা শুধু যা, এখানে এটি অদলবদল করতে চান কি নীচে যে swap ফাংশন আমরা শুধু আপ লিখেছেন, যা করেনি একসঙ্গে কয়েক মিনিট আগে. সুতরাং এটি পরিচিত হওয়া উচিত. এবং তারপর এটি শুধু পুনরুক্তি হবে এর মাধ্যমে এটা সব পথ পৌঁছে পর্যন্ত আপনি যার মানে শেষ, যাও পাঁচমিশালী হয় শূন্য উপাদান আছে এবং অন্য সব কিছুর সাজানো হয়েছে. জানার জন্য? আরো concretely একটু? কোড সাহায্যের? ছাত্র: একটি আকার জন্য, আপনি কখনও সত্যিই এটা নির্ধারণ বা এটি পরিবর্তন, কিভাবে এটা জানেন না? প্রশিক্ষক: তাই এক জিনিস যাও কোন int মাপ হয় এখানে আপ লক্ষ্য. সুতরাং আমরা এই সাজানোর সাজানোর মধ্যে বলছে হয় এই একটি ফাংশন এটি ক্ষেত্রেই নির্বাচন সাজানোর, এটি পাস হচ্ছে ফাংশন দিয়ে. এটি গৃহীত না হলে সুতরাং এ, আপনি কিছু করতে হবে অ্যারের দ্বারা সঙ্গে মত অথবা আপনি মাধ্যমে পুনরুক্তি হবে দ্বারা খুঁজে পেতে. কিন্তু তা গৃহীত কারণ এ, আমরা শুধু এটি ব্যবহার করতে পারেন. আপনি শুধু ব্যবহারকারী যে অনুমান আপনি একটি বৈধ আকার দিয়েছেন আসলে প্রতিনিধিত্ব করে আপনার অ্যারের একটি আকার. কুল? আপনাকে বলছি এই সঙ্গে কোনো সমস্যা হয় তাহলে বা আরো অনুশীলন কোডিং প্রকারের চান আপনার নিজের উপর, আপনি উচিত study.cs50 যান. এটি একটি হাতিয়ার. তারা একটি পরীক্ষক আছে আপনি আসলে লিখতে পারেন. তারা pseudocode না. তারা আরো ভিডিও এবং স্লাইড আছে আমি এখানে ব্যবহার বেশী সহ. আপনি এখনও একটি বোধ করছি তাই একটু ঝাপসা, যে চেষ্টা করে. সর্বদা হিসাবে, খুব, আমার সাথে কথা বলতে আসা. প্রশ্ন? ছাত্র: আপনি বলার অপেক্ষা রাখে না হয় আকার পূর্বে নির্ধারিত হয়? প্রশিক্ষক: হ্যাঁ. ফাইলের আকার পূর্বে পর্যন্ত সংজ্ঞায়িত করা হয় এখানে ফাংশন ঘোষণা সালে. সুতরাং আপনি এটি মধ্যে উত্তীর্ণ হয়েছে যে অনুমান ব্যবহারকারীর দ্বারা, এবং সরলতা দোহাই জন্য, আমরা অনুমান করতে যাচ্ছেন ব্যবহারকারী আমাদের সঠিক আকার দিয়েছে. কুল. সুতরাং যে নির্বাচন সাজান. বলছি, আমি আমরা আজ অনেক শিখছে জানি. এটা বিভাগের জন্য একটি ঘন তথ্য আছে. যে সাথে সুতরাং, আমরা যাচ্ছি সন্নিবেশ সাজানোর যেতে. ঠিক আছে. সুতরাং যে আগে আমরা যা করতে হবে এখানে আমাদের রানটাইম বিশ্লেষণ. , সেরা ক্ষেত্রে তাই আমি আপনাকে দেখিয়েছি, যেহেতু মঞ্জুর টেবিল ইতিমধ্যে আমি ধরনের এটি দূরে দিয়েছে. কিন্তু সেরা ক্ষেত্রে রানটাইম, আমরা কি মনে করেন? সবকিছু সাজানো. এন ছক. যে কেউ একটি ব্যাখ্যা আছে আপনি কি মনে করেন কেন জন্য? ছাত্র: আপনি এর মাধ্যমে তুলনা করছি প্রশিক্ষক: রাইট. আপনি মাধ্যমে তুলনা করছি. প্রতি পুনরাবৃত্তির এ, যদিও আমরা, একের পর এই decrementing করছি আপনি এখনও মাধ্যমে অনুসন্ধান করছেন সবকিছু ক্ষুদ্রতম এক খুঁজে পেতে. সুতরাং এমনকি যদি আপনার ক্ষুদ্রতম মান , শুরুতে এখানে আপনি এখনও এটা তুলনা করছি অন্য সব কিছুর বিরুদ্ধে এটি ক্ষুদ্রতম জিনিস নিশ্চিত করতে. সুতরাং আপনি মাধ্যমে চলমান শেষ করব প্রায় এন বার ছক. ঠিক আছে. আর সবচেয়ে খারাপ ক্ষেত্রে কি? আপনি চলুন কারণ এছাড়াও n ছক যে একই পদ্ধতি কাজ করা হবে. এই ক্ষেত্রে, নির্বাচনের তাই সাজান কিছু আছে আমরা প্রত্যাশিত রানটাইম কল যে. তাই অন্যদের মধ্যে, আমরা শুধু জানি উচ্চ এবং নিম্ন সীমার. কিভাবে পাগল উপর নির্ভর করে আমাদের তালিকা বা কিভাবে পাঁচমিশালী তা হল, তারা n বা n ছক মধ্যে তারতম্য. আমরা জানি না. কিন্তু নির্বাচন সাজানোর একই আছে, কারণ সবচেয়ে খারাপ এবং শ্রেষ্ঠ ক্ষেত্রে, যে আমাদেরকে বলে যে ইনপুট কোন ব্যাপার কি ধরনের আমরা এটি সম্পূর্ণরূপে কিনা, আছে সাজানো বা সম্পূর্ণরূপে এটি, সাজানো বিপরীত সময় একই পরিমাণ নিতে যাচ্ছে. যে ক্ষেত্রে সুতরাং, আপনি যদি আমাদের টেবিল থেকে মনে, এটি আসলে একটি মান ছিল যে এই দুই প্রকারের, নেই যা প্রত্যাশিত রানটাইম হয়. সুতরাং আমরা জানি যখনই যে আমরা নির্বাচন সাজানোর চালানো, এটা নিশ্চিত এর একটি n ছক সময় চালানো. সেখানে কোন তারতম্য আছে. এটা শুধু আশা করা হচ্ছে. এবং, আবার, আপনি শিখতে চান আরো, বসন্তে সি এস 124 নিতে. ঠিক আছে. আমরা এই এক পাচ্ছি. কুল. সুতরাং সন্নিবেশ সাজানোর. এবং আমি সম্ভবত যাচ্ছি এই মাধ্যমে অকস্মাৎ জ্বলিয়া ত্তঠা. আমি আপনাকে বলছি এটা কোড থাকবে না. আমরা শুধু এটা দিয়ে হেটে যাব. সুতরাং সন্নিবেশ সাজানোর ধরনের নির্বাচন সাজানোর করার অনুরূপ যে আমরা উভয় একটি পাঁচমিশালী আছে এবং অ্যারের অংশ সাজানো. কিন্তু কি যে আলাদা হয় আমরা একের পর এক মধ্য দিয়ে যেতে হিসাবে, আমরা শুধু যাই হোক না কেন নম্বর নিতে আমাদের পাঁচমিশালী মধ্যে পরবর্তী এবং এটি সঠিকভাবে সাজাতে আমাদের সাজানো অ্যারের মধ্যে. এটা একটি উদাহরণ দিয়ে আরও জানার করব. সুতরাং সবকিছু পাঁচমিশালী হিসাবে শুরু হয়, শুধু নির্বাচন সাজানোর সঙ্গে চাই. এবং আমরা এই বাছাই চলুন আমরা হয়েছে হিসেবে অর্ডার আরোহী. আমাদের প্রথম পাস উপর তাই আমরা প্রথম মান গ্রহণ এবং আমরা ঠিক আছে, আপনি বলে এখন নিজের দ্বারা একটি তালিকায়. আপনি একটি তালিকার মধ্যে কারণ নিজের দ্বারা, আপনি সাজানো হয়. হচ্ছে জন্য অভিনন্দন এই অ্যারের মধ্যে প্রথম উপাদান. আপনি ইতিমধ্যে আপনার নিজের উপর সব সাজানো করছি. তাই এখন আমরা একটি সাজানো হয়েছে এবং একটি পাঁচমিশালী অ্যারে. তাই এখন আমরা প্রথম নিতে. কি এখানে মধ্যে ঘটবে এবং এখানে, আমরা বলতে যে হয় ঠিক আছে, আমরা তাকান চলুন আমাদের পাঁচমিশালী অ্যারের প্রথম মান এবং আমরা ইনপুট এটা যাচ্ছেন তার সাজানো অ্যারের মধ্যে সঠিক জায়গায়. সুতরাং আমরা 5 নিতে হয় আমরা কি এবং আমরা, 5 3 তার চেয়ে অনেক বেশী, ঠিক আছে, বলে তাই আমরা ঠিক ঠিক তা সন্নিবেশ যে ডানদিকে. আমরা ভাল করছি. তখন আমরা আমাদের পরের এক যেতে. এবং আমরা 2 নিতে. আমরা ওকে, 2 কম হয়, বলতে 3 তুলনায়, তাই আমরা জানি এটা যে এ করা প্রয়োজন এখন আমাদের তালিকায় সামনে. তাই আমরা যা আমরা নিচে 3 ও 5 ধাক্কা হয় এবং আমরা যে প্রথম স্লটে মধ্যে 2 সরাতে. তাই আমরা ঠিক সেটিকে ঢোকাতে করছি এটি হওয়া উচিত সঠিক জায়গায়. তারপর আমরা তাকান আমাদের পরের এক, এবং আমরা 6 বলে. ঠিক আছে, 6 চেয়ে অনেক বেশী আমাদের সাজানো অ্যারের মধ্যে সবকিছু, তাই আমরা ঠিক শেষে এটি ট্যাগ. এবং তারপর আমরা 4 তাকান. 4 6 চেয়ে কম হয়, এটা কম 5 চেয়ে কিন্তু এটি 3 তার চেয়ে অনেক বেশী. তাই আমরা ঠিক ডান মধ্যে সন্নিবেশ 3 ও 5 মধ্যে মধ্যম. তাই একটু যে করতে আরো কংক্রিট বিট, এখানে ধরনের ঘটেছে কি এর ধারণা. প্রতিটি পাঁচমিশালী উপাদান জন্য সুতরাং, আমরা যেখানে সাজানো অংশে নির্ধারণ এটা হয়. তাই মনের মধ্যে পালন সাজানো এবং পাঁচমিশালী, আমরা মাধ্যমে এবং চিত্র, তর্ক আছে এটা সাজানো অ্যারের মধ্যে ফিট যেখানে খুঁজে. এবং আমরা নাড়াচাড়া করে তা সন্নিবেশ এটি ডান নিচে থেকে উপাদান. এবং তারপর আমরা শুধু রাখা আমরা যতক্ষণ মাধ্যমে iterating একটি সম্পূর্ণ সাজানো তালিকা আছে এখন শূন্য যেখানে পাঁচমিশালী হয় এবং সাজানো লাগে আমাদের তালিকায় সম্পূর্ণতা. সুতরাং, আবার, এমনকি কিছু করতে আরো কংক্রিট, আমরা pseudocode আছে. তাই মূলত আমি জন্য এন বিয়োগ 1 থেকে 0 এর সমান, যে আমাদের অ্যারের শুধু দৈর্ঘ্য আছে. আমরা যা সমান কিছু উপাদান আছে প্রথম অ্যারে বা প্রথম সূচকের. আমরা যে সমান ঞ সেট. ঞ চেয়ে অনেক বেশী সময় তাই শূন্য এবং অ্যারের, ঞ বিয়োগ 1 তার চেয়ে অনেক বেশী উপাদান, সব যে তাই করছে এমনটা নিশ্চিত করা যে হয় আপনার ঞ সত্যিই প্রতিনিধিত্ব করে অ্যারের পাঁচমিশালী অংশ. এখনও জিনিষ আছে যখন তাই বাছাই এবং ঞ বিয়োগ এক কি হচ্ছে ÑÑ যাও উপাদান তার হয়? জে এখানে সংজ্ঞায়িত না হয়. এটা বিরক্তিকর ধরনের. ঠিক আছে. সকল অবস্থাতেই. তাই ঞ বিয়োগ 1, আপনি চেক করছি এটা আগে উপাদান. আপনি ঠিক আছে, উপাদান, বলছে আমি এর যাক am-- যেখানেই আগে আসলে এই বহিষ্কার. তাই আসুন এই হল বলা যাক আমাদের দ্বিতীয় পাস মত. তাই আমি সমান হতে যাচ্ছে 1 যাও, যা এখানে. তাই আমি 1 সমান হতে যাচ্ছে. এই 2, 4, 5, 6, 7 হবে. ঠিক আছে. এই ক্ষেত্রে তাই আমাদের উপাদান 4 সমান হতে যাচ্ছে. এবং আমরা যে কিছু ঞ আছে 1 সমান হতে যাচ্ছে. ওহ, ঞ decrementing হয়. যে এটা কি. তাই ঞ ঝ সমান, তাই এই কি উক্তি, আমরা অগ্রসর হিসাবে যে হয় আমরা ঠিক নিশ্চিত তৈরি করছি আমরা ধরে পারব না যে আমরা চেষ্টা করছি এই পথ সূচিবদ্ধ করাকে আমাদের সাজানো তালিকা মধ্যে কিছু সন্নিবেশ করার. তাই ঞ এই ক্ষেত্রে 1 সমান হলে এবং তাই অ্যারের ঞ বিয়োগ 1 one-- অ্যারে ঞ বিয়োগ যে যদি এই ক্ষেত্রে মধ্যে 2 অধিক উপাদান, তারপর এই সব করছে জিনিষ নিচে নাড়াচাড়া করা হয়. এই ক্ষেত্রে, অ্যারের ঞ বিয়োগ এক তাই 2 যা অ্যারে শূন্য, হবে. 2, 4 থেকে বড় নয় তাই এই নির্বাহ করে না. সুতরাং স্থানান্তর নিচে নামাও না. কি এই কি এখানে আছে শুধু হয় নিচে আপনার সাজানো অ্যারের চলন্ত. এই ক্ষেত্রে, আসলে, আমরা do-- পারে এর এই 3 করা যাক. সুতরাং আমরা সঙ্গে ভিতর দিয়ে হেটে যেতে হন তাহলে এই উদাহরণে, আমরা এখানে এখন করছি. এই সাজানো হয়. এই পাঁচমিশালী হয়. কুল? সুতরাং আমি তাই, 2 সমান আমাদের উপাদান 3 সমান. আর আমাদের ঞ 2 সমান. তাই আমরা যদি আমরা আরো এবং মাধ্যমে সন্ধান ঠিক আছে, অ্যারে ঞ বিয়োগ এক, বলতে অধিক উপাদান আমরা এ খুঁজছেন যে? এবং উত্তরটি সঠিক, হ্যাঁ হয়? 4 3 এবং ঞ চেয়ে অনেক বেশী 2 হয়, তাই এই কোড executes. তাই এখন আমরা একটি অ্যারের কি 2, ডান এখানে তাই, আমরা তাদের অদলবদল. তাই আমরা ঠিক ঠিক আছে, অ্যারে, বলতে 2 এ এখন 3 হতে যাচ্ছে. এবং ঞ সমান যাচ্ছে 1 যা ঞ বিয়োগ 1,. যে, ভয়ঙ্কর কিন্তু আপনাকে বলছি ধারণা পেতে. জে এখন 1 সমান. এবং অ্যারের ঞ শুধু হতে যাচ্ছে 4 যা ছিল আমাদের উপাদান, সমান. আমি কিছু erased আমি উচিত না আছে বা miswrote কিছু, কিন্তু আপনাকে বলছি ধারণা পেতে. এটা এন এ স্থানান্তর. এই ছিল তারপর, এটা লুপ would আবার এবং তা ঠিক আছে, ঞ এখন 1 হয়, বলতে হবে. এবং অ্যারের ঞ বিয়োগ 1 এখন 2 হয়. 2 আমাদের উপাদান কম? কোন? যে আমরা যে মানে এই উপাদান ঢোকানো আমাদের সাজানো অ্যারের মধ্যে সঠিক স্পট. তারপর আমরা এই নিতে পারেন এবং আমরা বলতে, ঠিক আছে, আমাদের সাজানো অ্যারের এখানে. এবং এটা এই সংখ্যা 6 এবং নিতে হবে ভালো, ঠিক আছে, এই সংখ্যার চেয়ে 6 কম হয়? কোন? কুল. আমরা জরিমানা করছি. এটা আবার কি. আমরা 7 বলে. শেষ তুলনায় 7 কম আমাদের সাজানো অ্যারের? না. সুতরাং আমরা জরিমানা করছি. তাই এই বাছাই করা হবে. মূলত এই সব আছে নিয়ে নিন বলছে হয় প্রথম উপাদান আপনার পাঁচমিশালী অ্যারে, এটা যায় যেখানে চিন্তা আপনার সাজানো অ্যারের মধ্যে. এবং এই মাত্র যত্ন নেয় বিনিময়সমূহ কি সেটা. আপনি মূলত শুধু সোয়াপিং করছি যতক্ষণ তা সঠিক স্পট আছে. চাক্ষুষ ইমেজ আপনি আছেন যে হয় যে করে সবকিছু নিচে চলন্ত. সুতরাং এটি অর্ধেক বুদ্বুদ মত সাজানোর এসকিউ এর. গবেষণায় 50 দেখুন. আমি অত্যন্ত চেষ্টা সুপারিশ আপনার নিজের উপর এই কোড. আপনি কোনো সমস্যা হওয়ার সম্ভাবনা নেই বা আপনি চান একটি সন্নিবেশ সাজানোর জন্য নমুনা কোড দেখতে, আমাকে দয়া করে. আমি প্রায় সবসময় আছি. তাই সবচেয়ে খারাপ ক্ষেত্রে রানটাইম এবং সেরা ক্ষেত্রে রানটাইম. আপনি লোক আমি ইতিমধ্যে টেবিলের থেকে দেখেছি হিসাবে এটা বর্গ করে এন এর উভয় এন, আপনি দেখিয়েছেন. সুতরাং ধরনের আমরা বললাম কি এর যাওয়া বন্ধ আমাদের পূর্ববর্তী বিশৃঙ্খলভাবে সঙ্গে সম্পর্কে, সবচেয়ে খারাপ কেস রানটাইম যদি যে এটি সম্পূর্ণরূপে আকাঁড়া এর, আমরা এই এন বার সব তুলনা করতে হবে. আমরা তুলনা সমগ্র অনেক না এটি বিপরীত ক্রমে যদি কারণ, আমরা, ঠিক আছে, এই বলে যাচ্ছেন , এই ভাল হয়, একই এবং এই এক তুলনা করতে হবে প্রথম এক বিরুদ্ধে ফিরে সরানো হবে. এবং আমরা দিকে পেতে হিসাবে পুচ্ছ শেষে, আমরা আছে , তুলনা তুলনা, এবং যাও সবকিছু বিরুদ্ধে তুলনা করুন. সুতরাং এটি সমাপ্ত হচ্ছে প্রায় n ছক. এটা তাহলে আপনি সঠিক হলে আপনি ভাল আছেন, 2, ঠিক আছে, বলে. 3, আপনি 2 তুলনা করছি. আপনি ভাল আছেন. 4, আপনি শুধু লেঙ্গুড় যাও তুলনা করুন. আপনি ভাল আছেন. 6, আপনি সূক্ষ্ম, লেঙ্গুড় যাও তুলনা করুন. তাই প্রত্যেক স্থানের জন্য এটি আগে থেকেই যদি সাজানো, আপনি এক তুলনা করছেন. তাই এটি শুধু এন এর. এবং আমরা একটি ভাল ক্ষেত্রে রানটাইম আছে কারণ এন এবং n এর একটি খারাপ ক্ষেত্রে রানটাইম এর ছক, আমরা কোন প্রত্যাশিত রানটাইম আছে. এটা ঠিক উপর নির্ভর করে সেখানে আমাদের তালিকার বিশৃঙ্খলার. এবং আবার, অন্য গ্রাফ এবং অন্য টেবিলে. বিশৃঙ্খলভাবে মধ্যে পার্থক্য তাই. আমি শুধু মাধ্যমে হাওয়া যাচ্ছি, আমি আমরা ব্যাপকভাবে সায়ীদ করেছি লাগছে কিভাবে তারা সব ধরনের সম্পর্কে এর পরিবর্তিত হতে এবং একসঙ্গে লিঙ্ক. সুতরাং সাজানোর গত এক একত্রীকরণ আমি সাথে আপনাকে বলছি বিঁধ করা হইবে. আমরা একটি সুন্দর রঙিন ছবি আছে. সুতরাং সাজানোর একটি recursive অ্যালগরিদম একত্রীকরণ. তাই আপনাকে বলছি জানি না কি একটি recursive ফাংশন হয়? যে কেউ বলতে চান? আপনি চেষ্টা করতে চান? সুতরাং একটি recursive ফাংশন ঠিক হয় কল নিজেই যে একটি ফাংশন. তাই আপনাকে বলছি পরিচিত হলে Fibonacci ক্রম সঙ্গে, যে কারণে রিকার্সিভ গণ্য করা হচ্ছে আপনি আগের দুটি গ্রহণ এবং তাদের একসঙ্গে যোগ আপনার পরবর্তী এক পেতে. সুতরাং recursive, আমি সবসময় মনে করি একটি সর্পিল মত হিসাবে recursion এর তাই আপনি তা নিচে spiraling ভালো থাকেন. কিন্তু এটি শুধু একটি ফাংশন যে নিজেই কল. এবং, আসলে, সত্যিই দ্রুত আমি যে দেখে মনে হচ্ছে কি আপনি প্রদর্শন করতে পারেন. আমরা চেহারা এখানে যদি তাই রিকার্সিভ, এই হল রিকার্সিভ উপায় একটি অ্যারের উপর যোগফল. তাই সব আমরা কি যে হল আমরা সমষ্টি ফাংশন আছে একটি আকার এবং একটি অ্যারের লাগে যে সমষ্টি. এবং যদি আপনি মনোযোগ, আকার এক প্রতিটি সময় কমাতে কমাতে. এবং এটা আছে সব এক্স সমান যদি হয় শূন্য যদি তাই অ্যারের আকার এটা শূন্য ফেরৎ শূন্য সমান. অন্যথা এটি এই অঙ্কের অ্যারের শেষ উপাদান, এবং তারপর একটি সমষ্টি লাগে অ্যারে বাকি. তাই এটা শুধু তা নিচে ভঙ্গ হচ্ছে ছোট এবং ছোট সমস্যায়. লং সংক্ষিপ্ত বিবরণ, recursion, কল নিজেই যে ফাংশন. যে আপনি এই আউট পেয়েছিলাম সব যদি, যে একটি recursive ফাংশন কি. আপনি 51 নিতে, আপনি খুব পেতে হবে, recursion সঙ্গে খুব আরামদায়ক. এটা সত্যিই শীতল. এটা ভালো এ অর্থে তৈরি আউট 3 পূর্বাহ্ণ এক রাতে. এবং আমি কেন ভালো ছিল আমি এই ব্যবহার করেন নি? মূলত, একত্রীকরণ সাজানোর জন্য তাই কি এটা করতে যাচ্ছে এটা হল এটা ভেঙ্গে ফেলে এবং তা ভঙ্গ করতে যাচ্ছে এটা শুধু একক উপাদান এর নিচে পর্যন্ত. একক উপাদান বাছাই করা সহজ. আমরা দেখতে. আপনি এক উপাদান আছে, এটা ইতিমধ্যে সাজানো বিবেচিত. এন উপাদানের একটি ইনপুট উপর সুতরাং, এন কম 2 যদি, শুধু কারণ তার মানে ফিরে এটা আমরা দেখা করেছি হিসাবে 0 বা 1 পারেন এর. সেগুলো হল সাজানো উপাদান বলে মনে করা হয়. অন্যথা অর্ধেক তা ভঙ্গ. দ্বিতীয় বাছাই, প্রথম অর্ধেক বাছাই করুন অর্ধেক, এবং তারপর তাদের একসাথে মার্জ. কেন এটা একত্রীকরণ সাজানোর বলা হচ্ছে. আমরা এইসব বাছাই করব তাই আমরা এখানে আছে. সুতরাং আমরা তাদের থাকার রাখতে অ্যারে আকার 1 পর্যন্ত. এটা 1 সুতরাং যখন, আমরা শুধু ফিরে এই একটি সাজানো অ্যারের কারণ, এবং এই একটি সাজানো অ্যারের হয়, এবং যে এর একটি সাজানো অ্যারের, আমরা সব সাজানো করছি. আমি তখন আমরা কি করব তা আমরা হয় তাদের একসঙ্গে মার্জ শুরু. তাই উপায় আপনি পারেন মার্জ হয় আমার মনে হয় আপনি শুধু ছোট অপসারণ উপ অ্যারে প্রতিটি সংখ্যা এবং শুধু আবির্ভূত অ্যারের তা লিখবেন. সুতরাং যদি আমরা আছে যখন আপনি এখানে দেখুন এই সেট আমরা 4, 6, এবং 1 আছে. আমরা এইসব একত্রীকরণ করতে চান, আমরা এই প্রথম দুই তাকান এবং আমরা 1 ছোট, ঠিক আছে, বলে, এটি সামনে চলে যায়. 4 ও 6, তুলনা কিছুই নেই এটা ঠিক, শেষে এটি ট্যাগ করতে. আমরা এই দুটি একত্রিত করা হলে, আমরা শুধু , এই দুই এর ছোট এক নিতে তাই এটা 1. এবং এখন আমরা নিতে এই দুটি, তাই 2 ছোট. এই দুটি, 3 এর ছোট. এই দুই, 4, 5, 6 এর ছোট. তাই আপনি শুধু এই বন্ধ pulling করছি. তাঁরা করেছি কারণ পূর্বে সাজানো হয়েছে, আপনি শুধু একটা আছে তুলনা আছে প্রতিটি সময়. এখানে তাই আরো কোড, শুধু উপস্থাপনা. সুতরাং আপনি মধ্যম থেকে আরম্ভ হয় এবং আপনি সাজানোর বাম এবং ডান এবং তারপর আপনি শুধু ঐ একত্রীকরণ. এবং আমরা কোড নেই জন্য এখানে ডান একত্রীকরণ. কিন্তু, আবার, আপনি যেতে হলে 50 অধ্যয়ন, তা সেখানে থাকব. অন্যথা আমার আলাপ আসা আপনি যদি এখনও বিভ্রান্ত. তাই এখানে শীতল জিনিস যে শ্রেষ্ঠ কেস হয়, সবচেয়ে খারাপ ক্ষেত্রে, এবং প্রত্যাশিত রানটাইম , এন সব লগ ইন যেগুলি আমরা করেছি তুলনায় অনেক ভাল আমাদের প্রকারের বাকি জন্য দেখা. আমরা দেখা n ছক করেছি এবং আসলে আমরা কি যা মহান, এন এন লগ ইন করুন এখানে. যে কত ভাল তাকান. যেমন একটা চমৎকার বক্ররেখা. তাই অনেক বেশি দক্ষ. আপনি কি কখনও যদি করতে পারেন, ব্যবহারের সাজানোর একত্রীকরণ. এটা আপনি সময় সংরক্ষণ করতে হবে. তারপর আবার, আমরা আগেই বলেছি, যদি আপনি, এই নিম্ন অঞ্চলের নিচে আছেন এটা যে যায় না একটি পার্থক্য অনেক. আপনি হাজার পর্যন্ত পেতে এবং ইনপুট হাজার, আপনি স্পষ্টভাবে একটি চান আরো দক্ষ এলগরিদম. সব এবং, আবার, আমাদের সুদৃশ্য টেবিল আপনাকে বলছি আজ শিখেছি যে প্রকারের. তাই আমি এটি একটি ঘন দিন ছিল জানেন. এই অগত্যা যাচ্ছে না আপনার pset সঙ্গে আপনাকে সাহায্য করার জন্য. কিন্তু আমি শুধু একটি দাবিত্যাগ করতে চাই যে অধ্যায় শুধু psets সম্পর্কে নয়. এই সমস্ত উপাদান ন্যায্য আপনার midterms জন্য খেলা. এবং যদি আপনি সি এস দিয়ে অগ্রসর এছাড়াও কাজ করে, এই সত্যিই গুরুত্বপূর্ণ মৌলিক করো যে আপনি জানা প্রয়োজন হবে. তাই কিছু দিন হতে হবে একটি একটু বেশি pset সাহায্য, কিন্তু কিছু সপ্তাহ হতে হবে আরো অনেক প্রকৃত কন্টেন্ট যে সুপার মনে নাও হতে পারে এখনই আপনার জন্য উপযোগী, আপনি অবিরত কিন্তু যদি আমি প্রতিজ্ঞা খুব, খুব উপযোগী হতে হবে. সুতরাং যে বিভাগের জন্য এটি. তারের নিচে. আমি এক মিনিটের মধ্যে তা. কিন্তু সেখানে আপনি যান. এবং আমি donuts বা মিছরি থাকবে. এলার্জি কেউ হয় উপায় দ্বারা কিছু,? ডিম ও দুধ. সুতরাং donuts একটি কোন আছে? ঠিক আছে. ঠিক আছে. চকলেট কোন? Starburst. Starbursts ভাল. ঠিক আছে. আমরা আছে চলুন তারপর আগামী সপ্তাহে starburst. যে আমি কিনবো কি. আপনাকে বলছি একটি মহান সপ্তাহে আছে. আপনার বৈশিষ্ট পড়ুন. যদি আপনার কোন প্রশ্ন থাকে তাহলে আমাকে জানাবেন. Pset দুটি বাংলাদেশের উচিত বৃহস্পতিবার দ্বারা আপনাকে আউট. যদি আপনার কোন প্রশ্ন থাকে আমি কিছু graded সম্পর্কে বা কেন আমি উপায় আমি কিছু graded আমাকে ইমেইল করুন হয়নি, আমার সাথে কথা বলতে আসা. আমি একটু পাগল এই আছি সপ্তাহে, কিন্তু আমি প্রতিজ্ঞা আমি এখনও 24 ঘন্টার মধ্যে উত্তর দিতে হবে. সুতরাং একটি মহান সপ্তাহে, সবাই আছে. আপনার pset উপর গুড লাক.