1. A method for searching for a route corresponding to a key in a multi-level lookup table, comprising the steps of: selecting a subtree entry by a subtree index; selecting one of a plurality of sparse subtree descriptors in the selected subtree entry, the sparse subtree descriptor including a plurality of node descriptors; converting the node descriptors in the selected sparse subtree descriptor to masked values; loading the masked values in memory in longest prefix order; searching the memory for a longest prefix match for a portion of the key; and selecting the route stored in another memory dependent on the address of the longest prefix match.