প্রথমে, উভয় অ্যালগরিদম সমস্ত ইনপুটগুলির জন্য "কাজ" করে। প্রশ্নটি পারফরম্যান্স নিয়ে।
এই প্রশ্নের উত্তরগুলি একপ্রকার কৃপণ। একটি অ্যালগরিদম বলার একটি উপায় অপরটির চেয়ে অ্যাসিপটোটিক্যালি আরও দক্ষ, যদি কিছু (সমস্যা-নির্দিষ্ট) ইনপুট আকার থাকে তবে যে কোনও বৃহত ইনপুট আকারের জন্য আরও দক্ষ অ্যালগরিদম কম "গণনীয় পদক্ষেপ" নেবে, সাধারণত কিছু বিমূর্ত পরিমাপের দ্বারা, যেমন তুলনা সংখ্যা।
উত্তরের ধারণাটি হল যে একটি ইনস্পিম্পটোটিক্যালি আরও দক্ষ অ্যালগরিদমের এখনও সেই ইনপুট আকারের আগে আরও পদক্ষেপের প্রয়োজন হতে পারে । এটা তোলে করতে ক্ষেত্রে যে এসিম্পটোটিকভাবে আরও দক্ষ অ্যালগরিদম সব ইনপুট জন্য কিছু ধাপেই প্রয়োজন তবে এটি কেস এবং অনুশীলন করা সাধারণত নয় দরকার নেই। সুতরাং "সঠিক" উত্তর একটি ভাল শব্দমালা কেমন হওয়া উচিৎ " ছাড়া সমস্ত ইনপুট জন্য একটি ভাল পছন্দ হতে হবে সম্ভবত ছোট ইনপুট"।X
শব্দটি এখনও ততটা দুর্দান্ত নয়। প্রথমত, আরও অনেক কারণ অ্যালগরিদম কী "ভাল পছন্দ" তা স্থির করে, তবে আমি তাদের দেব যে উদ্দেশ্যটি এই ক্ষেত্রে যথেষ্ট পরিষ্কার। আসল ইস্যুটি "ছোট" এবং "বৃহত্তর"। আমার প্রিয় নিবন্ধগুলির মধ্যে একটি হ'ল দ্য দ্রুততম এবং সংক্ষিপ্ততম অ্যালগরিদম সমস্ত ভাল-সংজ্ঞায়িত সমস্যার জন্য । এই কাগজটি একটি অ্যালগরিদম বর্ণনা করে যা কোনও ফাংশনের কোনও স্পেসিফিকেশন দেয় এবং একটি প্রমাণ দেয় যে এটি বহুগুণে গণনা করা যেতে পারে যে সেই কার্যটি সময়ের একটি সংযোজন এবং একটি সংযোজক শব্দটির মধ্যে অনুকূল সময় জটিলতায় গুণতে পারে। উদাহরণস্বরূপ, যদি আমি এটি ফাংশনের স্পেসিফিকেশন হিসাবে বুদ্বুদ সাজানোর একটি বাস্তবায়ন সরবরাহ করি এবং এটি সহজ প্রমাণিত হয় যে এটি proof5O(n2), এটি একটি বাছাই করা অ্যালগরিদম তৈরি করবে যা ছিল । বস্তুত, এটা একটি আলগোরিদিম ছিল উত্পাদন করবে যেখানে লাগাতার ফ্যাক্টর ছিল এসিম্পটোটিকভাবে * অনুকূল অ্যালগরিদম। এটা চমৎকার. একটি মাত্র সমস্যা আছে: ধ্রুবক শব্দটি - লুকানো আছেO(nlgn)5cnlgn+o(nlgn)co(nlgn)এই উদাহরণে - কার্যত যে কোনও বাস্তব সমস্যার জন্য অ্যালগোরিদমকে প্রায় পুরোপুরি অপরিবর্তনীয় রেন্ডার করে। "সম্পূর্ণ অক্ষম" বলতে আমি কী বুঝি? আমি বোঝাতে চাইছি যে অ্যালগরিদম সম্পূর্ণ হওয়ার আগে মহাবিশ্বের তাপের মৃত্যু বহুবার ঘটবে। তবুও, উপযুক্ত "বৃহত" ইনপুটগুলির জন্য এটি বুদ্বুদ সাজানোর চেয়ে দ্রুত হবে। আমার বক্তব্যটি হ'ল শারীরিকভাবে কোনওভাবেই "উপযুক্তভাবে বড়" ইনপুট লিখতে পারা যায় না, কেবল এটির গণনা করা যাক।
কোন হার, কীভাবে আমি চাই শব্দ সঠিক উত্তর হবে এ: " কম পদক্ষেপ প্রয়োজন যথেষ্ট বৃহৎ ইনপুট উপর"। এটি এখনও কিছুটা অস্পষ্ট কারণ "পদক্ষেপ" এর একাধিক ধারণা প্রয়োগ করা যেতে পারে এবং একটি অ্যালগরিদম এক মেট্রিকের দ্বারা asyptotically আরও দক্ষ এবং অন্যজনের দ্বারা কম দক্ষ হতে পারে। এই শব্দটি "ভাল পছন্দ" এর মূল্য রায় এড়ায়; স্থির কারণ / শর্তাদি যেমন ক্যাশে-দক্ষতা বা বাস্তবায়ন সরলতার মতো নির্দিষ্ট করা হয় তখন অ্যাসিম্পোটোটিকভাবে কম দক্ষ অ্যালগরিদম বা এমনকি কম দক্ষ অ্যালগরিদমগুলি বেছে নেওয়ার অনেকগুলি কারণ রয়েছে।XY
* এখানে একটি সূক্ষ্মতা আছে। অ্যাসিম্পটোটিক্যালি অপ্টিমাল অ্যালগরিদমের একটি অ্যাসিম্পটোটিক্যালি অপ-অপ্টিমাল অ্যালগরিদমের চেয়ে আরও খারাপ ধ্রুবক উপাদান হতে পারে । আমি মনে করি যে কোনও অসম্পূর্ণভাবে অনুকূল অ্যালগরিদমের জন্য এটি এর সেরা মান থাকবে তবে এটি অনুমেয় যে অ্যাসিপোটোটিক দক্ষতায় কিছুটা লাভ অর্জন করতে গেলে বিশাল জটিলতা যুক্ত করা হয় যা ধ্রুবক গুণকে উল্লেখযোগ্যভাবে বৃদ্ধি করে।cc