কম্পিউটার ও তথ্যপ্রযুক্তিকম্পিউটার
ধরা যাক Algorithm A এর running time O(n 2 ) এবং Algorithm B এর running time O(n) । তাহলে নিচের কোনটি সবচেয়ে সঠিক ?
- কAlgorithm A, Algorithm B এর চেয়ে ধীর গতির
- খAlgorithm A, Algorithm B এর চেয়ে দ্রুত গতির
- গAlgorithm A, Algorithm B এর চেয়ে asymptotically ধীর গতির✓
- ঘAlgorithm B সর্বদা Algorithm A এর চেয়ে দ্রুত চলে
ব্যাখ্যা
•
Algorithm A
এর
running time
হলো
O(n
2
)
এবং
Algorithm B
এর
running time
হলো
O(n)
।
Asymptotic analysis
অনুযায়ী
n
বড় হলে
O(n
2
)
এর মান দ্রুত বৃদ্ধি পায়
,
আর
O(n)
তুলনামূলক ধীরে বৃদ্ধি পায়। তাই ছোট ইনপুটের ক্ষেত্রে কখনও
Algorithm A
দ্রুত হতে পারে
,
কিন্তু ইনপুট সাইজ যত বড় হবে
, Algorithm A
তত বেশি সময় নেবে। এজন্য বলা যায়
Algorithm A asymptotically Algorithm B
এর চেয়ে ধীর গতির।
সঠিক উত্তর হবে গ)
,
কারণ এটি দীর্ঘমেয়াদী (
asymptotic)
আচরণকে সঠিকভাবে প্রতিফলিত করে
,
অন্য অপশন গুলো সম্পূর্ণভাবে সঠিক নয়।
•
অ্যালগরিদম (
Algorithm A
এবং
B):
– Algorithm A এর running time হলো O(n
2
)।
– Algorithm B এর running time হলো O(n)।
– এখানে O(n
2
) মানে ইনপুট সাইজ বাড়ার সাথে সাথে Algorithm A এর সময় অনেক দ্রুত বৃদ্ধি পায়।
– অন্যদিকে O(n) মানে ইনপুট সাইজ বাড়লেও Algorithm B এর সময় ধীরে বৃদ্ধি পায়।
– তাই বড় ইনপুট সাইজের ক্ষেত্রে Algorithm A, Algorithm B এর তুলনায় অনেক ধীর হবে।
– তবে ছোট ইনপুট সাইজের ক্ষেত্রে কখনও কখনও Algorithm A দ্রুত হতে পারে, কারণ constant factor বা lower order terms এর প্রভাব থাকতে পারে।
– Algorithm A, Algorithm B এর চেয়ে asymptotically ধীর গতির।
–
সঠিক উত্তর: গ)
Algorithm A, Algorithm B
এর চেয়ে
asymptotically
ধীর গতির।
সূত্র:
– Cormen, Leiserson, Rivest, and Stein – Introduction to Algorithms (CLRS).
– MIT OpenCourseWare – Introduction To Algorithms
[link]
– Stanford CS 161 – Design and Analysis of Algorithms
[link]
পরীক্ষা: ৪৭তম বিসিএস প্রশ্ন সমাধান | 47th BCS Question Solution
এই বিষয়ের আরও প্রশ্ন অনুশীলন করতে চান?
বিসিএস জব সল্যুশন (১০ তম থেকে ৫০ তম) পরীক্ষায় অংশ নিন →