[any programming language is at its best before it is implemented and used] any: ROOT programming: CHILD OF any language: CHILD OF programming (any: programming ==> language), (programming: language ==> NULL), (language: NULL ==> programming) (any: language ==> NULL), (language: NULL ==> any) is: CHILD OF any at: CHILD OF is (any: is ==> at), (is: at ==> NULL), (at: NULL ==> is) (language: any ==> at), (any: at ==> NULL), (at: NULL ==> any) its: CHILD OF is best: CHILD OF is before: CHILD OF best (language: at ==> is), (at: is ==> best), (is: best ==> at) (language: is ==> its), (is: its ==> language) it: CHILD OF its is: CHILD OF best implemented: CHILD OF is and: CHILD OF any used: CHILD OF programming Depth First Traversal: 3: and(RED) c=[NULL, NULL], p=[any] 2: any(BLACK) c=[and, NULL], p=[at] 3: before(BLACK) c=[NULL, NULL], p=[best] 4: implemented(RED) c=[NULL, NULL], p=[is] 3: is(BLACK) c=[implemented, NULL], p=[best] 2: best(RED) c=[before, is], p=[at] 1: at(BLACK) c=[any, best], p=[is] 3: it(RED) c=[NULL, NULL], p=[its] 2: its(BLACK) c=[it, NULL], p=[language] 3: used(RED) c=[NULL, NULL], p=[programming] 2: programming(BLACK) c=[NULL, used], p=[language] 1: language(BLACK) c=[its, programming], p=[is] 0: is(BLACK) c=[at, language], p=[NULL]