2. Time Complexity (Big O)
📘 কনসেপ্ট (থিওরি)
টাইম কমপ্লেক্সিটি (Time Complexity) হলো ইনপুটের দৈর্ঘ্যের ফাংশন হিসেবে একটি অ্যালগরিদম চালানোর জন্য নেওয়া সময়ের পরিমাণ।
বিগ ও নোটেশন (Big O Notation) টাইম কমপ্লেক্সিটির উচ্চ সীমা (সবচেয়ে খারাপ পরিস্থিতি বা worst-case scenario) প্রকাশ করতে ব্যবহৃত হয়।
সাধারণ টাইম কমপ্লেক্সিটিগুলো:
- **O(1)**: ধ্রুবক সময় (যেমন, ইনডেক্স দ্বারা অ্যারের এলিমেন্ট অ্যাক্সেস করা)।
- **O(n)**: রৈখিক (Linear) সময় (যেমন, অ্যারের মধ্য দিয়ে লুপ করা)।
- **O(n^2)**: দ্বিঘাত (Quadratic) সময় (যেমন, নেস্টেড লুপ)।
- **O(log n)**: লগারিদমিক সময় (যেমন, বাইনারি সার্চ)।
💡 উদাহরণ
O(n) এর উদাহরণ (রৈখিক):
function printItems(n) {
for (let i = 0; i < n; i++) {
console.log(i); // 'n' বার চলে
}
}
🎯 আপনার কাজ (প্র্যাকটিস)
একটি O(1) ধ্রুবক সময়ের ফাংশন
getFirstItem(arr) লিখুন যা কেবল অ্যারের প্রথম আইটেমটি রিটার্ন করে।main.dsa
Loading...
OUTPUT
Run your code to see the output here...