📄️ Veri Yapısı nedir
Veri yapıları, bilgisayarda depolanan ve işlenen verilerin belirli bir organizasyonunu ifade eder. Veri yapıları, veri elemanlarının depolanma, erişim, düzenlenme ve aranmasını etkili bir şekilde gerçekleştirmek için tasarlanmıştır.
📄️ Recursive - Özyinelemeli Fonksiyonlar Nedir
Recursive fonksiyonlar, kendilerini çağıran ve belirli bir koşul gerçekleşene kadar kendini tekrar eden fonksiyonlardır. Yani, bir fonksiyon kendi içinde kendini çağırarak işlem yapar. Bu, belirli bir görevi yerine getirmek için kullanılabilir, özellikle belirli bir görevin aynı veya benzer işlemlerinin tekrarlanması gerektiği durumlarda. Özyinelemeli fonksiyonlar, bir problemi küçük alt problemlere bölerek ve bu alt problemler için aynı fonksiyonu çağırarak çalışır.
📄️ Bağlı Liste (Linked List) Nedir
Bağlı Liste (Linked List), verilerin bellekte dinamik olarak depolanması için kullanılan bir veri yapısıdır. Veriler, birbirine bağlı düğümlerden oluşur ve her bir düğüm, veriyi ve bir sonraki düğümün adresini içerir.
📄️ Çift Yönlü Bağlı Listeler
Çift yönlü bağlı liste, bir veri yapısıdır ve tek yönlü bağlı listenin aksine, her bir düğümün bir önceki ve bir sonraki düğümle bağlantısı vardır. Bu nedenle çift yönlü bağlı liste, her iki yönde de ilerlenebilir.
📄️ Stack (Yığıt)
Bilgisayar biliminde, yığıt (stack), verilerin düzenli bir şekilde saklanmasına ve yönetilmesine izin veren bir veri yapısıdır. Yığıt, son giren ilk çıkar (Last In First Out - LIFO) mantığına dayanarak çalışır. Bu, son eklenen verinin, yığının en üstüne eklenmesi ve son eklenen verinin ilk olarak çıkarılması anlamına gelir.
📄️ Kuyruk (queue) Veri Yapısı
Kuyruk (queue) veri yapısı, elemanların sonuna ekleme (enqueue) ve başından çıkarma (dequeue) işlemlerinin yapılabildiği, ilk giren ilk çıkar (FIFO - first in, first out) prensibine göre çalışan bir veri yapısıdır.
📄️ Ağaç Veri Yapısı
Ağaç veri yapısı, birbirine bağlı düğümlerden oluşan hiyerarşik bir yapıdır. Ağaç, kök düğümden başlar ve dallara ayrılır. Her düğüm, birden çok alt düğüme sahip olabilir, ancak yalnızca bir üst düğüme bağlıdır. Bu nedenle, her düğüm, bir üst düğüme ve birden çok alt düğüme bağlıdır. Ağaç veri yapısı, birçok algoritma ve veri yapısında kullanılır, özellikle arama, ekleme, silme, gezinme gibi işlemler için kullanışlıdır. Ağaç veri yapısı, özellikle ikili arama ağaçları, AVL ağaçları, kırmızı-siyah ağaçları, B- ağaçları ve Heap ağaçları gibi birçok türde mevcuttur. Ağaç veri yapısı, verilerin hiyerarşik bir yapıda organize edilmesi gerektiği birçok uygulama için idealdir. Örnek olarak, aile ağacı, dosya sistemleri, XML verileri vb. veri yapıları ağaç veri yapısı ile oluşturulabilir.
📄️ Çizgeler (Graphs).md
Graf, nokta ve çizgi gibi temel öğelerden oluşan bir matematiksel yapıdır. Noktalar, grafikteki verileri veya nesneleri temsil ederken, çizgiler noktalar arasındaki ilişkiyi ifade eder.
📄️ Heap
Heap, ağaç şeklinde bir veri yapısıdır ve özellikle öncelik kuyruklarında kullanılır. Heap, tam bir ağaçtır ve her düğümün iki çocuğu vardır. Heap, en üst düğümün değeri (kök) daima belirli bir özelliğe göre en küçük veya en büyük değerdir. Bu özellik, "min-heap" veya "max-heap" olarak adlandırılır.
📄️ Hashing
Hashing, bir anahtar-değer ikilisine dayalı olarak verileri depolamak ve aramak için kullanılan bir yöntemdir. Bu yöntemde, anahtar değerleri özel bir matematiksel işleme tabi tutularak, bu işlem sonucunda elde edilen değere göre bir dizi indeksleri belirlenir. Bu dizideki her bir indeks, bir kova (bucket) olarak adlandırılır ve her bir kova, bir değer depolayabilir.