डीएफएस करते समय, कोई भी नोड तीन राज्यों में से एक में होता है - दौरा किए जाने से पहले, अपने वंशजों के पुनरावर्ती दौरे के दौरान, और उसके बाद सभी वंशज का दौरा किया गया है (अपने माता-पिता, यानी रैप-अप चरण पर लौटना)। तीन रंग तीन राज्यों में से प्रत्येक के अनुरूप हैं। रंगों और यात्रा और वापसी के समय का उल्लेख करने का एक कारण स्पष्ट रूप से बेहतर समझ के लिए इन भेदों को बनाना है।
बेशक, इन रंगों के वास्तविक उपयोग हैं। एक निर्देशित ग्राफ पर विचार करें । मान लीजिए आप चक्र के अस्तित्व के लिए जी की जांच करना चाहते हैं । एक अप्रत्यक्ष ग्राफ़ में, यदि विचाराधीन नोड का एक काला या ग्रे पड़ोसी है, तो यह एक चक्र को इंगित करता है (और डीएफएस यह आपके द्वारा वर्णित के रूप में यात्रा नहीं करता है)। हालांकि, एक निर्देशित ग्राफ के मामले में , एक काले पड़ोसी का मतलब चक्र नहीं है। - उदाहरण के लिए, 3 कोने के साथ एक ग्राफ पर विचार एक , बी , और सी , के रूप में निर्देशित किनारों के साथ एक → बी , बी → सी , एक → सी । मान लीजिए कि DFS A से शुरू होता हैजीजीए , बी ,सीए → बीबी → सीए → सीए, तो दौरा , तो सी । जब यह ए में वापस आ गया है , तो यह जांचता है कि सी पहले से ही दौरा किया गया है और काला है। लेकिन ग्राफ में कोई चक्र नहीं है।बीसीएसी
एक निर्देशित ग्राफ में, एक चक्र मौजूद है अगर और केवल अगर एक नोड को फिर से देखा जाए तो इससे पहले कि उसके सभी वंशज का दौरा किया गया हो। दूसरे शब्दों में, यदि एक नोड के पास एक पड़ोसी है जो ग्रे है, तो एक चक्र है (और नहीं जब पड़ोसी काला है)। एक ग्रे नोड का मतलब है कि हम वर्तमान में इसके वंशज की खोज कर रहे हैं - और अगर इस तरह के वंशज के पास इस ग्रे नोड में बढ़त है, तो एक चक्र है। इसलिए, निर्देशित रेखांकन में चक्र का पता लगाने के लिए, आपके पास 3 रंग होने चाहिए। अन्य उदाहरण भी हो सकते हैं, लेकिन आपको विचार प्राप्त करना चाहिए।