কম্পিউটার ও তথ্যপ্রযুক্তি • ডেটাবেজ ও প্রোগ্রামিং • প্রিলিমিনারি • ৪৭ তম বিসিএস প্রিলিমিনারি টেস্ট

কম্পিউটার ও তথ্যপ্রযুক্তি প্রশ্ন

ধরা যাক Algorithm A এর running time O(n2) এবং Algorithm B এর running time O(n)। তাহলে নিচের কোনটি সবচেয়ে সঠিক?

  1. Algorithm A, Algorithm B এর চেয়ে ধীর গতির

  2. Algorithm A, Algorithm B এর চেয়ে দ্রুত গতির

  3. Algorithm A, Algorithm B এর চেয়ে asymptotically ধীর গতির

  4. Algorithm B সর্বদা Algorithm A এর চেয়ে দ্রুত চলে

উত্তর ও ব্যাখ্যা

Algorithm A, Algorithm B এর চেয়ে asymptotically ধীর গতির

ব্যাখ্যা

অ্যালগরিদমের বিগ-ও (Big-O) নোটেশন দিয়ে অসীমের দিকে ডেটার আকার বৃদ্ধির সাপেক্ষে সময়ের বৃদ্ধির হার (asymptotic complexity) বোঝানো হয়। এখানে Algorithm A এর সময় বৃদ্ধির হার O(n2)O(n^2) যা দ্বিঘাত (quadratic) এবং Algorithm B এর হার O(n)O(n) যা রৈখিক (linear)। যেহেতু nn এর মান বৃদ্ধির সাথে সাথে n2n^2 এর মান nn এর চেয়ে অনেক দ্রুত বৃদ্ধি পায়, তাই Algorithm A অসম্পটোটিক্যালি (asymptotically) Algorithm B এর চেয়ে ধীর গতির হবে।

'Algorithm B সর্বদা Algorithm A এর চেয়ে দ্রুত চলে' কথাটি ভুল, কারণ nn-এর খুব ছোট মানের জন্য ধ্রুবক মানের তারতম্যের কারণে Algorithm A দ্রুত হতেও পারে।

একই ধরনের প্রশ্ন:
১. O(1)O(1) এবং O(logn)O(\log n) এর মধ্যে কোনটির পারফরম্যান্স ভালো? - O(1)O(1), কারণ এটি একটি ধ্রুবক সময় নির্দেশ করে এবং ইনপুটের আকারের ওপর নির্ভর করে না।

আরও প্রশ্ন অনুশীলন করতে অ্যাপে যাও

সম্পর্কিত প্রশ্ন