Azalt ve Fethet Algoritmaları

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Azalt ve Fethet Algoritmaları"

Transkript

1 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ı

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

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

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

5 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

6 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.

7 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.

8 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

9 DFS Örnekteki DFS alfabetik olarak ilerlemiştir

10 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ı

11 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.

12 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

13 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

14 Genişlik Öncelikli Arama (BFS)

15 Genişlik Öncelikli Arama (BFS)

16 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

17 Genişlik Öncelikli Arama (BFS)

18 DFS vs. BFS

19 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

20 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

21 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ı

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

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

24 İ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.

25 İkili Arama K=7

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

27 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?

28 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.

29 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:

30 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)

31 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

32 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),

33 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?)

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

35 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.

36 AVL Ağaçları (a) (b)

37 Dengeleme--- Tek Sağa Çevirme R > (a) R Rotasyonu

38 Dengeleme--- Sol ve Sağa Çevirme LR > (c) LR Rotasyonu

39 Dengeleme--- Tek Sağa Çevirme

40 Dengeleme--- Sol ve Sağa Çevirme

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

42 AVL Ağacı Oluşturma (devam) > LR (6) > RL (6)

43 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

44 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

45 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

46 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

47 Minimum Kapsama Ağacı Problemi

48 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

49 Prim in MST Algoritması

50

51

52 Örnek

53 Örnek

54 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

55

56 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.

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

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ 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:

Detaylı

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

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#9: AÇGÖZLÜ ALGORİTMALAR YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#9: AÇGÖZLÜ ALGORİTMALAR Aç Gözlü (Hırslı) Algoritmalar (Greedy ) Bozuk para verme problemi Bir kasiyer 48 kuruş para üstünü nasıl verir? 25 kuruş, 10 kuruş,

Detaylı

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

Çizgeler (Graphs) Doç. Dr. Aybars UĞUR Çizgeler (Graphs) ve Uygulamaları Doç. Dr. Aybars UĞUR Giriş Şekil 12.1 : Çizge (Graph) Çizge (Graph) : Köşe (vertex) adı verilen düğümlerden ve kenar (edge) adı verilip köşeleri birbirine bağlayan bağlantılardan

Detaylı

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

VERİ YAPILARI. GRAPH LAR Düzce Üniversitesi Teknoloji Fakültesi ÖĞR.GÖR.GÜNAY TEMÜR 1 VERİ YAPILARI GRAPH LAR Düzce Üniversitesi Teknoloji Fakültesi ÖĞR.GÖR.GÜNAY TEMÜR 1 GRAPH (ÇİZGE - GRAF) Terminoloji Çizge Kullanım Alanları Çizge Gösterimi Komşuluk Matrisi Komşuluk Listesi Çizge Üzerinde

Detaylı

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

Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli Graf, matematiksel anlamda, düğümler ve bu düğümler arasındaki ilişkiyi gösteren kenarlardan oluşan bir kümedir; mantıksal ilişki düğüm ile düğüm

Detaylı

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

10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST) 1 10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST) Kapsayan ağaç Spanning Tree (ST) Bir Kapsayan Ağaç (ST); G, grafındaki bir alt graftır ve aşağıdaki özelliklere sahiptir. G grafındaki tüm

Detaylı

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

GRAPH LAR Düzce Üniversitesi Teknoloji Fakültesi VERİ YAPILARI. Bilgisayar Mühendisliği ÖĞR.GÖR.GÜNAY TEMÜR 1 VERİ YAPILARI GRAPH LAR Düzce Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği ÖĞR.GÖR.GÜNAY TEMÜR 1 GRAPH (ÇİZGE - GRAF) Terminoloji Çizge Kullanım Alanları Çizge Gösterimi Komşuluk Matrisi Komşuluk

Detaylı

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

Yrd. Doç. Dr. Ümit ATİLA Yrd. Doç. Dr. Ümit ATİLA Sıralama Bir grup veriyi azalan veya artan şekilde yerleştirme. Bilgisayar sistemleri için veri sıralama çok önemlidir. Sıralama işlemi, hem arama işlemlerini hem de bir grup veriyi

Detaylı

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

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok 8.0.0 Şebeke Kavramları BÖLÜM III: Şebeke Modelleri Şebeke (Network) Sonlu sayıdaki düğümler kümesiyle, bunlarla bağlantılı oklar (veya dallar) kümesinin oluşturduğu yapı şeklinde tanımlanabilir ve (N,A)

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği BÖLÜM - 11 Bu bölümde, Graph (Çizge - Graf) Terminoloji Çizge Kullanım

Detaylı

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

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları BLM-112 PROGRAMLAMA DİLLERİ II Ders-7 Sıralama Algoritmaları Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Sıralama Bir grup veriyi azalan veya artan şekilde yerleştirme.

Detaylı

BIP116-H14-1 BTP104-H014-1

BIP116-H14-1 BTP104-H014-1 VERİ YAPILARI VE PROGRAMLAMA (BIP116) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

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

Graf Veri Modeli. Düğümler kümesi. Kenarlar kümesi Graf Veri Modeli Graf, bir olay veya ifadenin düğüm ve çizgiler kullanılarak gösterilme şeklidir. Fizik, Kimya gibi temel bilimlerde ve mühendislik uygulamalarında ve tıp biliminde pek çok problemin çözümü

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 SIRALAMA ALGORİTMALARI Sunu Planı Büyük O Notasyonu Kabarcık Sıralama (Bubble Sort) Hızlı Sıralama (Quick Sort) Seçimli Sıralama (Selection Sort) Eklemeli Sıralama (Insertion

Detaylı

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

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Veri Yapıları ve Algoritmalar BİM-221 2/II 2+0+2 3 3,5 Dersin Dili

Detaylı

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

VERİ YAPILARI DERS NOTLARI BÖLÜM 1 GİRİŞ. Yard. Doç. Dr. Deniz KILINÇ VERİ YAPILARI DERS NOTLARI BÖLÜM 1 GİRİŞ Yard. Doç. Dr. Deniz KILINÇ CELAL BAYAR ÜNİVERSİTESİ, YAZILIM MÜHENDİSLİĞİ 2015-2016 1. DERS İÇERİĞİ VE KAYNAKLAR Veri Yapıları (VY) dersinde görülmesi muhtemel

Detaylı

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

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Heap Sort Bahar 2017 Doç. Dr. Suat Özdemir 1 Heap Sort Heap Sort algoritması Merge Sort ve Insertion Sort algoritmalarının iyi özelliklerini bir arada toplar. Algoritma Insertion Sort gibi

Detaylı

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

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA BLM-431 YAPAY ZEKA Ders-5 Bilgili Arama Yöntemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Arama Grafları Eğer arama uzayı ağaç yapısından değil de graf

Detaylı

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

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Veri Yapıları Dersi. Proje#2 Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 2116- Veri Yapıları Dersi Proje#2 İkili Arama Ağacı, Heap, Hash Tabloları ve Çizgeler Veriliş Tarihi: 24.04.2018 Son Teslim Tarihi: 25.05.2018

Detaylı

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

Graflar bilgi parçaları arasındaki ilişkileri gösterirler. Graflar (Graphs) Graf gösterimi Uygulama alanları Graf terminolojisi Depth first dolaşma Breadth first dolaşma Topolojik sıralama Yrd.Doç.Dr. M. Ali Akcayol Graflar Graflar bilgi parçaları arasındaki ilişkileri

Detaylı

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

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1 Algoritmalar Arama Problemi ve Analizi Bahar 2016 Doç. Dr. Suat Özdemir 1 Arama Problemi Sıralama algoritmaları gibi arama algoritmaları da gerçek hayat bilgisayar mühendisliği problemlerinin çözümünde

Detaylı

Algoritmalara Giriş 6.046J/18.401J

Algoritmalara Giriş 6.046J/18.401J Algoritmalara Giriş 6.046J/18.401J DERS 12 Atlama Listeleri Veri Yapısı Rastgele Araya Yerleştirme Yüksek olasılıkla" sınırı Analiz (Çözümleme) Yazı Tura Atma Prof. Erik D. Demaine Atlama Listeleri Basit

Detaylı

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

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI Algoritma Nedir? Algoritma Bir problemin çözümü için geliştirilmiş özel metot Girdileri çıktılara dönüştüren sıralı hesaplama adımları Tanımlanmış

Detaylı

VERİ YAPILARI VE PROGRAMLAMA

VERİ YAPILARI VE PROGRAMLAMA VERİ YAPILARI VE PROGRAMLAMA (BIP116) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

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

YZM YAPAY ZEKA DERS#4: BİLGİSİZ ARAMA YÖNTEMLERİ YZM 327 - YAPAY ZEKA DERS#4: BİLGİSİZ ARAMA YÖNTEMLERİ Bilgisiz Arama Stratejisi Sadece problem formülasyonundaki mevcut bilgiyi kullanır Durum bilgisinden yararlanmazlar Çözüme ulaşmak için hiçbir bilgi

Detaylı

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

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Sıralama Problemi ve Analizi Bahar 2017 Doç. Dr. Suat Özdemir 1 Sıralama Problemi ve Analizi Bu bölümde öncelikle bir diğer böl-ve-yönet yöntemine dayalı algoritma olan Quick Sort algoritması

Detaylı

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

9.Hafta Veri sıkıştırma ve Aç gözlü algoritmalar 1 9.Hafta Veri sıkıştırma ve Aç gözlü algoritmalar 2 Veri Sıkıştırma (Compression) Kayıplı-Kayıpsız Veri Sıkıştırma Sabit ve Değişken Genişlikli Kodlama Huffman Algortiması (Greedy Algoithms) Veri Sıkıştırma

Detaylı

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

BMB204. Veri Yapıları Ders 11. Çizgeler (Graph) Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü BMB204. Veri Yapıları Ders 11. Çizgeler (Graph) Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Dersin Planı Çizgeler Çizge Tanım Çeşitleri Çizge Üzerinde Arama Önce derinliğine

Detaylı

Ağaç (Tree) Veri Modeli

Ağaç (Tree) Veri Modeli Ağaç (Tree) Veri Modeli 1 2 Ağaç Veri Modeli Temel Kavramları Ağaç, bir kök işaretçisi, sonlu sayıda düğümleri ve onları birbirine bağlayan dalları olan bir veri modelidir; aynı aile soyağacında olduğu

Detaylı

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

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ Öğrenci Adı Soyadı: Öğrenci Numarası: S1 S2 S3 S4 S5 Toplam HACETTEPE ÜNİVERSİTESİ 2014-2015 BAHAR DÖNEMİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BBM202 Algoritmalar 2. Ara Sınav 09.04.2015 Sınav Süresi: 90 dakika

Detaylı

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

DOSYA ORGANİZASYONU. Ağaç Yapıları ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA ORGANİZASYONU ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Ağaç Yapıları Sunum planı Genel kavramlar İkili ağaç İkili arama ağacı AVL Tree B-Tree Genel Kavramlar Bir ağaç yapısı

Detaylı

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

Veri Yapıları. Yrd. Doç. Dr. Şadi Evren ŞEKER Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar Mühendisliği Bölümü, Bilgisayar Mühendisliğine Giriş Dersi için genel amaçlı veri yapıları hakkında

Detaylı

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

BMT 206 Ayrık Matematik. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 206 Ayrık Matematik Yük. Müh. Köksal GÜNDOĞDU 1 Graph (Çizge) Yük. Müh. Köksal GÜNDOĞDU 2 Graph (Çizge) Köşe (vertex) adı verilen düğümlerden ve kenar (edge) adı verilip köşeleri birbirine bağlayan

Detaylı

İç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

İç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 Tanım Yönlü ve yönsüz graflar ğırlıklı graflar İçerik: Graflar Gösterim Komşuluk Matrisi Komşuluk Listesi olaşma lgoritmaları BS (Breath irst Search) S (epth-irst Search) 1 Graflar Graf, matematiksel anlamda,

Detaylı

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

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Bu hafta? İki değişken değerinin yer değiştirilmesi (swapping) selection sort sıralama algoritması bubble sort

Detaylı

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

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği Yrd. Doç. Dr. A. Burak İER Bilgisayar Mühendisliği Algoritma Analizi İçerik: Temel Kavramlar Yinelemeli ve Yinelemesiz Algoritma Analizi Asimptotik otasyonlar Temel Kavramlar Algoritma: Bir problemin çözümüne

Detaylı

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

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri Veri modelleri, veriler arasında ilişkisel ve sırasal düzeni gösteren kavramsal tanımlardır. Her program en azından bir veri modeline dayanır. Uygun

Detaylı

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

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz 2014 Soru 1. (15 puan) 5,2,4,1,15,8,11,13,7,6 dizisinin elemanlarından maksimum özellikli bir yığın(heap) oluşturulmasını adım adım yazınız. Heapsort algoritmasının yardımıyla yapılacak sıralamayı anlatınız.

Detaylı

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

11.Hafta En kısa yollar I-II-III Devam. Negatif Ağırlıklı En Kısa Yollar Doğruluk Çözümleme 11.Hafta En kısa yollar I-II-III Devam Negatif Ağırlıklı En Kısa Yollar Doğruluk Çözümleme 1 En Kısa Yollar II Bellman-Ford algoritması 2 3 Negatif Maliyetli Çember Eğer graf negatif maliyetli çember içeriyorsa,

Detaylı

Alıştırma 1: Yineleme

Alıştırma 1: Yineleme Alıştırma 1: Yineleme Alıştırma 2: Yineleme H10->H2 çevrimini yapınız 7 2 1 3 2 1 1 1 2 0 Hafta 3: Yineleme Alıştırmaları(1) E1. (44/174) S değerini yineleme kullanarak hesap ediniz S = 1 + 2 + 3 + n Hafta3:

Detaylı

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

Algoritmalar. Doğrusal Zamanda Sıralama. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Doğrusal Zamanda Sıralama Bahar 2017 Doç. Dr. Suat Özdemir 1 Sıralama Özet - Insertion sort Kodlaması kolay Küçük veri setleri için hızlı (~50 element) Neredeyse sıralı veri setleri için en

Detaylı

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

BLM-431 YAPAY ZEKA. Ders-4 Bilgisiz Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA BLM-431 YAPAY ZEKA Ders-4 Bilgisiz Arama Yöntemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Dersin Hedefleri Aşağıda verilen arama stratejilerini anlamak

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 VERİ YAPILARI Sunu Planı Kendini-gösteren Yapılar Dinamik Bellek Tahsisi Bağlı Listeler Yığınlar Kuyruklar Ağaçlar 1 Veri Yapıları Şu ana kadar, diziler, matrisler ve yapılar

Detaylı

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

3.Hafta Master Teorem ve Böl-Fethet Metodu 1 3.Hafta Master Teorem ve Böl-Fethet Metodu 2 Ana Metod (The Master Method) Ana method aşağıda belirtilen yapıdaki yinelemelere uygulanır: T(n) = at(n/b) + f (n), burada a 1, b > 1, ve f asimptotik olarak

Detaylı

Arasınav Örnek Soruları Bahar 2018

Arasınav Örnek Soruları Bahar 2018 Sayfa#1 Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 2116 Veri Yapıları Dersi Arasınav Örnek Soruları Bahar 2018 Süre: 75 Dakika Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu İmza

Detaylı

BMT207 VERİ YAPILARI DATA STRUCTURE

BMT207 VERİ YAPILARI DATA STRUCTURE BMT207 VERİ YAPILARI DATA STRUCTURE Teknoloji Fakültesi Bilgisayar Mühendisliği GÜNAY TEMÜR Konu Dağılım Hafta 1. Hafta 2.Hafta 3.Hafta 4.Hafta 5.Hafta Konu Ders İçerik Tanıtım, Ödev-Proje-Sınavlar Hakkında

Detaylı

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

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati Kredi AKTS (T+U+L) YÖNEYLEM ARAŞTIRMA İÇİN ALGORİTMALAR EN-312 3/I 3+0+0 3 5 Dersin Dili : Türkçe Dersin

Detaylı

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

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN 0904.01036. atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN 0904.01036 atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİŞKEK 2012 Ahmet Atakan

Detaylı

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

Algoritmalar. DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama Sayı üstelleri Fibonacci sayıları Matriks çarpımı Strassen in algoritması Algoritmalar DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama Sayı üstelleri Fibonacci sayıları Matriks çarpımı Strassen in algoritması September 14, 2005 Copyright 2001-5 Erik D. Demaine and Charles

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 8 Problem Tanımı Arama Ağaçları İkili Arama

Detaylı

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ü

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ü 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ü Dersin Planı B+ Tree Temel bir veritabanı çalışma kodu Hash (Karma) Heap Ağaçlar

Detaylı

Örnek Arasınav Soruları Güz 2017

Örnek Arasınav Soruları Güz 2017 Sayfa#1 Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 3217- Yapay Zekâ Dersi Örnek Arasınav Soruları Güz 2017 Süre: 75 Dakika Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu İmza

Detaylı

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

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek) HAZIRLAYAN MUSA DEMIRELLI BISHKEK KYRGYZ TURKISH BOYS HIGH SCHOOL education.online.tr.tc compsources0.tripod.com Olimpiyat Soruları 1- Bir diziyi ters çeviren algoritma ve program 2- Bir diziyi sıralayan

Detaylı

Algoritmalar ve Karmaşıklık

Algoritmalar ve Karmaşıklık Algoritmalar ve Karmaşıklık Ders 11 Algoritma Ayrık matematikte karşılaşılan bir çok problem sınıfı mevcuttur. Örneğin, verilen tamsayı grubu içindeki en büyük olanının bulunması, verilen bir kümenin bütün

Detaylı

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

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ Öğrenci Adı Soyadı: Öğrenci Numarası: S1 S2 S3 S4 S5 S6 S7 Toplam HACETTEPE ÜNİVERSİTESİ 2012-2013 BAHAR DÖNEMİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BBM202 Algoritmalar 1. Ara Sınav 25.04.2013 Sınav Süresi:

Detaylı

Genel Graf Üzerinde Mutlak 1-merkez

Genel Graf Üzerinde Mutlak 1-merkez Genel Graf Üzerinde Mutlak 1-merkez Çözüm yöntemine geçmeden önce bazı tanımlara ihtiyaç vardır. Dikkate alınan G grafındaki düğümleri 1 den n e kadar numaralandırın. Uzunluğu a(i, j)>0 olarak verilen

Detaylı

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

Max - Min Heap Tree (Max ve Min Yığıt Ağaçları) Veri Yapıları ve Algoritmalar 2 - Mustafa EGE Ders Notları Max - Min Heap Tree (Max ve Min Yığıt Ağaçları) Veri Yapıları ve Algoritmalar 2 - Mustafa EGE Ders Notları Max - Min Heap Öncelikli kuyruk konusunu hatırlayın. Kuyruğa sonradan eklenmesine rağmen öncelik

Detaylı

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

köşe (vertex) kenar (edg d e) BÖLÜM 7 köşe (vertex) kenar (edge) Esk den Ank ya bir yol (path) Tanım 7.1.1: Bir G çizgesi (ya da yönsüz çizgesi) köşelerden oluşan bir V kümesinden ve kenarlardan oluşan bir E kümesinden oluşur. Herbir

Detaylı

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

BLM-431 YAPAY ZEKA. Ders-3 Durum Uzayında Arama. Yrd. Doç. Dr. Ümit ATİLA BLM-431 YAPAY ZEKA Ders-3 Durum Uzayında Arama Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Dersin Hedefleri Durum uzayı temsilini öğrenmek ve durum uzayında

Detaylı

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

Algoritmalar. Çizge Algoritmaları. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Çizge Algoritmaları Bahar 201 Doç. Dr. Suat Özdemir 1 En Kısa Yol Problemi Çizgelerdeki bir diğer önemli problem de bir düğümden diğer bir düğüme olan en kısa yolun bulunmasıdır. Bu problem

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 9 Hatırlatmalar Tam İkili Ağaç Eksiksiz İkili

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 6 Sıralama(Sort) Algoritmaları 1. Bubble Sort

Detaylı

BIL222 Veri Yapıları ve Algoritmalar

BIL222 Veri Yapıları ve Algoritmalar BIL222 Veri Yapıları ve Algoritmalar 1. ĠKĠLĠ AĞAÇLAR (BIARY TREES) Bütün düğümlerinin derecesi en fazla iki olan ağaca ikili ağaç denir. Yani bir düğüme en fazla iki tane düğüm bağlanabilir ( çocuk sayısı

Detaylı

Yöneylem Araştırması II

Yöneylem Araştırması II Yöneylem Araştırması II Öğr. Gör. Dr. Hakan ÇERÇİOĞLU cercioglu@gazi.edu.tr BÖLÜM I: Doğrusal Programlama Tekrarı Doğrusal Programlama Tanımı Doğrusal Programlama Varsayımları Grafik Çözüm Metodu Simpleks

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği BÖLÜM - 2 Bu bölümde, Algoritma Analizi, Çalışma Zamanı Analizi

Detaylı

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

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. ALGORİTMA ANALİZİ VE TASARIMI Ders Saati (T+U+L) Kredi AKTS BG-315 3/1 3+0+0 3+0 5 Dersin Dili : TÜRKÇE Dersin

Detaylı

Veri Yapıları Laboratuvarı

Veri Yapıları Laboratuvarı 2013 2014 Veri Yapıları Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Hakan KUTUCU Lab. Sorumlusu: Arş. Gör. Caner ÖZCAN İÇİNDEKİLER Uygulama 1: Diziler ve İşaretçiler, Dinamik Bellek Ayırma... 4 1.1. Amaç

Detaylı

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

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2 YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2 Özyineli Olmayan (Nonrecursive) Algoritmaların Matematiksel Analizi En büyük elemanı bulma problemi En Büyük Elemanı Bulma Problemi Girdi

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği BAŞLAMADAN ÖNCE Bu dersi alan öğrencilerin aşağıdaki konuları bildiği

Detaylı

YÖNEYLEM ARAŞTIRMASI - III

YÖNEYLEM ARAŞTIRMASI - III YÖNEYLEM ARAŞTIRMASI - III Prof. Dr. Cemalettin KUBAT Yrd. Doç. Dr. Özer UYGUN İçerik Altın Oran (Golden Section Search) Arama Metodu Tek değişkenli bir f(x) fonksiyonunu ele alalım. [Bazı x ler için f

Detaylı

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

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ Algoritma Analizi Çerçevesi Algoritma Analizinde Göz Önünde Bulundurulması Gerekenler Neler? Algoritmanın Doğruluğu (Correctness) Zaman

Detaylı

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

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı

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

Arama Algoritmaları ile Gerçek Dünya Örnekleri Arama Algoritmaları Arama Algoritmaları ile Gerçek Dünya Örnekleri Rota Bulma bilgisayar ağları, otomatik seyahat tavsiye sistemleri, havayolu seyahat planlama sistemleri gibi değişik alanlarda kullanılmaktadır

Detaylı

{\} /\ Suhap SAHIN Onur GÖK

{\} /\ Suhap SAHIN Onur GÖK Veri Yapıları ve Algoritmalar 0 {\} /\ Suhap SAHIN Onur GÖK Kaynaklar http://www.papatyabilim.com.tr/veriyapilari_algoritmalar.htm Kaynaklar http://www.tutorialspoint.com/data_structures_algorithms/index.htm

Detaylı

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

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ Öğrenci Adı Soyadı: Öğrenci Numarası: S1 S2 S3 S4 S5 Toplam HACETTEPE ÜNİVERSİTESİ 2013-2014 BAHAR DÖNEMİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BBM202 Algoritmalar 1. Ara Sınav 18.03.2014 Sınav Süresi: 50 dakika

Detaylı

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

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

Detaylı

BLM 210 PROGRAMLAMA LABORATUVARI II PROJELERİ

BLM 210 PROGRAMLAMA LABORATUVARI II PROJELERİ 1 BLM 210 PROGRAMLAMA LABORATUVARI II PROJELERİ 1. Programlama Laboratuvarı II dersinde aşağıdaki takvimde belirtilen konularda projeler gerçekleştirilecektir. Proje takviminin telafisi olmayacaktır. Proje

Detaylı

MAT223 AYRIK MATEMATİK

MAT223 AYRIK MATEMATİK MAT223 AYRIK MATEMATİK Gezgin Satıcı Problemi 9. Bölüm Emrah Akyar Anadolu Üniversitesi Fen Fakültesi Matematik Bölümü, ESKİŞEHİR 2014 2015 Öğretim Yılı Gezgin Satıcı Problemi Soru n tane şehri olan bir

Detaylı

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

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA ORGANİZASYONU ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Çarpışma çözümleme yöntemleri Sunum planı Bağlantıları kullanarak çarpışmaların çözümlenmesi. Coalesced Hashing (Birleştirilmiş

Detaylı

Kredi Limit Optimizasyonu:

Kredi Limit Optimizasyonu: Kredi Limit Optimizasyonu: «Teorik Değil Pratik" Simge Danışman Analitik Direktörü, Experian EMEA Kar Gelişimi Kredi Limit Optimizasyonu Optimizasyona Genel Bakış Profilleme Modelleme Karar Matrisleri

Detaylı

MAT223 AYRIK MATEMATİK

MAT223 AYRIK MATEMATİK MAT223 AYRIK MATEMATİK Gezgin Satıcı Problemi 9. Bölüm Emrah Akyar Anadolu Üniversitesi Fen Fakültesi Matematik Bölümü, ESKİŞEHİR 2014 2015 Öğretim Yılı Gezgin Satıcı Problemi Soru n tane şehri olan bir

Detaylı

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*/

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*/ Program çalışma hızı; Belirlenen bir problemin çözümü için tasarlanan program kodunun görevini yerine getirmesi için gerekli zaman bilgisini veren bir ifadededir. Bellek Gereksinimi; Programın yürütülmesi

Detaylı

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

Çanakkale Onsekiz Mart Üniversitesi. Bilgisayar Mühendisliği Bölümü Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü Skip List(Atlamalı Liste) Veri Yapısı Seminer-30.03.2007/SkipList 1 Temel İhtiyaçlar Nelerdir? 1. Bilgisayarda verileri belirli yapıda

Detaylı

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

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Kümeleme İşlemleri Kümeleme Tanımı Kümeleme Uygulamaları Kümeleme Yöntemleri Kümeleme (Clustering) Kümeleme birbirine

Detaylı

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

Bölüm Özeti. Algoritmalar. Fonksiyonların Büyümesi. Algoritmaların Karmaşıklığı. Örnek Algoritmalar Algoritmik Paradigmalar Bölüm 3 Bölüm Özeti Algoritmalar Örnek Algoritmalar Algoritmik Paradigmalar Fonksiyonların Büyümesi Büyük-O ve diğer gösterimler Algoritmaların Karmaşıklığı Bölüm 3.1 Bölüm Özet Algoritmaların Özellikleri

Detaylı

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

Algoritma Analizi. Özelliklerinin analizi Algoritmanın çalışma zamanı Hafızada kapladığı alan Karmaşıklık Giriş 1 Algoritma Analizi Neden algoritmayı analiz ederiz? Algoritmanın performansını ölçmek için Farklı algoritmalarla karşılaştırmak için Daha iyisi mümkün mü? Olabileceklerin en iyisi mi?

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 7 Ağaç (Tree) Veri Yapısı Giriş Ağaç VY Temel

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Ara sınav - 25% Ödev (Haftalık) - 10% Ödev Sunumu (Haftalık) - 5% Final (Proje Sunumu) - 60% - Dönem sonuna kadar bir optimizasyon tekniğiyle uygulama geliştirilecek (Örn:

Detaylı

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

Algoritmaların Karşılaştırılması. Doç. Dr. Aybars UĞUR Algoritmaların Karşılaştırılması Doç. Dr. Aybars UĞUR Giriş Bir programın performansı genel olarak programın işletimi için gerekli olan bilgisayar zamanı ve belleğidir. Bir programın zaman karmaşıklığı

Detaylı

VERİ YAPILARI DATA STRUCTURE GİRİŞ

VERİ YAPILARI DATA STRUCTURE GİRİŞ VERİ YAPILARI DATA STRUCTURE GİRİŞ Veri Yapısı Nedir O Verinin ve bilginin bellekte nasıl organize edildiğini, bellekte tutulma biçimini ifade eder. O Tüm programlama dillerinin, genel olarak, tamsayı,

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi Dizilere Başlangıç Değeri Verme Dizilerde Arama

Detaylı

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

7.Hafta Dengeli Arama Ağaçları (Red - Black Tree) 7.Hafta Dengeli Arama Ağaçları (Red - Black Tree) Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme Dengeli arama ağaçları Red - Black Tree Kırmızı-siyah

Detaylı

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

VERİ YAPILARI VE PROGRAMLAMA (BTP104) VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

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

AĞAÇLAR. Doç. Dr. Aybars UĞUR AĞAÇLAR TREES Doç. Dr. Aybars UĞUR Giriş Bağlı listeler, yığıtlar ve kuyruklar doğrusal (linear) veri yapılarıdır. Ağaçlar ise doğrusal olmayan belirli niteliklere sahip iki boyutlu veri yapılarıdır (Şekil

Detaylı

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

Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür. SEQUENCE ALGORİTMASI Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür. Bir dizi yapısı içinde, bir eylem ya da bir olay, geçmiş

Detaylı

I Java Veri Yapıları 1

I Java Veri Yapıları 1 İçindekiler Önsöz xix I Java Veri Yapıları 1 1 Giriş 3 1.1 Veri Nedir?............................... 3 1.2 Algoritma Nedir?............................ 4 1.3 Veri Yapıları..............................

Detaylı

Final Sınavı Soruları Bahar 2018

Final Sınavı Soruları Bahar 2018 Sayfa#1 Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 2116 Veri Yapıları Dersi Final Sınavı Soruları Bahar 2018 Süre: 70 Dakika Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu İmza

Detaylı

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

GEZGİN SATICI PROBLEMİ. Feasible Çözümler? Optimal Çözüm? 7..07 ÖRNEK : Bir ilaç satış temsilcisi no lu şehirde yaşamaktadır ve mevcut programında ziyaret etmesi gereken farklı şehirde yaşayan müşterileri mevcuttur. Şehirler arasındaki mesafeler tabloda verilmiştir.

Detaylı