Temel Kavramlar

Çizge teorisinin omurgası: tanımlar, özel çizgeler, temel teoremler.

G = (V, E)
Tür Döngü Katlı Kiriş
Basit çizge
Katlı çizge (multigraph)
Pseudograph
Yönlü çizge (digraf)
Yönlü katlı çizge

İşlem Komşuluk Listesi Komşuluk Matrisi
Hafıza Θ(V+E) Θ(V²)
(u,v) kiriş var mı? O(deg(u)) O(1)
u'nun tüm komşularını listele Θ(deg(u)) Θ(V)
Tercih edilir Seyrek (sparse) çizge Yoğun (dense) çizge

Havel-Hakimi Algoritması

Kₙ → nⁿ⁻²

BFS — Genişlik Öncelikli Arama

Sözde Kod — BFS
BFS(G, s)
  for each u ∈ V[G] − {s}
    color[u] ← WHITE
    d[u]     ← ∞
    π[u]     ← NIL
  color[s] ← GRAY
  d[s]     ← 0
  Q ← ∅
  ENQUEUE(Q, s)
  while Q ≠ ∅
    u ← DEQUEUE(Q)
    for each v ∈ Adj[u]
      if color[v] = WHITE
        color[v] ← GRAY
        d[v]     ← d[u] + 1
        π[v]     ← u
        ENQUEUE(Q, v)
    color[u] ← BLACK

// Time: O(V + E)

DFS — Derinlik Öncelikli Arama

Sözde Kod — DFS
DFS(G)
  for each u ∈ V[G]
    color[u] ← WHITE
    π[u] ← NIL
  time ← 0
  for each u ∈ V[G]
    if color[u] = WHITE
      DFS-VISIT(u)

DFS-VISIT(u)
  color[u] ← GRAY
  timetime + 1;  d[u] ← time
  for each v ∈ Adj[u]
    if color[v] = WHITE
      π[v] ← u
      DFS-VISIT(v)
  color[u] ← BLACK
  timetime + 1;  f[u] ← time

// Time: O(V + E)

Topolojik Sıralama

Sözde Kod — TOPOLOGICAL-SORT
TOPOLOGICAL-SORT(G)
  1. DFS(G) // her v için f[v] hesaplanır
  2. Köşeleri f[v] değerinin azalan sırasına göre sırala
  3. Sıralı listeyi döndür

// Time: Θ(V + E)
Sıralama

Prim Algoritması — Minimum Örten Ağaç

Sözde Kod — MST-PRIM
MST-PRIM(G, w, r)
  for each u ∈ V[G]
    key[u] ← ∞
    π[u]   ← NULL
  key[r] ← 0
  Q ← BuildMinHeap(V, key)
  while Q ≠ ∅
    u ← ExtractMin(Q)
    for each v ∈ Adj[u]
      if v ∈ Q and w(u, v) < key[v]
        π[v]   ← u
        key[v] ← w(u, v)

// Time: O(E lg V)

Kruskal Algoritması — Minimum Örten Ağaç

Sözde Kod — MST-KRUSKAL
MST-KRUSKAL(G, w)
  A ← ∅
  for each v ∈ V[G]
    Make-Set(v)
  Kirişleri ağırlığa göre artan sırayla sırala
  for each (u, v) ∈ E  // artan ağırlık
    if Find-Set(u) ≠ Find-Set(v)
      A ← A ∪ {(u, v)}
      Union(Find-Set(u), Find-Set(v))
  return A

// Time: O(E lg E)

Dijkstra — Tek Kaynaklı En Kısa Yol

Sözde Kod — DIJKSTRA
DIJKSTRA(G, w, s)
  INIT-SINGLE-SOURCE(V, s)   // d[v]←∞, π[v]←NIL, d[s]←0
  S ← ∅
  Q ← V[G]
  while Q ≠ ∅
    u ← EXTRACT-MIN(Q)
    S ← S ∪ {u}
    for each v ∈ Adj[u]
      if d[v] > d[u] + w(u, v)
        d[v] ← d[u] + w(u, v)
        π[v] ← u

// Time: O((V + E) log V)

Bellman-Ford

Sözde Kod — BELLMAN-FORD
BELLMAN-FORD(G, w, s)
  INIT-SINGLE-SOURCE(V, s)
  for i ← 1 to |V| − 1
    for each edge (u, v) ∈ E
      if d[v] > d[u] + w(u, v)
        d[v] ← d[u] + w(u, v); π[v] ← u
  for each edge (u, v) ∈ E
    if d[v] > d[u] + w(u, v)
      return FALSE
  return TRUE

// Time: O(V · E)

Floyd-Warshall

Sözde Kod — FLOYD-WARSHALL
FLOYD-WARSHALL(W)
  n ← rows[W]
  D ← W
  for k ← 1 to n
    for i ← 1 to n
      for j ← 1 to n
        D[i][j] ← min(D[i][j], D[i][k] + D[k][j])
  return D

// Time: Θ(V³)

Uzaklık Matrisi D

Ford-Fulkerson

Sözde Kod — FORD-FULKERSON
FORD-FULKERSON(G, s, t)
  for each edge (u, v) ∈ E
    f(u, v) ← 0
  while ∃ augmenting path p in residual G_f
    c_f(p) ← min{ c_f(u,v) : (u,v) ∈ p }
    for each (u, v) ∈ p
      f(u, v) ← f(u, v) + c_f(p)
  return f

// Edmonds-Karp (BFS path): O(V · E²)

Bipartite Matching

Gale-Shapley

Euler & Fleury

Strongly Connected Components

Bridges & Articulation Points

Havel-Hakimi

Oyun Alanı

=

0
0
0

|E| = 10

0

0

Sınav Notu

Karmaşıklık Özeti

Algoritma Veri Yapısı Zaman Çıktı
BFS FIFO Queue O(V+E) En kısa yol, BFS ağacı
DFS Stack / Recursion O(V+E) DFS ormanı, d/f zamanları
Topological Sort DFS (f[v] sırası) Θ(V+E) DAG köşe sırası
Kruskal Union-Find O(E lg E) Minimum Örten Ağaç
Prim Min-Heap O(E lg V) Minimum Örten Ağaç
Dijkstra Min-Heap O((V+E) lg V)
Bellman-Ford O(V·E)
Floyd-Warshall DP (matris) Θ(V³)
Ford-Fulkerson BFS (Edmonds-Karp) O(V·E²)
Bipartite Matching Augmenting path O(V·E)
Gale-Shapley O(N²)
Euler / Fleury DFS O(E²)
SCC (Kosaraju) 2 × DFS Θ(V+E)
Köprü / Eklem DFS disc/low O(V+E)
Havel-Hakimi O(n²)

Temel Teoremler

Temel Tanımlar

  • Cut vertex
  • Bridge
  • Block
  • Spanning tree
  • MST
  • DAG
  • Residual network
  • Augmenting path
  • Matching
  • SCC
  • disc / low
  • Euler yolu/devresi

Havel-Hakimi (hızlı özet)

Uyarı Kartları

⚠️
⚠️
⚠️
⚠️
⚠️
⚠️
⚠️
⚠️
⚠️
⚠️
⚠️
⚠️