🗂️ Data Structures
Guides about fundamental and advanced data structures
<h1>What Are Data Structures?</h1>
FEATUREDWhen developing software, one of the most common questions you'll encounter is: "How should I store this data, how should I access it, and how should I manage it to be most efficient?" Data structures are exactly the answer to this question.
Genişlik Öncelikli Arama Breadth-First Search (BFS)
BFS nedir, kuyruk ile gerçekleme, seviye seviye dolaşma, ağırlıksız grafta en kısa yol bulma — adım adım görseller, karmaşıklık analizi ve C kodu.
Graf Temelleri Graph Fundamentals
Graf nedir, düğüm, kenar, derece, yol, döngü terminolojisi, yönlü, yönsüz ve ağırlıklı graf türleri, komşuluk matrisi ve komşuluk listesi gösterimleri — adım adım görseller ve C kodu.
Hash Tablosu Uygulamaları
Hash tablosu uygulamaları: yük faktörü ve rehashing, frekans sayma, tekrar eden eleman tespiti, iki dizinin kesişimi — adım adım görseller, karmaşıklık analizi ve C kodu.
Çarpışma Çözümleme Collision Handling
Hash tablolarında çarpışma çözümleme: Separate Chaining, Linear Probing, Quadratic Probing ve Double Hashing — kümeleme problemi, tombstone, performans karşılaştırması ile adım adım görseller ve C kodu.
Hash Tabloları Hash Temelleri
Hash fonksiyonu nedir, hash tablosu oluşturma, anahtar-değer çifti ekleme, değer arama, eleman silme — çarpışma çözümleri ile adım adım görseller ve C kodu.
B-Tree ve B+ Tree nedir? Ekleme, bölme (split), silme, birleştirme (merge) işlemleri, B+ Tree farkları ve veritabanı indeksleme mantığı — görsellerle anlatım.
B-Tree ve B+ Tree nedir? Ekleme, bölme (split), silme, birleştirme (merge) işlemleri, B+ Tree farkları ve veritabanı indeksleme mantığı — görsellerle anlatım.
Trie — Önek Ağacı
Trie önek ağacı oluşturma, kelime ekleme-arama-silme O(m), önek arama, otomatik tamamlama DFS — adım adım SVG görseller, karşılaştırma tabloları ve C kodu.
Heap — Yığın Ağacı
Min-Heap ve Max-Heap oluşturma, heapify-up ile ekleme, heapify-down ile çıkarma, diziden O(n) build-heap, heap sort — adım adım görseller ve C kodu.
Kırmızı-Siyah Ağaç Red-Black Tree
Kırmızı-Siyah ağaç 5 renklendirme kuralı, ekleme düzeltmeleri (3 durum), silme düzeltmeleri (4 durum) — adım adım görseller, akış diyagramları ve C kodu.
AVL Ağacı Kendini Dengeleyen BST
AVL ağacı denge faktörü hesaplama, LL/RR tek rotasyon, LR/RL çift rotasyon, dengeli ekleme-silme — adım adım görseller, karar tabloları ve C kodu ile anlatım.
İkili Arama Ağacı Binary Search Tree (BST)
BST oluşturma, eleman ekleme-arama-silme (yaprak, tek çocuk, iki çocuk), min/max bulma, BST doğrulama — adım adım görseller, karşılaştırma tabloları ve C kodu.
İkili Ağaçlar Binary Tree
İkili ağaç oluşturma, inorder/preorder/postorder/level-order traversal adım adım görsellerle, düğüm ekleme-silme, yükseklik-düğüm-yaprak sayısı hesaplama ve C kodu.
Ağaç Temelleri Tree Fundamentals
Ağaç terminolojisi, ağaç oluşturma, özyinelemeli tanım ve ağaç türlerine kapsamlı giriş.
Kuyruk Gerçeklemeleri Queue Implementations
Circular array queue vs linked list queue — bellek düzeni, tam C implementasyonları, adım adım görseller ve performans karşılaştırması.
Çift Uçlu Kuyruk Deque (Double-Ended Queue)
insertFront, insertRear, deleteFront, deleteRear — dairesel dizi üzerinde dört yönlü operasyon ve tam C implementasyonu.
Öncelik Kuyruğu Priority Queue
Min ve max priority queue, eleman ekleme, en yüksek/düşük öncelikli elemanı çıkarma — dizi tabanlı implementasyonlar ve karşılaştırmaları.
Dairesel Kuyruk - Circular Queue
Phantom fullness probleminin çözümü: wrap-around mantığı, enqueue/dequeue, boş-dolu ayrımı ve tam C implementasyonu.
Basit Kuyruk - Simple Queue
Kuyruk oluşturma, enqueue, dequeue, front/rear erişimi, isEmpty/isFull kontrolü — algoritmalar, bellek düzeni ve tam C implementasyonu.
Stack Uygulamaları Applications
Parantez dengeleme, infix-postfix-prefix dönüşümleri, postfix değerlendirme ve undo mekanizması — algoritmalar, adım adım görseller ve tam C implementasyonları.
Stack Uygulamaları - Implementations
Stack ADT'nin dizi ve bağlı liste ile gerçeklenmesi, avantaj-dezavantajları, bellek düzeni, performans analizi ve tam C implementasyonları.
Yığınlar - Stack Veri Yapısı
Stack, verilerin LIFO (Last In First Out) ilkesiyle yönetildiği soyut bir veri yapısıdır. Push, pop, peek gibi temel operasyonları dizi ve bağlı liste implementasyonlarıyla kapsar.
Dairesel Bağlı Listeler Circular Linked List
Dairesel bağlı listeler, son düğümün ilk düğüme bağlanmasıyla oluşan döngüsel yapılardır. Round-robin zamanlama ve döngü tespiti gibi konuları kapsar.
Çift Yönlü Bağlı Listeler Doubly Linked List
Her düğüm hem ileriyi hem geriyi gören, iki yönlü bağlantı zinciri
Tek Yönlü Bağlı Listeler - Singly Linked List
Elemanları pointer'larla birbirine bağlayan dinamik veri yapısı
Çok Boyutlu Diziler - Matrisler
Verileri satır ve sütunlardan oluşan tablolar halinde saklayan yapıdır
Tek Boyutlu Diziler - Tüm Operasyonlar
Verileri bellekte yan yana saklayan en temel yapı taşı: Array