KNOWPIA
WELCOME TO KNOWPIA

This is a list of well-known data structures. For a wider list of terms, see list of terms relating to algorithms and data structures. For a comparison of running times for a subset of this list see comparison of data structures.

- Boolean, true or false.
- Character
- Floating-point numbers, limited-precision approximations of real number values.
- Including single-precision and double-precision IEEE 754 floats, among others

- Fixed-point numbers
- Integer, integral or fixed-precision values
- Reference (also called a pointer or handle), a small value referring to another object's address in memory, possibly a much larger one
- Enumerated type, a small set of uniquely named values
- Date Time, value referring to Date and Time

- Array (as an example String which is an array of characters)
- Record also called structure
- Union (Tagged union is a subset, also called variant, variant record, discriminated union, or disjoint union)

- Container
- List
- Tuple
- Associative array, Map
- Multimap
- Set
- Multiset (bag)
- Stack
- Queue (example Priority queue)
- Double-ended queue
- Graph (example Tree, Heap)

Some properties of abstract data types:

Structure | Order | Unique |
---|---|---|

List | yes^{[dubious – discuss]} |
no |

Associative array | no | keys (indexes) only |

Set | no | yes |

Stack | yes | no |

Multimap | no | no |

Multiset (bag) | no | no |

Queue | yes | no |

Order means the insertion sequence counts. Unique means that duplicate elements are not allowed, based on some inbuilt or, alternatively, user-defined rule for comparing elements.

A data structure is said to be linear if its elements form a sequence.

- Array
- Bit array
- Bit field
- Bitboard
- Bitmap
- Circular buffer
- Control table
- Image
- Dope vector
- Dynamic array
- Gap buffer
- Hashed array tree
- Lookup table
- Matrix
- Parallel array
- Sorted array
- Sparse matrix
- Iliffe vector
- Variable-length array

Trees are a subset of directed acyclic graphs.

- AA tree
- AVL tree
- Binary search tree
- Binary tree
- Cartesian tree
- Conc-tree list
- Left-child right-sibling binary tree
- Order statistic tree
- Pagoda
- Randomized binary search tree
- Red–black tree
- Rope
- Scapegoat tree
- Self-balancing binary search tree
- Splay tree
- T-tree
- Tango tree
- Threaded binary tree
- Top tree
- Treap
- WAVL tree
- Weight-balanced tree

- Heap
- Binary heap
- B-heap
- Weak heap
- Binomial heap
- Fibonacci heap
- AF-heap
- Leonardo heap
- 2–3 heap
- Soft heap
- Pairing heap
- Leftist heap
- Treap
- Beap
- Skew heap
- Ternary heap
- D-ary heap
- Brodal queue

In these data structures each tree node compares a bit slice of key values.

- Radix tree
- Suffix tree
- Suffix array
- Compressed suffix array
- FM-index
- Generalised suffix tree
- B-tree
- Judy array
- Trie
- X-fast trie
- Y-fast trie
- Merkle tree

- Ternary tree
- K-ary tree
- And–or tree
- (a,b)-tree
- Link/cut tree
- SPQR-tree
- Spaghetti stack
- Disjoint-set data structure (Union-find data structure)
- Fusion tree
- Enfilade
- Exponential tree
- Fenwick tree
- Van Emde Boas tree
- Rose tree

These are data structures used for space partitioning or binary space partitioning.

- Segment tree
- Interval tree
- Range tree
- Bin
- K-d tree
- Implicit k-d tree
- Min/max k-d tree
- Relaxed k-d tree
- Adaptive k-d tree
- Quadtree
- Octree
- Linear octree
- Z-order
- UB-tree
- R-tree
- R+ tree
- R* tree
- Hilbert R-tree
- X-tree
- Metric tree
- Cover tree
- M-tree
- VP-tree
- BK-tree
- Bounding interval hierarchy
- Bounding volume hierarchy
- BSP tree
- Rapidly exploring random tree

Many graph-based data structures are used in computer science and related fields:

- Purely functional data structure
- Blockchain, a hash-based chained data structure that can persist state history over time

- Tommy Benchmarks Comparison of several data structures.