Algoritmalara Giriş 6.046J/18.401J

Benzer belgeler
Algoritmalara Giriş. Prof. Erik Demaine. November 16, 2005 Copyright by Erik D. Demaine and Charles E. Leiserson L18.1

Algoritmalar. Ders 14 En Kısa Yollar II Bellman-Ford algoritması Floyd-Warshall algoritması

10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST)

Problem Set 1 Çözümler

Algoritmalara Giriş J/18.401J Ders 15. Dinamik Programlama En uzun ortak altdizi En uygun altyapı Altproblemlerin çakışması

11.Hafta En kısa yollar I-II-III Devam. Negatif Ağırlıklı En Kısa Yollar Doğruluk Çözümleme

Ara Sınav 1. Algoritmalara Giriş 14 Ekim 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Kitapçık 14

Algoritmalar. DERS 7 Dengeli Arama Ağaçları Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme

Algoritmalara Giriş 6.046J/18.401J

Algoritmalar. Çizge Algoritmaları. Bahar 2017 Doç. Dr. Suat Özdemir 1

Pratik Ara Sınav 1 Çözümleri

Algoritmalar. DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama Sayı üstelleri Fibonacci sayıları Matriks çarpımı Strassen in algoritması

6.046J/18.401J DERS 7 Kıyım Fonksiyonu (Hashing I) Prof. Charles E. Leiserson

Algoritmalara Giriş Eylül 21, 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Çalışma notu 6

Algoritmalara Giriş 6.046J/18.401J DERS 2

Problem Seti 8 Çözümleri

Algoritmalara Giriş Ekim 17, 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 15.


köşe (vertex) kenar (edg d e)

Problem Seti 4 Çözümler

Çizgeler (Graphs) Doç. Dr. Aybars UĞUR

Algoritmalara Giriş Ekim 31, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım 19.

DOĞU AKDENİZ ÜNİVERSİTESİ MATEMATİK BÖLÜMÜ 23. LİSELERARASI MATEMATİK YARIŞMASI

Algoritmalara Giriş. Prof. Erik Demaine. September 26, 2005 Copyright Erik D. Demaine and Charles E. Leiserson L5.1

Algoritmalara Giriş 6.046J/18.401J

ÜNİVERSİTEMİZ AKADEMİK VE İDARİ BİRİMLERİNİN DEĞERLİ YÖNETİCİ VE PERSONELİ

Bir algoritma aşağıdaki ğ dki özelliklere sahip komutların sonlu bir kümesidir.

ç ö ö ş ç ş ş ç Ş ç ç Ö Ü ç

11. SINIF. No Konular Kazanım Sayısı GEOMETRİ TRİGONOMETRİ Yönlü Açılar Trigonometrik Fonksiyonlar

Algoritmalara Giriş Kasım 7, 2005 Massachusetts Institute of Technology Profesör Erik D. Demaine ve Charles E. Leiserson Dağıtım 22.

ÇİZGE KURAMI KESİKLİ MATEMATİKSEL YAPILAR GÜZ

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

Problem Seti 2 Çözümler

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ

ç Ş Ş Ç Ü Ğ Ç Ç Ş

ç İ Ü Ü Ü» üç ü İ

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

ÜÜ Ü ö ö ö Ö ö ö ö ö ö Ş Ş Ç ö Ş Ş ö








Ü ş ş ş ü ü ü ş ü ş Ç Üü Üü üü ü ş

İ ü ü ü ü ü

Ü Ü




ü ü ü ü ü ü ü Ş ü ü ü ü ü üü ü ü

Pratik Final Sınavı Çözümleri 2

Algoritmalara Giriş Ekim 10, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson. Problem Seti 3 Çözümler

İleri Diferansiyel Denklemler

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#9: AÇGÖZLÜ ALGORİTMALAR

1. Metrik Uzaylar ve Topolojisi

2.3. KAZANIM SAYISI VE SÜRE TABLOSU

Azalt ve Fethet Algoritmaları

7. BÖLÜM İÇ ÇARPIM UZAYLARI İÇ ÇARPIM UZAYLARI İÇ ÇARPIM UZAYLARI İÇ ÇARPIM UZAYLARI .= Genel: Vektörler bölümünde vektörel iç çarpım;

BIP116-H14-1 BTP104-H014-1

GRAPH LAR Düzce Üniversitesi Teknoloji Fakültesi VERİ YAPILARI. Bilgisayar Mühendisliği ÖĞR.GÖR.GÜNAY TEMÜR 1

ç ç ç ç Ö ç ç Ş ç ç Ç


Podoloji Türkiye K İ M L İ K K I L A V U Z U

Problem Seti 7 Çözümleri

Tanım 8.1.1:Bir T (serbest) ağacı aşağıdaki özelliğisağlayan bir basit çizgedir: Tçizgesindeiki köşevvewise, bu durumdavd köşesinden w köşesine tek

Ş

6.046J/18.401J DERS 9. Post mortem (süreç sonrası) Prof. Erik Demaine

Matris İşlemleri Uygulaması

Öğr. Gör. Serkan AKSU

DENGELEME HESABI-I DERS NOTLARI

İç-Çarpım Uzayları ÜNİTE. Amaçlar. İçindekiler. Yazar Öğr. Grv. Dr. Nevin ORHUN


Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Veri Yapıları Dersi. Proje#2

TÜRKİYE İŞ KURUMU GENEL MÜDÜRLÜĞÜ ISPARTA ÇALIŞMA VE İŞ KURUMU İL MÜDÜRLÜĞÜ

Limit. 1.1 Soldan ve Sağdan Yaklaşım. 1.2 Fonksiyonun Limiti

3. TAHMİN En Küçük Kareler (EKK) Yöntemi 1

Veri Yapıları. Yrd. Doç. Dr. Şadi Evren ŞEKER

Şimdi de [ ] vektörünün ile gösterilen boyu veya büyüklüğü Pisagor. teoreminini iki kere kullanarak

15. Bağıntılara Devam:

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz

Tanım 5.1.1: n ve d tamsayılar ve d 0 olsun. Eğer n=dq olacak şekilde bir q tamsayısı varsa d sayısı n sayısını böler denir. Burada q sayısına bölüm

KODLABOZ UYGULAMA YÖNTEMİ

Cahit Arf Matematik Günleri 10

DENEY 3. IŞIĞIN POLARİZASYONU. Amaç: - Analizörün pozisyonunun bir fonksiyonu olarak düzlem polarize ışığın yoğunluğunu ölçmek.

Algoritmalara Giriş Massachusetts Institute of Technology Profesör Erik D. Demaine ve Charles E. Leiserson. Problem Seti 6 Çözümleri

MAT223 AYRIK MATEMATİK

12. SINIF. Ağırlık (%) SAYILAR VE CEBİR ÜSTEL VE LOGARİTMİK FONKSİYONLAR Üstel Fonksiyon 1 8 4

Graflar bilgi parçaları arasındaki ilişkileri gösterirler.

Transkript:

Algoritmalara Giriş 6.046J/18.401J Ders 17 En kısa yollar I En kısa yolların özellikleri Dijkstra algoritması Doğruluk Çözümleme Enine arama Prof. Erik Demaine November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.1

Grafiklerde yollar w : E R kenar-ağırlık fonksiyonu olan bir G = (V, E) yönlendirilmiş grafiği olduğunu düşünün. Yolun ağırlığı olan p = v 1 v L v k k 1 w ( p) = w( v i, v i + 1) olarak tanımlanır. i= 1 November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.

Grafiklerde yollar w : E R kenar-ağırlık fonksiyonu olan bir G = (V, E) yönlendirilmiş grafiği olduğunu düşünün. Yolun ağırlığı olan p = v 1 v L v k Örnek: k 1 w ( p) = w( v i, v i + 1) olarak tanımlanır. i= 1 v 1 v v 3 v 5 v v 4 4 5 1 w(p) = November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.3

En kısa yollar u' dan v ' ye en kısa yol, u ' dan v ' ye en az ağırlıklı yoldur. u ' dan v ' ye en kısa yolun ağırlığı δ(u, v) = min{w(p) olarak tanımlanır: p, u dan v ye bir yoldur}. Not:u ' dan v ' bir yol yoksa δ(u, v) = November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.4

En uygun altyapı Teorem.En kısa yolun alt yolu, bir en kısa yoldur. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.5

En uygun altyapı Teorem.En kısa yolun alt yolu, bir en kısa yoldur. Kanıt.Kes ve yapıştır: November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.6

En uygun altyapı Teorem.En kısa yolun alt yolu, bir en kısa yoldur. Kanıt.Kes ve yapıştır: November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.7

Üçgen eşitsizliği Teorem.Tüm u, v, x V' ler için, δ(u, v) δ(u, x) + δ(x, v). November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.8

Üçgen eşitsizliği Teorem.Tüm u, v, x V' ler için, δ(u, v) δ(u, x) + δ(x, v). Kanıt. uu δ(u, v) vv δ(u, x) δ(x, v) xx November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.9

En kısa yolların iyi tanımlanırlığı Bir G grafiği negatif ağırlık döngüsü içeriyorsa, bazı en kısa yollar var olmayabilir. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.10

En kısa yolların iyi tanımlanırlığı Bir G grafiği negatif ağırlık döngüsü içeriyorsa, bazı en kısa yollar var olmayabilir. Örnek: < 0 uu vv November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.11

Tek-kaynaklı en kısa yollar Problem. s V ' deki verilen bir kaynak köşeden, tüm v V' ler için, δ(s, v) en kısa yol ağırlıklarını bulun. Tüm w(u, v) kenar ağırlıkları eksi değilse bütün en kısa yol ağırlıklarının olması gerekir. Fikir:Açgözlü. 1. s ' den başlayan ve S içindeki tüm köşelere olan en kısa yol uzunlukları bilinen köşelerin kümesini koru.. Her adımda S' ye, s' ye olan uzaklık tahmini en az olan v V S köşesine ekle. 3. v' ye bitişik köşelerin uzaklık tahminlerini güncelle. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.1

Dijkstra algoritması d[s] 0 for each v V {s} do d[v] S Q V Q, V S'yi koruyan bir öncelikli sıradır. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.13

Dijkstra algoritması d[s] 0 for each v V {s} do d[v] S while Q do u EXTRACT-MIN(Q) S S {u} for each v Adj[u] do if d[v] > d[u] + w(u, v) then d[v] d[u] + w(u, v) November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.14

Dijkstra algoritması d[s] 0 for each v V {s} do d[v] S Q V while Q do u EXTRACT-MIN(Q) S S {u} for each v Adj[u] do if d[v] > d[u] + w(u, v) then d[v] d[u] + w(u, v) Q is a priority queue maintaining V S Gevşeme Adımı Implicit DECREASE-KEY November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.15

Dijkstra algoritmasına örnek Eksi olmayan kenar ağırlıklarıyla grafik: AA 10 BB D 8 1 4 7 9 3 CC EE November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.16

Dijkstra algoritmasına örnek İlklendirme: 10 BB D 0 A 8 1 4 7 9 Q: A B C D E 0 3 S: {} CC EE November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.17

Dijkstra algoritmasına örnek A EXTRACT-MIN(Q): 0 A 10 BB D 8 1 4 7 9 Q: A B C D E 0 3 CC S: { A } EE November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.18

Dijkstra algoritmasına örnek A'dan ayrılan tüm kenarları gevşetin: 0 A 10 10 BB D 8 1 4 7 9 Q: A B C D E 0 10 3 3 CC S: { A } EE 3 November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.19

Dijkstra algoritmasına örnek C EXTRACT-MIN(Q): 0 A 10 10 BB D 8 1 4 7 9 Q: A B C D E 0 10 3 3 CC S: { A, C } EE 3 November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.0

Dijkstra algoritmasına örnek C'den ayrılan tüm kenarları gevşetin: 0 A 10 7 11 BB D 8 1 4 7 9 Q: A B C D E 0 10 3 7 11 5 3 S: { A, C } CC EE 3 5 November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.1

Dijkstra algoritmasına örnek E EXTRACT-MIN(Q): 0 A 10 7 11 BB D 8 1 4 7 9 Q: A B C D E 0 10 3 7 11 5 3 CC EE 3 5 S: { A, C, E } November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.

Dijkstra algoritmasına örnek E'den ayrılan tüm kenarları gevşetin: 0 A 10 7 11 BB D 8 1 4 7 9 Q: A B C D E 0 10 3 7 11 5 7 11 3 CC EE 3 5 S: { A, C, E } November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.3

Dijkstra algoritmasına örnek B EXTRACT-MIN(Q): 0 A 10 7 11 BB D 8 1 4 7 9 Q: A B C D E 0 10 3 7 11 5 7 11 3 CC EE 3 5 S: { A, C, E, B } November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.4

Dijkstra algoritmasına örnek B'den ayrılan tüm kenarları gevşetin: 0 A 10 7 9 BB D 8 1 4 7 9 Q: A B C D E 0 10 3 7 11 5 7 11 9 3 CC S: { A, C, E, B } EE 3 5 November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.5

Dijkstra algoritmasına örnek D EXTRACT-MIN(Q): 0 A 10 7 9 BB D 8 1 4 7 9 Q: A B C D E 0 10 3 7 11 5 7 11 9 3 CC EE 3 5 S: { A, C, E, B, D } November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.6

Doğruluk Bölüm I Ön kuram. d[s] 0 ve d[v] ' yi tüm v V {s}' ler için ilklendirme, d[v] δ(s, v)'yi sağlartüm v V ' ler için: Ve bu değişmez dizideki tüm gevşetme adımlarında korunur. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.7

Önkuram. d[s] 0 ve d[v] ' yi tüm v V {s}' ler için ilklendirme d[v] δ(s, v)' yi sağlartüm v V ' ler için: Ve bu değişmez dizideki tüm gevşetme adımlarımda korunur. Kanıt.Şunun olmadığını düşünün. v, d[v] < δ(s, v)' deki ilk köşe olsun ve u' da d[v]' yi değiştiren ilk köşe olsun: d[v] = d[u] + w(u, v). O zaman, d[v] < δ(s, v) kabul δ(s, u) + δ(u, v) üçgen eşitsizliği δ(s,u) + w(u, v) kısa yol özel yol d[u] + w(u, v) v ilk ihlal Çelişki. November 14, 005 Doğruluk Bölüm II Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson

Doğruluk Bölüm II Ön kuram. u, s' den v' ye en kısa yolda v'nin atası olsun. O durumda, eğer d[u] = δ(s, u) ve kenar (u, v)gevşetilmişse, gevşemeden sonra elimizde d[v] = δ(s, v) olur. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.9

Doğruluk Bölüm II Ön kuram. u, s' den v' ye en kısa yolda v' nin atası olsun. O durumda, eğer d[u] = δ(s, u)ve kenar (u, v) gevşetilmişse, gevşemeden sonra elimizde d[v] = δ(s, v) olur. Kanıt. δ(s, v) = δ(s, u) + w(u, v) olduğuna dikkat edin. Gevşetmeden önce d[v] > δ(s, v) olduğunu farzedin. (Diğer türlü, bitirmiştik.) Sonra, d[v] > d[u] + w(u, v) testi başarılı, çünkü d[v] > δ(s, v) = δ(s, u) + w(u, v) = d[u] + w(u, v) ve algoritma d[v] = d[u] + w(u, v) = δ(s, v)' yi ayarlar. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.30

Doğruluk Bölüm III Teorem. Dijkstra algoritması tüm v V için d[v] = δ(s, v) ile sonlanır. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.31

Doğruluk Bölüm III Teorem. Dijkstra algoritması tüm v V için d[v] = δ(s, v) ile sonlanır. Kanıt.v, S' ye eklenirken, her v V için d[v] = δ(s, v) olduğunu göstermek yeterlidir. Her d[u] >δ(s, u) için u' nun S' ye eklenen ilk köşe olduğunu düşünün.y, s' den u' ya en kısa yol boyunca V S de ilk köşe olsun, x de onun atası olsun: u' yu eklemeden önceki S. ss xx yy uu November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.3

Doğruluk Bölüm III(devamı) ss S xx yy uu Eğer u, belirlenen değişmezi ihlal eden ilk köşe ise d[x] = δ(s, x) elde ederiz. x, S' ye eklendiğinde kenar (x, y) gevşetildi ki bu d[y] =δ(s, y) δ(s, u) < d[u] anlamına gelir. Fakat, bizim u seçimimizle d[u] d[y] olur. Çelişki. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.33

Dijkstra' nın çözümlemesi while Q do u EXTRACT-MIN(Q) S S {u} for each v Adj[u] do if d[v] > d[u] + w(u, v) then d[v] d[u] + w(u, v) November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.34

Dijkstra' nın çözümlemesi V kere while Q do u EXTRACT-MIN(Q) S S {u} for each v Adj[u] do if d[v] > d[u] + w(u, v) then d[v] d[u] + w(u, v) November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.35

Dijkstra' nın çözümlemesi V kere (u)derecesi kere while Q do u EXTRACT-MIN(Q) S S {u} for each v Adj[u] do if d[v] > d[u] + w(u, v) then d[v] d[u] + w(u, v) November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.36

Dijkstra' nın çözümlemesi V kere (u)derecesi kere while Q do u EXTRACT-MIN(Q) S S {u} for each v Adj[u] do if d[v] > d[u] + w(u, v) then d[v] d[u] + w(u, v) Tokalaşma önkuramı Θ(E) implicit (gizli) DECREASE-KEY s. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.37

Dijkstra' nın çözümlemesi V kere (u)derecesi kere while Q do u EXTRACT-MIN(Q) S S {u} for each v Adj[u] do if d[v] > d[u] + w(u, v) then d[v] d[u] + w(u, v) Tokalaşma önkuramı Θ(E) implicit (gizli) DECREASE-KEY s. Time(süre) = Θ(V T EXTRACT -MIN + E T DECREASE-KEY ) Not: Prim in en az kapsayan ağaç algoritmasının çözümlemesinde de aynı formül. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.38

Dijkstra' nın çözümlemesi (devamı) Time (süre) = Θ(V) T EXTRACT -MIN + Θ(E) T DECREASE-KEY Q TEXTRACT-MIN T DECREASE -KEY Toplam November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.39

Dijkstra' nın çözümlemesi (devamı) Time (süre) = Θ(V) T EXTRACT -MIN + Θ(E) T DECREASE-KEY Q TEXTRACT-MIN T DECREASE -KEY Toplam dizilim O(V) O(1) O(V ) November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.40

Dijkstra' nın çözümlemesi (devamı) süre = Θ(V) T EXTRACT -MIN + Θ(E) T DECREASE-KEY Q TEXTRACT-MIN T DECREASE -KEY Toplam dizilim O(V) O(1) O(V ) ikili yığın O(lg V) O(lg V) O(E lg V) November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.41

Dijkstra' nın çözümlemesi (devamı) Süre = Θ(V) T EXTRACT -MIN + Θ(E) T DECREASE-KEY Q TEXTRACT-MIN T DECREASE -KEY Toplam dizilim O(V) O(1) O(V ) ikili yığın Fibonacci yığını O(lg V) O(lg V) O(E lg V) O(lg V) amortize O(1) amortize O(E + V lg V) en kötü durum November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.4

Ağırlıklandırılmamış grafikler Tüm (u, v) E'ler için w(u, v) = 1 olduğunu farzedin. Dijkstra algoritması geliştirilebilir mi? November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.43

Ağırlıklandırılmamış grafikler Tüm (u, v) E'ler için w(u, v) = 1 olduğunu farzedin. Dijkstra algoritması geliştirilebilir mi? Bir öncelik sırası yerine basit FIFO sırası kullanın. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.44

Ağırlıklandırılmamış grafikler Tüm (u, v) E'ler için w(u, v) = 1 olduğunu farzedin. Dijkstra algoritması geliştirilebilir mi? Bir öncelik sırası yerine basit FIFO sırası kullanın. arama while Q do u DEQUEUE(Q) for each v Adj[u] do if d[v] = then d[v] d[u] + 1 ENQUEUE(Q, v) November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.45

Ağırlıklandırılmamış grafikler Tüm (u, v) E'ler için w(u, v) = 1 olduğunu farzedin. Dijkstra algoritması geliştirilebilir mi? Bir öncelik sırası yerine basit FIFO sırası kullanın. Sığ öncelikli arama while Q do u DEQUEUE(Q) for each v Adj[u] do if d[v] = then d[v] d[u] + 1 ENQUEUE(Q, v) Çözümleme: Time(süre)= O(V + E). November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.46

Enine arama için örnek aa bb cc dd ee f gg hh ii Q: November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.47

Enine arama için örnek 0 aa bb cc dd ee f gg hh ii 0 Q: a November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.48

Enine arama için örnek 0 1 1 aa bb cc dd ee 1 1 Q: a b d f gg hh ii November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.49

Enine arama için örnek 0 1 1 aa bb cc dd ee 1 Q: a b d c e f gg hh ii November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.50

Enine arama için örnek 0 1 1 aa bb cc dd ee Q: a bdc e f gg hh ii November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.51

Enine arama için örnek 0 1 1 aa bb cc dd ee Q: a bdce f gg hh ii November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.5

Enine arama için örnek 0 1 1 aa bb cc dd ee 3 f gg 3 3 3 Q: a b d c e g i hh ii November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.53

Enine arama için örnek 0 1 aa bb cc 1 dd ee 3 4 f gg 3 3 4 Q: a b d c e g i f hh ii November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.54

Enine arama için örnek 0 1 aa bb cc 1 dd ee 3 4 4 f gg 3 4 4 Q: a b d c e g i f h hh ii November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.55

Enine arama için örnek 0 1 aa bb cc 1 dd ee 3 4 4 f gg 3 4 Q: a b d c e g i f h hh ii November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.56

Enine arama için örnek 0 1 aa bb cc 1 dd ee 3 4 4 f gg 3 Q: a b d c e g i f h hh ii November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.57

Enine arama için örnek 0 1 aa bb cc 1 dd ee 3 4 4 f gg 3 Q: a b d c e g i f h hh ii November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.58

(BFS)Enine arama'nın doğruluğu while Q do u DEQUEUE(Q) for each v Adj[u] do if d[v] = then d[v] d[u] + 1 ENQUEUE(Q, v) Anahtar fikir: Enine aramadaki FIFO Q, Dijkstra' nın öncelikli sıralamasındaki kuyruk Q' yu taklit eder. Değişmez: Q'da v, u' dan sonra gelirse bu d[v] = d[u] ya da d[v] = d[u] + 1 anlamına gelir. November 14, 005 Copyright 001-5 by Erik D. Demaine and Charles E. Leiserson L17.59