Home › Roadmap › Computer Foundations › Part 6

Data Structures & Algorithms

📘 অ্যারে, স্ট্যাক, কিউ, ট্রি, সার্চ ও সর্টিং।

🌐 Arrays, stacks, queues, trees, searching and sorting.

💻 কম্পিউটার বিজ্ঞানের ভিত্তি🎚 Advanced📍 Part 6 / 6🧩 3 সাব-টপিক
💻
1

ধারণা · Concept

কী এবং কেন
📘 বাংলা ব্যাখ্যা:
অ্যারে, স্ট্যাক, কিউ, ট্রি, সার্চ ও সর্টিং।
🌐 English:
Arrays, stacks, queues, trees, searching and sorting.

🗂 কোথায় পড়ে

১. ভিত্তি → কম্পিউটার বিজ্ঞানের ভিত্তি → Data Structures & Algorithms

🎯 এই শাখার লক্ষ্য

Explain CPU/memory, use the terminal, reason about algorithm cost

🧰 টুলস

Terminal, VS Code

🪜

ধাপে ধাপে শিখুন · Step-by-step

কেন শিখবেন → কীভাবে শিখবেন → উদাহরণ → সাধারণ ভুল
💡 কেন গুরুত্বপূর্ণ?

সঠিক ডেটা স্ট্রাকচার বেছে নিলে কোড সহজ ও দ্রুত হয়; ইন্টারভিউতেও DSA প্রায় সবসময় আসে।

  1. ধাপ 1
    Array/List: ক্রমানুসারে উপাদান, ইনডেক্স দিয়ে দ্রুত অ্যাক্সেস
  2. ধাপ 2
    Stack (শেষে ঢোকে আগে বের হয়—undo), Queue (আগে ঢোকে আগে বের হয়—টাস্ক লাইন)
  3. ধাপ 3
    Tree ও Graph: হায়ারার্কি ও নেটওয়ার্ক; BFS স্তর ধরে, DFS গভীরে খোঁজে
  4. ধাপ 4
    সার্চ ও সর্ট: সাজানো ডেটায় Binary Search O(log n), Merge Sort O(n log n)

🧪 বাস্তব উদাহরণ

রাস্তা নেটওয়ার্কে দুই উপজেলার সবচেয়ে কম দূরত্ব = গ্রাফে shortest path (Dijkstra)।

⚠️ সাধারণ ভুল

সব কাজে লিস্ট ব্যবহার করা—সদস্যপদ যাচাইয়ে set/dict অনেক দ্রুত।

🔑 মূল শব্দ (Key terms)

arraystackqueuetreegraphBFSDFSbinary search

3

সাব-টপিক ও বিস্তারিত · Sub-topics

টপিক → সাব-টপিক → সাব-সাব টপিক
6.1 লিনিয়ার স্ট্রাকচার6.1.1 Array6.1.2 Stack (LIFO)6.1.3 Queue (FIFO)
6.2 ট্রি ও গ্রাফ6.2.1 Binary Search Tree6.2.2 BFS/DFS
6.3 সার্চ ও সর্ট6.3.1 Binary Search O(log n)6.3.2 Merge Sort O(n log n)
🎬

ভিডিও · 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. “Array, Stack (LIFO), Queue (FIFO)” — এটি কোন সাব-টপিকের বর্ণনা?

2. “Binary Search Tree, BFS/DFS” — এটি কোন সাব-টপিকের বর্ণনা?

3. “Binary Search O(log n), Merge Sort O(n log n)” — এটি কোন সাব-টপিকের বর্ণনা?

🔗

সংযুক্ত কনসেপ্ট · Connected concepts

← আগের টপিকCommand Line Basicsপরের টপিক →Linear Algebra Basics
🎬 Video