ডেভিড MALAN: ঠিক. তাই এই CS50, এবং এই হল এখন সপ্তাহে তিন শুরু. এখন পর্যন্ত, আমরা করেছি আপ তাই সি প্রোগ্রাম লেখা হয়েছে যে একটু তাকান এখানে ভালো কিছু. সুতরাং আমরা একটি দম্পতি পেয়েছেন ধারালো উপরের রয়েছে. আমরা অকার্যকর, int প্রধান পেয়েছিলাম, এবং করেছি তারপর কিছু মাঝখানে না, ভিতরে কিছু কোড বিট যে ফাংশন. কিন্তু কি যে হয়েছে আমরা এখানে অকার্যকর বলছে হয়েছে. তাই অকার্যকর, এই সময় সব উল্লেখ করে এই প্রোগ্রাম, যখন চালানো, শুধুমাত্র তার নাম এর মাধ্যমে ব্যবহার করা যাবে. আপনি অন্য কোনো শব্দ টাইপ করতে পারেন না বা প্রোগ্রাম এর নাম যখন পরে সংখ্যা এটা চলমান. সুতরাং, উদাহরণস্বরূপ প্রোগ্রাম, যদি হ্যালো নামক একটি ফাইল মধ্যে কম্পাইল করা, আপনি হ্যালো করতে পারে, কিন্তু যে এটা. একমাত্র উপায় যে আপনি পারে এই প্রোগ্রামের ইনপুট প্রদান একটি ফাংশন কল করে হয়. উদাহরণস্বরূপ, কি ফাংশন আমরা এ পর্যন্ত ব্যবহার করা হয়েছে ব্যবহারকারী থেকে ইনপুট পেতে? শ্রোতা: স্ট্রিং পান. ডেভিড Malan: স্ট্রিং পেতে, বা করার int পেতে, বা আপনি অন্যদের দেখা করেছি, আপনি যদি এখনো তাদের ব্যবহার করা হয় না, এমনকি যদি, মত, দীর্ঘ দীর্ঘ এবং ভালো পাবেন. কিন্তু অনুমান যে আমরা আসলে শুরু করতে চান একটু বেশি যে লেখা প্রোগ্রাম উন্মুক্তভাবে, একটু বেশি, বহুমুখী, এবং আপনি করেছি যে কমান্ড মত আশা করছি, পেয়ে, একটি সামান্য বিট অভ্যস্ত. সিডি স্থান ড্রপবক্স মত. এই, অবশ্যই, পরিবর্তন আপনার ডিরেক্টরি, অভিমানী আপনি জন হার্ভার্ড এর হোম আছেন ডিরেক্টরি, আপনার ড্রপবক্স ফোল্ডারে. এদিকে, এই মত একটি কমান্ড , pset2 নামে একটি নতুন ডিরেক্টরি তৈরি আপনি থাকতে পারে হিসাবে ইতিমধ্যে বা শীঘ্রই সমস্যার জন্য দুই সেট. হ্যালো করতে, অবশ্যই, একটি কমান্ড যে হ্যালো একটি প্রোগ্রাম নামক তৈরী করে হ্যালো বিন্দু গ নামক একটি ফাইল থেকে. এবং এই প্রতিটি ক্ষেত্রে, এখন, আমরা করেছি তথাকথিত একটি যুক্তি প্রদান কমান্ড লাইন, জ্বলজ্বলে প্রম্পট, কি যে জানে তাই কি নির্মাণ, এবং তাই যে mkdir তৈরি করতে কি ফোল্ডার জানে, এবং যাতে সিডি জানে যেখানে আপনি যেতে চান. কিন্তু এখন পর্যন্ত আপ, আমরা বলার অপেক্ষা রাখে না রাখা যে প্রধান, আপনার ডিফল্ট ফাংশন, একটি অকার্যকর অভিব্যক্তি আছে যারা বন্ধনীর ভিতরে, যা এর মানে হল যে কোনো আর্গুমেন্ট গ্রহণ করা যাবে না. তাই আজ শুরু আমরা কি করতে যাচ্ছেন , আমরা শুরু করতে যাচ্ছেন হয় এই এমনকি ভালো জিনিস সমর্থন করে. আসলে, এই ক্ষেত্রে, যা আপনি সাধারণত নিজে টাইপ না, এই কাজ করা হয়েছে না আমাদের জন্য, সেখানে না এক কিন্তু এক, দুই, তিন অতিরিক্ত প্রোগ্রাম এর নামে পরে স্ট্রিং ঝনঝন. তাই কিভাবে আমরা এই অর্জন না? ওয়েল, শুরু আজ, আমরা চাই ক্ষেত্রে যেখানে এর মাধ্যমে ইনপুট প্রদান কমান্ড লাইন তথাকথিত, আমরা যোগ শুরু করতে যাচ্ছেন এখানে yellow-- মধ্যে কি int-argc কমা দিয়ে অকার্যকর পরিবর্তন স্ট্রিং argv খোলা বন্ধনী বন্ধ বন্ধনী. এখন এই আকর্ষণীয় কারণ একটি দম্পতি জন্য. এক, এটি আমাদের লিখুন দেওয়া যাচ্ছে একটু বেশি গতিশীল প্রোগ্রাম যে. কিন্তু, আরো compellingly, এটা খোলা যাচ্ছে হিসাবে এখন একটি কথোপকথন কি অ্যারে করতে পারেন সত্যিই কি একটি স্ট্রিং জন্য, ব্যবহার করা সত্যিই ফণা নীচে হয়, পরের সপ্তাহ পর্যন্ত আমরা ডাইভিং শুরু মেশিন কিভাবে এমনকি গভীর মধ্যে এই উপাদান কাজ করে. কিন্তু এখন জন্য, এর আঁকা যাক, সম্ভবত, একটি ছবি. আপনি একটি প্রোগ্রাম লিখুন ঘোষণা প্রধান সঙ্গে এই ভাবে, যেমন প্রধান যে দুটি আর্গুমেন্ট, কোন int লাগে and-- কি ডাটা টাইপ দ্বিতীয় যুক্তি হল? শ্রোতা: এরে. ডেভিড Malan: এরে. এটি একটি ভালো, তাই এটি প্রথম নজরে মনে হচ্ছে স্ট্রিং, কিন্তু বর্গাকার বন্ধনী বিজ্ঞপ্তি. আমরা চালু শেষ সময় প্রত্যাহার একটি অ্যারের ধারণা. এবং অ্যারে বর্গাকার বন্ধনী ব্যবহার প্রেক্ষিতে একটি দম্পতি. আপনি বর্গক্ষেত্র ব্যবহার হতে পারে বন্ধনী একটি অ্যারের মধ্যে যেতে এবং ভালো, একটি বিশেষ উপাদান পেতে বন্ধনী 0 বা বন্ধনী 1 বা বন্ধনী 2. কিন্তু আমরা যদি সংক্ষেপে, দেখেছি গত সপ্তাহে যে আপনি এই বর্গাকার বন্ধনী ব্যবহার একটি অ্যারের আকার ঘোষণা, আপনি আগাম জানতে যদি কিভাবে অনেক আপনি ints বা কিভাবে অনেক স্ট্রিং বা যাই হোক না কেন আপনি আসলে চান. সুতরাং এটা আছে দেখা যাচ্ছে এখানে একটি তৃতীয় প্রসঙ্গ ভিতরে যে কোন সংখ্যক বর্গাকার বন্ধনী. আমি এখানে আছে, যখন আপনি নির্দিষ্ট, argv হয় ভালো কিছু নাম, যা শুধু একটি অভিনব উপায় যুক্তি ভেক্টর বলছে, যা অন্য অভিনব উপায় , আর্গুমেন্ট একটি অ্যারের বলছে খোলা বন্ধনী বন্ধ বন্ধনী মাত্র আপনি অগত্যা না এর মানে হল যে কিভাবে বড় আগাম জানতে অ্যারে, হতে যাচ্ছে কিন্তু আপনি তা একটি অ্যারের হতে যাচ্ছে জানি. আপনি জানেন না, তাই যদি সংখ্যা আছে, এটা করা না খোলা বন্ধনী বন্ধ বন্ধনী জন্য argv হয় একটি স্ট্রিং না এর মানে হল যে, কিন্তু স্ট্রিং একটি অ্যারে. তাই চিহ্নগুলি সিন্টেক্সের ক্ষেত্রে, আপনি যদি গত সপ্তাহে ফিরে মনে করি, এটা বলার অপেক্ষা রাখে অনুরূপ কোন int বয়সের খোলা বন্ধনী মত কিছু, এবং তারপর কিছু তারপরে. তাই কি ভালো লাগছে না? এর আসলে একটি ছবি আঁকা. তাই আপনি যদি মুখ্য সঙ্গে এই প্রোগ্রাম চালানো যখন দুটি আর্গুমেন্ট ভিতরে নির্ধারিত থাকার যারা প্রথম বন্ধনী, আপনি মূলত অন্তত দুটি অংশ আছে মেমরি আপনি হস্তান্তর ফণা নীচে. এক, এই আয়তক্ষেত্র হিসাবে স্বপক্ষে আমি করব, -argc করা হবে বলা যাচ্ছে না. এবং শুধু একটি দ্রুত সংক্ষিপ্তবৃত্তি হিসাবে, -argc ডাটা টাইপ কি? সুতরাং এটা কোন int. সুতরাং একটি সংখ্যা যাচ্ছে argc-- করিয়া যান আউট যুক্তি গণনা জন্য যে দাঁড়িয়েছে. এদিকে, আমি একটি অ্যারে হিসাবে argv হয় টানা করেছি. এবং আমি সত্যিই জানি না এটি হতে যাচ্ছে কিভাবে লম্বা, তাই আজ এর উদ্দেশ্যে বিন্দু বিন্দু বিন্দু. এটা কিছু দৈর্ঘ্য পেতে পারে. কিন্তু আমি এখানে অঙ্কিত করেছি অন্তত চার আয়তক্ষেত্র. তাই যে দোকানে মেমরি একটি খণ্ড argv স্ট্রিং স্ট্রিং স্ট্রিং বিন্দু বিন্দু বিন্দু, এবং argc মাত্র এক খণ্ড একটি পূর্ণসংখ্যা জন্য মেমরি. সুতরাং এখন, এর একটি সামান্য আরো সুনির্দিষ্ট হতে দিন. , আমি স্ট্রিং আছে এই অ্যারের মধ্যে, বলা argv হয়, আমি তাদের এ পেতে চান স্বতন্ত্রভাবে, মাত্র গত সপ্তাহে মত, আমরা স্বরলিপি ব্যবহার করতে যাচ্ছেন argv হয় বন্ধনী 0 মত প্রথম জিনিস একটি অ্যারের পেতে. Argv বন্ধনী 1 পেতে তাই ঘোষণা দ্বিতীয় বিষয়, এবং. কি এখানে আমরা এখনও 0 আছেন হচ্ছে indexed-- আমরা এখনও থেকে 0 গণনা করছি. তাই এখন আসলে যাক এই কিছু করা. আমি নামক একটি প্রোগ্রাম কম্পাইল ছিল হ্যালো হ্যালো বিন্দু গ নামক একটি ফাইল থেকে, এবং তারপর আমি যে প্রোগ্রাম চালানো বিন্দু দিয়ে হ্যালো কাট, আমার কম্পিউটার, আমার ল্যাপটপ কি, ফণা নীচে মত চেহারা আমি বিন্দু চালানোর মুহূর্ত হ্যালো কাট এবং আঘাত লিখুন? ওয়েল, এই সম্ভবত হয় আমরা বর্ণনা করতে পারে কি আপনার কম্পিউটার এর বিষয়বস্তু হিসাবে মেমরি, বা উপস্থিত RAM- র্যান্ডম অ্যাক্সেস মেমরি. অন্য কথায়, কম্পিউটার, একরকম magically আপনার জন্য, -argc সংখ্যা 1 রাখে, ওরফে argcount, এবং এটা আক্ষরিক স্ট্রিং রাখে হ্যালো argv হয় বন্ধনী 0. আমি কোন ধারণা, উন্মুক্তভাবে, কি আছে argv হয় বন্ধনী মধ্যে 1 বা 2 অথবা 3, ব্যবহারকারী না আছে কারণ হ্যালো, ছাড়াও কিছু টাইপ আমরা এই যে অনুমান করা যাচ্ছে করছি সম্ভবত আবর্জনা মান, তাই কথা বলতে. মেমরি যারা অংশ বিদ্যমান, কিন্তু এটা আমাদের আপ না কারণ, তাদের তাকান argcount শুধুমাত্র এক. এখন, ইতিমধ্যে, আমি যদি অন্য প্রোগ্রাম চালানো লিখুন, আরো সঠিকভাবে একটি কমান্ড যা সিডি,, আপনার জ্বলজ্বলে prompt-- সিডি স্থান আমি কার্যকরভাবে, যে যখন চালানো Dropbox--, সিডি প্রোগ্রাম চালানো হয়, argc হয়, আমার কম্পিউটার এর মেমরি ভিতরে, হয় সবচেয়ে briefest করা দ্বিতীয় সংখ্যা 2. এবং তারপর argv বন্ধনী ণ আছে সিডি, argv হয় বন্ধনী 1, ড্রপবক্স আছে এবং তারপর অবশ্যই কমান্ড সমাপ্ত, তাই এই মেমরি সব মূলত দূরে যায় এবং অন্য কিছু ব্যবহার করা হয়. এবং যে আমি বলতে কেন দ্বিতীয় মাত্র একটি বিভক্ত. এদিকে, আমরা mkdir pset2 না, ছবি, প্রায় একই দেখায় কিন্তু argv হয় ভিতরে বিভিন্ন স্ট্রিং সঙ্গে. আমি হ্যালো ঝনঝন শব্দ ড্যাশ যদি হ্যালো বিন্দু গ, একই ধারণা. আরো স্টাফ জন্য পূরণ করা হয় argv হয়, এবং argc, অবশ্যই, 4. তাই অন্য কথায়, এমনকি এই অ্যারে যদিও কিছু, বিন্দু বিন্দু বিন্দু হতে পারে পরিবর্তনশীল দৈর্ঘ্য, তাই কথা বলতে, আপনি সবসময় এটি যেখানে শেষ জানা argc হয় আপনি বলতে হবে, কারণ কি সময়ে আপনি বন্ধ করতে হবে argv মধ্যে উপাদান. আপনি কেবল চার তাকান করতে পারেন এই ক্ষেত্রে মোট. তাই আসুন এখন কটাক্ষপাত করা যাক, সম্ভবত, একটি সহজ প্রোগ্রাম. শুধু হ্যালো বলছেন যে , Zamyla মত কেউ. তাই আমি একটি প্রোগ্রাম লিখতে যাচ্ছি দাবি শুধু একটা মুহূর্ত, যা মাধ্যমে আমি কাজ করতে পারে তারপর আমি চাই হ্যালো স্থান Zamyla, এবং আমার প্রোগ্রাম কিছু প্রিন্ট আউট মত সুপার সহজ "হ্যালো,, Zamyla." এখন অতীতে আমরা GetString ব্যবহার করেছি. অতীতে, এমনকি যদি তাই আপনি, প্রোগ্রামিং নতুন হন মতভেদ আপনি একটি পিটান পারে আছে GetString ব্যবহার করে প্রোগ্রাম এবং তারপর ব্যবহার printf , Zamyla হাই বলে. কিন্তু এই সময় GetString ব্যবহার না করে. আমাকে পরিবর্তে Appliant ঢোকা এবং মান আমি হে ডট জ অন্তর্ভুক্ত. আমাকে এ CS50 ডট জ অন্তর্ভুক্ত করা যাক. এখন প্রধান int, এবং এখন আমি আজ অকার্যকর করতে যাচ্ছে না. পরিবর্তে, আমি int-argc করতে যাচ্ছি স্ট্রিং argv খোলা বন্ধনী বন্ধ বন্ধনী, একটি সংখ্যা উল্লেখ না. এবং এখন আমার কি তথাকথিত করা হয়. আমি এখন কি করতে যাচ্ছি আমি, হয় বিশ্বাসের একটি লীপ একটি বিট করতে যাচ্ছে, আমি ব্যবহারকারীর অনুমান করা যাচ্ছে না সঠিকভাবে এই প্রোগ্রাম ব্যবহার করতে যাচ্ছে, এবং আমি সহজভাবে করা যাচ্ছে না হ্যালো, printf,% Sn না. তাই কিছুই নতুন. কিন্তু আমি এখন যাই হোক না কেন শব্দ করা চাই প্রোগ্রাম এর নাম পরে ব্যবহারকারীর ধরনের. তাই আমি, Zamyla হ্যালো স্থান না, আমি একরকম programmatically, অ্যাক্সেস করতে চান উদ্ধতি ", Zamyla." উদ্ধৃত তাই আমি আমার যুক্তি ভেক্টর মধ্যে যেতে পারেন, আমার স্ট্রিং অ্যারে, এবং কমান্ড যদি, আবার, হ্যালো স্থান,, Zamyla ছিল কি নম্বর আমি চাই না এখানে argv মধ্যে করা? শ্রোতা: 1. ডেভিড Malan: 1, কারণ বন্ধনী 0 সক্রিয় আউট হতে যাচ্ছে প্রোগ্রাম এর নাম আমরা দেখেছি, হিসাবে. তাই বন্ধনী 1 প্রথম শব্দ আমি যে, ব্যবহারকারী, টাইপ করা আছে. আমি এগিয়ে যান এবং এই সংরক্ষণ করা যাচ্ছে না. আমি আমার ফোল্ডার মধ্যে যেতে চলেছি যেখানে আমি এই ফাইল স্থাপন করেছি. আমি হ্যালো 3 কি করতে যাচ্ছি. Comp IO এর ঠিক আছে. হ্যালো, Zamyla লিখুন. আমি কি কি ভুল? আমি আশ্চর্য ধরা হয় নিজেকে সেখানে শুধু একটা মুহূর্ত জন্য. আমি কি কি ভুল? শ্রোতা: নাম. ডেভিড Malan: ফাইল এর আসলে hello3.c বলা হয়. এবং আমি যে কি ঐক্য, আমরা করেছি, কারণ ছিল, hello.c এর অনলাইন কোড গত. তাই এর এই হ্যালো ঠিক করা যাক বন্ধনী ড্যাশ 3, Zamyla. লিখুন. এবং এখন আমরা, হ্যালো, Zamyla আছে. এদিকে, আমি এই পরিবর্তন করতে পারেন রব, বা সত্যিই অন্য কোন শব্দ হবে. কিন্তু এর একটি কোণ ক্ষেত্রে বিবেচনা করা যাক. আপনি যদি কি হবে আশা করা হতে পারে আমি এ সব যে কেউ এর নাম টাইপ না? শ্রোতা: ত্রুটি. ডেভিড Malan: একটি ত্রুটি সম্ভবত কিছু বাছাই করা, এর. এর দেখতে দিন. লিখুন. শূন্য. তাই printf আসলে হচ্ছে আমাদের একটু প্রতিরক্ষামূলক এখানে, এবং আক্ষরিক খোলা paren মুদ্রণ নাল, কিন্তু এমনকি খারাপ জিনিস ঘটতে পারে. এবং শুধু প্রকট কিছু আপনি একেবারে কি উচিত নয়, এর মধ্যে যান এখানে খোঁচা কাছাকাছি শুরু. রাইট? আমি জানি যে ছবি মেমরি, মূলত এই argv হয় বন্ধনী 1, Zamyla, argv হয় আছে বন্ধনী 0 হ্যালো আছে, বা হ্যালো-3. কি বন্ধনী 2 হয়? তাই আমি যে উত্তর দিতে পারেন অধিকার, নিজেকে প্রশ্ন আছে? আমি শুধু একটি 2 1 পরিবর্তন করতে পারেন. আমি এখন, 3 হ্যালো পুনরায় কম্পাইল করতে পারেন ./hello3 এর মধ্যে জুম এবং হিট লিখুন. ওহো. কোন উদ্ধৃতি চিহ্ন. আকর্ষণীয়. সুতরাং যে ধরনের শীতল এখানে কি কি দেখতে. তাই কি কি আমার ল্যাপটপ এর ভিতরে হয়? এর বন্ধনী 3 সেভ করা যাক. হ্যালো-3, hello3 করুন. অদ্ভুত. এবং এখন সত্যিই bold-- 50 পেতে. সুতরাং যে গভীর সত্যিই ডাইভিং এর আমার কম্পিউটার এর মেমরি মধ্যে. 50 ইনডেক্সসমূহ. তাই হ্যালো 3 হ্যালো-3 না. অদ্ভুত. ঠিক এখন, আমি আছি বেপরোয়া পেতে যাচ্ছে. এর 5,000 যান. ঠিক আছে. তাই আমাকে পুনরায় কম্পাইল করা যাক. হ্যালো-3, hello3 করুন. ঠিক আছে. আপনি কিছু এখন, হতে পারে বন্ধ যাওয়া একটি আলোর বাল্ব হবে. কিভাবে আপনি অনেক আছে আগে এই বার্তা দেখা যায়? ঠিক আছে. সুতরাং, কেন? অডস are-- এবং বিভিন্ন আছে এই হতে পারে যে, এবং পরিষ্কারভাবে আপনি ভাল আছেন company-- আমরা পরিষ্কারভাবে আছে কি বলা হত একটি সেগমেন্টেশন ফল্ট. এবং আজকের জন্য দীর্ঘ সংক্ষিপ্ত বিবরণ, আমি একটি মেমরি অংশ অক্ষত আছে আমি থাকা উচিত নয় যে. যেখানে একটি অংশ মাত্র একটি খণ্ড মানে মেমরি আমি থাকা উচিত নয় যে. এখন কম্পিউটার নিশ্চয়তা যে যদি আমি আমি argv হয় স্পর্শ করতে পারেন ./helloZamyla চালানো বন্ধনী 0 এবং argv বন্ধনী 1 হতে. কিন্তু-argc মান 2, যে আমি মানে হল শুধুমাত্র এটা সম্মান ধরণের allowed-- স্পর্শ সিস্টেম বন্ধনী 0 এবং বন্ধনী 1. আমি কোনো অধিকতর যান, সেখানে একেবারে নেই মেমরি হতে যাচ্ছে. আমার RAM উপস্থিত শারীরিকভাবে উপস্থিত কম্পিউটার. কিন্তু যারা আছে জানেন কি? প্রকৃতপক্ষে, আমি একাধিক চলমান করছি এক সময়ে প্রোগ্রাম. আমি না হলে আমি seen-- থাকতে পারে Appliant এই করছেন কিন্তু আমার ম্যাক বা PC-- আমি থাকতে পারে একটি ইমেইল বিষয়বস্তু দেখা যায়. আমি একটি তাত্ক্ষণিক দেখা হতে পারে বার্তা আমি সম্প্রতি প্রেরণ করেছি. হতে পারে যে কিছু মেমরি প্রায় ঘোরাফেরা উপায় দ্বারা ব্যবহার করা হয়ে থাকতে পারে এই অবাধ বর্গাকার বন্ধনী স্বরলিপি. অথবা, খারাপ এখনো, আপনি থাকতে পারে আমার পাসওয়ার্ড পাওয়া আমি সম্প্রতি, টাইপ করা একটি যে চাই প্রোগ্রাম মেমরির মধ্যে সংরক্ষিত ছিল তাই আমার প্রমাণীকরণ, এবং তারপর ঠিক ধরনের এটি বাম উপস্থিত RAM আমি যে প্রোগ্রাম ছেড়ে না হওয়া পর্যন্ত. এবং প্রকৃতপক্ষে, এই এক বিপদ এবং এক ক্ষমতা সি মত একটি ভাষা ব্যবহার করে আপনি কারামুক্ত এক্সেস আছে সমগ্র বিষয়বস্তু একটি প্রোগ্রাম এর মেমরি, এবং কি খারাপ না করতে পারেন এমনকি যারা cases-- কি বিশেষ করে যখন আমরা ওয়েব প্রোগ্রামিং পেতে সেমিস্টারে শেষ দিকে, আমরা করব প্রায় অকর্মা এই topic-- পরিদর্শন, সম্ভাব্য, কেউ কম্পিউটার এর এর মেমরি এবং যেমন অদ্ভুত জিনিষ খুঁজে পেতে আমরা সেখানে দেখেছি. অথবা এমনকি খারাপ এখনো, পাসওয়ার্ড যে তিনি বা তিনি তখন খারাপ কাজ করতে ব্যবহার করতে পারেন. তাই পরিষ্কারভাবে আমি, এই কাজ করা উচিত নয় অদ্ভুত জিনিষ ঘটতে শুরু করে. বস্তুত, এই একটি প্রোগ্রাম বিপর্যয় হয়. এই সমতুল্য হবে উইন্ডোজ ম্যাক অপারেটিং সিস্টেম বা একটি প্রোগ্রাম উইন্ডোতে শুধু অদৃশ্য. একটি অপ্রত্যাশিত ত্রুটি ঘটেছে. কমান্ড লাইন পরিবেশে আমরা ভালো কিছু দেখতে. কিন্তু যে কেন, আমি কেবল স্পর্শ করছি হয় আমার অন্তর্গত নয় এমন মেমরি. তাই এর এই একটি বিরুদ্ধে রক্ষা করা যাক অন্যভাবে সামান্য বিট এখানে এই প্রোগ্রাম এ খুঁজছেন দ্বারা. সুতরাং, আবার, কঙ্কাল আমরা earlier-- দেখেছি এবং আমি এই সময় কোন int হাইলাইট করেছি. এবং এই সব সময় প্রধান আছে প্রকৃতপক্ষে একটি মান ফিরে আসেন. যদিও আমাদের বক্তৃতা নিয়ে আমরা একবার ব্যবহার করেছি উদাহরণ প্রধান কিছু ফিরে. আমরা শুধু printf, বন্ধ লিখুন কোঁকড়া বক্রবন্ধনী এবং যে এটি. কিন্তু বিনামূল্যে জন্য, কি কম্পাইলার, আপনার জন্য কাজ করা কার্যকরভাবে, আপনার জন্য 0 ফিরে. Out-- দেখা যাচ্ছে এবং এটি একটি সামান্য 0 ভাল যে counterintuitive--. এটা SE প্রতি মিথ্যা না মানে. 0 ভাল, এবং কোনো অ 0 মান, বিশ্বের সিদ্ধান্ত নিয়েছে, একটি ত্রুটি বোঝান করতে পারেন. আপনি কি কখনও তছনছ করেছি তাই আপনার কম্পিউটারে কিছু, বা একটি প্রোগ্রাম শুধুমাত্র আপনার উপর মারা গেছে এবং আপনি কিছু ভ্রান্ত উইন্ডো অর্জিত করেছি আপনার পর্দায় বলছে, ত্রুটি 49 বা ত্রুটি নেতিবাচক 23-- যে কিছু আপাতদৃষ্টিতে নির্বিচারে মান একজন প্রোগ্রামার হার্ড কোড করা হয়েছে, কারণ 49 নেতিবাচক বা ইতিবাচক মত একটি মূল্য 23 কোন সংখ্যা প্রতিনিধিত্ব করতে, বলতে সাহস, 4 বিলিয়ন সম্ভব জিনিষ একটি প্রোগ্রাম যা ভুল হতে পারে. তাই আমি কিভাবে নিতে পারে, এই সুবিধা নিজেকে? আচ্ছা, আমাকে একটি প্রোগ্রাম খুলুন আমি অগ্রিম লিখেছে যে, এবং অনলাইন হ্যালো 4 নামক কাছাকাছি অকর্মা. এবং এটা ছাড়া প্রায় অভিন্ন তার ত্রুটি পরীক্ষা করা একটি সামান্য বিট আছে. এই ক্ষেত্রে, আমি আবার ঘোষণা করেছি দুটি আর্গুমেন্ট গ্রহণ হিসাবে প্রধান, কিন্তু এই সময়, লাইন 17, নোটিশ আমি একটি মানসিক সুস্থতা চেক একটি বিট করছি. আমি নিশ্চিত যে তৈরি করছি -argc 2 সমান সমান. যদি তা না হয়, কারণ, যে আমি নিরাপদে করতে পারেন না শুধুমাত্র বন্ধনী 0, কিন্তু বন্ধনী 1 স্পর্শ. এবং আমি এগিয়ে যান এবং প্রিন্ট আউট, এই ক্ষেত্রে,, Zamyla বা রব বা আমি টাইপ করা যাই হোক না কেন শব্দ. এবং এখন শুধু পেতে আরো সঠিক সামান্য আমি স্পষ্টভাবে ফিরে যাচ্ছি 0 সব ঠিক বোঝান. কিছুই খারাপ ঘটেছে. কিন্তু কনভেনশন দ্বারা, আমি যাচ্ছি 1 ফিরে, বা উন্মুক্তভাবে কোনো অ 0 মান, কিছু ভুল করে. এখন ব্যবহারকারী যাচ্ছে না সত্যিই কি ঘটছে তা লক্ষ্য করা. বস্তুত আমি এই ডিরেক্টরির মধ্যে যান, আমরা, এবং জুম হ্যালো 4 করা না আমি আশা হ্যালো-4, Zamyla আচরণ করবে. কিন্তু আমি পরিবর্তে টাইপ না হলে কিছু, কিছুই ঘটবে বলে মনে হয়, কিন্তু এটি বিপর্যস্ত না. এবং আমি পরিবর্তে কিছু করতে হলে রব মত একটি নায়ের হয় Thayer-- ভাগ অবাধ তথ্য. কিন্তু বিজ্ঞপ্তি, argv হয় 1, 2, 3, 4, এবং 5 এখন মেমরি উপস্থিত হবে. যে, খুব, না কি আমার প্রোগ্রাম, আশা আমি কিনা চেক করেছি, কারণ -argc সমান 2 বা না সমান. তাই আমি এখন এই বিরুদ্ধে ডিফেন্স করছি. এখন, একটি সরাইয়া হিসাবে, আমরা programmer-- বা বরং আমরা users-- 0 বা 1 কিন্তু একটি ব্যবহার করে দেখুন না টুল, ডিবাগার, বা অন্যান্য সরঞ্জাম বলা আমরা আগে দেখতে পাবেন দীর্ঘ, আপনি প্রোগ্রামার আসলে কি হতে পারে দেখতে পারেন আপনার প্রোগ্রামের ভিতর ভুল. সুতরাং,-argc উপর কোন প্রশ্ন? হ্যাঁ. শ্রোতা: আমি দেখা করেছি যেখানে তারা চরিত্র ছিল না, [শ্রবণাতীত] ঠিক মত স্ট্রিং তারা ঘ বলেন, অক্ষর তারকা কমা. তারা এখানে সমতুল্য হয়? ডেভিড Malan: তারা. প্রশ্ন হল, তাই আপনি মাঝে মাঝে দেখা যায় প্রোগ্রাম না যে এই মত স্ট্রিং argv বন্ধনী বলে কিন্তু এর পরিবর্তে কিছু বলতে গৃহস্থালির কাজ তারা argv হয় বন্ধনী মত. এমনকি অন্যান্য আছে আপনি দেখতে হতে পারে যে রূপগুলো. নিশ্চয় তারা সমতুল্য. এখন, আমরা এই আছে প্রশিক্ষণ চাকার সাজানোর CS50 মধ্যে স্ট্রিং আকারে উপর লাইব্রেরি, কিন্তু মাত্র এক সপ্তাহ ধরে তাই বা আমরা যে অপসারণ করতে যাচ্ছেন পুরাপুরি এবং আসলে বাধা গৃহস্থালির কাজ এবং তারা তাকান , এবং যারা মেমরি অধিকারে কিভাবে উপস্থাপনা আরো সাধারণভাবে. সুতরাং আমরা যে ফিরে পাবেন. আমাদের argv হয় বা argc হয় অন্য প্রশ্ন? হ্যাঁ. শ্রোতা: কেন এটা ফেরত না একটি ত্রুটি [শ্রবণাতীত]? ডেভিড Malan: তা কেন উহু only-- একটি ত্রুটি ফেরত! পূর্ববর্তী ক্ষেত্রে, যখন আমরা মেমরি futzing কাছাকাছি ছিল, কেন এটা শুধুমাত্র একটি ত্রুটি ফেরত না আমি সত্যিই একটি বড় সংখ্যা টাইপ যখন? সংক্ষিপ্ত উত্তর আমরা শুধু ভাগ্যবান হয়. সাধারণভাবে বলতে গেলে, একটি কম্পিউটার অংশ মেমরি বরাদ্দ, এবং এটি সম্পর্কে একটি বড় যথেষ্ট খণ্ড দিয়েছেন আমি লক্ষ্য হচ্ছে না, দূরে স্পর্শ বন্ধনী 2, বন্ধনী 3, বন্ধনী 50, কিন্তু যত তাড়াতাড়ি আমি ধাক্কা হিসেবে আমার ভাগ্য, আমি অতিক্রম গিয়েছিলাম মেমরি খণ্ড সীমানা অপারেটিং সিস্টেম সম্পর্কে দেওয়া ছিল. এবং যে যখন এটা নিচে আটকানো এবং কোন, বলেন. সেগমেন্টেশন ত্রুটি. হ্যাঁ. শ্রোতা: কিভাবে কম্পিউটার argc মান কি জানেন? DAVID MALAN: কিভাবে আছে কম্পিউটার argc মান কি জানেন? আপনি একটি প্রোগ্রাম চালানো, যে প্রোগ্রাম, জ্বলজ্বলে প্রম্পট প্রকৃতি দ্বারা, অ্যারে হস্তান্তর করা হয় টাইপ করা হয়েছে শব্দ প্রম্পটে, যে ছিল প্রম্পটে টাইপ. এবং তাই আপনার অপারেটিং হয় সিস্টেম মূলত যে আপনার জন্য প্রধান আর্গুমেন্ট মান পূরণ করা. সুতরাং যে সেবা এক আপনি যে ধরণের, গোপনে এর নীচে ফণা একটি অপারেটিং সিস্টেম. অন্য প্রশ্ন? হ্যাঁ. শ্রোতা: কোর ডাম্প এর অর্থ কি? ডেভিড Malan: কোর ডাম্প এর অর্থ কি? সুতরাং যে একটা ভাল প্রশ্ন. এবং আমার মধ্যে ফিরে যান এখানে এই ডিরেক্টরি. এবং যদি আপনি বিজ্ঞপ্তি পাবেন আমি সেখানে একটি নতুন ফাইল আছে. এটি সত্যিই কোর বলা হয়, এবং এটি এর আসলে সাধারণত একটি উপযুক্ত আকারের ফাইল. যে মূলত একটি স্ন্যাপশট আমার প্রোগ্রাম এর মেমরি বিষয়বস্তু যখন এটি ক্র্যাশ বা RAM. এবং এই সহায়ক হবে, সম্ভাব্য Diagnostically, আমরা একটি ভবিষ্যত বক্তৃতা কথা একবার এবং ডিবাগিং সম্পর্কে অধ্যায়, আপনি আসলে কি করতে পারেন, কারণ একটি ডিজিটাল ময়না সমতুল্য যে ফাইল চিত্র সাহায্য আপনি আপনার প্রোগ্রামের মধ্যে ভুল কি. হ্যাঁ. শ্রোতা: একটি কমান্ডের মধ্যে argc হয় নিজেই, অথবা যদি আপনি এটি কিছু নাম দিতে পারেন? ডেভিড MALAN: গুড প্রশ্ন. নিজেই একটি কমান্ড argc হয় অথবা যদি আপনি এটি কিছু নাম দিতে পারেন? এটা স্পষ্টভাবে একটি কমান্ড না. এটা শুধু একটি পরিবর্তনশীল এর এর অথবা একটি যুক্তি নাম নাম, এবং তাই একেবারে আমরা এই foo বিন্যাস কল করতে পারে, আমরা ঝোঁক, যা এই বার, কল করতে পারেনি যান থেকে শব্দ যে একটি কম্পিউটার হতে বিজ্ঞানী যায়. কিন্তু কনভেনশন দ্বারা, আমরা argc এবং argv ব্যবহার করুন. কিন্তু যে শুধুমাত্র একটি মানবিক কনভেনশন, আর কিছুই না. ঠিক আছে. সুতরাং দেখা যাচ্ছে, আমি করেছি একটি সাদা lie-- একটি বিট বলার এবং উন্মুক্তভাবে, ভবিষ্যতে, আপনি দেখতে পাবেন আমরা অন্যান্য সাদা মিথ্যা বলার হয়েছে. কিন্তু এখন জন্য, আমরা চলুন এই এক ছুলা ফিরে যাও. যখন পূর্বে আমি এখানে এই ক্ষেত্রে হ্যালো বা হ্যালো-3 মত একটি প্রোগ্রাম দৌড়ে , Zamyla, আমরা এর বিষয়বস্তু ছিল আমার প্রায় মত খুঁজছেন কম্পিউটার এর মেমরি এই. কিন্তু একটি স্ট্রিং প্রত্যাহার. আমরা কি একটি এক সপ্তাহ আগে বলতে কি স্ট্রিং আসলে ফণা নীচে হয়? শ্রোতা: অক্ষর অ্যারে. ডেভিড MALAN: এটা একটি করে অক্ষর অ্যারে, ডান? সুতরাং আমরা একটি অ্যারের থাকতে পারে স্ট্রিং, কিন্তু ঘুরে, একটি স্ট্রিং অক্ষরের একটি অ্যারের হয়. আমি সত্যিই হতে চান তাই আমি এই ছবি আঁকা যখন পোঁদ, আমি সত্যিই অঙ্কন করা উচিত এটি একটি সামান্য আরো ভালো, যেখানে এই প্রতিটি মধ্যে আমার argv অ্যারের এর সূচী, পুরো স্ট্রিং নিজেই আছে নিজেই যে একটি অ্যারের হয়. এবং এখন সাদা মিথ্যা আমরা আজ কহন করছি ছবি হয় না বেশ ভালো চেহারা. আসলে, সামান্য স্কোয়ার বড় আয়তক্ষেত্র সাধারণত বাইরে সেখানে. কিন্তু আমরা দীর্ঘ আগে যে ফিরে পাবেন. কিন্তু এই হ্যালো ব্যাকস্ল্যাশ 0 যে বিশেষ অক্ষর যে হচ্ছে একটি স্ট্রিং এর শেষে demarcates, এবং আমরা অন্য এক পরে পেয়েছেন , Zamyla নাম. তাই এই কি মানে? আচ্ছা, আমাকে এগিয়ে যান এবং দুই অন্যান্য উদাহরণ খুলুন অনলাইন উপলব্ধ যে হয়. এক argv1.c বলা হয় এবং অন্যান্য argv2 হয়. এটি একটি সুপার সহজ প্রোগ্রাম যে গত প্রোগ্রাম থেকে ভিন্ন যে এখন আমি ব্যবহার করছি argc এবং এখানে argv. এবং এখন আমি লুপ জন্য একটি সঙ্গে একীভূত করছি argc আপ উপর থেকে আমি লাইন 18, = 0. এবং আমি কি করতে যাচ্ছি এখানে কোড এই লাইন দিয়ে? ইংরেজিতে. এই সম্ভবত-argc ব্যবহার প্রমান. কিন্তু ইংরেজি, কি আমি এই প্রোগ্রাম চালানো হলে তা কি? হ্যাঁ? শ্রোতা: এটা মুদ্রণ যাচ্ছে আপনার হিসাবে আপনি চান হিসাবে অনেক বার পর্দা. ডেভিড MALAN: যথাযথভাবে. তাই যাই হোক না কেন শব্দ আমি এটি, প্রম্পট এ টাইপ করুন ওয়াক তোলা যাচ্ছে প্রতি লাইনে আমাকে তাদের এক. সুতরাং এর এগিয়ে যান এবং এই কাজের জন্য. আমার ডিরেক্টরির মধ্যে যাওয়া যাক এবং argv1 ./argv1 করতে না. এবং এখন, এর এটা সহজ রাখা যাক. প্রথম কিছুই করুক না. এটা এক জিনিস প্রিন্ট আউট, এবং যে প্রকৃতপক্ষে প্রোগ্রাম এর নাম, যে বন্ধনী 0 এর কারণ. আমি এখন foo বিন্যাস বলে, এটা করতে যাচ্ছে যারা দুই, এবং আমি foo বিন্যাস বার বলে, এটা যারা তিনটি বিষয় বলে যাচ্ছে. এখন যে, হয়তো কিছুটা আকর্ষণীয়. কিন্তু যে argv হয় প্রত্যাহার স্ট্রিং একটি অ্যারের, কিন্তু একটি স্ট্রিং অক্ষর একটি শ্রেণীবিন্যাস, তাই আমরা একটি খাঁজ আপ জিনিষ নিতে পারেন এবং যে মৌলিক আবেদন যুক্তিবিজ্ঞান এবং কোড যে নিঃসন্দেহে, একটি সামান্য আরো রহস্যপূর্ণ. কিন্তু দ্বারা একটি নেস্টেড হচ্ছে লুপ, কিছু সদৃশ আপনি মারিও থেকে প্রত্যাহার করা হতে পারে কি, উদাহরণস্বরূপ, যদি আপনি এই ভাবে না. তাই এখন আমি নই, লাইন 19 লক্ষ্য আবার আমার আর্গুমেন্ট উপর iterating, 0 থেকে আপ argc করতে. এবং এখন লাইন আমি 21-- আছি শেষ সপ্তাহ থেকে একটি কৌতুক ধার আমি কি চেক করছি argv হয় বন্ধনী আমি দৈর্ঘ্য. আমি n যে উত্তর সংরক্ষণ করছি. এবং তারপর আমি ঞ থেকে একীভূত করছি ঞ 0 সক্রিয়া করা হয় যেখানে এন, আপ. সুতরাং, কাউন্টিং জন্য কনভেনশন. আপনি একটি আছে, যদি আপনি, আমি ব্যবহার করেছি নেস্টেড লুপ, আপনি আবার আমি ব্যবহার করতে পারবেন না অন্যথায়, আপনি সম্ভাব্য জখম করব, ভিতরের লুপ বাইরে মান. তাই আমি কনভেনশন দ্বারা ঞ ব্যবহার করছি. আমরা ট ব্যবহার করতে পারে. আপনি ট তুলনায় আরো আছে, আপনি সম্ভবত সাধারণত, খুব বেশী পাখির বাসা আছে. কিন্তু এখন, আমার printf বিজ্ঞপ্তি লাইন কিছুটা ভিন্ন. আমি% s এর মুদ্রণ করছি না, আমি ,% গ মুদ্রণ, যা অবশ্যই, একটি গৃহস্থালি জন্য একটি স্থানধারক হয়. এবং এখন এই বাক্য গঠন বিজ্ঞপ্তি. নতুন. আমরা আগে এটা দেখা যায় না. কিন্তু যুক্তি, এই মাত্র মানে argv হয় মধ্যে ith স্ট্রিং পেতে এবং কি জেটিএইচ পেতে পারি? শ্রোতা: ক্যারেক্টার. ডেভিড Malan: স্ট্রিং অক্ষর. সুতরাং বর্গাকার বন্ধনী ব্যবহার করে বর্গাকার বন্ধনী দ্বারা অনুসরণ, এই প্রথম ডাইভিং হয় argv হয় এর স্ট্রিং মধ্যে, এবং তারপর দ্বিতীয় ঞ সঙ্গে বর্গাকার বন্ধনী অক্ষর মধ্যে ডাইভিং হয় argv মধ্যে যে বিশেষ পংক্তি. এবং তারপর, শুধু ভাল পরিমাপ জন্য, আমি এখানে একটি নতুন লাইন মুদ্রণ করছি. সুতরাং এখন আমাকে এগিয়ে যান এবং খুলুন একটি সামান্য বড় উইন্ডো আপ তাই আমরা এই পদক্ষেপ দেখতে পারেন. আমাকে যে ফোল্ডারে যান. এবং এখন করতে না হয় argv-2-- argv হয়-2 না whoops--, ./argv 2. লিখুন. এবং এটি একটি সামান্য কঠিন উল্লম্বভাবে পড়া, কিন্তু যে প্রকৃতপক্ষে নাম একটি ফাঁকা লাইন অনুসরণ প্রোগ্রাম,. এখন আমাকে এগিয়ে যান এবং foo বিন্যাস করতে দেওয়া. একইভাবে কঠিন পড়া, কিন্তু এটা থেকে প্রকৃতপক্ষে প্রতি লাইনে একটি অক্ষর মুদ্রণ. আমি বার কি, এটা এখন লাইন দ্বারা যারা লাইন মুদ্রণ. সুতরাং এখানে takeaway এত নয় বাহ, এই ঝরঝরে নতুন কৌতুক তাকান, যে যেখানে আপনি বিষয়বস্তু পেতে পারেন একটি অ্যারের নির্দিষ্ট অক্ষর, বরং আমরা এই মৌলিক গ্রহণ করছেন কিভাবে একটি অ্যারের মধ্যে ইন্ডেক্স মত ধারনা, এবং তারপর একটি মধ্যে সূচিবদ্ধ করাকে যে অ্যারের মধ্যে ছিল যে অ্যারের, এবং ঠিক একই ধারণা আবেদন সামান্য আরো পরিশীলিত উদাহরণ. কিন্তু বুনিয়াদি সত্যিই আছে না এমনকি গত সপ্তাহ থেকে, পরিবর্তন. এখন এই, সময়মত সাজানোর যে সপ্তাহে শূন্য, প্রত্যাহার আমরা ভালো একটি ফোন বই সঙ্গে খেলেছে. এবং এই সম্ভবত যদিও কাগজ শারীরিক টুকরা, আপনি ধরনের মনে করতে পারেন একটি অ্যারে হিসাবে একটি ফোন বই. আপনি যদি অবশ্যই, কিন্তু আসছে থেকে এই টুকরা কাগজ এই টুকরা একটি কম্পিউটার, সম্ভবত আপনি কিছু ব্যবহার করতে হবে একটি অ্যারের যারা সব সঞ্চয় করতে চান একটি সব পথ থেকে নাম ও সংখ্যা জেড মাধ্যমে তাই এই কারণ হল চমৎকার, এটা আমাদের একটি সুযোগ, কিভাবে আপনি পারে সম্ভবত, বিবেচনা আসলে যে ভালো কিছু বাস্তবায়ন. এখানে দরজা একটি সিরিজ হিসাবে. আমি could-- তাই আপনি যদি আমরা এক প্রয়োজন উপরে আসতে স্বেচ্ছাসৈনিক. এর দেখতে দিন. একটি অপরিচিত মুখ, সম্ভবত, সম্ভবত অপরিচিত মুখ. কিভাবে কমলা সম্পর্কে? এখানে. কমলা শার্ট, উপর আসা. এখন এবং পদক্ষেপ এগিয়ে যান পাশ ধরে এই দরজা, একটি মুহূর্ত জন্য পথ এই সরানো. আপনার নাম কি? অজয়: ডেভিড Malan: অজয়. ডেভিড. দেখা হওয়ায় খুশী হলাম. ঠিক আছে. সুতরাং আমরা এই ছয় পিছনে আছে পর্দায় ডিজিটাল দরজা বা, বরং, সাত দরজা সংখ্যার আভা পর্দায়. এবং আমি আপনি কিছুই বলা করেছি মধ্যে advance-- একমত? অজয়: আগাম কিছুই নেই. ডেভিড MALAN: আমি আপনি কি করতে চান এখন আমার জন্য খুঁজে পেতে হয়, এবং আমাদের জন্য, সত্যিই, সংখ্যা 50, একটি সময়ে এক ধাপ. অজয়: সংখ্যা 50? ডেভিড Malan: সংখ্যা 50. এবং আপনি কি প্রকাশ করতে পারেন এই দরজা প্রতিটি পিছনে কেবল একটি আঙুল সঙ্গে এটি স্পর্শ করে. এটা অভিশাপ. [হাস্য] [সাধুবাদ] খুব ভাল কাজ করেছেন. ঠিক আছে. আমরা একটি সুন্দর উপহার আছে এখানে আপনার জন্য পুরস্কার. সিনেমা আপনার পছন্দ আমরা গত সপ্তাহে আলোচনা. অজয়: ওহ, মানুষ. ওহ, আমি Spaceballs দেখা যায় না. ডেভিড Malan: Spaceballs. ঠিক আছে. তাই শুধু এক মুহূর্ত উপর রাখা. এই করা How-- একটি শিক্ষণীয় মুহূর্ত আপনি কিভাবে যান নি সংখ্যা 50 ফাইন্ডিং? অজয়: আমি এলোমেলোভাবে বেছে নেওয়া হয়েছে. ডেভিড MALAN: তাই আপনি বেছে এলোমেলোভাবে এবং ভাগ্যবান. অজয়: হ্যাঁ. ডেভিড MALAN: ঠিক আছে. চমৎকার. সুতরাং এখন, আপনি না ছিল ভাগ্যবান, কি কি অর্জিত এই দরজা পিছনে ঘটেছে? আমি এগিয়ে যান যদি তাই এবং এখানে এই সংখ্যা প্রকাশ, আসলে তারা র্যান্ডম ক্রম হয়. এবং সেরা আপনি হতে পারে কাজ উন্মুক্তভাবে,, শেষ পর্যন্ত, হয় সবচেয়ে খারাপ ক্ষেত্রে, তাদের সব চেক. তাই আপনি যদি, সুপার ভাগ্যবান যা আমরা একটি অ্যালগরিদম কল চাই না. হ্যাঁ, অভিনন্দন. যদি আপনি করতে পারে কিন্তু এখন, মেজাজ আমাকে let's--. এখানে এই ট্যাবে যান. এবং এখানে পরিষ্কারভাবে সংখ্যা একটি র্যান্ডম ক্রম মনে করা হয় কি, এবং তারা ছিল. কিন্তু এখন আমি পরিবর্তে দাবি যদি যে এই দরজা পিছনে সাজানো হয় যে সংখ্যা. লক্ষ্য এখন হয় আমাদের সংখ্যা 50 এটি. কিন্তু algorithmically, এটা, এবং আপনি এটি সম্পর্কে চলুন কিভাবে আমাদের বলুন. আপনি তা খুঁজে পেতে, আপনি সিনেমা রাখা. আপনি এটা, আপনি এটি ফেরত দিতে না খুঁজে. অজয়: তাই আমি শেষ চেক করা যাচ্ছে না প্রথম, there's-- নির্ধারণ [হাস্য এবং সাধুবাদ] ডেভিড Malan: এখানে আপনি যান. এর এক কটাক্ষপাত করা যাক অজয় এর পূর্বসুরীদের, বেশ ভাগ্যবান ছিল না যারা সিন. ঠিক আছে, এখানে আপনার টাস্ক তাই, সিন, নিম্নোক্ত. আমি এই পিছনে লুকানো আছে দরজা সংখ্যা সাত, কিন্তু এই দরজা কিছু দূরে tucked পাশাপাশি অন্যান্য অ ঋণাত্মক সংখ্যা. এবং আপনার লক্ষ্য এই মনে হয় শুধু একটি অ্যারে হিসাবে সংখ্যার শীর্ষ সারি. আমরা টুকরা মাত্র একটি ক্রম আছেন তাদের পিছনে সংখ্যার কাগজ. এবং আপনার লক্ষ্য শুধুমাত্র উপরের ব্যবহার করে, হয় অ্যারে এখানে, আমার সাত নম্বর খুঁজে পেতে. এবং তারপর আমরা সমালোচনা করতে যাচ্ছি আপনি এটি কাজ সম্পর্কে যেতে কিভাবে. আমাদের সংখ্যা সাত দয়া করে খুঁজুন. নং 5, 19, 13. এটি একটি কৌতুক প্রশ্ন না. 1. এই সময়ে আপনার স্কোর খুব হয় না ভাল, তাই আপনি ভাল হিসাবে চালু রাখা হতে পারে. 3. যান. সত্যি, আমি কিন্তু সাহায্য আশ্চর্য করতে পারে না কি এমনকি আপনি সম্পর্কে চিন্তা করছি. Sean: আমি শুধুমাত্র উপরের সারি থেকে গ্রহণ করতে পারেন. ডেভিড Malan: শুধু উপরের সারি. তাই আপনি যদি তিনটি বাম পেয়েছেন. তাই আমাকে 7 খুঁজে. [শ্রোতা পরামর্শ প্রোফাইল] তাই যারা উভয় আশ্চর্যজনক ছিল খুব বিভিন্ন কারণে. তাই এই হল যেখানে আমরা একটি মুহূর্ত আগে বাম বন্ধ, এবং এখানে কী অন্তর্দৃষ্টি এই দরজা সংখ্যা ছিল তাদের পিছনে যে আদর্শ, সাজানো হয়েছে যার জন্য Takeaway আপনি কিছু করতে পারে, মধ্যে মৌলিকভাবে ভাল এই দ্বিতীয় উদাহরণস্বরূপ এবং প্রকৃতপক্ষে, যে Sean এর ছিল র্যান্ডম সংখ্যার প্রথম প্রচেষ্টা ঠিক যেমন আগে কিন্তু যত তাড়াতাড়ি এই সংখ্যা অনুসারে সাজানো হয়, ফোন বই অনেক ভালো, আপনি সম্ভবত কি করতে পারি? বা আপনি কিভাবে যে জ্ঞান লিভারেজ করতে পারেন? হ্যাঁ. শ্রোতা: আপনি [শ্রবণাতীত], halfway যান. ডেভিড MALAN: হ্যাঁ. ঠিক. তাই অজয় ​​এর প্রাথমিক প্রবৃত্তি ছিল হিসাবে আমি প্রত্যাহার, শেষ পরীক্ষা করার জন্য, এবং তারপর আমরা ধরণের সমাপ্ত দ্রুত উদাহরণ. আমরা শুরু কিন্তু যদি এই আরো কি ধারাক্রমে যারা লাইন বরাবর, কিন্তু সম্ভবত শুরু মধ্যম, তারা সাজানো করছি কারণ, যত তাড়াতাড়ি হিসাবে আমরা প্রকাশ সংখ্যা 16, সুতরাং আমরা জানা এবং আমরা যে সব ঠিক করতে দেওয়া সুতরাং জানেন 50 যে, আজ এর ক্ষেত্রে, ডান হতে না করেনি. তাই ঠিক মত শুন্য সপ্তাহ যখন আমরা অর্ধেক ফোন বই অর্ধবৃত্তাকার পার্শ্বচিত্রের মূর্তি এবং অর্ধেক ছুড়ে ফেলে দূরে সমস্যা, এখানে একই ধারণা. আমরা এই অর্ধেক নিক্ষেপ করতে পারেন সমস্যা দূরে. এবং সম্ভবত আপনি কি algorithmically, কি হতে পারে, আপনি 50 হতে হবে জানি যে একবার অধিকার, এটা কোথাও যদি, মাঝখানে আছে, চেষ্টা করা হয় অবশিষ্ট দরজা. অবশ্যই, 50 বেশী 42 তুলনায়, তাই আমরা করতে পারেন এই অবশিষ্ট নিক্ষেপ সমস্যা কোয়ার্টার, এবং পরিশেষে, চিহ্নিত 50 ভালো কিছু. তবে সঙ্গে ফোন বই, এই সংখ্যা ইতিমধ্যে আমাদের দেওয়া হয় সাজানো ক্রম, আমাদের ছেড়ে যা প্রশ্ন, কিভাবে আপনি কি সাজানো ক্রম মধ্যে কিছু পেতে পারি? এবং অকপটে, কি খরচ? এটা হতে এক জিনিস ফোন বই হস্তান্তর এবং তারপর ফাইন্ডিং দ্বারা আপনার বন্ধুদের ছাপ ডান সত্যিই দ্রুত একটি ফোন নম্বর,? একটি এটি 32 পৃষ্ঠাগুলি আউট বিচ্ছিন্নকরণ 4 বিলিয়ন পেজ আউট ব্যক্তি, আমরা এক চরম উদাহরণ ছিল. কিন্তু কত সময় লাগবে ভেরাইজন যে ফোন বই বাছাই করতে? এটা আমাদের নিতে কত সময় এই সাত নম্বর বাছাই? যে আমরা করেছি যে একটি প্রশ্ন এখন পর্যন্ত সম্পূর্ণরূপে উপেক্ষা করা. তাই আসুন এখন এই প্রশ্নের উত্তর দেওয়া. এবং আমরা এখন সব সিনেমা ফুরিয়েছে, কিন্তু আমরা কিছু চাপ বল আছে. আট স্বেচ্ছাসেবকদের বলে, যদি আমাদের এখানে যোগদান আপ মনে করবেন না? কিভাবে সম্পর্কে, এর এগিয়ে যান এবং আপনি চার, এখানে আপনি তিনটি? কিছু নতুন মুখের পান. এবং সেখানে আপনি চার? এবং এর না পক্ষপাত দিন now-- এখানে এবং এখানে শেষ ওভার সংখ্যা আট. উপর আসা. ঠিক আছে. তাই আমরা এখানে কি আছে আপনি প্রতিটি একটি সংখ্যা. আপনি যেতে চান এগিয়ে, এই সংখ্যা নিয়ে. আপনার নাম কি? Artie: Artie যাও. ডেভিড Malan: Artie যাও, ঠিক আছে. আপনি সংখ্যা 1 আছেন. AMIN: আমিন. ডেভিড Malan: আমিন. ডেভিড. আপনি সংখ্যা 2 আছেন. আমি হাত হিসাবে এবং, এগিয়ে যান আপনি কাগজ শীট, সঙ্গীত সামনে নিজের লাইন আপ সেখানে আপ হিসাবে একই আদেশ দাঁড়িয়েছে. অ্যান্ডি: হাই, অ্যান্ডি. ডেভিড Malan: অ্যান্ডি, এটা আপনি দেখতে চমৎকার. সংখ্যা 3. জ্যাকব: জ্যাকব. ডেভিড Malan: জ্যাকব, সংখ্যা 4. জাহাজের উপরে স্বাগতম. বর গ্রান্ট. ডেভিড Malan: গ্রান্ট. নম্বর 5. ALANNA: Alanna. ডেভিড Malan: Alanna, সংখ্যা 6. ফ্রান্সেস: ফ্রান্সেস. ডেভিড Malan: ফ্রান্সেস, সংখ্যা 7. এবং? Rachel: রেচেল. ডেভিড Malan: রেচেল, সংখ্যা 8. ঠিক আছে. এগিয়ে যান এবং এই আদেশ নিজেকে পেতে. আমার অবশিষ্ট এক করা যাক সঙ্গীত জায়গায় দাঁড়ানো. যেখানে আপনি একটি স্ট্যান্ড প্রয়োজন? ঠিক আছে. এগিয়ে যান এবং শুধুমাত্র আপনার নম্বর করা যেখানে শ্রোতা তাদের দেখতে পারেন, সঙ্গীত বাহ্যিক সম্মুখীন দাঁড়ানো. এবং আশা, আমাদের প্রথম বৈধতা পরীক্ষা এখানে 4, 2, 6. ওহ ওহ. একটি মিনিট অপেক্ষা করুন. আমরা একটি 8 হবে না. আমি থেকে উচ্ছেদ করতে হবে একরকম উদাহরণ. নং না, এটা ঠিক আছে. এর দেখতে দিন. আমরা এই কাজ করতে পারেন. পাশে দাঁড়ানো. এখন পর্যন্ত আমরা যেতে. সঠিক. ঠিক আছে. সুতরাং, এখন আমরা 8, 1, 3 7, 5 আছে. ঠিক আছে. চমৎকার. তাই হাতের প্রশ্ন হল, কি খরচ, এবং কি পদ্ধতির মাধ্যমে, আমরা আসলে এখানে এই সংখ্যার বাছাই করতে পারেন আমরা ধরনের পিছন দিকে কাজ করতে পারেন যাতে, শেষ পর্যন্ত, এবং decide-- সত্যিই এটা চিত্তাকর্ষক, এটা সত্যিই দক্ষ, আমি ভাগ করতে পারেন এবং একটি ফোন বই জেতা? এটা যে সত্যিই দক্ষ আমি এবং ভাগ অতিক্রম করতে পারে যারা ডিজিটাল টুকরা বোর্ডে কাগজ, এটা আমাদের একটি খরচ যাচ্ছে হয়তো যদি সময় বা শক্তি অথবা CPU চক্র ভাগ্য আসলে আমাদের তথ্য পেতে কিছু সাজানো ক্রম মধ্যে? তাই এর যে প্রশ্ন জিজ্ঞাসা করা যাক. সুতরাং প্রথম বন্ধ, এই সংখ্যা অনেক সুন্দর র্যান্ডম ক্রম, এবং আমি উত্থাপন করা যাচ্ছে না এক অ্যালগরিদম, বা প্রক্রিয়া যার দ্বারা আমরা এইসব লোকেরা বাছাই করতে পারেন. আমি যোগাযোগ করা যাচ্ছে না এই সুন্দর naively,. এবং আমি চিনতে যাচ্ছি এটা আমার জন্য অনেক ধরনের যে প্রায় আমার মন মোড়ানো পুরো তথ্য এ একবার সেট. কিন্তু আপনি জানেন কি? আমি কিছু করতে যাচ্ছি খুব সহজ প্রান্তিক সংশোধন করা হয়েছে. 4 এবং 2, যদি অর্ডার হয়ে গেছে লক্ষ্য থেকে 8 পর্যন্ত 1 থেকে যেতে হয়. আপনি কি জানেন? আমি আপনাকে আছে যাচ্ছি আপনি সুইচ যদি না, বিনিময় শারীরিকভাবে অবস্থান ও কাগজ আপনার টুকরা. এখন 4 এবং 6, এই আদেশ হয়. আমি সেই হতে ছেড়ে যাচ্ছি. 6 এবং 8, যারা আদেশ হয়. তাদের হতে ছেড়ে যাওয়া. যাতে বাইরে 8 AND1. আপনি দুই সোয়াপিং কিছু মনে করবেন না. এখন 8 এবং 3, আপনি না অদলবদল করতে পারে. 8 এবং 7, আপনি না অদলবদল করতে পারে. এবং 8 এবং 5, আপনি না অদলবদল করতে পারে. এখন, আমি কাজ করছি? না, সম্ভবত না. কিন্তু আমি তৈরি ভাল অবস্থা, ডান? আপনার নাম আবার কি ছিল, সংখ্যা 8? Rachel: রেচেল. ডেভিড MALAN: তাই রাহেল আছে কার্যকরভাবে বেশ দূরে bubbled আপ, শেষে সব উপায় এখানে সংখ্যার আমার অ্যারের. তাই যে সমস্যা ধরনের সমাধান করা হয়. এখন স্পষ্ট, 2 এখনও প্রয়োজন একটু সরানো, এবং 4 এবং 6 এবং 1. কিন্তু আমি একটি অর্জিত হয়েছে বলে মনে হচ্ছে সমাধান কাছাকাছি সামান্য. তাই এর এই একই আবেদন করা যাক আবার সাদাসিধা অনুসন্ধানমূলক. 2 এবং 4, ঠিক আছে. 4 এবং 6, ঠিক আছে. 6 এবং 1, মিমি মিমি. এর অদলবদল. 6 এবং 3, মিমি মিমি. এর অদলবদল. 6 ও 7 ঠিক আছে. 7 এবং 5, নাঃ. এর অদলবদল. এবং এখন 7 এবং 8. এবং আপনার নাম আবার কি? ফ্রান্সেস: ফ্রান্সেস. ডেভিড Malan: ফ্রান্সেস. তাই এখন ফ্রান্সেস এমনকি একটি ভাল হয় অবস্থান, এখন 7 এবং 8 কারণ সঠিকভাবে উপরে কমপক্ষে হয়. সুতরাং 2 এবং 4, ঠিক আছে. 4 এবং 1, যাক এর জন্য swap. 4 এবং 3, যাক এর জন্য swap. 4 এবং 6, আপনি ঠিক আছে. 6 এবং 5, যাক এর জন্য swap. এবং এখন যারা না ভাল. আমরা প্রায় নেই. 2 এবং 1, যাতে বাইরে, তাই অদলবদল. এবং এখন আমাকে একটি মানসিক সুস্থতা চেক করতে দেওয়া. 2 এবং 3, 3 এবং 4, 4 এবং 5, 5 ও 6, 6 এবং 7, 8. ঠিক আছে, তাই আমরা কাজ করছি. কিন্তু এ খরচ আমি এখানে এই সংখ্যার সাজাতে? ওয়েল, কিভাবে অনেক পদক্ষেপ সম্ভাব্য আমি এইসব লোকেরা যখন বাছাই নিতে? ভাল, আমরা ফিরে যে প্রশ্ন আসবো. কিন্তু অকপটে, যদি আপনি আছে কি একটু উদাস, যে এই ধরনের ছিল না যে প্রকাশক হয়তো সবচেয়ে দক্ষ এলগরিদম. এবং প্রকৃতপক্ষে, সত্যি, আমি ঘাম করছি সব আরো পিছনে হাঁটা. যে বিশেষ দক্ষ মনে হয় না. তাই এর অন্য কিছু চেষ্টা করুন. আপনি যদি না রিসেট হতে পারে এই আট মান নিজের. ভাল কাজ. এর ঠিক জন্য, ডিজিটালরূপে কটাক্ষপাত করা যাক একটি মুহূর্ত আমরা, অন্য কিছু চেষ্টা করুন আগে ঠিক কি ঘটেছে. এখানে, আপনি একটি দেখতে সম্পর্কে এই আট মানুষের কল্পনা যেখানে নীল এবং লাল বার সংখ্যা প্রতিনিধিত্ব. লম্বা বার, সংখ্যা বড়. খাটো বার, সংখ্যা ছোট. এবং আপনি কি দেখতে যাচ্ছেন হয় তাদের আট চেয়ে বেশি র্যান্ডম ক্রম. আপনি এই বার দেখতে যাচ্ছেন একই আলগোরিদিম দ্বারা সাজানো হচ্ছে, বা, নির্দেশাবলীর সেট আমরা বুদ্বুদ সাজানোর অত: পর ফোন করবো. সুতরাং, দ্বিতীয় বা তাই প্রতি, লক্ষ্য দুই বার, লাল আলো হয় কম্পিউটার দ্বারা তুলনা করা হচ্ছে. এবং তারপর যদি বড় দণ্ড এবং একটু বার, যাতে বাইরে তারা আমার জন্য আনা হচ্ছে. এখন এই অবিশ্বাস্যভাবে ক্লান্তিকর অবশ্যই, এই ঘড়ি, খুব দীর্ঘ জন্য, কিন্তু লক্ষ্য , ডান চলন্ত বড় বার takeaway-- বাম থেকে সরানোর সামান্য বার. এই প্রক্রিয়া বাতিল করা যাক এবং এই গতি অনেক দ্রুত হতে পারে, তাই আমরা করতে পারেন থেকে কি একটি উচ্চ পর্যায়ের ধারনা পেতে, প্রকৃতপক্ষে, বুদ্বুদ সাজানোর কাজ করা হয়. প্রকৃতপক্ষে, এটা আপ এর সাড়া জাগানো তালিকা ডান দিকে, বা অ্যারে, বড় বার. এবং বিপরীতক্রমে, একটু বার বাম নিচে তাদের পথ সাড়া জাগানো, একটি দ্রুত গতি অনুসারে যদ্যপি আর আমরা পূর্বে করেনি. তাই, কঠিন মানুষের সঙ্গে দেখতে, কিন্তু দৃশ্যত যে প্রকৃতপক্ষে কি ঘটছে. কিন্তু এর মৌলিকভাবে একটি চেষ্টা করা যাক এখন বিভিন্ন পদ্ধতির. এর একটি ভিন্ন চেষ্টা করুন অ্যালগরিদম আমরা আপনি যদ্দ্বারা বলছি এই মূল শুরু এই আদেশ এখানে যা ছিল অবস্থান,. এবং এর এখন এগিয়ে যান. এবং আমি কিছু করতে যাচ্ছি এমনকি সহজ, ডান? অতীতের দিকে, আবার pairwise সোয়াপিং এবং আবার, প্রায় একটি সামান্য চতুর. , এর আরও বেশি naively, জিনিষ না যাক যেখানে আমি এইসব লোকেরা বাছাই করতে চান, আমাকে শুধু খুঁজছি রাখা যাক ক্ষুদ্রতম উপাদান জন্য. তাই এখন ডান, 4 আমি দেখা করেছি ক্ষুদ্রতম সংখ্যা. আমি যে মনে রাখা যাচ্ছে না. না, 2 ভালো, এবং মনে রাখবেন. 1 এমনকি ছোট. 3, 7, 5. ঠিক আছে. One-- আপনার নাম আবার কি? Artie: Artie যাও. ডেভিড Malan: Artie যাও. সুতরাং, Artie যাও, এগিয়ে যান. আমি লাইন আউট আপনি টান করতে যাচ্ছি. আপনি এখানে ফিরে আসতে পারে. এবং আমি তার জন্য রুম করা প্রয়োজন. আমরা এখানে একটি সিদ্ধান্ত বিন্দু আছে. আমরা এখানে Artie যাও জন্য জায়গা হতে পারে সংখ্যা 1 জন্যে যেখানে শুরুতে? শ্রোতা: শিফট. ডেভিড MALAN: ঠিক আছে, আমরা সবাই নামান পারে. কিন্তু একটি অপ্টিমাইজেশান প্রস্তাব করছি. যে একটু বিরক্তিকর মনে আমার চার জিজ্ঞাসা জন্য নিচে সব পথ সরাতে. আমি আর কি করতে পারে? শ্রোতা: তাদের পরিবর্তন করুন. ডেভিড Malan: তাদের পরিবর্তন করুন. এবং আপনার নাম আবার কি? জ্যাকব: জ্যাকব. ডেভিড Malan: জ্যাকব, সরানো. আরো অনেক দক্ষ ঠিক আছে Artie যাও সঙ্গে জ্যাকব ও swap 'র স্থান, অত্যাচার থেকে ভিন্ন এইসব লোকেরা সব চার, যাও, আপনাকে অনেক ধন্যবাদ তাদের সঠিক অবস্থান. এখন কি Artie যাও সম্পর্কে চমৎকার, তিনি তার সঠিক অবস্থানে আছে. এর আবার এই কাজ করা যাক. 2, যে আমি দেখা করেছি ক্ষুদ্রতম সংখ্যা. 3, 7, 5. ঠিক আছে. 2 স্পষ্টভাবে কনিষ্ঠ. কোন কাজ আছে না. এর আবার কি শুরু করা যাক. 6. ক্ষুদ্রতম? 8. নাঃ. 4? উত্তেজনা. আমার 4 মনে রাখবেন. 3. আমার 3 মনে রাখবেন. 7, 5. আমি করেছি ক্ষুদ্রতম সংখ্যা এই পাস দেখা 3. আপনি খুঁজে আসা চাই. যেখানে আমরা আপনার করা যাচ্ছে? এবং আপনার নাম কি? ALANNA: Alanna. ডেভিড Malan: Alanna, আমরা আপনি উচ্ছেদ করতে যাচ্ছে. কিন্তু যে আরো দক্ষ শুধু দুটি মানুষের অদলবদল, একাধিক ব্যক্তি আছে আর আসলে উপর sidestep. এখন আবার এই কাজ করা যাক. আমি 4 নির্বাচন, তাই আউট উপর আসা যাচ্ছে না. এবং যারা সরানো যাচ্ছে? সংখ্যা 8, অবশ্যই. আমি এখন 5 নম্বর খুঁজে, খুঁজে আসা. সংখ্যা 8 আবার উচ্ছেদ করতে যাচ্ছে. আমি এখন জায়গায় 6 নম্বর খুঁজে পাওয়া যাচ্ছে না. জায়গায় 7. জায়গায় 8. আমরা কি শুধু এখন না হয় নির্বাচন সাজানোর কিছু বলা, আমরা এই ঠাহর করা এবং যদি, এটা একটু ভিন্ন মনে হচ্ছে. এর এগিয়ে এবং এই থেকে যান মেনু এখানে, এই visualization-- এর, ফায়ারফক্স আসা চাচ্ছি এই পরিবর্তন. এর নির্বাচন সাজানোর এই পরিবর্তন করা যাক. এবং এর আগে এটি গতি বাড়াতে যাক, এবং এখন কল্পনা শুরু. এবং এই এলগরিদম আছে এটি একটি ভিন্ন অনুভূতি. প্রতিটি পুনরাবৃত্তির উপর, অকপটে, এটি আরও সহজবোধ্য. আমি শুধু ক্ষুদ্রতম উপাদান নির্বাচন করছি. এখন, সত্যি, আমি যে একটু ভাগ্যবান সময়, যে এটি সুপার দ্রুত সাজানো. উপাদান র্যান্ডম ছিল. এটা হিসাবে আমরা শেষ পর্যন্ত হবে না, মৌলিকভাবে দ্রুত, দেখুন. কিন্তু এর একটি তৃতীয় এবং চূড়ান্ত দেখুন যাচ্ছে কি হিসাবে এখানে যোগাযোগ. সুতরাং এর এগিয়ে যান এবং আপনি যদি না রিসেট এক চূড়ান্ত সময় এখানে এই আদেশ করা. এবং এখন, আমি যাচ্ছি , একটু বেশি চতুর হতে শুধু আমাদের আলগোরিদিম সুসম্পন্ন আউট. আমি এই কাজ করতে যাচ্ছি. আমি যেতে না করা যাচ্ছে না পিছনে এত. সত্যি, আমি ক্লান্ত এই সব ঢোঁড়ন. আমি শুধু আমি কি নিতে যাচ্ছি তালিকার শুরুতে দেওয়া, এবং আমি বাছাই করা যাচ্ছে না যে তারপর সেখানে. তাই আমরা এখানে আছে. নম্বর 4. আমি নম্বর সন্নিবেশ করা যাচ্ছে না একটি অনুসারে সাজানো তালিকা মধ্যে 4. সম্পন্ন হয়েছে. আমি এখন দাবি, এবং শুধু এই আরো করতে পরিষ্কার, আমার তালিকা এই অংশ অনুসারে সাজানো হয়. এটি একটি মূঢ় দাবি ধরনের, কিন্তু প্রকৃতপক্ষে 4 আকার এক একটি তালিকা অনুসারে বাছাই করা হয়. এখন, আমি 2 নম্বর নিতে যাচ্ছি. সংখ্যা 2 আমি এখন যাচ্ছি যথাস্থান মধ্যে সন্নিবেশ করুন. তাই যেখানে 2 অন্তর্গত করে? একথাও ঠিক যে, এখানে. তাই এগিয়ে যান এবং আপনি যদি পারে, ফিরে যান. এবং কেন না আপনি না শুধু নিতে না আপনার সঙ্গীত আপনার সাথে এই সময় দাঁড়িয়েছে. এবং জোরপূর্বক যাক আপনি সন্নিবেশ তালিকার শুরুতে মধ্যে. তাই একটু বেশি কাজ. আমি প্রায় জ্যাকব অগ্রসর ছিল এবং আপনার নাম কি? AMIN: আমিন. ডেভিড Malan: আমিন. কিন্তু অন্তত আমি পিছনে যান না. আমি যেতে আমি শুধু কিছু গ্রহণ করছি. আমি শুধু তাদের ঢোকাতে করছি সঠিক জায়গায়. 6, আসলে এই বেশ সহজ. আপনি যদি এর, সেখানে আপনি সন্নিবেশ করা যাক শুধু সামান্য উপর সরানো চেয়েছিলেন. সংখ্যা 8, এছাড়াও বেশ সহজ. অধিকার আছে উপর. এটা অভিশাপ. 1 নম্বর আমরা না ঠিক করতে পারেন এখানে আমিন সঙ্গে বিনিময়, যে কারণ যাচ্ছে জগাখিচুড়ি আপ করার জন্য. তাই আমরা একটু বেশি চতুর হতে হবে. সুতরাং, Artie যাও, যদি আপনি করতে পারে একটি মুহূর্ত জন্য ব্যাক আপ. , এর এগিয়ে যান এবং এখন নামান যাক আমাদের পূর্ববর্তী আলগোরিদিম অসদৃশ, Artie যাও জন্য জায়গা এখানে ডান শুরুতে. দিনের শেষে তাই, আমি ধরনের আছি আমি আগে এড়াতে চেয়েছিলেন কি করছেন. তাই আমার আলগোরিদিম সাজান এর, বুদ্ধিমত্তা, বিপরীত এটি মূলত ছিল তা থেকে. আমি শুধু নাড়াচাড়া করছি বিভিন্ন সময়ে. এখন আমি 3 এ আছি. অভিশাপ, ওহ. আমরা আবার বেশি কাজ করতে হবে. সুতরাং আপনি ধাক্কা আউট করা যাক. এর সরাতে 8, 6, 4-- উহু উহু এবং 3 অধিকার আছে যেতে হবে. এই সময় অন্তত অসম্মান সঞ্চয় তাই. 7, না খুব বেশী কাজ সম্পন্ন করা হবে. আপনি পপ করতে চান ফিরে, আপনি সন্নিবেশ করা যাক. এবং সর্বশেষে, 5, আপনি যদি ফিরে পপ করতে চান, আমরা , আপনি নামান আপনি প্রয়োজন, পাঁচ যতক্ষণ না আপনি, জায়গা হয়. তাই এখন একটি সময়ে এই দেখুন গ্রাফিকাল উচ্চ স্তর, এর এই অ্যালগরিদম করতে দেওয়া কল্পনা এক অতিরিক্ত সময়. তাই এই আমরা সন্নিবেশ সাজানোর কল হইবে. আমরা শুধু হিসাবে এটি চালানো হবে দ্রুত, এবং এখানে এটা শুরু. এবং এটি খুব,, একটি ভিন্ন অনুভূতি আছে. এই ধরণের পেয়ে ভাল এবং ভাল, কিন্তু এটি নিখুঁত এর না আমি ঐ ফাঁক এবং মসৃণ যেতে না হওয়া পর্যন্ত. কারণ, আবার, আমি শুধুমাত্র গ্রহণ করছি কি আমি বাম দিক থেকে ডান দেওয়া হচ্ছে না. তাই আমি ভাগ্যবান পেতে না যে সবকিছু নিখুঁত ছিল. আমরা এই সামান্য ছিল যে কেন আমরা সময়ের সংশোধন করা হয়েছে যে mispositions. তাই এই আলগোরিদিম সব বলে মনে হচ্ছে কিছুটা ভিন্ন paces এবং চালানো. আসলে, যা আপনি বলতে হবে সেরা বা এ পর্যন্ত দ্রুততম? বুদ্বুদ সাজানোর, প্রথম? নির্বাচন সাজানোর, দ্বিতীয়? সন্নিবেশ সাজানোর, তৃতীয়? আমি কিছু নির্বাচন প্রকারের শুনতে. অন্য চিন্তা? সুতরাং এটি সক্রিয় করে যে এই আলগোরিদিম সব মৌলিকভাবে ঠিক যেমন দক্ষ ঠিক যেমন, বিপরীতক্রমে, প্রতিটি other-- বা একে অপরের হিসাবে অদক্ষ, আমরা মৌলিকভাবে করতে পারেন, কারণ সব তিনটি বেশী ভালো এই আলগোরিদিম. এবং যে একটি সাদা মিথ্যা একটি বিট খুব, না. আমি দক্ষ, যখন বা অদক্ষ হিসাবে, অন্তত এর জন্য n এর সুপার বড় মান. আমরা এখানে মাত্র আট মানুষ আছে, হয়তো বা পর্দায় 50 বা তাই বার, আপনি একেবারে পার্থক্য বিজ্ঞপ্তি পাবেন এই তিনটি আলগোরিদিম মধ্যে. কিন্তু এন হিসাবে, মানুষের সংখ্যা, বা সংখ্যার নম্বর, বা ফোন মানুষের সংখ্যা বই, বা ওয়েব পৃষ্ঠা সংখ্যা Google এর ডাটাবেসের মধ্যে , এবং বড় বড় পায় আমরা দেখতে পাবেন যে এই সব তিনটি আলগোরিদিম আসলে বেশ দরিদ্র. এবং আমরা মৌলিকভাবে করতে পারেন যে এর চেয়ে ভাল. , এর পরিশেষে, কটাক্ষপাত করা যাক কি এই আলগোরিদিম পারে এ মত শব্দ কয়েক অন্যদের প্রসঙ্গ এই হিসাবে ভাল দ্বারা এখানে কল্পনা আমাদের যে পরিচয় করিয়ে দিতে হবে আলগোরিদিম একটি সংখ্যা. এর এগিয়ে যান এবং অভিনন্দন জানাচ্ছি যাক যাদের সব আমাদের এখানে অংশগ্রহণকারী, খুব ভাল নিজেদের সাজানো. আপনি একটি বিভাজিকা উপহার নিতে চাই. আপনি ভাল হিসাবে আপনার নম্বর রাখতে পারেন. এবং আপনি দেখতে পাবেন, বরং বা, এখন, শুনতে যে আমরা শব্দ করা হিসাবে এই বার প্রতিটি এবং, সফটওয়্যার এর সাথে সংযুক্ত শব্দ ভিন্ন ফ্রিকোয়েন্সি, আপনি আপনার মন আরো audioly মোড়ানো করতে পারেন এই জিনিস কি প্রতিটি কাছাকাছি মত চেহারা. যার প্রথম সন্নিবেশ সাজান [টোন] এই বুদ্বুদ সাজান. [টোন] নির্বাচন সাজানোর. [টোন] একত্রীকরণ সাজানোর কিছু বলা. [টোন] , Gnome সাজান. [টোন] যে CS50 জন্য এটি. আমরা বুধবার আপনি দেখতে পাবেন. কথাবার্তা এবং এখন, "ডিপ Daven Farnham দ্বারা চিন্তা, ". কেন এটা একটি লুপ জন্য? কেন না এটি আরও ভাল করতে? আমি একটি পাঁচ লুপ করা চাই. [হাস্য]