Foundationপ্রথম নীতি থেকে
LEVEL 6

ডেটা স্ট্রাকচার ও অ্যালগরিদম

Data Structures & Algorithms

এই মডিউল যে প্রশ্নের উত্তর দেয়দুইটা correct solution-এর মধ্যে কোনটা ভালো, আর "ভালো" মানে ঠিক কী?

উদ্দেশ্য competitive programming না। উদ্দেশ্য: একটা সমস্যা দেখে বুঝতে পারা কোন structure কেন মানানসই, cost কত, আর সেই cost real hardware-এ কেমন দেখায় (cache locality, allocation)।

লেখা হচ্ছে৩ প্রজেক্ট~১৫০ ঘণ্টা

লেসন

এই মডিউলের লেসন এখনো লেখা হচ্ছে। নিচে যা যা থাকছে অংশে পুরো outline দেখতে পাচ্ছেন — সেই ক্রমেই কনটেন্ট আসবে।

যা যা থাকছে

  • Asymptotic analysis — O, Θ, Ω, o, ω
  • Amortized analysis
  • Arrays, dynamic arrays, memory layout
  • Linked lists ও pointer chasing-এর cost
  • Stacks, queues, deques
  • Hash tables — hashing, collisions, open addressing, chaining
  • Trees, binary trees, traversals
  • BST, AVL, red-black trees
  • B-trees ও B+ trees
  • Heaps ও priority queues
  • Tries ও radix trees
  • Union-Find ও path compression
  • Graphs — representation, BFS, DFS
  • Shortest path — Dijkstra, Bellman-Ford, Floyd-Warshall, A*
  • MST — Kruskal, Prim
  • Topological sort, SCC
  • Sorting — quick, merge, heap, radix, timsort
  • Searching ও binary search variants
  • Recursion ও divide and conquer
  • Dynamic programming
  • Greedy algorithms ও exchange argument
  • String algorithms — KMP, Rabin-Karp, suffix structures
  • Randomized algorithms
  • Cache-aware ও cache-oblivious algorithms

প্রজেক্ট

DS Library from Scratch

●●●○○

Vector, hashmap, BST, heap — নিজের implementation + benchmark।

Pathfinding Visualizer

●●●○○

Dijkstra vs A* — explored node সংখ্যা তুলনা।

Sorting Benchmark Lab

●●○○○

Theory-র complexity বনাম বাস্তব wall-clock — কেন মেলে না।