1. A computer controlled method for searching a data structure to extract possible matches of one or more known patterns that may exist in said data structure, said method comprising steps of: (a) building said data structure, said data structure having a starting node and one or more dependent nodes linked to said starting node; (b) matching said starting node with a first base leaf contained within a direction list, said direction list comprising a plurality of tnodes one of which is said first base leaf, said direction list also representing said one or more known patterns each capable of being represented within said data structure, each of said one or more known patterns sharing said first base leaf within said direction list, the plurality of tnodes including a plurality of tnode markers; (c) searching said data structure from said starting node for said one or more known patterns in said direction list by performing a single traversal of said direction list, said single traversal corresponding to said dependent nodes; and (d) accumulating one or more patterns dependent on step (c).