Veri yapısı
Örnekler

Genellikle daha basit ilkel veri türleri üzerine inşa edilen çok sayıda veri yapısı türü vardır. İyi bilinen örnekler şunlardır:
Dizi, belirli bir sıradaki, genellikle hepsi aynı türde olan bir dizi öğedir (dile bağlı olarak, tek tek öğelerin tümü aynı türde olmaya zorlanabilir veya hemen hemen her türde olabilir). Hangi öğenin gerekli olduğunu belirtmek için öğelere bir tam sayı dizini kullanılarak erişilir. Tipik uygulamalar dizilerin elemanları için bitişik hafıza kelimeleri tahsis eder (ancak bu her zaman bir zorunluluk değildir). Diziler sabit uzunlukta veya yeniden boyutlandırılabilir olabilir.
Bağlantılı liste (aynı zamanda liste olarak da adlandırılır), her düğümün kendine ait bir değere sahip olduğu ve bağlantılı listedeki bir sonraki düğüme işaret ettiği, düğüm adı verilen herhangi bir türdeki veri öğelerinin doğrusal bir koleksiyonudur. Bağlantılı listenin diziye göre temel avantajı, listenin geri kalanının yeri değiştirilmeden değerlerin her zaman verimli bir şekilde eklenip çıkarılabilmesidir. Ancak belirli bir öğeye rastgele erişim gibi diğer bazı işlemler, listelerde dizilere göre daha yavaştır.
Bir kayıt (aynı zamanda tuple veya yapı olarak da adlandırılır), toplu bir veri yapısıdır. Kayıt, genellikle sabit sayı ve sırayla diğer değerleri içeren ve genellikle adlara göre dizine eklenen bir değerdir. Kayıtların öğelerine genellikle alanlar veya üyeler denir. Nesne yönelimli programlama bağlamında kayıtlar, onları nesnelerden ayıran düz eski veri yapıları olarak bilinir.
Hash haritaları olarak da bilinen hash tabloları, anahtarlara dayalı olarak değerlerin hızlı bir şekilde alınmasını sağlayan veri yapılarıdır. Anahtarları bir dizideki indekslere eşlemek için bir karma işlevi kullanırlar ve ortalama durumda sabit zamanlı erişime izin verirler. Hash tabloları sözlüklerde, önbelleklerde ve veritabanı indekslemede yaygın olarak kullanılır. Ancak performanslarını etkileyebilecek karma çarpışmalar meydana gelebilir. Çarpışmaların üstesinden gelmek için zincirleme ve açık adresleme gibi teknikler kullanılır.
Çizgeler, varlıklar arasındaki ilişkileri temsil eden, kenarlarla birbirine bağlanan düğümlerin koleksiyonlarıdır. Çizgeler, diğer şeylerin yanı sıra sosyal ağları, bilgisayar ağlarını ve ulaşım ağlarını modellemek için kullanılabilir. Köşelerden (düğümler) ve kenarlardan (düğümler arasındaki bağlantılar) oluşurlar. Çizgeler yönlü veya yönsüz olabilir, döngülere sahip olabilir veya döngüsel olmayabilir. Çizge geçiş algoritmaları, genişlik öncelikli aramayı ve derinlik öncelikli aramayı içerir.
Ağaçlar öğelerin hiyerarşik organizasyonunu temsil eder. Ağaç, döngü içermeyen bir çizgedir ve kenarlarla birbirine bağlanan düğümlerden oluşur; bir düğüm köktür ve diğer tüm düğümler alt ağaçları oluşturur. Ağaçlar çeşitli algoritmalarda ve veri depolama senaryolarında yaygın olarak kullanılmaktadır. İkili ağaçlar (özellikle yığınlar), AVL ağaçları ve B ağaçları bazı popüler ağaç türleridir. Verilerin verimli ve optimum şekilde aranmasını, sıralanmasını ve hiyerarşik temsilini sağlarlar.
Yığınlar ve kuyruklar, diziler veya bağlantılı listeler kullanılarak uygulanabilen soyut veri türleridir. Bir yığının iki temel işlemi vardır: Son Giren İlk Çıkar (LIFO) prensibini takip eden yığının en üstüne bir öğe ekleme (push) ve yığından en üstteki öğeyi kaldırma (pop). Kuyrukların iki ana işlemi vardır: İlk Giren İlk Çıkar (FIFO), kuyruğun arkasına bir öğe ekleme (enqueue) ve kuyruğun en önündeki öğeyı kaldırma (dequeue).
Önek ağacı olarak da bilinen bir trie, karakter dizelerinin verimli bir şekilde alınması için kullanılan özel bir ağaç veri yapısıdır. Her kenar bir karakteri temsil edecek şekilde bir dizenin karakterlerini düğümler halinde depolamaya çalışır. Otomatik tamamlama, yazım denetimi ve sözlük uygulamaları gibi metin işleme senaryolarında özellikle kullanışlıdır. Denemeler, dizelerde hızlı arama ve önek tabanlı işlemleri mümkün kılar.