Struktura danych
Sposób organizacji danych w pamięci, który sprawia, że określone operacje są wydajne. Dobór właściwej struktury bywa różnicą między O(n) a O(log n).
Podstawy: tablica, lista wiązana, stos, kolejka, tablica z haszowaniem, drzewo (BST, B-drzewo, trie), kopiec, graf. Bardziej wyspecjalizowane: filtr Blooma, skip lista, drzewo Fenwicka, drzewo przedziałowe, tablica sufiksowa. Tekstami referencyjnymi są prace Roberta Tarjana oraz Sztuka programowania Donalda Knutha. Nowocześniej: struktury trwałe i niezmienne (Clojure, Scala) oraz CRDT w aplikacjach rozproszonych.