DEV Community

Cover image for Big O Notation সহজভাবে বুঝুন (Real-Life Example সহ)
Mohammad Al Amin
Mohammad Al Amin

Posted on

Big O Notation সহজভাবে বুঝুন (Real-Life Example সহ)

প্রোগ্রামিংয়ে আমরা শুধু কোড লিখলেই হয় না, সেই কোড কতটা দ্রুত কাজ করে সেটাও খুব গুরুত্বপূর্ণ। এই performance বোঝার জন্যই আমরা ব্যবহার করি Big O Notation


Big O Notation কী?

Big O Notation হলো একটি পদ্ধতি, যার মাধ্যমে আমরা বুঝতে পারি একটি অ্যালগরিদম বা কোড কত দ্রুত বা ধীরে কাজ করে, বিশেষ করে ইনপুট বড় হলে।

সহজভাবে বললে,
input যত বাড়বে, execution time কীভাবে বাড়বে — সেটাই Big O দিয়ে বোঝানো হয়।


কেন Big O গুরুত্বপূর্ণ?

ধরুন, আপনি একই কাজ করার জন্য দুইটা কোড লিখলেন।
দুটোই কাজ করছে, কিন্তু একটার সময় বেশি লাগছে।

এই পার্থক্যটা বোঝার জন্যই Big O দরকার।

এটি আপনাকে সাহায্য করে:

  • Efficient algorithm বাছাই করতে
  • Interview preparation করতে
  • Large data handle করতে

Real-Life Example

ধরুন আপনি একটি বই খুঁজছেন:

Scenario 1: Random খোঁজা

আপনি বইগুলো এলোমেলোভাবে খুঁজছেন।
প্রতিটি বই একে একে দেখছেন।

➡️ এটি O(n) — কারণ n সংখ্যক বই হলে n বার খুঁজতে হতে পারে।


Scenario 2: Alphabetically সাজানো

বইগুলো যদি A-Z অনুযায়ী সাজানো থাকে, আপনি মাঝখান থেকে খুঁজতে শুরু করতে পারেন।

➡️ এটি O(log n) — কারণ আপনি প্রতি ধাপে অর্ধেক করে কমাচ্ছেন।


Common Big O Types

O(1) — Constant Time

এখানে ইনপুট যত বড়ই হোক, সময় একই থাকে।

উদাহরণ:

const arr = [10, 20, 30];
console.log(arr[0]); // Direct access
Enter fullscreen mode Exit fullscreen mode

O(n) — Linear Time

ইনপুট যত বাড়ে, সময় তত বাড়ে।

উদাহরণ:

const arr = [10, 20, 30];
arr.forEach(item => console.log(item));
Enter fullscreen mode Exit fullscreen mode

O(n²) — Quadratic Time

Nested loop থাকলে সাধারণত এই complexity হয়।

উদাহরণ:

for (let i = 0; i < n; i++) {
  for (let j = 0; j < n; j++) {
    console.log(i, j);
  }
}
Enter fullscreen mode Exit fullscreen mode

O(log n) — Logarithmic Time

প্রতি ধাপে problem size অর্ধেক হয়ে যায়।

উদাহরণ:
Binary Search


Big O সহজভাবে মনে রাখার উপায়

  • O(1) → সবসময় fast
  • O(log n) → খুব efficient
  • O(n) → acceptable
  • O(n²) → slow
  • O(2ⁿ) → খুব খারাপ (avoid করা উচিত)

বাস্তব জীবনে কোথায় কাজে লাগে?

  • Search algorithm (Google search)
  • Sorting data
  • Large database handle করা
  • Backend performance optimization

শেষ কথা

Big O Notation শুরুতে একটু কঠিন মনে হতে পারে, কিন্তু এটি বুঝে ফেললে আপনি অনেক ভালোভাবে কোড optimize করতে পারবেন।

ডাটা স্ট্রাকচার শেখার পাশাপাশি Big O শিখলে আপনার problem solving skill অনেক উন্নত হবে।


SEO Tags (dev.to)

bigO #algorithms #datastructure #programming #beginners #coding #javascript #python #learncoding #computerscience


আপনার মতামত

আপনার কাছে কোনটি সবচেয়ে কঠিন মনে হয় — O(n) না O(log n)? মন্তব্যে জানাতে পারেন।

Top comments (0)