1. Method for creating a data structure including many data elements, comprising the steps of: receiving multiple data elements to be stored from an input data structure, providing a continuous array in memory, allocating memory space within said continuous array for said data elements, wherein said continuous array is distributed over primary and secondary memory storing said data elements in said allocated memory space, and creating a tree-based dictionary from said data elements received from said input data structure, comprising the steps of: associating an identifier with at least a subset of said data elements, storing each data element with an identifier in a tree within said continuous array, wherein one of common prefixes and common suffixes of said elements correspond to entries of said tree.