İçeriğe atla
md ~/rehber/veri-yapilari
Rehbere dön

2. adım

Veri Yapıları

Veriyi nasıl tuttuğun, programının ne kadar hızlı çalışacağını belirler. Mülakatların ve sonraki bütün derslerin ortak noktası.

Önce bunları bilProgramlamaya Giriş

  • Diziler ve bağlı listeler
  • Yığın ve kuyruk
  • Hash tabloları
  • Ağaçlar ve ikili arama ağacı
  • Heap
  • Graflar
  • Big-O

Neden önemli

Aynı problemi bir listeyle de çözebilirsin, bir hash tablosuyla da; biri bir saniye, öteki bir saat sürer. Veritabanı indeksleri ağaçtır, işletim sisteminin iş sırası kuyruktur, harita uygulamaları graftır. Bu ders hem mülakatların hem de sonraki derslerin ortak dili.

Bilmen gerekenler

  • Dizi ve bağlı liste: hangisinde ekleme, silme, erişim ucuzdur.
  • Yığın (stack) ve kuyruk (queue); geri al tuşu ve yazıcı kuyruğu gibi örnekler.
  • Hash tablosu: çakışma (collision) nasıl çözülür, neden ortalamada O(1).
  • Ağaçlar, ikili arama ağacı, dengeli ağaç fikri (AVL, kırmızı-siyah).
  • Heap ve öncelik kuyruğu.
  • Graf gösterimleri: komşuluk matrisi ve komşuluk listesi.
  • Big-O ile karmaşıklık analizi.

Alıştırma ve proje

  • Her yapıyı en az bir kez sıfırdan kendin yaz; kütüphaneyi ancak ondan sonra kullan.
  • VisuAlgo gibi görselleştirme sitelerinde adımları izle.
  • LeetCode'un "Easy" sorularıyla başla; her yapıdan 5-10 soru çöz.

Sık yapılan hatalar

  • Yapıları ezberleyip "hangi problemde hangisi" sorusunu çalışmamak.
  • Big-O'yu sadece formül sanmak; kodundaki döngülere bakıp tahmin etmeyi öğren.
  • İşaretçili yapılarda (bağlı liste, ağaç) kâğıda çizmeden kod yazmak.

Bu dersi en çok kullanan meslekler