Bir DFS yaparken, herhangi bir düğüm üç eyaletten birinde bulunur - ziyaret edilmeden önce, torunlarını tekrar tekrar ziyaret ederken ve tüm torunları ziyaret edildikten sonra (ebeveynine geri dönme, yani sarma aşaması). Üç renk, üç durumun her birine karşılık gelir. Renklerden ve ziyaret ve geri dönüş süresinden bahsetmenin nedenlerinden biri, bu ayrımları daha iyi anlamak için açıkça yapmaktır.
Tabii ki, bu renklerin gerçek kullanımları var. Yönlendirilmiş bir grafik düşünün . Döngü olup olmadığını G olarak kontrol etmek istediğinizi varsayalım . Yönlendirilmemiş bir grafikte, söz konusu düğümün siyah veya gri bir komşusu varsa, bir döngüyü gösterir (ve DFS sizin belirttiğiniz gibi ziyaret etmez). Bununla birlikte, yönlendirilmiş bir grafik durumunda, siyah bir komşu bir döngü anlamına gelmez. - Örneğin, 3 köşeleri ile bir grafik dikkate bir , B , ve C olarak yönelmiş kenarları olan bir → B , B → C , A → C . DFS'nin A'da başladığını varsayalımG,G,A , B ,CA → BB → CA → Cbir, sonra , ardından C'yi ziyaret eder . A'ya döndüğünde , C'nin daha önce ziyaret edildiğini ve siyah olup olmadığını kontrol eder . Ancak grafikte bir döngü yoktur.BCbirC
Yönlendirilmiş bir grafikte, yalnızca tüm düğümleri ziyaret edilmeden önce bir düğüm tekrar görülürse bir döngü vardır. Başka bir deyişle, bir düğümün gri olan bir komşusu varsa, o zaman bir döngü vardır (komşu siyah olduğunda değil). Gri bir düğüm şu anda torunlarını keşfettiğimiz anlamına gelir - ve böyle bir torunun bu gri düğüme bir kenarı varsa, bir döngü vardır. Bu nedenle, yönlendirilmiş grafiklerde döngü tespiti için 3 renge sahip olmanız gerekir. Başka örnekler de olabilir, ama fikri anlamanız gerekir.