Veri Yapıları ve Algoritmalar: hızlı tekrar paketi

Formül kâğıtları, her konunun temel yöntem adımları ve 6 alıştırma sorusu; tam çözümler en sonda.

Yeni sorularDerse dön

Yazdırma penceresinde, bir kopyayı cihazınızda saklamak için “PDF olarak kaydet” seçeneğini seçin.

1Formüller ve yöntemler

Graf kuramı

El sıkışma lemması
Σ deg(v) = 2|E|
Tam graflar
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Düzgün (regüler) graf
|E| = n·k/2
Ağaç ve orman
|E| = n − 1, |E| = n − c
Ağacın yaprakları
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Euler
devre: tüm derecelerin çift olması; yol: tam olarak 2 tek derece
Kn içindeki Hamilton devreleri
(n − 1)!/2
Dijkstra güncellemesi
d(v) = min(d(v), d(u) + w(u, v))
L uzunluğundaki gezintiler
(Mᴸ)ij

Yöntem

  1. Her köşenin derecesini yazın; dereceler toplamı kenar sayısının iki katıdır.
  2. Euler sorularında grafın bağlantılı olduğunu denetleyin ve derecesi tek olan köşeleri sayın.
  3. Ağaçlarda n − 1 kenarı ve el sıkışma lemmasını kullanın.
  4. Dijkstra için geçici uzaklıkların bir tablosunu tutun ve her turda henüz kesinleşmemiş köşelerden en küçük uzaklığa sahip olanı kesinleştirin.
  5. En küçük kapsayan ağaç için kenarları ağırlığa göre sıralayın ve bir döngü kapatan her kenarı atlayın (Kruskal) ya da bir başlangıç köşesinden tek bir ağaç büyütün (Prim).

2Alıştırma soruları

1.Algoritmalar ve karmaşıklıkOrta

Hangi sıralama algoritması kararlıdır?

  1. ABirleştirmeli sıralama
  2. BYığın sıralaması
  3. CSeçmeli sıralama (tipik sürüm)
  4. DHızlı sıralama (tipik yerinde sürüm)
2.Algoritmalar ve karmaşıklıkZor

Gezgin satıcı problemi nasıl sınıflandırılır?

  1. ADijkstra algoritması her şehri bir kez ziyaret ederek onu çözdüğü için P'dedir
  2. BKarar verilemezdir
  3. CKarar versiyonu NP-tam, optimizasyon versiyonu NP-zordur
  4. DKarar versiyonu P'de, optimizasyon versiyonu ise NP-tamdır
3.Veri yapılarıOrta

"{[()]}" ifadesindeki parantezlerin dengeli olup olmadığını kontrol etmek için hangi veri yapısı kullanılır?

  1. AKarma tablosu
  2. Bİkili arama ağacı
  3. CYığın
  4. DKuyruk
4.Veri yapılarıZor

Bir nesne bir karma haritasında (hash map) anahtar olarak saklanıyor ve ardından karma fonksiyonunda kullanılan bir alanı değiştiriliyor. Olası sonuç nedir?

  1. AHiçbir şey değişmez, çünkü bir anahtarın karma değeri yalnızca program başlarken bir kez hesaplanır
  2. BHarita anahtarı otomatik olarak yeni kovasına taşır
  3. CNesne eski karma değerinin kovasında durduğu için onu arama başarısız olabilir
  4. DAlan değiştiği anda harita bir hata fırlatır
5.Graf kuramıOrta

K6 tam grafının kaç farklı Hamilton devresi (H) vardır? Yalnızca başlangıç köşesi ya da yönü farklı olan devreler aynı sayılır.

K6
H =
6.Graf kuramıZor
ABCDEF

C köşesinden B köşesine giden 3 uzunluğunda kaç gezinti vardır? Bir gezinti köşeleri ve kenarları tekrar edebilir. Sayıya N deyin.

M = komşuluk matrisiL = 3
N =

3Çözeltiler

1.Algoritmalar ve karmaşıklık

Cevap: A · Birleştirmeli sıralama

Cevap neden bu

Birleştirmeli sıralama, eşitlik durumunda birleştirme önce sol yarıdan eleman alırsa kararlıdır. Yerinde hızlı sıralama, yığın sıralaması ve seçmeli sıralama genellikle kararlı değildir.

Cevap

A · Birleştirmeli sıralama
2.Algoritmalar ve karmaşıklık

Cevap: C · Karar versiyonu NP-tam, optimizasyon versiyonu NP-zordur

Cevap neden bu

"Uzunluğu en fazla k olan bir tur var mı?" sorusu NP-tamdır; en kısa turu bulmak en az onun kadar zor olduğu için NP-zordur.

Cevap

C · Karar versiyonu NP-tam, optimizasyon versiyonu NP-zordur
3.Veri yapıları

Cevap: C · Yığın

Cevap neden bu

Her açılan parantezi push edin ve kapanan bir parantez geldiğinde pop edin; çıkan parantezle eşleşmeli ve sonunda yığın boş olmalıdır.

Cevap

C · Yığın
4.Veri yapıları

Cevap: C · Nesne eski karma değerinin kovasında durduğu için onu arama başarısız olabilir

Cevap neden bu

Anahtarın konumu eski karma değerine göre seçilmişti; yeni bir karma değeriyle aramalar yanlış kovayı arar, bu nedenle anahtarlar değişmez (immutable) olmalıdır.

Cevap

C · Nesne eski karma değerinin kovasında durduğu için onu arama başarısız olabilir
5.Graf kuramı

Cevap: H = 60

Euler, Hamilton ve ağaçlar: bağlantılı bir grafın tüm köşelerinin derecesi çiftse bir Euler devresi (her kenar bir kez, başlangıca dönüş), tam olarak iki köşenin derecesi tekse devre olmayan bir Euler yolu vardır; yol bir tek dereceli köşeden ötekine gider. Bir Hamilton devresi her köşeyi bir kez ziyaret eder; Kn grafında bunlardan (n − 1)!/2 tane vardır. n köşeli bir ağacın n − 1 kenarı vardır ve m kenarlı bağlantılı bir graf m − n + 1 kenar kaldırıldıktan sonra bir kapsayan ağaç bırakır.

Sayın

H = (6 − 1)!/2 = 120/2 = 60

Cevap

H = 60
6.Graf kuramı

Cevap: N = 7

Dereceler: bir köşenin derecesi ona değen kenar sayısıdır. Her kenarın iki ucu vardır; bu yüzden dereceler kenar sayısının iki katını verecek şekilde toplanır: Σ deg(v) = 2|E| (el sıkışma lemması). Dolayısıyla derecesi tek olan köşelerin sayısı çifttir. Kn grafının n(n − 1)/2 kenarı vardır, n köşeli k-düzgün bir grafın nk/2 kenarı vardır ve n köşeli bir ağacın n − 1 kenarı vardır.

Komşuluk matrisi

A: 0 1 1 0 0 0
B: 1 0 1 1 1 0
C: 1 1 0 0 1 0
D: 0 1 0 0 1 1
E: 0 1 1 1 0 1
F: 0 0 0 1 1 0

Bir adım daha

(M³)CB = 1·1 + 2·0 + 3·1 + 2·1 + 1·1 + 1·0 = 7

Cevap

N = 7

ExamProblems · examproblems.com/courses/data-structures-and-algorithms