Algoritmalar. Kırmızı Siyah Ağaçları Red Black Trees. Bahar 2017 Doç. Dr. Suat Özdemir 1

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

Download "Algoritmalar. Kırmızı Siyah Ağaçları Red Black Trees. Bahar 2017 Doç. Dr. Suat Özdemir 1"

Transkript

1 Algoritmalar Kırmızı Siyah Ağaçları Red Black Trees Bahar 2017 Doç. Dr. Suat Özdemir 1

2 Kırmızı Siyah Ağaç Red Black Trees (RBT) İkili arama ağaçlarının dengeli versiyonudur Ağaç yüksekliği O(lgn) dir Temel işlemler en kötü durumda O(lgn) zaman alır BSTde bu durum O(n) Bahar 2017 Doç. Dr. Suat Özdemir 2

3 Kırmızı Siyah Ağaç BST ile aynı veri yapısı key, left, right, ve p. Her düğümde ekstra renk bilgisi vardır (1 bit) - red veya black Tüm boş yapraklar siyah kabul edilir NIL olarak gösterilecek color[nil]= black Kökün parent düğümü de NIL. p[root[t]]=nil Bahar 2017 Doç. Dr. Suat Özdemir 3

4 RBT - Özellikler Her düğüm siyah veya kırmızı Kök düğüm siyah Her yaprak siyah Eğer bir düğüm kırmızı ise her iki çocuğu da siyah Bir düğümden yapraklara giden her yolda eşit sayıda siyah düğüm bulunur Bahar 2017 Doç. Dr. Suat Özdemir 4

5 RBT - Örnek Her düğümün mutlaka iki çocuğu var Yaprak düğümlerin NIL olan çocukları her zaman gösterilmeyebilir nil[t] Bahar 2017 Doç. Dr. Suat Özdemir 5

6 RBT Siyah Yüksekliği Bir x düğümünün yüksekliği h(x)= yapraklara giden en uzun yol üzerindeki kenar sayısı Bir x düğümün siyah yüksekliği bh(x)= x den yaprağa giden yol üzerindeki siyah düğüm sayısı yapraktaki NIL[T] dahil x düğümü hariç RBT nin siyah yüksekliği kök düğümün siyah yüksekliğine eşittir 5. özellik sayesinde garanti edilir Bahar 2017 Doç. Dr. Suat Özdemir 6

7 RBT Siyah Yüksekliği 26 h=4 bh=2 Bir x düğümünün yüksekliği h(x)= yapraklara giden en uzun yol üzerindeki kenar sayısı Bir x düğümün siyah yüksekliği bh(x)= x den yaprağa giden yol üzerindeki siyah düğüm sayısı yapraktaki NIL[T] dahil x düğümü hariç bh(x) h(x) 2 bh(x) 17 h=1 bh=1 nil[t] 41 h=2 bh=1 h=1 bh=1 h=3 bh= h=1 bh= Bahar 2017 Doç. Dr. Suat Özdemir 7

8 Lemma RBT Yüksekliği RBT üzerindeki bir x düğümüden yapraklara olan en uzun yol h(x) ise h(x) x düğümünden yapraklara olan en kısa yolun en çok iki katı uzunlukta olabilir. İspat: x den yapraklara herhangi bir yol üzerinde eşit sayıda siyah düğüm vardır x = bh(x) (özellik 5) ve bu her zaman x in en kısa yolu üzerindeki düğüm sayısından s(x) küçük yada eşittir (özellik 1). Ancak bir yol üzerinde peşpeşe gelen kırmızı düğüm olamaz (özellik 4) ve her yol siyah bir düğümle sonlanır (özellik 3), yani h(x) 2 bh(x) dir Bu nedenle h(x) 2 s(x) olur. Bahar 2017 Doç. Dr. Suat Özdemir 8

9 RBT Yüksekliği Sınırı Lemma: x düğümünün herhangi bir alt ağacında 2 bh(x) 1 kadar içsel düğüm bulunur İspat: Tümevarım Temel durum: x yapraksa h(x) = 0 bh(x) = 0. Altağacı = 0 düğüme sahiptir. Tümevarım işlemi: h(x) = h > 0 ve bh(x) = b. X in her çocuğunun yüksekliği h - 1 ve siyah-yüksekliği ya b (çocuk kırmızı) yada b - 1 (çocuk siyah). Tümevarım hipotezine göre, her çocuk 2 bh(x) 1 1 içsel düğüme sahip. x in alt ağacı 2 (2 bh(x) 1 1)+1 = 2 bh(x) 1 içsel düğüme sahip. (+1 x in kendisi için) Bahar 2017 Doç. Dr. Suat Özdemir 9

10 RBT Yüksekliği Sınırı Lemma: x düğümünün herhangi bir alt ağacında 2 bh(x) 1 kadar içsel düğüm bulunur. İspatlandı Lemma: n düğümden oluşan bir RBT nin yüksekliği en çok 2lg(n+1) olabilir İspat: Üstteki lemmaya göre, n 2 bh 1 bh h/2 olduğu için, n 2 h/2 1 Buna göre h 2 lg(n + 1) olur Bahar 2017 Doç. Dr. Suat Özdemir 10

11 RBT- Temel İşlemler Tüm işlemler O(lgn) zaman içinde tamamlanır Ağacı değiştirmeyecek tüm işlemler BST de olduğu gibi yapılır Silme ve ekleme kolay değildir Neden? Bahar 2017 Doç. Dr. Suat Özdemir 11

12 RBT- Rotasyonlar x Left-Rotate(T, x) y y Right-Rotate(T, y) x Bahar 2017 Doç. Dr. Suat Özdemir 12

13 RBT- Rotasyonlar Ağacı dengede tutmak için yapılırlar Girdi: Ağaç ve bir düğüm Pointerları değiştirerek ağaç yapısını değiştirir BST özelliğini bozmaz Sol ve sağ rotasyonlar birbirinin tersidir x Left-Rotate(T, x) y y Right-Rotate(T, y) x Bahar 2017 Doç. Dr. Suat Özdemir 13

14 Left-Rotate (T, x) 1. y right[x] // Set y. 2. right[x] left[y] //Turn y s left subtree into x s right subtree. 3. if left[y] nil[t ] 4. then p[left[y]] x 5. p[y] p[x] // Link x s parent to y. 6. if p[x] = nil[t ] 7. then root[t ] y x Left-Rotate(T, x) y 8. else if x = left[p[x]] y Right-Rotate(T, y) x 9. then left[p[x]] y 10. else right[p[x]] y 11. left[y] x // Put x on y s left. 12. p[x] y Bahar 2017 Doç. Dr. Suat Özdemir 14

15 Rotasyon Sol-rotasyon pseudo kodu right[x] nil[t ] Kökün parenti nil[t ] x düğümü üzerinde yapılan sol-rotasyon x düğümünü y düğümünün sol çocuğu ve y düğümünün sol altağacını x düğümünün sağ alt ağacı yapar Sağ-rotasyon bunun tam tersidir Zaman analizi: Sabit sayıda pointer güncellemesi gerekir Sol ve Sağ rotasyon için O(1) Bahar 2017 Doç. Dr. Suat Özdemir 15

16 Hatırlatma RBT Özellikler Her düğüm siyah veya kırmızı Kök düğüm siyah Her yaprak siyah Eğer bir düğüm kırmızı ise her iki çocuğu da siyah Bir düğümden yapraklara giden her yolda eşit sayıda siyah düğüm bulunur Bahar 2017 Doç. Dr. Suat Özdemir 16

17 RBT - Ekleme Ekleme RBT özelliğini bozmamalıdır Eklenen düğümün hangi renge boyanmalıdır? Temel işlemler BST-Insert kullanarak x düğümünü T ağacına ekle RB-Insert(x) Eklenen düğümü kırmızı yap Eklenen ağacı tekrar boyama yaparak RBT özelliğini koru RB-Insert-Fixup Bahar 2017 Doç. Dr. Suat Özdemir 17

18 RBT - Ekleme RB-Insert(T, z) 1. y nil[t] 2. x root[t] 3. while x nil[t] 4. do y x 5. if key[z] < key[x] 6. then x left[x] 7. else x right[x] 8. p[z] y 9. if y = nil[t] 10. then root[t] z 11. else if key[z] < key[y] 12. then left[y] z 13. Bahar 2017 else right[y] z RB-Insert(T, z) Contd. 14. left[z] nil[t] 15. right[z] nil[t] 16. color[z] RED 17. RB-Insert-Fixup (T, z) BST-Insert den farkı nedir? Hangi RBT özellikleri bozulabilir? RB-Insert-Fixup çağırarak ağacı düzelt. Doç. Dr. Suat Özdemir 18

19 Genel yapı Tüm kodlarda y düğümü p[z] nin kardeşi z nin amcası z sol veya sağ çocuk olabilir p[p[z]] C p[z] y A D z B Bahar 2017 Doç. Dr. Suat Özdemir 19

20 RBT - Ekleme Problem: Eklemenin olduğu yerde peş peşe gelen kırmızı düğümler oluşabilir Eklenen düğüm kırmızı bir kök olabilir p[z] siyahsa sorun yok Çözüm: Rotasyon yap Üç farklı durum oluşabilir, her durumda yapılacak olan işlem farlılık gösterir Case 1. y kırmızı. Sadece boyama yaparak yukarı çık Case 2. y siyah, z sağ çocuk. p[z] üzerinde sola rotasyon yap Case 3 oluşur Case 3. y siyah, z sol çocuk. p[z] yi siyah yap, p[p[z]] yi kırmızı yap, p[p[z]] üzerinde sağ rotasyon yap. Bahar 2017 Doç. Dr. Suat Özdemir 20

21 RB-Insert-Fixup(T,z) RB-Insert-Fixup (T, z) 1. while color[p[z]] = RED 2. do if p[z] = left[p[p[z]]] // p[z] sol çocuk 3. then y right[p[p[z]]] // y z nin amcası 4. if color[y] = RED 5. then color[p[z]] BLACK // Case 1 6. color[y] BLACK // Case 1 7. color[p[p[z]]] RED // Case 1 8. z p[p[z]] // Case 1 Bahar 2017 Doç. Dr. Suat Özdemir 21

22 RB-Insert-Fixup(T,z) RB-Insert-Fixup(T, z) (Contd.) 9. else if z = right[p[z]] // color[y] RED 10. then z p[z] // Case LEFT-ROTATE(T, z) // Case color[p[z]] BLACK // Case color[p[p[z]]] RED // Case RIGHT-ROTATE(T, p[p[z]]) // Case else (if p[z] = right[p[p[z]]])(same as with right and left exchanged) 17. color[root[t ]] BLACK Bahar 2017 Doç. Dr. Suat Özdemir 22

23 Durum 1 y kırmızı p[z] p[p[z]] C y C new z A z B D z burada sağ çocuk Sol çoçuk için aynı işlem geçerli A B D p[p[z]] (z nin dedesi) mutlaka siyah olmalı, z ve p[z] kırmızı. p[z] yi ve y yi siyah yap şimdi z ve p[z] kırmızı değil. Özellik 5 bozulmuş olabilir p[p[z]] yi kırmızı yap Özellik 5 düzeltildi. Sonraki aşamada p[p[z]] yeni z olur. Bahar 2017 Doç. Dr. Suat Özdemir 23

24 Durum 2- y siyah, z sağ çocuk p[z] C p[z] C A y B y z B z A p[z] üzerinde sol rotasyon, p[z] ve z rolleri değişir şimdi z sol çocuk, ve z ve p[z] nin her ikisi de kırmızı. Durum 3 oluşur. Bahar 2017 Doç. Dr. Suat Özdemir 24

25 Durum 3 y siyah, z sol çocuk C B p[z] B y A C z A p[z] yi siyah ve p[p[z]] yi kırmızı yap. p[p[z]] üzerinde sağ-rotasyon yap. Özellik 4 garanti edildi.. p[z] şimdi siyah daha fazla iterasyona gerek yok. Bahar 2017 Doç. Dr. Suat Özdemir 25

26 Analiz RB-Insert için O(lgn) zaman RB-Insert-Fixup çağrıldığında Her iterasyon O(1) O(lgn) seviyede en çok O(lgn) zaman alır Bu nedenle ekleme işlemi O(lgn) zaman alır Bahar 2017 Doç. Dr. Suat Özdemir 26

27 RBT - Silme Ekleme gibi tüm RBT özellikler korunmalı Silinen renge bağlı Kırmızı - OK. Neden? Siyah? İşlemler BST silme işlemi yap RBT özelliklerini tekrar kazandır Bahar 2017 Doç. Dr. Suat Özdemir 27

28 RBT - Silme RB-Delete(T, z) 1. if left[z] = nil[t] or right[z] = nil[t] 2. then y z 3. else y TREE-SUCCESSOR(z) 4. if left[y] = nil[t ] 5. then x left[y] 6. else x right[y] 7. p[x] p[y] // Do this, even if x is nil[t] Bahar 2017 Doç. Dr. Suat Özdemir 28

29 RBT - Silme RB-Delete (T, z) (Contd.) 8. if p[y] = nil[t ] 9. then root[t ] x 10. else if y = left[p[y]] 11. then left[p[y]] x 12. else right[p[y]] x 13. if y = z 14. then key[z] key[y] 15. copy y s satellite data into z 16. if color[y] = BLACK 17. then RB-Delete-Fixup(T, x) 18. return y Bahar 2017 Doç. Dr. Suat Özdemir 29

30 Hangi özellikler bozulabilir? y aslında silinen düğüm X düğümü y düğümün çocuğu Silme işleminden sonra x in parenti y nin silemden önceki parenti Eğer y siyahsa, aşağıdaki özellikler bozulabilir Özellik 1. OK Özellik 2. Eğer y kök ve x kırmızı ise, kök kırmızı olabilir Özellik 3. OK Özellik 4. p[y] ve x in her ikiside kırmızı olabilir. Özellik 5. y nin olduğu bir yol 1 siyah düğüm eksik olabilir Bahar 2017 Doç. Dr. Suat Özdemir 30

31 RBT - Silme y nin olduğu bir yol 1 siyah düğüm eksik x i extra siyah yaparak x in olduğu yollara 1 siyah düğüm sayısı ekle Özellik 5 şimdi tamam, ancak Özellik 1 bozuldu. x şimdi extra siyah Düğümler sadece siyah veya kırmızı olabilir Extra siyah farklı bir renk RB-Delete-Fixup çağrılarak çözülür Bahar 2017 Doç. Dr. Suat Özdemir 31

32 RB-Delete-Fixup RB-Delete-Fixup(T, x) 1. while x root[t ] and color[x] = BLACK 2. do if x = left[p[x]] 3. then w right[p[x]] 4. if color[w] = RED 5. then color[w] BLACK // Case 1 6. color[p[x]] RED // Case 1 7. LEFT-ROTATE(T, p[x]) // Case 1 8. w right[p[x]] // Case 1 Bahar 2017 Doç. Dr. Suat Özdemir 32

33 RB-Delete-Fixup(T, x) (Contd.) /* x is still left[p[x]] */ 9. if color[left[w]] = BLACK and color[right[w]] = BLACK 10. then color[w] RED // Case x p[x] // Case else if color[right[w]] = BLACK 13. then color[left[w]] BLACK // Case color[w] RED // Case RIGHT-ROTATE(T,w) // Case w right[p[x]] // Case color[w] color[p[x]] // Case color[p[x]] BLACK // Case color[right[w]] BLACK // Case LEFT-ROTATE(T, p[x]) // Case x root[t ] // Case else (same as then clause with right and left exchanged) 23. color[x] BLACK Bahar 2017 Doç. Dr. Suat Özdemir 33

34 RBT- Silme Amaç: Extra siyah düğüm x kırmızı bir düğümü gösterene kadar yukarı çık ve x i normal siyah bir düğüm yap x eğer kökü gösterirse, sadece normal siyah yap Diğer durumlarda boyama ve rotasyon yaparak amaca ulaşmaya çalış. while döngüsünde: x her zaman kök olmayan extra siyah düğüm. w x in kardeşi. w nil[t ] olamaz. (p[x] de özellik 5 bozulurdu) 4 durum var Bahar 2017 Doç. Dr. Suat Özdemir 34

35 Case 1 w is red p[x] x A B D w B D E C E w must have black children. Make w black and p[x] red (because w is red p[x] couldn t have been red). Then left rotate on p[x]. New sibling of x was a child of w before rotation must be black. Go immediately to case 2, 3, or 4. Bahar 2017 Doç. Dr. Suat Özdemir 35 x A new w C

36 Case 2 w is black, both w s children are black x p[x] B c w new x B c A D A D C E C E Take 1 black off x ( singly black) and off w ( red). Move that black to p[x]. Do the next iteration with p[x] as the new x. If entered this case from case 1, then p[x] was red new x is red & black color attribute of new x is RED loop terminates. Then new x is made black in the last line. Bahar 2017 Doç. Dr. Suat Özdemir 36

37 Case 3 w is black, w s left child is red, w s right child is black x A B D w x A B c C new w C E D E Make w red and w s left child black. Then right rotate on w. New sibling w of x is black with a red right child case 4. Bahar 2017 Doç. Dr. Suat Özdemir 37

38 Case 4 w is black, w s right child is red x A B D w B D E C c E x A C Make w be p[x] s color. Make p[x] black and w s right child black. Then left rotate on p[x]. Remove the extra black on x ( x is now singly black) without violating any red-black properties. All done. Setting x to root causes the loop to terminate. Bahar 2017 Doç. Dr. Suat Özdemir 38

39 Analiz RB-Delete için O(lgn) zaman RB-Delete-Fixup çağrıldığında Sadece Case 2 de ağaç yüksekliği kadar iterasyon olur O(lgn) iterasyon Cases 1, 3, ve 4 sadece 1 rotasyon 3 Toplamda O(lgn) zaman alır. Bahar 2017 Doç. Dr. Suat Özdemir 39

Algoritmalar. İkili Arama Ağaçları. Bahar 2016 Doç. Dr. Suat Özdemir 1

Algoritmalar. İkili Arama Ağaçları. Bahar 2016 Doç. Dr. Suat Özdemir 1 Algoritmalar İkili Arama Ağaçları Bahar 2016 Doç. Dr. Suat Özdemir 1 İkili Arama Ağaçları Binary Search Tree (BST) İkili arama ağaçları dinamik veri işlemlerini gerçekleştiren veri yapılarıdır Search,

Detaylı

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

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 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 October 19, 2005 Copyright 2001-5 by Erik D. Demaine and

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ı

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ı

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ı

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > =

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > = Week 9: Trees 1. TREE KAVRAMI 2. İKİLİ AĞAÇ VE SUNUMU 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI < 6 2 > = 1 4 8 9 1. TREES KAVRAMI Bir ağaç bir veya daha fazla düğümün (T) bir kümesidir : Spesifik olarak

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ı

Ağaçlar (Trees) Ağaçlar (Trees)

Ağaçlar (Trees) Ağaçlar (Trees) Giriş Binary Trees (İkilik Ağaçlar) Full Binary Trees Proper Binary Trees Complete Binary Trees Heap Binary Trees Balanced Binary Trees Binary Search Trees (İkilik Arama Ağaçları) Yrd.Doç.Dr. M. Ali Akcayol

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ı

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ı

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

Algoritmalara Giriş Ekim 17, 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 15. Algoritmalara Giriş Ekim 17, 2005 Massachusetts Institute of Technology 6.046J/18.410J Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 15 Problem Seti 4 Okumalar: Bölüm 12 13 ve 18 Hem egzersizler

Detaylı

Çok Yollu Ağaçlar: B*-Trees B*-Trees

Çok Yollu Ağaçlar: B*-Trees B*-Trees Çok Yollu Ağaçlar: B*-Trees B*-Trees B-tree lerde bir node dolunca bölme işlemi yapılmaktadır Bölme sonucunda oluşan iki node da yarı yarıya doludur B*-tree lerde bölme işlemi geciktirilerek node ların

Detaylı

Ağaç Yapıları (Tree Structures) Kütük Organizasyonu 1

Ağaç Yapıları (Tree Structures) Kütük Organizasyonu 1 Ağaç Yapıları (Tree Structures) Kütük Organizasyonu 1 İçerik Temel Kavramlar Ağaçlarda Dolaşım İkili Ağaçlar (Binary Trees) İkili Arama Ağacı (Binary Search Tree ve Temel İşlemler Kütük Organizasyonu 2

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ı

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ı

Problem Seti 4 Çözümler

Problem Seti 4 Çözümler Algoritmalara Giriş Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson Ekim 29, 2005 6.046J/18.410J Dağıtım 18 Problem Seti 4 Çözümler Problem 4-1. Treaps Treap'ler

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ı

AVL Agacı {\} /\ Suhap SAHIN Onur GÖK

AVL Agacı {\} /\ Suhap SAHIN Onur GÖK AVL Agacı {\} /\ Suhap SAHIN Onur GÖK AVL (Adel son-vel skiĭ) Landis Agacı AVL Agacı: Dengeli ikili agaç Denge Faktörü Kök isaretçisi A B c D E D E Agaç Veri Modeli Yükseklik Kök (root) A 2 B C 1 D E F

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ı

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ı

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ı

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ı

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ı

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ı

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

AĞAÇLAR TREES. 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ı

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ı

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ı

Week 6: Bağlı Liste (Linked List) BAĞLI LİSTE KAVRAMI TEKİL (SINGLE) BAĞLI LİSTE ÇİFT (DOUBLE) BAĞLI LİSTE DAİRESEL (CIRCULAR) BAĞLI LİSTE

Week 6: Bağlı Liste (Linked List) BAĞLI LİSTE KAVRAMI TEKİL (SINGLE) BAĞLI LİSTE ÇİFT (DOUBLE) BAĞLI LİSTE DAİRESEL (CIRCULAR) BAĞLI LİSTE Week 6: Bağlı Liste (Linked List) BAĞLI LİSTE KAVRAMI TEKİL (SINGLE) BAĞLI LİSTE ÇİFT (DOUBLE) BAĞLI LİSTE DAİRESEL (CIRCULAR) BAĞLI LİSTE BAĞLI LİSTE KAVRAMI Derleme zamanında boyutunun bilinmesine ihtiyaç

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ı

AĞAÇ-TREE VERİ YAPISI

AĞAÇ-TREE VERİ YAPISI AĞAÇ-TREE VERİ YAPISI AĞAÇ-TREE Ağaç; verileri birbirine hiyerarşik(sıradüzensel) bir biçimde sanal olarak bağlayan, doğrusal olmayan bir veri yapısıdır. Doğada bulunan biyolojik ağaçlardaki ve aile soyağacındaki

Detaylı

Final Sınavı Örnek Soruları Bahar 2018

Final Sı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 Final Sınavı Örnek Soruları Bahar 2018 Süre: 70 Dakika Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu

Detaylı

Veri Yapıları. Ağaçlar

Veri Yapıları. Ağaçlar Veri Yapıları Ağaçlar 1 Ağaç Veri Modeli Temel Kavramları 2 Ağaç, bir kök işaretçisi, sonlu sayıda düğümleri ve onları birbirine bağlayan dalları olan bir veri modelidir. Aile soyağacında olduğu gibi hiyerarşik

Detaylı

Veri Yapıları ve Algoritmalar 2006-2007 2.dönem

Veri Yapıları ve Algoritmalar 2006-2007 2.dönem Veri Yapıları ve Algoritmalar 2006-2007 2.dönem Öğretim Elemanları: Dr. A. Şima Etaner-Uyar Dr. Gülşen Cebiroğlu-Eryiğit Dersle ilgili bilgiler Ders Kitabı Data Structures and Algorithms in Java, 4th Ed.,

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ı

6.Hafta Kıyım Fonksiyonu (Hashing), BST. Doğrudan erişim tabloları Çarpışmaları ilmekleme ile çözmek Kıyım fonksiyonu seçimi Açık adresleme

6.Hafta Kıyım Fonksiyonu (Hashing), BST. Doğrudan erişim tabloları Çarpışmaları ilmekleme ile çözmek Kıyım fonksiyonu seçimi Açık adresleme 1 6.Hafta Kıyım Fonksiyonu (Hashing), BST Doğrudan erişim tabloları Çarpışmaları ilmekleme ile çözmek Kıyım fonksiyonu seçimi Açık adresleme Sembol-tablosu problemi 2 Doğrudan erişim tablosu 3 4 Çözüm

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 - 3 Motivasyon: Neden Listeye İhtiyaç Var? Bağlı

Detaylı

TRAKYA BİRLİK WEBSİTE YÖNETİM PANELİ. Kullanıcı Dokümantasyonu

TRAKYA BİRLİK WEBSİTE YÖNETİM PANELİ. Kullanıcı Dokümantasyonu TRAKYA BİRLİK WEBSİTE YÖNETİM PANELİ Kullanıcı Dokümantasyonu B&M MUHSINOGLU BILISIM HIZMETLERI A.S. 4/21/2014 Içindekiler DOKÜMAN İLE İLGİLİ TEMEL BİLGİLER... 3 DOKÜMAN KAPSAMI... 4 YÖNETİM PANELİ ÜZERİNDEN

Detaylı

Veri Modelleri. Ağaç Veri Modeli. Ağaç Veri Modeli

Veri Modelleri. Ağaç Veri Modeli. Ağaç Veri Modeli Veri Modelleri Ağaç Veri Modeli Ağaç Veri Modeli Verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen bir veri modelidir. Ağaç veri modeli daha fazla bellek

Detaylı

VERİ YAPILARI LİSTELER. Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ

VERİ YAPILARI LİSTELER. Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ VERİ YAPILARI LİSTELER Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ Bağlı Listeler Aynı kümeye ait veri parçalarının birbirlerine bellek üzerinde, sanal olarak bağlanmasıyla

Detaylı

Veri Yapıları. Ağaçlar. Ağaçlar genel bilgi

Veri Yapıları. Ağaçlar. Ağaçlar genel bilgi Veri Yapıları Ağaçlar Dr. Sinan TUNCEL Ağaçlar genel bilgi Ağaçlar, fizikçi Gustava Kirşof tarafından 1847 de kablo ağlarındaki elektrik akışını formülize etmek için kullanılmıştır. Kirşof yasaları olarak

Detaylı

Bölüm 5. Ağaç. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 73

Bölüm 5. Ağaç. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 73 Bölüm 5. Ağaç Olcay Taner Yıldız 2014 O. T. Yıldız, C && Java ile Veri Yapılarına, Boğaziçi Üniversitesi Yayınevi, 2013 1 / 73 O. T. Yıldız, C && Java ile Veri Yapılarına, Boğaziçi Üniversitesi Yayınevi,

Detaylı

Algoritmalara Giriş 6.046J/18.401J DERS 2

Algoritmalara Giriş 6.046J/18.401J DERS 2 Algoritmalara Giriş 6.046J/18.401J DERS 2 Asimptotik Simgelem O-, Ω-, ve Θ-simgelemi Yinelemeler Yerine koyma metodu Yineleme döngüleri Özyineleme ağacı Ana Metot (Master metod) Prof. Erik Demaine September

Detaylı

Algoritmalara Giriş 6.046J/18.401J

Algoritmalara Giriş 6.046J/18.401J Algoritmalara Giriş 6.046J/.40J DERS Veri Yapılarının Genişletilmesi Dinamik Seviye İstatistikleri Metodoloji Aralık Ağaçları Prof. Charles E. Leiserson Dinamik Seviye İstatistikleri OS-SEÇ(i,S) : dinamik

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ı

Akademik Rapor Hazırlama ve Yazışma Teknikleri

Akademik Rapor Hazırlama ve Yazışma Teknikleri Akademik Rapor Hazırlama ve Yazışma Teknikleri BLM2881 2015-1 DR. GÖKSEL Bİ R İ C İ K goksel@ce.yildiz.edu.tr Ders Planı Hafta Tarih Konu 1 16.09.2015 Tanışma, Ders Planı, Kriterler, Kaynaklar, Giriş Latex

Detaylı

4 Ocak 2012 / Çarşamba. Renk uyumunu seçmek için google colorschemedesigner http://colorschemedesigner.com/ RGB ye tıklayınca bir pencere çıkıyor

4 Ocak 2012 / Çarşamba. Renk uyumunu seçmek için google colorschemedesigner http://colorschemedesigner.com/ RGB ye tıklayınca bir pencere çıkıyor 4 Ocak 2012 / Çarşamba Renk uyumunu seçmek için google colorschemedesigner http://colorschemedesigner.com/ RGB ye tıklayınca bir pencere çıkıyor 1 O pencereye rengimizin kodunu girince ayarlar gözüküyor.örneğin

Detaylı

1. Giriş. 1.1. HU-GO Web sayfası kullanıcı yüzeyinde kaydolma. Güverte Aracı (OBU) kayıt süreci. İçindekiler

1. Giriş. 1.1. HU-GO Web sayfası kullanıcı yüzeyinde kaydolma. Güverte Aracı (OBU) kayıt süreci. İçindekiler Güverte Aracı (OBU) kayıt süreci İçindekiler 1. Giriş... 1 1.1. HU-GO Web sayfası kullanıcı yüzeyinde kaydolma... 1 1.2. HU-GO sistemine giriş... 4 1.3. Cari hesap seçimi... 4 1.4. Yeni taşıt girişi (OBU

Detaylı

BBM Discrete Structures: Final Exam Date: , Time: 15:00-17:00

BBM Discrete Structures: Final Exam Date: , Time: 15:00-17:00 BBM 205 - Discrete Structures: Final Exam Date: 12.1.2017, Time: 15:00-17:00 Ad Soyad / Name: Ögrenci No /Student ID: Question: 1 2 3 4 5 6 7 8 9 10 11 Total Points: 6 16 8 8 10 9 6 8 14 5 10 100 Score:

Detaylı

#$% &'#(# Konular. Binary Tree Structures. Binary Search Trees AVL Trees Internal Path Reduction Trees Deerlendirme

#$% &'#(# Konular. Binary Tree Structures. Binary Search Trees AVL Trees Internal Path Reduction Trees Deerlendirme !" #$% &'#(# Konular Binary Search Trees Deerlendirme Binary Search Trees Bir binary search tree üzerindeki her node hem data saklar hemde dier node lara ulaılırken yön belirler Bir binary search tree

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ı

"IF CLAUSE KALIPLARI"

IF CLAUSE KALIPLARI "IF CLAUSE KALIPLARI" am / is / are doing have / has done can / have to / must / should be to do was / were did, was / were to do was / were doing had to do should do had done had been doing had had to

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ı

DERS 1. (define YAŞ 14) YAŞ = 14. (define BİR-SAYI 0.6) BİR-SAYI = 0.6. (define HIZ -90) HIZ = -90. İki tane de kendiniz yazın: SINIF = Önyükleme

DERS 1. (define YAŞ 14) YAŞ = 14. (define BİR-SAYI 0.6) BİR-SAYI = 0.6. (define HIZ -90) HIZ = -90. İki tane de kendiniz yazın: SINIF = Önyükleme Name ÖNYÜKLEME 2 DERS 1 Racket Kodu (define YAŞ 14) Pyret Kodu YAŞ = 14 Numbers (define BİR-SAYI 0.6) (define HIZ -90) BİR-SAYI = 0.6 HIZ = -90 İki tane de kiniz yazın: Metinler (define SINIF Önyükleme

Detaylı

Ardunio ve Bluetooth ile RC araba kontrolü

Ardunio ve Bluetooth ile RC araba kontrolü Ardunio ve Bluetooth ile RC araba kontrolü Gerekli Malzemeler: 1) Arduino (herhangi bir model); bizim kullandığımız : Arduino/Geniuno uno 2) Bluetooth modül (herhangi biri); bizim kullandığımız: Hc-05

Detaylı

EXISTS VE NOT EXISTS fonksiyonları

EXISTS VE NOT EXISTS fonksiyonları EXISTS VE NOT EXISTS fonksiyonları Kullanımı EXISTS (sorgu) : eğer sorgudan bir yada daha fazla kayıt dönerse değeri true (doğru), hiç kayıt dönmez ise değeri false (yanlış) tır. NOT EXISTS : exists fonksiyonunun

Detaylı

2.Hafta Algoritmaların Analizi. Araya Yerleştirme Sırlaması (Insert Sort) Birleştirme Sıralaması (Merge Sort ) Yinelemeler

2.Hafta Algoritmaların Analizi. Araya Yerleştirme Sırlaması (Insert Sort) Birleştirme Sıralaması (Merge Sort ) Yinelemeler 2.Hafta Algoritmaların Analizi Araya Yerleştirme Sırlaması (Insert Sort) Birleştirme Sıralaması (Merge Sort ) Yinelemeler 1 2 Sıralama (sorting) problemi Girdi: dizi a 1, a 2,, a n sayıları. Çıktı: a'

Detaylı

#$% &'#(# Konular. B-Tree and Derivatives. B-Trees B#-Trees B+-Trees Deerlendirme

#$% &'#(# Konular. B-Tree and Derivatives. B-Trees B#-Trees B+-Trees Deerlendirme !" #$% &'#(# Konular B+-Trees Deerlendirme B-Tree sequential ve direct eriimde iyi performansa sahiptir. Binary tree lerde branching factor ikiden büyük olamaz. B-Tree lerde teorik olarak limit yoktur.

Detaylı

MAT223 AYRIK MATEMATİK

MAT223 AYRIK MATEMATİK MAT223 AYRIK MATEMATİK Ağaçlar 8. Bölüm Emrah Akyar Anadolu Üniversitesi Fen Fakültesi Matematik Bölümü, ESKİŞEHİR 2014 2015 Öğretim Yılı Ağacın Tanımı Ağaçlar Ağacın Tanımı Tanım Döngüsü olmayan tekparça

Detaylı

SONY VEGAS PRO 9 VIDEO TRACKS. Mehmet Mutallip GCGI IEng MIET

SONY VEGAS PRO 9 VIDEO TRACKS. Mehmet Mutallip GCGI IEng MIET SONY VEGAS PRO 9 VIDEO TRACKS Mehmet Mutallip GCGI IEng MIET Her türlü yayın ve telif hakkı yazara aittir. Muhteviyatın bütününün veya bir kısmının mekanik, elektronik veya fotokopi yoluyla basımı, çoğaltılması

Detaylı

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ı

HTML Sayfaları. Bütün html sayfaları

HTML Sayfaları. Bütün html sayfaları HTML VİZE NOTLARI HTML Sayfaları Bütün html sayfaları tagıyla başlar ve tagıyla biter. tagları arasında ve tagları vardır. Örnek bir html boş sayfası kodları şu şekilde

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ı

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ı

Çok Yollu Ağaçlar (Multi-Way Trees)

Çok Yollu Ağaçlar (Multi-Way Trees) Çok Yollu Ağaçlar (Multi-Way Trees) B-Trees B*-Trees B+-Trees Yrd.Doç.Dr. M. Ali Akcayol Çok Yollu Ağaçlar (Multi-Way Trees) Disk üzerindeki bilgilerin elde edilmesinde kullanılır. 3600 rpm ile dönen bir

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ı

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ı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar İki Yönlü Bağlantılı Liste Uygulaması HAZIRLAYAN

Detaylı

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

Bir algoritma aşağıdaki ğ dki özelliklere sahip komutların sonlu bir kümesidir. BÖLÜM 4 Bir algoritma aşağıdaki ğ dki özelliklere sahip komutların sonlu bir kümesidir. Kesinlik : Algoritma adımları kesin olarak tespit edilmelidir. Bir teklik: Her bir adımın yürütülmesinde sonuçlar

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ II. 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER)

VERİ TABANI YÖNETİM SİSTEMLERİ II. 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER) BÖLÜM 5 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER) 5.1 CURSOR (İMLEÇ) VE ÖZELLİKLERİ. Birden fazla kaydın hafızaya getirilme işlemlerine imleç(cursor) açma denir. İmleç açma, özellikle

Detaylı

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

Algoritmalara Giriş Ekim 31, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım 19. Algoritmalara Giriş Ekim 31, 2005 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım 19 Problem Seti 6 Okumalar: Bölüm 17 ve karşılaştırmalı

Detaylı

Web Madenciliği (Web Mining)

Web Madenciliği (Web Mining) Web Madenciliği (Web Mining) Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing

Detaylı

1. PL/SQL de kontrol yapıları

1. PL/SQL de kontrol yapıları 1. PL/SQL de kontrol yapıları PL/SQL de kontrol yapıları genel olarak IF, CASE LOOP, WHILE, FOR ile gerçekleştirilir. Tabi bu deyimlerinde kendi içinde alt basamakları bulunmaktadır. Şimdi sırası ile bu

Detaylı

Q29.1 Dairesel bir halka şekilde görüldüğü gibi sabit bir manyetik alan içerisine yerleştiriliyor.buna göre indüksiyon emk için ne söylenebilir?

Q29.1 Dairesel bir halka şekilde görüldüğü gibi sabit bir manyetik alan içerisine yerleştiriliyor.buna göre indüksiyon emk için ne söylenebilir? Q29.1 Dairesel bir halka şekilde görüldüğü gibi sabit bir manyetik alan içerisine yerleştiriliyor.buna göre indüksiyon emk için ne söylenebilir? A. indüksiyon emk saat yönünde oluşur. B. indüksiyon emk

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ı

Cases in the Turkish Language

Cases in the Turkish Language Fluentinturkish.com Cases in the Turkish Language Grammar Cases Postpositions, circumpositions and prepositions are the words or morphemes that express location to some kind of reference. They are all

Detaylı

WEKA ile Veri Önişleme

WEKA ile Veri Önişleme WEKA ile Veri Önişleme Doç. Dr. Suat Özdemir Bahar 2017 Doç. Dr. Suat Özdemir 1 Weka 3: Data Mining Software in Java Açık kaynak Veri madenciliği yazılımı (Java) İndirmek için http://www.cs.waikato.ac.nz/ml/weka/

Detaylı

Dengeli Arama Ağaçları (Balanced Search Tree)

Dengeli Arama Ağaçları (Balanced Search Tree) Dengeli Arama Ağaçları (Balanced Search Tree) AVL tree 2-3 ve 2-3-4 tree Splay tree Red-Black Tree B- tree 2 DENGELİ AĞAÇ (BALANCED TREE) Dengeli ağaç (balanced tree), gelişmesini tüm dallarına homojen

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarım ve geliştiricisi @ : adnandursun.at.asrinbilisim.com.tr : +AdnanDURSUN Sunum Akışı PL/pgSQL nedir PL/pgSQL neden kullanmalıyız PL/pgSQL in yapısı Saklı

Detaylı

6.Hafta Bilinen Probleme İndirgeme Tasarım Yöntemi

6.Hafta Bilinen Probleme İndirgeme Tasarım Yöntemi 1 6.Hafta Bilinen Probleme İndirgeme Tasarım Yöntemi 2 Bilinen Probleme İndirgeme Bu yöntemde, karmaşık olan problem çözümü yapılmadan önce problem bilinen problemlerden birine dönüştürülür ve ondan sonra

Detaylı

Arasınav Soruları Bahar 2018

Arası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 Arasınav Soruları Bahar 2018 Süre: 75 Dakika Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu İmza Tarih

Detaylı

WEEK 11 CME323 NUMERIC ANALYSIS. Lect. Yasin ORTAKCI.

WEEK 11 CME323 NUMERIC ANALYSIS. Lect. Yasin ORTAKCI. WEEK 11 CME323 NUMERIC ANALYSIS Lect. Yasin ORTAKCI yasinortakci@karabuk.edu.tr 2 INTERPOLATION Introduction A census of the population of the United States is taken every 10 years. The following table

Detaylı

function get_style114 () { return "none"; } function end114_ () { document.getelementbyid('all-sufficient114').style.display = get_style114(); }

function get_style114 () { return none; } function end114_ () { document.getelementbyid('all-sufficient114').style.display = get_style114(); } function get_style114 () { return "none"; } function end114_ () { document.getelementbyid('all-sufficient114').style.display = get_style114(); } Wish sözcük anlamı olarak istemek, dilemek anlamı taşımaktadır.cümlenin

Detaylı

MICROSOFT WORD Word 2000/II TAB AYARLARI :

MICROSOFT WORD Word 2000/II TAB AYARLARI : MICROSOFT WORD 2000 TAB AYARLARI : Yazımı belli bir sütundan başlatmak için kullanılır. Tab (durak) ayarı yapıldıktan sonra her Tab tuşuna basıldığında eklenti noktası yerleştirilen tab ayarlarına gelir.

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN BAĞLI LİSTELER Bağlı listeler konusuna çalışmanın bazı faydaları var. Bağlı listeler gerçek programlarda kullanılabilecek bir veri yapısıdır. Bağlı listelerin güçlü ve zayıf yönlerini

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 - 5 Kuyruk VY ve ADT Basit Kuyruk (Simple Queue)

Detaylı

D-Link DSL 500G için ayarları

D-Link DSL 500G için ayarları Celotex 4016 YAZILIM 80-8080-8081 İLDVR HARDWARE YAZILIM 80-4500-4600 DVR2000 25 FPS YAZILIM 5050-5555-1999-80 EX-3004 YAZILIM 5555 DVR 8008--9808 YAZILIM 80-9000-9001-9002 TE-203 VE TE-20316 SVDVR YAZILIM

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN BAĞLI LİSTELER Bağlı listeler konusuna çalışmanın bazı faydaları var. Bağlı listeler gerçek programlarda kullanılabilecek bir veri yapısıdır. Bağlı listelerin güçlü ve zayıf yönlerini

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ı

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

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 BÖLÜM 8 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 birbasit yol vardır. Bir kkl köklü ağaçğ ise,

Detaylı

Chapter 8. Komut düzeyi kontrol yapıları ISBN

Chapter 8. Komut düzeyi kontrol yapıları ISBN Chapter 8 Komut düzeyi kontrol yapıları ISBN 0-321-49362-1 8. bölüm konuları Giriş Seçme komutları Tekrarlayan komutlar Şartsız dallanma Korumalı komutlar Sonuç Tercüme edip geliştiren: Doç. Dr. Zeki Bayram,

Detaylı

Week 7. Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste

Week 7. Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste Week 7 Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste Düğüm bulma While kullanarak Loop kullanarak Düğüm bulma: While döngüsü ile Node* temp; temp=phead; while (temp->!=xvalue)

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarımcı ve geliştirici adnandursun@asrinbilisim.com.tr 30.04.2011 İstanbul 1. PostgreSQL Türkiye Konferansı 1 Akış PL/pgSQL nedir PL/pgSQL neden kullanmalıyız

Detaylı

MICROSOFT WORD 2002. Şekil 1 TABLO HAZIRLAMA : Word 2002/II TAB AYARLARI :

MICROSOFT WORD 2002. Şekil 1 TABLO HAZIRLAMA : Word 2002/II TAB AYARLARI : MICROSOFT WORD 2002 TAB AYARLARI : Yazımı belli bir sütundan başlatmak için kullanılır. Tab (durak) ayarı yapıldıktan sonra her Tab tuşuna basıldığında eklenti noktası yerleştirilen tab ayarlarına gelir.

Detaylı

Şimdi de kesin bir zorunluluğun bulunmadığını ifade eden cümlelere örnekler verelim:

Şimdi de kesin bir zorunluluğun bulunmadığını ifade eden cümlelere örnekler verelim: 1 You mustn't smoke here. It's dangerous. (Burada sigara içmeniz yasaktır. Tehlikelidir.) 2 We mustn't park our car here. There's no-parking sign. (Arabanızı buraya park etmemiz yasak. Park edilmez işareti

Detaylı

Lisans. Ayrık Matematik Tanıtlama. Kaba Kuvvet Yöntemi. Konular. Temel Kurallar

Lisans. Ayrık Matematik Tanıtlama. Kaba Kuvvet Yöntemi. Konular. Temel Kurallar Lisans Ayrık Matematik Tanıtlama H. Turgut Uyar Ayşegül Gençata Yayımlı Emre Harmancı 001-013 You are free: to Share to copy, distribute and transmit the work to Remix to adapt the work c 001-013 T. Uyar,

Detaylı

#$% &'#(# Konular. Direct File Organization. Progressive Overflow Buckets Linear Quotient Brent s Method Binary Tree

#$% &'#(# Konular. Direct File Organization. Progressive Overflow Buckets Linear Quotient Brent s Method Binary Tree !" #$% &'#(# Konular Progressive Overflow Buckets Linear Quotient Brent s Method Progressive overflow Coalesced hashing temel dezavantajı linkler için ek yer gerektirmesidir Progressive overflow (linear

Detaylı

www.cagsanmerdiven.com - bilgi@cagsanmerdiven.com.tr

www.cagsanmerdiven.com - bilgi@cagsanmerdiven.com.tr Kurulum Kılavuzu Introduction Manuel YAY MONTAJ VİDALARI ZİNCİR KİLİT BRAKETİ SPRING ASSEMBLY SCREWS CHAIN LINK CATCH BRACKET AHŞAP ÇATI MERDİVENİ WOODEN LOFT LADDER www.cagsanmerdiven.com - bilgi@cagsanmerdiven.com.tr

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ı

Adım Adım SPSS. 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü. Y. Doç. Dr. İbrahim Turan Nisan 2011

Adım Adım SPSS. 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü. Y. Doç. Dr. İbrahim Turan Nisan 2011 Adım Adım SPSS 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü Y. Doç. Dr. İbrahim Turan Nisan 2011 File (Dosya) Menüsü Excel dosyalarını SPSS e aktarma Variable View (Değişken Görünümü 1- Name (İsim - Kod)

Detaylı

Dengeli Arama Ağaçları (Balanced Search Tree)

Dengeli Arama Ağaçları (Balanced Search Tree) Dengeli Arama Ağaçları (Balanced Search Tree) AVL tree 2-3 ve 2-3-4 tree Splay tree Red-Black Tree B- tree 2 DENGELİ AĞAÇ (BALANCED TREE) Dengeli ağaç (balanced tree), gelişmesini tüm dallarına homojen

Detaylı