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 — কেন মেলে না।