ArticleslgStudy

computer science

Succinct data structure

Succinct data structure is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Succinct data structure rather than just read about it. In short: In computer science, a succinct data structure is a data structure which uses an amount of space that is "close" to the information-theoretic lower bound, but (unlike other compressed representations) still allows for efficient query operations. The concept was originally introduced by Jacobson to encode bit vectors, (unlabeled) trees, and planar graphs.

Key takeaways

  • Succinct data structure belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Succinct data structure to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Succinct data structure from memory before moving on to harder problems.

Reference excerpt

In computer science, a succinct data structure is a data structure which uses an amount of space that is "close" to the information-theoretic lower bound, but (unlike other compressed representations) still allows for efficient query operations. The concept was originally introduced by Jacobson to encode bit vectors, (unlabeled) trees, and planar graphs. Unlike general lossless data compression algorithms, succinct data structures retain the ability to use them in-place, without decompressing them first. A related notion is that of a compressed data structure, insofar as the size of the stored or encoded data similarly depends upon the specific content of the data itself. Suppose that Z {\displaystyle Z} is the information-theoretical optimal number of bits needed to store some data. A representation of this data is called:

implicit if it takes Z + O ( 1 ) {\displaystyle Z+O(1)} bits of space, succinct if it takes Z + o ( Z ) {\displaystyle Z+o(Z)} bits of space, and compact if it takes O ( Z ) {\displaystyle O(Z)} bits of space. For example, a data structure that uses 2 Z {\displaystyle 2Z} bits of storage is compact, Z + Z {\displaystyle Z+{\sqrt {Z}}} bits is succinct, Z + lg ⁡ Z {\displaystyle Z+\lg Z} bits is also succinct, and Z + 3 {\displaystyle Z+3} bits is implicit. Implicit structures are thus usually reduced to storing information using some permutation of the input data; the most well-known example of this is the heap.

Succinct indexable dictionaries Succinct indexable dictionaries, also called rank/select dictionaries, form the basis of a number of succinct representation techniques, including binary trees, k {\displaystyle k} -ary trees and multisets, as well as suffix trees and arrays. The basic problem is to store a subset S {\displaystyle S} of a universe U = [ 0 … n ) = { 0 , 1 , … , n − 1 } {\displaystyle U=[0\dots n)=\{0,1,\dots ,n-1\}} , usually represented as a bit array B [ 0 … n ) {\displaystyle B[0\dots n)} where B [ i ] = 1 {\displaystyle B[i]=1} iff i ∈ S . {\displaystyle i\in S.} An indexable dictionary supports the usual methods on dictionaries (queries, and insertions/deletions in the dynamic case) as well as the following operations:

r a n k q ( x ) = | { k ∈ [ 0 … x ] : B [ k ] = q } | {\displaystyle \mathbf {rank} _{q}(x)=|\{k\in [0\dots x]:B[k]=q\}|}

s e l e c t q ( x ) = min { k ∈ [ 0 … n ) : r a n k q ( k ) = x } {\displaystyle \mathbf {select} _{q}(x)=\min\{k\in [0\dots n):\mathbf {rank} _{q}(k)=x\}}

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Succinct data structure

Start with the simplest possible case. Write down what Succinct data structure claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Succinct data structure before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Succinct data structure ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Succinct data structure

In research
Succinct data structure appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Succinct data structure in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Succinct data structure is common in secondary-school and first-year university syllabi. It links to neighbouring topics Succinct data structure, so understanding it makes those chapters shorter.
In everyday life
Look for Succinct data structure outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Succinct data structure in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Succinct data structure means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Succinct data structure out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Succinct data structure in simple terms?

In computer science, a succinct data structure is a data structure which uses an amount of space that is "close" to the information-theoretic lower bound, but (unlike other compressed representations) still allows for efficient query operations. The concept was originally introduced by Jacobson to…

Why does Succinct data structure matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Succinct data structure?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Succinct data structure.

Tags

  • Succinct data structure

Keep exploring