Foundationপ্রথম নীতি থেকে
LEVEL 6 · Data Structures & Algorithms

Depth-First Search

ডেপথ-ফার্স্ট সার্চ

এক branch পুরো গভীরে গিয়ে তারপর পিছিয়ে আসা traversal — recursion বা explicit stack-এ চলে, O(V+E); cycle detection থেকে SCC পর্যন্ত সবকিছুর ভিত।

also: dfs, depth first search

প্রতিটা node-এ দুটো timestamp রাখো: discovery time (ঢুকেছে) আর finish time (সব child শেষ করেছে)। Edge গুলো তখন শ্রেণি পায়:

Edge typeচেনা যায়মানে
Treeনতুন node আবিষ্কারDFS forest-এর ধার
Backপূর্বপুরুষে ফেরাcycle আছে
Forward/Crossআগে শেষ হওয়া subtree-তেDAG structure

Back edge মানেই directed cycle। Topological sort (finish order উল্টে দিলেই), strongly connected components (Kosaraju/Tarjan), bridge ও articulation point — সব DFS-এর timestamp-এই দাঁড়ায়।