Big-O Notation
📘 অ্যালগরিদমের গতি ও মেমোরি ব্যবহার মাপার পদ্ধতি।
🌐 Measuring algorithm time and memory.
💻
1
ধারণা · Concept
কী এবং কেন📘 বাংলা ব্যাখ্যা:
অ্যালগরিদমের গতি ও মেমোরি ব্যবহার মাপার পদ্ধতি।
অ্যালগরিদমের গতি ও মেমোরি ব্যবহার মাপার পদ্ধতি।
🌐 English:
Measuring algorithm time and memory.
Measuring algorithm time and memory.
🗂 কোথায় পড়ে
১. ভিত্তি → কম্পিউটার বিজ্ঞানের ভিত্তি → Big-O Notation
🎯 এই শাখার লক্ষ্য
Explain CPU/memory, use the terminal, reason about algorithm cost
🧰 টুলস
Terminal, VS Code
🪜
ধাপে ধাপে শিখুন · Step-by-step
কেন শিখবেন → কীভাবে শিখবেন → উদাহরণ → সাধারণ ভুল💡 কেন গুরুত্বপূর্ণ?
১০০ সারিতে যে কোড চলে, ১ কোটি সারিতে সেটাই ঘণ্টা নিতে পারে—Big-O আগেই বলে দেয় কোন পদ্ধতি স্কেল করবে।
- ধাপ 1ইনপুট n বাড়লে ধাপের সংখ্যা কীভাবে বাড়ে সেটিই জটিলতা
- ধাপ 2O(1) ডিকশনারি লুকআপ, O(log n) বাইনারি সার্চ, O(n) একবার লুপ, O(n log n) ভালো সর্টিং, O(n²) নেস্টেড লুপ
- ধাপ 3কোডে লুপ গুনুন: একটি লুপের ভেতরে আরেকটি = সাধারণত O(n²)
- ধাপ 4সময়ের পাশাপাশি মেমোরি (space complexity) হিসাব করুন
🧪 বাস্তব উদাহরণ
দুটি লিস্টের মিল খুঁজতে নেস্টেড লুপ O(n²); একটিকে set বানালে O(n)—১ লাখ উপাদানে সেকেন্ড বনাম মিনিটের পার্থক্য।
⚠️ সাধারণ ভুল
ছোট ডেটায় টেস্ট করে ধরে নেওয়া কোড দ্রুত—বড় ডেটায় আসল পার্থক্য দেখা যায়।
🔑 মূল শব্দ (Key terms)
time complexityspace complexityO(n)O(log n)O(n²)
3
সাব-টপিক ও বিস্তারিত · Sub-topics
টপিক → সাব-টপিক → সাব-সাব টপিক3.1 O(1), O(log n), O(n)3.1.1 কনস্ট্যান্ট3.1.2 লগারিদমিক ও লিনিয়ার সময়
3.2 O(n²)3.2.1 নেস্টেড লুপ কেন ধীর
3.3 স্পেস জটিলতা3.3.1 মেমোরি ব্যবহারের হিসাব
🎬
ভিডিও · Videos (বাংলা ও English)
ক্লিক করলে সাইটের ভেতরেই ফ্লোটিং প্লেয়ারে চলবে · ভিডিও MySQL-এ সংরক্ষিত📺 আরও খুঁজুন
💻
হাতে-কলমে · Try it (Computer Foundations)
এডিট করে Run চাপুন · Ctrl+Enter# Big-O in action: linear vs binary search
import time, bisect
data=list(range(1_000_000)); target=987_654
t=time.time(); i=data.index(target); lin=time.time()-t
t=time.time(); j=bisect.bisect_left(data,target); bi=time.time()-t
print(f"Linear O(n): {lin*1000:.2f} ms | Binary O(log n): {bi*1000:.4f} ms")
print(bin(42), hex(255), 0.1+0.2)❓
সেল্ফ-চেক · Self check
1. “কনস্ট্যান্ট, লগারিদমিক ও লিনিয়ার সময়” — এটি কোন সাব-টপিকের বর্ণনা?
2. “নেস্টেড লুপ কেন ধীর” — এটি কোন সাব-টপিকের বর্ণনা?
3. “মেমোরি ব্যবহারের হিসাব” — এটি কোন সাব-টপিকের বর্ণনা?
🔗