Azalt ve Fethet Algoritmaları

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

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

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

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

Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli. Mustafa Kemal Üniversitesi

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

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

Yrd. Doç. Dr. Ümit ATİLA

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

YZM 2116 Veri Yapıları

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları

BIP116-H14-1 BTP104-H014-1

Graf Veri Modeli. Düğümler kümesi. Kenarlar kümesi

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

VERİ YAPILARI DERS NOTLARI BÖLÜM 1 GİRİŞ. Yard. Doç. Dr. Deniz KILINÇ

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

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

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

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

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

Algoritmalara Giriş 6.046J/18.401J

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI

VERİ YAPILARI VE PROGRAMLAMA

YZM YAPAY ZEKA DERS#4: BİLGİSİZ ARAMA YÖNTEMLERİ

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

9.Hafta Veri sıkıştırma ve Aç gözlü algoritmalar

BMB204. Veri Yapıları Ders 11. Çizgeler (Graph) Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Ağaç (Tree) Veri Modeli

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

DOSYA ORGANİZASYONU. Ağaç Yapıları ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

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

BMT 206 Ayrık Matematik. Yük. Müh. Köksal GÜNDOĞDU 1

İçerik: Graflar. Tanım. Gösterim. Dolaşma Algoritmaları. Yönlü ve yönsüz graflar Ağırlıklı graflar. Komşuluk Matrisi Komşuluk Listesi

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

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

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

Alıştırma 1: Yineleme

Algoritmalar. Doğrusal Zamanda Sıralama. Bahar 2017 Doç. Dr. Suat Özdemir 1

BLM-431 YAPAY ZEKA. Ders-4 Bilgisiz Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

3.Hafta Master Teorem ve Böl-Fethet Metodu

Arasınav Örnek Soruları Bahar 2018

BMT207 VERİ YAPILARI DATA STRUCTURE

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

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

YZM 2116 Veri Yapıları

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Örnek Arasınav Soruları Güz 2017

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

Algoritmalar ve Karmaşıklık

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

Genel Graf Üzerinde Mutlak 1-merkez

Max - Min Heap Tree (Max ve Min Yığıt Ağaçları) Veri Yapıları ve Algoritmalar 2 - Mustafa EGE Ders Notları

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

BLM-431 YAPAY ZEKA. Ders-3 Durum Uzayında Arama. Yrd. Doç. Dr. Ümit ATİLA

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

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları

BIL222 Veri Yapıları ve Algoritmalar

Yöneylem Araştırması II

YZM 2116 Veri Yapıları

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Veri Yapıları Laboratuvarı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2

YZM 2116 Veri Yapıları

YÖNEYLEM ARAŞTIRMASI - III

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Arama Algoritmaları ile Gerçek Dünya Örnekleri

{\} /\ Suhap SAHIN Onur GÖK

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

BLM 210 PROGRAMLAMA LABORATUVARI II PROJELERİ

MAT223 AYRIK MATEMATİK

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Kredi Limit Optimizasyonu:

MAT223 AYRIK MATEMATİK

Veri Yapıları. for(i=1;i<n;i++) { ekle=d[i]; for (k=i 1; k>=0 && ekle<=d[k] ;k ) D[k+1]=D[k]; /* Geriye kaydırılıyor*/

Çanakkale Onsekiz Mart Üniversitesi. Bilgisayar Mühendisliği Bölümü

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

Bölüm Özeti. Algoritmalar. Fonksiyonların Büyümesi. Algoritmaların Karmaşıklığı. Örnek Algoritmalar Algoritmik Paradigmalar

Algoritma Analizi. Özelliklerinin analizi Algoritmanın çalışma zamanı Hafızada kapladığı alan

YZM 2116 Veri Yapıları

Zeki Optimizasyon Teknikleri

Algoritmaların Karşılaştırılması. Doç. Dr. Aybars UĞUR

VERİ YAPILARI DATA STRUCTURE GİRİŞ

ALGORİTMA VE PROGRAMLAMA I

7.Hafta Dengeli Arama Ağaçları (Red - Black Tree)

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

AĞAÇLAR. Doç. Dr. Aybars UĞUR

Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür.

I Java Veri Yapıları 1

Final Sınavı Soruları Bahar 2018

GEZGİN SATICI PROBLEMİ. Feasible Çözümler? Optimal Çözüm?

Transkript:

Azalt ve Fethet Algoritmaları Problemi daha küçük bir örneğine çevir: Küçük örneği çöz Çözümü asıl probleme genişlet 3 tipi vardır: Bir sabitle azalt (Genellikle 1) Eklemeli Sıralama (Insertion Sort) Topolojik Sıralama (Topological Sort) Permütasyon, alt küme oluşturma algoritmaları Sabit bir oranla azalt (Genellikle yarıya) İkili Arama (Binary Search) Değişken boyutla azalt Öklid algoritması

Bir Sabitle Azaltma a n üstel problemi a n = a n-1.a ise F(n) = a n problemi özyinelemeli olarak çözülebilir.

Sabit bir Oranla Azaltma a n üstel problemi a n = (a n/2 ) 2 ise

Değişken Oranla Azaltma Öklid in EBOB algoritması

Eklemeli Sıralama En kötü durum: Dizinin ters sıralı olması En iyi durum: Dizinin sıralı olması Ortalama durum: Dağınık dizi

DFS - BFS Etraflı arama bir çizgenin Tüm düğümlerini ve ayrıtlarını sistematik olarak gezen iki önemli algoritmada da uygulanabilir Depth First Search - DFS (Önce Derinlik Arama) Breadth First Search BFS (Önce Genişlik Arama) Bu algoritmalar çizge yapılarının kullanıldığı yapay zeka algoritmaları, Operations Research (Yöneylem Araştırması) gibi algoritmalar için oldukça kullanışlıdır. Ayrıca bağlantı, çevrim gibi temel çizge özelliklerinin incelenmesinde oldukça etkin yöntemlerdir.

Derinlik Öncelikli Arama (DFS) DFS bir çizgeyi dolaşmaya istenen bir düğümden başlar. Başlangıç düğümünü «Geçildi», «Ziyaret Edildi» olarak işaretler. Her iterasyonda bulunduğu düğümün bitişik bir düğümüne geçer Birden fazla bitişik düğüm varsa belirlenen kurala göre geçer En yakın, en uzak, alfabetik olarak vs. Bu işlem tüm komşuları ziyaret edilmiş bir düğüme rastlayana kadar devam eder (Dead End) Dead End de, DFS bir önceki düğüme döner ve buradan ziyaret edilmemiş başka bir bitişik düğüme geçmeyi dener Başlangıç düğümüne geri döndüğünde algoritma sonlanır Eğer ziyaret edilmemiş düğüm kaldıysa algoritma o düğümden tekrar başlatılır.

DFS DFS işlemlerini takip etmek için yığın (stack) yapısı kullanmak uygundur. İlk kez ziyaret edilen düğüm yığına eklenir. Bir düğüm «Dead end» olduğunda yığından kaldırılır. DFS bir ormanı oluşturmak için de kullanışlıdır: İlk düğüm bir ormanın ilk ağacının köküdür Ziyaret edilmemiş bir düğüme erişildiğinde, erişildiği düğüme çocuk olarak eklenir Bu tür bir ayrıta «ağaç ayrıtı» (tree edge) denir Bu ayrıtlar ormanı oluşturur Algoritma bir DFS ormanında ebeveyninden önceki atalarına doğru olan bir ayrıta rastlayabilir Bu tür ayrıta «geri ayrıt»(back Edge) denir

DFS Örnekteki DFS alfabetik olarak ilerlemiştir

DFS Sözde kodunun yalın olması DFS nin sofistike bir algoritma olmadığını göstermez Algoritmanın gücü ve etkinliği algoritma hareketlerinin bitişiklik matrisi yada bitişiklik listesi üzerinde daha iyi anlaşılır DFS nin etkinliği graf yapısının gösterildiği veri yapısına göre değişir Bitişiklik Matrisi ise θ( V 2 ) Bitişiklik listesi ise θ( V + E ) V ve E düğüm ve ayrıt sayısı

DFS DFS de iki türlü düğüm sıralaması vardır: Bir düğüme ilk kez erişildiğinde (Push) Düğüm «dead end» olduğunda (Pop) DFS bir çizgenin bağlantılılığını ve çevrimselliğini kontrol etmek için kullanışlıdır: Algoritma durduğunda tüm düğümler ziyaret edildiyse çizge bağlantılıdır. Algoritmada bir geri ayrıt bulunduysa çizge çevrimseldir.

Genişlik Öncelikli Arama (BFS) DFS «cesurca» ilerleyen bir algoritma iken BFS dikkatli ilerleyen bir algoritmadır DFS her adımda başlangıç düğümünden mümkün olduğunca uzağa gitmeye çalışır. BFS her adımda başlangıç düğümünün bitişik düğümlerine gitmeyi hedefler. BFS başlangıç düğümüne bitişik tüm düğümleri belirlenen sırayla gezer Ardından iki ayrıt uzaklıktaki tüm düğümleri sırayla gezer Başlangıç düğümüne bağlı tüm düğümler ziyaret edilene kadar algoritma devam eder

Genişlik Öncelikli Arama (BFS) BFS işlemlerini takip etmek için kuyruk yapısı uygundur Başlangıç düğümü eklenerek kuyruk başlatılır Her bitişik komşuya geçildiğinde «Ziyaret edildi» diye işaretlenip kuyruğa eklenir İlk eklenen düğüm ilk çıkar BFS de bir ormanı oluşturmak için de kullanışlıdır İlk düğüm bir ormanın ilk ağacının köküdür Ziyaret edilmemiş bir düğüme erişildiğinde, erişildiği düğüme çocuk olarak eklenir Bu tür bir ayrıta «ağaç ayrıtı» (tree edge) denir Bu ayrıtlar ormanı oluşturur Algoritma bir BFS ormanında ebeveyninden önceki atalarına doğru olan bir ayrıta rastlayabilir Bu tür ayrıta «Çapraz ayrıt»(cross Edge) denir

Genişlik Öncelikli Arama (BFS)

Genişlik Öncelikli Arama (BFS)

Genişlik Öncelikli Arama (BFS) BFS nin etkinliği DFS gibidir Graf yapısının gösterildiği veri yapısına göre değişir Bitişiklik Matrisi ise θ( V 2 ) Bitişiklik listesi ise θ( V + E ) V ve E düğüm ve ayrıt sayısı DFS den farklı olarak tek tip sıralama yapabilir Kuyruk yapısının FIFO özelliği sebebiyle BFS de bir grafın bağlantılılığını ve çevrimselliğini kontrol etmek için kullanışlıdır Algoritma durduğunda tüm düğümler ziyaret edildiyse graf bağlantılıdır Algoritmada bir geri ayrıt bulunduysa graf çevrimseldir. DFS ile yapılamayacak olan Verilen iki düğüm arası minimum ayrıttan oluşan yolu bulabilir

Genişlik Öncelikli Arama (BFS)

DFS vs. BFS

Topolojik Sıralama Topolojik Sıralama Önkoşul, gereklilik gibi kısıtlılıklar doğrultusunda yapılması gereken sıralama Yönlü Çizgeler- Directed graph (Digraph) Tüm sınır yönleri belirli Yönlü Yönsüz Çizge Farkı Yönlü Çizge: Komşuluk matrisleri simetrik olmak zorunda değil Yönlü Çizge: Bir ayrıtın sadece bir karşı düğümü vardır

Topolojik Sıralama Bir öğrencinin alması gereken 5 ders var: Derslerin bazıları ön koşullu Bir dönemde sadece bir ders alabiliyor Dersleri hangi sırayla almalı? Ders Önkoşul C1 - C2 - C3 C1, C2 C4 C3 C5 C3, C4

DFS Çözümü Ders Önkoşul C1 - C2 - C3 C1, C2 C4 C3 C5 C3, C4 Topolojik sıralama probleminin çözümü için dag olmalı

Bir Azaltma Çözümü Her adımda kendisine gelen ayrıt olmayan düğümü çıkar:

Sabit Oranla Azaltma Genellikle logaritmik zamanlı ve etkin algoritmalar Azaltma oranı genellikle 2 İkili Arama

İkili Arama Sıralı bir dizide K elemanının aranması Dizinin orta (m) elemanı seçilir K ile m karşılaştırılır K ile m eşitse bulunmuş olur Eşit değilse; K < m isi dizinin ilk yarısı» K > m ise dizinin ikinci yarısı için işlem tekrar eder.

İkili Arama K=7

İkili Arama Algoritma etkinliği Temel İşlem : Karşılaştırma En kötü durum: K nın dizide bulunamaması

Sahte Bozuk Para Problemi Aynı görünüme sahip n tane bozuk para var. Herhangi bir terazi aracılığıyla iki farklı bozuk paranın ağırlıklarını karşılaştırmak mümkün. Sahte olan bozuk para, gerçek bozuk paralardan daha hafif. Sahte bozuk parayı nasıl belirleyebiliriz?

Sahte Bozuk Para Problemi n tane bozuk parayı n/2 luk iki parçaya ayır: Eğer tek sayıda bozuk para varsa, bir tanesini ayır: İki parçayı «terazi» de tart. Eğer, her iki yük eşit ise, ayırdığın tek bozuk para sahtedir. Aksi takdirde, daha hafif olan set üzerinde aramaya aynı biçimde devam et.

Sahte Bozuk Para Problemi Tasarım tekniğimiz? Böl ve yönet mi? Azalt ve fethet mi? En kötü durum senaryosu (Ağırlık ölçü sayısı): n/3 şeklinde parçalarsak:

Dönüştür ve Fethet Algoritmaları Bu algoritma teknikleri problemi dönüştürerek çözüm arar. Problemi daha basit, daha uygun bir duruma dönüştürmek, durumu basitleştirme (instance simplification) Başka bir gösterime dönüştürmek (representation change) Algoritması bilinen bir probleme dönüştürmek (problem reduction)

Durumu Basitleştirme - Önsıralama Listeler ile ilgili birçok problem liste sıralı ise daha kolay çözülür. Arama Ortanca bulma Elemanların farklı olup olmadığını belirleme Topolojik sıralama bir çok problemin çözülmesini kolaylaştırır Birçok geometri probleminin çözümünü ön sıralama kolaylaştırır

Durumu Basitleştirme - Önsıralama Orta seviye sıralama algoritmaları Selection, bubble, insertion En kötü ve ortalama durumlarda üssel Gelişmiş sıralama algoritmaları Merge, Quick Θ(n log n),

Durum Basitleştirme Dizi elemanları farklı mı? Kaba kuvvetle çözüm n 2 Diziyi sıralayıp kontrol edersek? Algoritmanın çalışma zamanı sıralama işleminin ve kontrol işleminin toplamı Dizi sıralı olduğu için kontrol işlemi n-1 kez yapılıyor Algoritma etkinliğini sıralama belirleyecek Uygun bir sıralama algoritması seçilirse (n log n?)

Durum Basitleştirme Arama Problemi Diziyi sırala İkili arama uygula

AVL Ağaçları AVL Ağacı: AVL Ağaçları sürekli olarak dengeli olan ikili arama ağaçlarıdır. Algoritmada basitçe, bir düğümün kolları arasındaki derinlik farkı 2 ise bu durumda dengeleme işlemi yapılır. Eğer fark 2 den az ise (yani 1 veya ) ise bu durumda bir dengeleme işlemine gerek yoktur.

AVL Ağaçları 1 1 1 5 2 2 1 5 2 1 4 7-1 12 1 4 7-1 2 8 2 8 (a) (b)

Dengeleme--- Tek Sağa Çevirme 2 3 2 1 2 R > 1 3 1 (a) R Rotasyonu

Dengeleme--- Sol ve Sağa Çevirme 2 3 2-1 1 LR > 1 3 2 (c) LR Rotasyonu

Dengeleme--- Tek Sağa Çevirme

Dengeleme--- Sol ve Sağa Çevirme

AVL Ağacı Oluşturma 5, 6, 8, 3, 2, 4, 7 5-1 6 5 5-2 6-1 8 > 6 8 5 L(5) 6 1 5 1 3 8 6 2 5 2 3 1 2 8 > R (5) 6 1 3 2 8 5

AVL Ağacı Oluşturma (devam) 6 2 3-1 2 5 1 4 8 > LR (6) 5 3 2 4 6-1 8 5-1 3 2 4 6-2 8 1 7 > RL (6) 5 3 2 4 7 8 6

Aç Gözlü Algoritmalar (Greedy ) Bozuk para verme problemi Bir kasiyer 48 kuruş para üstünü nasıl verir? 25 kuruş, 1 kuruş, 5 kuruş, 1 kuruş Hırslı teknik ilk olarak 25 kuruş verir Geri kalan miktarı en çok o azaltır İkinci de 25 kuruş veremez 1 kuruş verir Üçüncüde kalan miktarı en aza indirmek için 1 kuruş verir Kalan kısım için 3 adet 1 kuruş verebilir

Aç Gözlü Algoritmalar (Greedy ) Sadece optimizasyon problemlerinde kullanılabilmelerine rağmen genel bir tasarım tekniği olarak kabul edilir. Açgözlü algoritmalar ardışık adımlarla bir çözüm oluşturma yaklaşımı izler O ana kadar oluşturulan kısmi çözüm problemin tam çözümüne ulaşana kadar her adımda genişletilir Atılan her adımda yapılacak seçim: Problemin kısıtlarına göre uygulanması mümkün olmalıdır O adım için tüm mümkün seçenekler arasında en optimal olanı olmalıdır Gerçekleştirildikten sonra ki adımlarda değiştirilemez olmalıdır

Minimum Kapsama Ağacı Problemi Tüm network türlerinde karşılaşılan bir problem N adet noktayı her nokta çifti arasında bir yol olacak şekilde en ucuz maliyetle birleştirmek Elektrik Haberleşme Ulaşım Veri setleri içerisindeki noktaları kümeleme için kullanılabilirler Sınıflandırma problemlerinin çözümünde kullanılabilirler Bir graf yapısı ile gösterilebilirler Notalar düğüm Ayrıtlar yollar Maliyetler ise ayrıt ağırlıkları ile ifade edilir Bu durumda problem «minimum kapsama ağacı»nın (Minimum Spanning Tree-MST) bulunması olarak nitelenebilir

Minimum Kapsama Ağacı Problemi Kapsama Ağacı (Spanning Tree) Yönsüz, temaslı bir grafın tüm düğümlerini kapsayan, çevrimsiz, temaslı bir alt grafıdır (Ağaç) Grafın ayrıtlarının ağırlıkları varsa minimum tarama ağacı en düşük ağırlıklı kapsama ağacıdır Ağacın ağırlığı = Tüm ayrıtlarının ağırlık toplamı Minimum Kapsama Ağacı (Minimum Spanning Tree MST) problemi verilen ağırlıklı bir grafın MST sinin bulunmasıdır

Minimum Kapsama Ağacı Problemi

Prim in MST Algoritması Prim in alt ağacı ardışık adımlarla genişleterek MST oluşturur Başlangıç olarak herhangi bir düğüm seçilir Her adımda bulunulan düğüme en yakın (ağaca önceden dahil olmamış) düğüm ağaca dahil edilir Eşit mesafede iki düğüm varsa belirlenen kurala göre biri tercih edilir n düğüm için n-1 adet iterasyon gerçekleşir

Prim in MST Algoritması

Örnek

Örnek

Kruskal ın Algoritması MST probleminin çözümü için geliştirilmiş açgözlü başka bir algoritma Bu algoritma ağırlıklı, temaslı bir G=(V, E) grafının MST sine ayrıt ağırlıkları toplamı en düşük, çevrimsel olmayan V -1 adet ayrıtı olan bir alt graf olarak oluşturur Bu alt graf aynı zamanda bir ağaçtır Algoritma ardışık adımlarla ilerler Her adımda altgrafı çevrimsel olmayacak şekilde genişletir Altgrafa eklenen yeni düğümün temaslı olması gerekmez

Dijkstra Algoritması Dijkstra Algoritması En kısa yol algoritması Komşu düğümlerden en yakın olan seçilerek hedefe ulaşılmaya çalışılır.