### Succinct: merge definitions into a list

 ... ... @@ -24,14 +24,17 @@ The information-theoretical optimum is $OPT(n) := \lceil\log |X(n)|\rceil$ Now we can define three classes of data structures based on their fine-grained space efficiency: \defn{An {\I implicit data structure} is one with $s(n) \le OPT(n) + \O(1)$.} \defn{A data structure is \tightlist{o} \:{\I implicit} when $s(n) \le OPT(n) + \O(1)$, \:{\I succinct} when $s(n) \le OPT(n) + {\rm o}(OPT(n))$, \:{\I compact} when $s(n) \le \O(OPT(n))$. \endlist } A typical implicit data structure contains just its elements in some order and nothing more. Examples include sorted arrays and heaps. \defn{A {\I succinct data structure} is one with $s(n) \le OPT(n) + {\rm o}(OPT(n))$.} \defn{A {\I compact data structure} is one with $s(n) \le \O(OPT(n))$.} Note that some linear-space data structures are not even compact -- because we are counting bits now, not words. For example, a linked list representing a length-$n$ sequence of numbers from range $[m]$ needs $\O(n (\log n + \log m))$ ... ... @@ -45,4 +48,5 @@ fast operations on these space-efficient data structures. \section{Succinct representation of strings} \endchapter