1. A computer-executed method of subsequence matching, comprising: receiving a search string comprising a plurality of subsequences, wherein a tree structure comprises the plurality of subsequences in a corresponding plurality of nodes, and wherein each of the plurality of nodes comprises a presence bit map, a sequence bit map, and a list of address pointers; traversing the tree structure using the search string, the presence bit map, the sequence bit map, and the list of address pointers; and identifying, in linear time, the plurality of subsequences based on the search string, the presence bit map, the sequence bit map, and the list of address pointers.