AĞAÇ-TREE VERİ YAPISI
|
|
- Temel Genç
- 6 yıl önce
- İzleme sayısı:
Transkript
1 AĞAÇ-TREE VERİ YAPISI
2 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 hiyerarşik yapıya benzetilerek adlandırılmıştır.
3 AĞAÇ-TREE Ağaç; bir kök işaretçisi, sonlu sayıda düğümleri ve onları birbirine bağlayan dalları olan bir yapıya sahiptir. Üniversite Fakülte Yüksekokul Enstitü Bölüm Program Ana Bilim Dalı Bilim Dalı
4 Ağaç Uygulama Alanları Ağaç veri yapısı, bilgisayar biliminde birçok problemin çözümüne temel oluşturur: İşletim sistemlerindeki dosya organizasyonu bir çeşit ağaç yapısıdır. Genel bir işletim sistemi dosya organizasyonu Windows işletim sistemi dosya organizasyonu
5 Ağaç Uygulama Alanları Veri Tabanı Yönetim Sistemlerinde, Sıkıştırma Algoritmalarında, Oyun programlarında hamle seçeneklerinin belirlenmesi gibi birçok uygulamada ağaç veri yapısı algoritmik çözüm sunar. Ağaç veri yapısı mantıksal düşünceye sığdığı sürece çok değişik şekillerde kurulabilir. Veri Tabanı ağacı hiyerarşik alan adı(dns) ağacı Tic Tac Toe(XOX) oyunu hamle ağacı
6 AĞAÇ:Temel Kavramlar (Terminoloji) Hiyerarşik yapı gereği aile soyağacında geçen birçok kavram(çocuk, kardeş düğüm, aile, ata) ağaç veri yapısında da tanımlıdır. Genel olarak veri, ağacın düğümlerinde tutulur, dallar ise düğümlerin birbiri ile bağlantısını gösterir.
7 AĞAÇ:Temel Kavramlar (Terminoloji) Düğüm (Node) : Ağacın her bir elemanına düğüm adı verilir. Kök Düğüm (Root) :Ağacın başlangıç düğümüdür. Çocuk (Child) :Bir düğüme doğrudan bağlı olan düğümlere o çocukları denilir. Kardeş Düğüm (Sibling) :Aynı düğüme bağlı düğümlere kardeş düğüm veya kısaca kardeş denir. Aile (Parent) :Düğümlerin doğrudan bağlı oldukları düğüm aile olarak adlandırılır; diğer bir deyişle aile, kardeşlerin bağlı olduğu düğümdür. Ata (Ancestor) ve Torun (Descendant) : Aile düğümünün daha üstünde kalan düğümlere ata, bir düğümün çocuğuna bağlı olan düğümlere torun denir.
8 AĞAÇ:Temel Kavramlar (Terminoloji) Derece (Degree) :Bir düğümden alt hiyerarşiye yapılan bağlantıların sayısıdır; yani çocuk veya alt ağaç sayısıdır. Düzey (Level) :İki düğüm arasındaki yolun üzerinde bulunan düğümlerin sayısıdır. Kök düğümün düzeyi 1, doğrudan köke bağlı düğümlerin düzeyi 2'dir. Derinlik (Depth): Bir düğümün köke olan uzaklığı derinliktir. Kök düğümün derinliği 1 dir. Yaprak (Leaf) : Ağacın en altında bulunan ve çocukları olmayan düğümlerdir. Yükseklik (Height) :Bir düğümün kendi silsilesinden en uzak yaprak düğüme olan uzaklığıdır. Yol(Path) :Bir düğümün aşağıya doğru (çocukları üzerinden) bir başka düğüme gidebilmek için üzerinden geçilmesi gereken düğümlerin listesidir.
9 AĞAÇ:Temel Kavramlar ÖRNEK Tanım Değer Düğüm sayısı: 9 Yükseklik: 4 Kök düğüm: A Yapraklar: C, D, F, H, I Düzey sayısı: 5 H'nin ataları: E, B, A B'nin torunları: G, H, I E'nin kardeşleri: D, F Sağ alt ağaç: Yok Sol alt ağaç: B
10 Ağaç Türleri İkili Ağaçlar (Binary Tree): İkili ağaçlarda bir düğüm en fazla iki tane çocuğa sahip olabilir. Kodlama Ağacı (Coding Tree): Bir kümedeki karakterlere kod ataması için kurulan ağaç şeklidir. Sözlük Ağacı(Dictonary Tree): Bir sözlükte bulunan sözcüklerin tutulması için kurulan bir ağaç şeklidir. Amaç arama işlemini en performanslı bir şekilde yapılması ve belleğin optimum kullanılmasıdır. Kümeleme Ağacı (Heap Tree): Bir çeşit sıralama ağacıdır. Çocuk düğümler her zaman aile düğümlerinden daha küçük değerlere sahip olur. Dolayısıyla kök düğüm en büyük değere sahip olurken, yapraklar kendi ailesi içerisinde en küçük değerlere sahip olurlar.
11 İkili Ağaçlar(Binary Trees) ve Çeşitleri Bir ağaçta her düğümün en fazla iki çocuğu varsa bu ağaca İkili Ağaç(Binary Tree) denir. Bir ağaçtaki her düğümün derecesi en fazla iki ise o ağaca İkili Ağaç denir. A İkili Ağaç DEĞİL A İkili Ağaç B D E B F C F C E F D G G I H
12 İkili Ağaçların Özellikleri İkili Ağaçlar sonlu düğümler kümesidir. Bu küme boş bir küme olabilir (empty tree). Boş değilse şu kurallara uyar: Kök olarak adlandırılan özel bir düğüm vardır. Her düğüm en fazla iki düğüme bağlıdır. Left child : Bir düğümün sol işaretçisine bağlıdır. Right child : Bir düğümün sağ işaretçisine bağlıdır. Kök hariç her düğüm bir daldan gelmektedir. Tüm düğümlerden yukarı doğru çıkıldıkça sonuçta köke ulaşılır. İkili bir ağaçta i. düzeydeki düğümlerin maksimum sayısı :2 (i 1) dir. k derinliğinde (depth) olan ikili bir ağaçta düğümlerin maksimum sayısı 2k 1 dir. (k 1)
13 İkili Ağaçlarda Gezinti/Geçiş(Traverse) İşlemleri Gezinti/ Geçiş (traverse); çeşitli kriterlere göre düğümleri yalnızca bir kez ziyaret ederek tüm ağacı dolaşmaktır. Ağaçlar üzerindeki gezinti işlemleri; arama, ağaçtaki tüm bilgilerin listelenmesi vb. başka amaçlarla yapılır. Ağaçların düğümleri doğrusal olmadığından(hiyerarşik) farklı algoritmalar uygulanır.
14 İkili Ağaçlarda Gezinti/Geçiş(Traverse) İşlemleri Bir ağacı dolaşırken bir düğüme ilişkin olarak veri, sol alt ağaç, sağ alt ağaç söz konusu olduğundan dolayı dolaşma sırası 6 farklı biçimde olabilir: 1) Veri Sol Sağ (preorder = kök başta) veya 2) Veri Sağ Sol (preorder = kök başta) 3) Sol Veri Sağ (inorder = kök ortada) veya 4) Sağ Veri Sol (inorder = kök ortada) 5) Sol Sağ Veri (postorder = kök sonda) veya 6) Sağ Sol Veri (postorder = kök sonda)
15 Preorder (Kök Başta) Gezinti Bir düğüm, onun alt nesillerinden önce ziyaret edilir. Yani düğümler arasında Kök-Sol Alt Ağaç-Sağ Alt Ağaç sırasıyla gezilir. Algoritma: Köke uğra Sol alt ağacı preorder olarak dolaş. Sağ alt ağacı preorder olarak dolaş. C Kodları: /* Ağacın preorder dolaşılması */ /* Dikkat preorder fonksiyonu özyinelemeli*/ void preorder(agacdugumptr agacptr) { if (agacptr!= NULL) { cout<<agacptr->data; preorder(agacptr->soldal); preorder(agacptr->sagdal); } }
16 Inorder (Kök Ortada) Gezinti Bir düğüm, sol alt ağaçtan sonra ve sağ alt ağaçtan önce ziyaret edilir. Yani; düğümler arasında Sol Alt Ağaç -Kök-Sağ Alt Ağaç sırasıyla gezilir. Algoritma: Sol alt ağacı inorder'a göre dolaş Köke uğra Sağ alt ağacı inorder'a göre dolaş. C Kodları: /* Agacın inorder dolaşılması */ /* Dikkat inorder fonksiyonu özyinelemeli*/ void inorder(agacdugumptr agacptr) { if (agacptr!= NULL) { inorder(agacptr->soldal); cout<<agacptr->data; inorder(agacptr->sagdal); } }
17 Postorder (Kök Sonda) Gezinti Bir düğüm, onun alt nesillerinden sonra ziyaret edilir. Yani; düğümler arasında Sol Alt Ağaç - Sağ Alt Ağaç-Kök sırasıyla gezilir. Algoritma: Sol alt ağacı postorder'a göre dolaş Sağ alt ağacı postorder'a göre dolaş. Köke uğra C Kodları: /* Ağacın postorder dolaşılması */ /* Dikkat postorder fonksiyonu özyinelemeli*/ void postorder(agacdugumptr agacptr) { if (agacptr!= NULL) { postorder(agacptr->soldal); postorder(agacptr->sagdal); printf("%d",agacptr->data); } }
18 ÖRNEK A B B C D D E F G H I Kök Önde-PreOrder : ABDGCEHIF Kök Ortada-InOrder : DGBAHEICF Kök Sonda-PostOrder : GDBHIEFCA
19 ÖRNEK: Aritmetik ifadelerin infix, prefix ve postfix biçimleriyle kök ortada(inorder),kök-başta(preorder) ve kök sonda(postorder) dolaşma arasında bir bağlantı vardır. Aşağıda ağaç yapısı verilen aritmetik ifadenin ön-işleç(prefix) biçimi ağaç kök önde(preorder) dolaşarak elde edilebilir. + / * * D C E Kök-ortada(infix): ((((A/B)*C)*D)+E) Kök-başta (prefix): +**/ABCDE Kök-sonda:??? A B
20 İkili Ağaç Çeşitleri İkili Arama Ağacı(Binary Search Tree-BST) Bir İkili Ağacın, İkili Arama Ağacı olması için; Her düğümdeki değerinin, sol alt ağacında bulunan tüm düğümlerin değerlerinden büyük, sağ alt ağacında bulunan tüm düğümlerin değerlerinden de küçük olmasıdır İkili arama ağacı ikili arama ağacı DEĞİL
21 İkili Arama Ağacı (Binary Search Tree-BST) Bağlı Liste veri yapısında tüm elemanların işlenmesi(örneğin arama işlemi gibi) n, listedeki eleman sayısı olmak üzere O(n) zaman almaktadır. İşlem zamanını kısaltmak veri yapılarının en önemli amaçlarından biridir. İkili ağaç yapısı arama, ekleme, silme gibi işlemleri h ağacın derinliğini göstermek üzere O(h) zamanda yapılmasını sağlar.
22 İkili Arama Ağacı (Binary Search Tree-BST) SORU: 3, 5, 7, 9, 11 kümesiyle derinliği 3, 4 ve 5 olan ikili arama ağaçları çiziniz. Bu kümeyle 2 derinliğinde bir ağaç çizilebilir mi? Neden?
23 İKİLİ ARAMA AĞACININ HAFIZADA TEMSİLİ Ağaç yapısını meydana getiren düğüm yapısı grafiksel gösterim: *soldal data *sagdal Ağaç yapısını meydana getiren düğüm yapısı(tamsayılar için) C Kodu: /* Ağaca ait düğüm yapısı tanımlanıyor */ struct dugum{ int icerik; struct dugum *sol; struct dugum *sag; }; typedef struct dugum Dugum; typedef Dugum * Dugumptr;
24 İKİLİ ARAMA AĞACININ HAFIZADA TEMSİLİ Ağaç yapısı grafiksel gösterim: Kök düğüm *soldal data *sagdal *soldal data *sagdal *soldal data *sagdal *soldal data *sagdal *soldal data *sagdal *soldal data *sagdal *soldal data *sagdal *soldal data *sagdal
25 İKİLİ ARAMA AĞACININ HAFIZADA TEMSİLİ Tamsayılar içeren ikili arama ağacı C Kodu: /*Tamsayılar içeren ikili arama ağacı tanımı*/ struct agac{ Dugumptr kok; }; typedef struct agac Agac; typedef Agac *Agacptr;
26 Yeni düğüm oluşturma fonksiyonu Dugumptr yeni_dugum(int icerik){ Dugumptr dugum; dugum= (Dugum *) malloc (sizeof (Dugum)); dugum->icerik=icerik; dugum->sol=null; dugum->sag=null; return dugum; }
27 Yeni ağaç oluşturma fonksiyonu Agacptr yeni_agac(){ Agacptr agac; agac= (Agac *) malloc (sizeof (Agac)); agac->kok=null; return agac; }
28 Ağaç işlemleri EKLEME O(h) ARAMA O(h) SİLME O(h) AĞAÇTA DOLAŞMA O(h)
29 İkili Arama Ağaçlarında EKLEME(düğüm) İşlemi Ekleme işlemi, İkili Arama Ağacı kurmayı ve kurala uygun olarak yeni elemanlar eklemeyi sağlar. İkili arama ağacını kurmada verilerin geliş biçimi (ağaca ekleniş sırası) önemlidir.
30 İkili Arama Ağaçlarında EKLEME(düğüm) İşlemi Verilerin geliş sırası 47, 55, 49, 26, 34, 17, 52, 84, 93 şeklinde olursa aşağıdaki şekilde bir ikili ağaç oluşur(derinlik: 4)
31 İkili Arama Ağaçlarında EKLEME(düğüm) İşlemi Verilerin geliş sırası 26,17, 47, 93, 84, 52, 34, 55, 49 şeklinde olursa aşağıdaki şekilde bir ikili ağaç oluşur(derinlik: 6) SORU: Verilerin geliş sırası k.ten-b.ğe sıralı veya b.ten-k.ğe sıralı olsa ağacın durumu nasıl olur? İki ayrı şekil ile gösteriniz. Her iki durum için derinlik ne olur?
32 İkili Arama Ağaçlarında EKLEME(düğüm) İşlemi Ekleme Nasıl Yapılır? Gelen veri, kökten itibaren ağaçta aranır. Daha büyük değerli bir düğüme rastlanırsa sol çocuğuna, daha küçük değerli bir düğüme rastlanırsa sağ çocuğuna ilerlenir. Eğer aynı değer bulunursa ikili arama ağacının tanımına aykırı olacağından ağaca ekleme yapılamaz. Arama göstergesinin son kaldığı konuma(değeri ararken ilk rastladığı NULL göstergenin yerine) öğe eklenir.
33 İkili Arama Ağaçlarında EKLEME(düğüm) İşlemi-O(h) / * Arama agacina yeni bir eleman(dugum) ekleyen fonksiyon C kodları*/ void agaca_ekle(agacptr a, Dugumptr yeni){ Dugumptr y=null; Dugumptr x=a->kok; while(x!=null){ y=x; if(yeni->icerik<x->icerik) else x=x->sag;} if(y==null) a->kok=yeni; else if(yeni->icerik <y->icerik) else y->sag=yeni; } x=x->sol; y->sol=yeni;
34 İkili Arama Ağacında ARAMA İşlemi-O(h) İkili arama ağaçlarındaki en önemli işlemlerden birisi aramadır Örnek olarak yandaki ağaçta, 44 sayısını aramak için şu işlem sırası izlenir: Karşılaştırma 1 : 44, 47 ile karşılaştırılır. 44<47 olduğundan sol daldan ilerlenir. Karşılaştırma 2 : 44, 25 ile karşılaştırılır. 44>25 olduğundan sağ daldan ilerlenir. Karşılaştırma 3: 44, 43 ile karşılaştırılır. 44>43 olduğundan sağ daldan ilerlenir. Karşılaştırma 4: 44 == 44 Aranan anahtar değeri ağaçta bulundu! Örnek olarak aşağıdaki ağaçta, 9 sayısını aramak için şu işlem sırası izlenir: Karşılaştırma 1: 9, 47 ile karşılaştırılır. 9>47 olduğundan sağ daldan ilerlenir. Karşılaştırma 2 : 9, 77 ile karşılaştırılır. 9>77 olduğundan sağ daldan ilerlenir. Karşılaştırma 3 : 9, 93 ile karşılaştırılır. 9<93 olduğundan sol daldan ilerlenir. : NULL. Aranan anahtar değeri ağaçta bulunamadı.
35 İkili Arama Ağacında ARAMA İşlemi-O(h) /*Verilen bir degeri ikili arama agacinda arayan özyinelemeli fonksiyon C kodları*/ Dugumptr agac_ara(dugumptr d, int eleman){ if(!d) return NULL; if(d->icerik==eleman) return d; else if(d->icerik>eleman) return agac_ara(d->sol,eleman); else return agac_ara(d->sag,eleman); }
36 İkili Arama Ağacında ARAMA İşlemi-O(h) /*Verilen bir degeri ikili arama agacında arayan iteratif(özyinelemesiz) fonksiyon C kodları*/ Dugumptr agac_ara2(agacptr a, int eleman){ Dugumptr d; d=a->kok; while (d!=null){ if(d->icerik==eleman)return d; else if(d->icerik>eleman) d=d->sol; else d=d->sag; } return NULL;}
37 İkili Arama Ağacında SİLME(düğüm) İşlemi İkili arama ağacında herhangi bir düğüm silindiğinde bu düğüme bağlı olan çocukların dikkate alınması gerekmektedir. 3 farklı durum söz konusudur: i).silinecek olan düğüm yaprak ise silme işlemi hemen gerçekleştirilir.
38 İkili Arama Ağacında SİLME(düğüm) İşlemi ii). Silinecek olan düğüm eğer bir çocuğa sahip ise, o düğümün atasının pointer bilgisini alt düğüme (çocuğa) aktarmak gerekir.
39 İkili Arama Ağacında SİLME(düğüm) İşlemi iii). Silinecek olan düğüm eğer iki çocuğa sahip ise, silinen düğümün yerine o düğümün sağ alt ağacındaki en küçük anahtar değeri getirilir. Daha sonra ise sağ alt ağaçtan taşınan anahtar değeri silinir.
40 İkili Arama Ağacında SİLME(düğüm) İşlemi /*Arama agacindan bir düğüm/ eleman silen fonksiyon C kodları*/ void agac_sil(agacptr a, int icerik){ Dugumptr y,x=a->kok; while (x->icerik!= icerik){ if( x->icerik>icerik) x=x->sol; else x=x->sag;} while(1){ y=azami_ara(x->sol); if(y==null) y=asgari_ara(x->sag); if(y==null) break; x->icerik=y->icerik; x=y; }}
41 İkili Arama Ağacında En küçük elemanı bulma İşlemi /*Arama agacındaki en kücük elemanı bulan fonksiyon*/ Dugumptr asgari_ara(dugumptr d){ if (d ==NULL) return NULL; Dugumptr sonuc=d; while (sonuc->sol) sonuc=sonuc->sol; return sonuc; }
42 İkili Arama Ağacında En küçük elemanı bulma İşlemi /* Arama ağacındaki en küçük elemanı bulan özyinelemeli fonksiyon*/ Dugumptr asgari_ara2(dugumptr d){ if (d->sol== NULL) return d; else return asgari_ara2(d->sol); }
43 İkili Arama Ağacında En büyük elemanı bulma İşlemi /* Arama ağacındaki en büyük elemanı bulan fonksiyon*/ Dugumptr azami_ara(dugumptr d){ if (d ==NULL) return NULL; Dugumptr sonuc=d; while (sonuc->sag) sonuc=sonuc->sag; return sonuc; }
44 İkili Arama Ağacında En büyük elemanı bulma İşlemi /* Arama ağacındaki en büyük elemanı bulan özyinelemeli fonksiyon*/ Dugumptr azami_ara2(dugumptr d){ if (d->sag== NULL) return d; else return azami_ara2(d->sag); }
45 İkili Ağaç Çeşitleri Hatırlanacağı üzere; İkili ağaç yapısı arama, ekleme, silme gibi temel işlemleri h ağacın derinliğini/yüksekliğini göstermek üzere O(h) zamanda yapılmasını sağlar. İkili ağaçların özel bir çeşidi olan İkili arama ağaçlarında da bu temel işlemler ağacın yüksekliği/derinliği ile yakından ilişkilidir. Yani, ikili arama ağacı üzerinde yapılacak ekleme/silme işlemi aynı zamanda ağacın dengesini etkiler ve bazı durumlarda dengenin değişmesine neden olur.
46 İkili Ağaç Çeşitleri N elemanlı(düğümlü) bir İkili arama ağacı dengeli olduğu sürece ağaçta arama, ekleme, silme gibi temel işlemler O(log 2 N) [N: düğüm(eleman) sayısıdır] zamanda gerçekleşmektedir.
47 İkili Ağaç Çeşitleri Örneğin; Ekleme sırası {1, 2, 3, 4, 5} şeklinde olan sayıların boş bir ikili ağaca eklenmesi sonucunda ağacın grafiksel görünümü aşağıdaki gibi olur;
48 İkili Ağaç Çeşitleri Bu şekilde dengeli olmayan bir ikili arama ağacında; ağacın yüksekliği düğüm/eleman sayısına eşittir. N elemanlı dengeli olmayan bir ikili arama ağacında arama işlemi O(N) zaman alacaktır. Böyle bir ikili arama ağacının bir bağlı liste veri yapısına dönüştüğü söylenebilir. Zaman açısından O(n)> O(log 2 N) olduğundan ikili arama ağaçlarında ağacın dengede olmaması yani dengeli bir ağaç olmaması önemli bir problemdir.
49 İkili Ağaç Çeşitleri İkili arama ağaçları dengeli olabilirse bir anahtar değerini aramak oldukça hızlıdır. Ağacın dengeli olması durumunda N elemanlı(düğümlü) bir ağaç; en fazla log 2 N düzeyden oluşur. Bu durumda bir anahtar değerin bulunması veya ağaçta olmadığının belirlenmesi için en fazla log 2 N karşılaştırma yapılır. Örneğin 1 elemanlı bir ikili arama ağacında bir elemanın bulunabilmesi için en fazla log 2 1= karşılaştırma yapmak gerekecektir. Bağlı Listelerde (linked List) ise aranan elemanın değerine göre (eleman sonda olabilir) 1 karşılaştırma yapmak gerekebilir.
50 DENGELİ İKİLİ AĞAÇ (BALANCED BINARY TREE) Dengeli ağaç (balanced tree); Gelişmesini tüm dallarına homojen olarak yansıtacak biçimde yüksekliği dengelenen ağaç çeşididir. Bu özellikteki ağaca literatürde yükseklik dengeli ağaç da denilmektedir.
51 DENGELİ İKİLİ AĞAÇ (BALANCED BINARY TREE) Tanım: Herhangi bir düğümüne bağlı sol ve sağ alt ağaçların yükseklikleri arasındaki fark en fazla 1 (bir) olmalıdır(şekil a ve b).
52 DENGELİ İKİLİ AĞAÇ (BALANCED BINARY TREE) Bir dalın fazla büyümesi ağacın dengesini bozar ve ağaç üzerinde yapılan işlemlerin yürütme zamanı doğrusal bağıntılara dönüşür. Dolayısıyla ağaç veri yapısının en önemli getirisi kaybolmaya başlar. Yapılan istatistiksel çalışmalarda, ağacın oluşturulması için gelen verilerin rastgele olması durumda ağacın dengeli olduğu veya çok az sapma gösterdiği gözlenmiştir.
53 DENGELİ İKİLİ AĞAÇ (BALANCED BINARY TREE) İkili Arama Ağacı(BST) işlemlerini daha kısa sürede gerçekleştirmek için birçok BST dengeleme algoritması geliştirilmiştir. Bunlardan bazıları; Adelson-Velskii ve Landis (AVL) ağaçları (1962) Splay ağaçları (1978) B-ağacı ve diğer çok yönlü arama ağaçları (1972) Red-Black ağaçları (1972) Simetrik İkili B-Ağaçları(Symmetric Binary B-Trees) dir
54 AVL AĞACI AVL( G.M. Adelson-Velskii and E.M. Landis) yöntemine göre kurulan bir ağaç, ikili AVL arama ağacı olarak adlandırılır. AVL ağacının özelliği; sağ alt ağaç ile sol alt ağaç arasındaki yükseklik farkının en fazla bir düğüm olmasıdır. Bu kural ağacın tüm düğümleri için geçerlidir. Normal ikili arama ağaçları için ekleme ve silme algoritmaları, ikili AVL ağaçları üzerinde ağacın yanlış şekil almasına, yani ağacın dengesinin bozulmasına neden olur.
55 AVL Ağaçları Tanım: 1.Boş bir ağaç AVL ağacıdır. 2.Eğer T boş olmayan TL ve TR şeklinde sol ve sağ alt ağaçları olan ikili arama ağacı ise, T aşağıdaki şartları sağlarsa AVL ağacı şeklinde isimlendirilir. TL ve TR AVL ağaçları ise hl ve hr, TL ve TR nin yükseklikleri olmak üzere hl hr <= 1 olmak zorundadır.
56 AVL AĞACI hl=hr±1 hr=hl±1 TL TR
57 AVL Ağaçları- Denge Faktörü[Balance Factor] AVL ağaçları dengeli ikili arama ağaçlarıdır. Her bir düğümün sol ve sağ alt ağaçlarının yükseklikleri arasındaki fark en fazla 1 olabilir. Bir düğümdeki denge faktörü(bf)= hl - hr AVL ağaçlarında denge faktörü (balance factor-bf) sadece -1,, 1 olabilir. hl=hr ise BF= hl>hr ise BF= 1 hl<hr ise BF= -1
58 ÖRNEK1 İçeriği 7 olan düğüm için BF hesaplanması; hl=2, hr=2 olduğundan BF=hL-hR= olur Kırmızı numaralar balans faktörüdür. 9 İçeriği 8 olan düğüm için BF hesaplanması; hl=, hr=1 olduğundan BF= -1 olur.
59 ÖRNEK2 AVL AĞACI DEĞİL İçeriği 7 olan düğüm için BF hesaplaması: hl=3, hr=1 olduğundan BF=2>1(denge bozulur) dir. 1 4 Soru: Diğer düğümler için BF leri siz hesaplayınız. 3 5
60 ÖRNEK AVL Ağacı 7 9 AVL Ağacı Değildir AVL Ağacı AVL Ağacı Değildir AVL Ağacı AVL Ağacı Değildir Kırmızı numaralar balans faktörüdür.
61 AVL AĞACININ HAFIZADA TEMSİLİ AVL Ağaç yapısını meydana getiren düğüm yapısı grafiksel gösterim: *soldal data yukseklik *sagdal AVL Ağaç yapısını meydana getiren düğüm yapısı(tamsayılar için) C Kodu: /* Ağaca ait düğüm yapısı */ struct avldugum { struct avldugum *sol,*sag; int data;/*ağaçta tutulacak verinin tipine göre bu tanım değişebilir*/ int yukseklik;};
62 AVL AĞACININ HAFIZADA TEMSİLİ Aşağıda, bu yapıya uygun olarak örnek değişken tanımları ve AVL ağacı için düğüm oluşturma işlemi yer almaktadır: typedef struct avldugum Avldugum; typedef Avldugum * Avldugumptr; Avldugumptr yeni_avldugum(int y_veri){ Avldugumptr dugum; dugum=(avldugum *)malloc(sizeof(avldugum)); dugum->veri=y_veri; dugum->sol=null; dugum->sag=null; dugum->yukseklik=1; return dugum;}
63 AVL dugum tanımını kullanan boş bir struct avlagac{ Avldugumptr kok;}; AVL Ağacı oluşturma typedef struct avlagac Avlagac; typedef Avlagac *Avlagacptr; Avlagacptr yeni_avlagac(){ Avlagacptr agac; agac=(avlagac *)malloc(sizeof(avlagac)); agac->kok=null; return agac; }
64 AVL ağacı yüksekliğini-boyunu bulma int boy(avldugumptr d){ if(d==null) return ; else return d->yukseklik; }
65 AVL Ağacında Dengenin Sağlanması: Problem: Ekleme işlemi bazı durumlarda ekleme noktasına göre kök olan bölgelerde denge faktörünün 2 veya -2 olmasına neden olabilir. Çözüm Yolu: Yeni düğümü ekledikten sonra; Denge faktörü düzelterek köke doğru çık. Eğer düğümün denge faktörü 2 veya -2 ise ağaç bu düğüm üzerinde döndürülerek düzeltilir.
66 AVL Ağacında Dengenin Sağlanması: AVL ağacı Eklendikten sonra > AVL AĞACI DEĞİL
67 Denge Sağlama-Rotasyon/Döndürme: Örnek AVL Ağacı Eklendikten sonra > AVL AĞACI DEĞİL DÖNDÜRME/Rotasyon UYGULANARAK DENGE SAĞLANDI
68 AVL Ağacı - Ekleme (1) P düğümünün dengeyi bozan düğüm olduğu düşünülürse bu düğüm; P pivot düğüm şeklinde isimlendirilir. Eklemeden sonra köke doğru çıkarken BF nin 2 veya -2 olduğu ilk düğümdür. P P Pivot: bf 2 veya -2 L R A B C D
69 4 farklı durum vardır: Dış Durum (tek döndürme gerektiren) : P nin sol alt ağacının soluna eklendiğinde (LL Dengesizliği). P nin sağ alt ağacının sağına eklendiğinde (RR Dengesizliği) İç Durum (2 kez döndürme işlemi gerektiren) : P nin sol alt ağacının sağına eklendiğinde (RL Dengesizliği) P nin sağ alt ağacının soluna eklendiğinde(lr Dengesizliği)
70 I). LL Dengesizliği & Düzeltme LL Dengesizliği: P nin sol alt ağacının soluna eklediğimizde (A alt ağacınına) P nin BF si 2 L nin BF si veya 1 Düzeltme: P etrafında sağa doğru döndürme.
71 ÖRNEK: LL Dengesizliği & Düzeltme LL Dengesizliği: P(4) ün bfsi 2 L(3) ün bfsi veya Ekle(2) Döndür Başlangıçtaki AVL Ağacı 2 2 eklendikten sonra ağacın durumu 2 Pivotun belirlenmesi LL Düzeltmesi yapıldıktan sonra AVL ağacı
72 II). RR Dengesizliği & Düzeltme: RR Dengesizliği: P nin sağ alt ağacının sağına eklendiğinde (D alt ağacına eklendiğinde) P bf = -2 R bf = veya -1 Düzeltme: P etrafında sola doğru döndürme
73 ÖRNEK: RR Dengesizliği & Düzeltme: 1-1 Ekle(4) 1-2 Döndür eklendikten sonra ağacın durumu RR Düzeltmesi yapıldıktan sonra AVL ağacı Balans faktörü düzelterek köke doğru ilerle ve 1 u pivot olarak belirle Dengesizliğin türünün belirlenmesi RR Dengesizliği: P(1) bf = -2 R(2) bf = veya -1
74 III). LR Dengesizliği & Düzeltme: LR Dengesizliği: P nin sol alt ağacının sağına eklendiğinde (LR ağacına) P bf = 2 L bf = -1 Düzeltme: L & P etrafında 2 kez döndürme
75 ÖRNEK: LR Dengesizliği & Düzeltme 1 1 Ekle(5) 2 1 Döndür Başlangıçtaki AVL Ağacı 5 LR Düzeltmesinden sonra ağacın durumu Balans faktörü düzelterek köke doğru ilerle ve 1 u pivot olarak belirle 5 eklendikten sonra ağacın durumu Dengesizliğin türünün belirlenmesi LR Dengesizliği: P(1) bf = 2 L(4) bf = -1
76 IV). RL Dengesizliği & Düzeltme: RL Dengesizliği: P nin sağ alt ağacının soluna eklendiğinde (RL alt ağacına) P bf = -2 R bf = 1 Düzeltme: R & P etrafında 2 kez döndürme.
77 ÖRNEK: RL Dengesizliği & Düzeltme Başlangıçtaki AVL Ağacı Ekle(17) Balans faktörü düzelterek köke doğru ilerle ve 1 u pivot olarak belirle eklendikten sonra ağacın durumu 3 Döndür RL Dengesizliği: P(1) bf = -2 R(2) bf = 1 Dengesizliğin türünün belirlenmesi RL Düzeltmesi yapıldıktan sonra AVL ağacı 2 1 3
78
79
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ı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ı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ı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ı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 Ö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ı 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Ç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ı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ı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ı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ı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ı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ı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ı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
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ı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ıAğaçlar(Trees) AĞAÇ VERİ MODELİ
Ağaçlar(Trees) AĞAÇ VERİ MODELİ Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyerarşik yapıya sahip bir veri modelidir; bilgisayar yazılım
Detaylı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ı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ı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ı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ı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ı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ı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ı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ı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ıAlgoritma Geliştirme ve Veri Yapıları 7 Liste ve Bağlantılı Liste. Mustafa Kemal Üniversitesi
Algoritma Geliştirme ve Veri Yapıları 7 Liste ve Bağlantılı Liste Liste birbiriyle ilişkili verileri içeren bir kümedir, programlama açısından liste en basitinden bir dizi üzerinde tutulur. Dizi elemanları
DetaylıBinary Tree nedir?uygulamas nasl yaplr?
Yazar : Tu çe Kalkavan Web : tugcekalkavan.net admin@tugcekalkavan.net Bili³im Blo u Binary Tree nedir?uygulamas nasl yaplr? Bu bölümde veri yaplarnda önemli bir konu olan binary tree konusunu anlatmaya
Detaylı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ı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ı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ı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ı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ı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ıSOMEBODY ELSE'S. ( DATA STRUCTURES and ALGORITHMS ) Veri Yapıları ve Algoritmaları
SOMEBODY ELSE'S ( DATA STRUCTURES and ALGORITHMS ) Veri Yapıları ve Algoritmaları Yazan: Burak Kıymaz Derleyen: Serhan Aksoy @2016 Burak Kıymaz 28.10.2015 Veri Yapıları Abstrak veri yapıları: (Abstract
Detaylı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ı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ı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ı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ı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ı#$% &'#(# 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ıÇ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ı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ıÇ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ıÇ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ı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ı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ı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ı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ı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ı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ı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ı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ı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ıAlgoritmalar. Kırmızı Siyah Ağaçları Red Black Trees. Bahar 2017 Doç. Dr. Suat Özdemir 1
Algoritmalar Kırmızı Siyah Ağaçları Red Black Trees Bahar 2017 Doç. Dr. Suat Özdemir 1 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
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Ç 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ıBAĞLAÇLI LİSTELER LINKED LISTS
BAĞLAÇLI LİSTELER LINKED LISTS Liste Günlük yaşamda listeler pek çok yerde kullanılmaktadır. Alışveriş listeleri, adres listeleri, davetli listeleri gibi. Bilgisayar programlarında da listeler yararlı
DetaylıYZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI
YZM 2116- VERİ YAPILARI DERS#9: HASH FONKSİYONLARI İÇERİK Bu bölümde, Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision) Ayrık Zincirleme Çözümü Linear Probing Çözümü Quadratic Probing Çözümü konusuna
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 Arama Problemi Sıralama algoritmaları gibi arama algoritmaları da gerçek hayat bilgisayar mühendisliği problemlerinin çözümünde
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 October 19, 2005 Copyright 2001-5 by Erik D. Demaine and
DetaylıKARAKTER DİZGİLERİ, BAĞINTILAR, FONKSİYONLAR KESİKLİ MATEMATİKSEL YAPILAR
KARAKTER DİZGİLERİ, BAĞINTILAR, FONKSİYONLAR KESİKLİ MATEMATİKSEL YAPILAR 2012-2013 Karakter Dizgisi Karakter Dizgisi Üzerine İşlemler Altdizgi Tanım 3.1.1: Bir X kümesi üzerinde bir karakter dizgisi (string)
DetaylıDosyalarda Farklı Yaklaşımlar. Kütük Organizasyonu 1
Dosyalarda Farklı Yaklaşımlar Kütük Organizasyonu 1 Giriş Şimdiye kadar öğrendiğimiz temel dosyalama komutlarıyla (fopen,flclose, fputs vb..) dosya oluşturabilmekte, kayıt ekleyebilmekte ve her bir kaydın
Detaylı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ı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ı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ı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ı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ıBAĞLAÇLI LİSTELER LINKED LISTS
BAĞLAÇLI LİSTELER LINKED LISTS Liste Günlük yaşamda listeler pek çok yerde kullanılmaktadır: Alışveriş listeleri, adres listeleri, davetli listeleri gibi. Bilgisayar programlarında da listeler yararlı
DetaylıTanım Bir X kümesi üzerinde bir karakter dizgisi (string) X kümesindeki. boş karakter dizgisi (null string) denir ve l ile gösterilir.
BÖLÜM 3 Karakter Dizgileriil i Tanım 3.1.1 Bir X kümesi üzerinde bir karakter dizgisi (string) X kümesindeki öğelerden oluşan bir sonlu dizidir. Hiç bir öğesi olmayan bir karakter dizgisine boş karakter
DetaylıALGORİTMA VE PROGRAMLAMA II
ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Bellek ve Adresleme İşaretçi Kavramı
Detaylı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ıDOSYA ORGANİZASYONU. Sıralı erişimli dosya organizasyonu 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Ü Sıralı erişimli dosya organizasyonu yöntemleri Sunum planı Sıralı erişimli dosya organizasyonu yöntemleri Basit sıralı
Detaylı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ı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ıYIĞINLAR YIĞINLAR. Yığın İşlemleri Postfix, Prefix, Infix. G. Ü. Bilgisayar Mühendisliği Bölümü
Yığın İşlemleri Postfix, Prefix, Infix Yrd.Doç.Dr. M. Ali Akcayol 1 Yığındaki elemanlardan sadece en son eklenene erişim yapılır. Yığına ilk eklenen eleman en son elde edilir. FILO (First-in-Last-out)
DetaylıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi
Detaylı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ıYAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta
YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ 3. Hafta YAPILAR Farklı veri tipindeki bilgilerin bir araya gelerek oluşturdukları topluluklara yapı (structure) denir. Yani yapılar, birbiriyle ilişkili değişkenlerin
DetaylıBİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları
BİLGİSAYAR PROGRAMLAMA Algoritma ve Akış Şemaları Algoritma tanımı Algoritma özellikleri Algoritma tasarımı Akış şemaları Dallanma simgeleri Döngü simgeleri Akış şeması tasarımı Akış şeması örnekleri Konu
DetaylıFiziksel Tasarım Konuları. Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları
Fiziksel Tasarım Konuları Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları Fiziksel Tasarım İyi performans için Hızlı cevap zamanı Minimum disk erişimi Disk Yapısı İz(Track) Silindir
Detaylı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ıBilgilerin Uzun Vadeli Saklanması
8 DOSYA SİSTEMS STEMİ Bilgilerin Uzun Vadeli Saklanması saklanacak veriler çok fazla olabilir veriler proses sonlandıktan sonra da kaybolmamalı bilgiye prosesler ortak olarak ulaşabilmeli 424 Dosya Sistemi
DetaylıBölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31
Bölüm 6. Karma Olcay Taner Yıldız 2014 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, 2013 1 / 31 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi
Detaylı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ı#$% &'#(# 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ı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ı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ı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ı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ıBLG 312 Bilgisayar İşletim Sistemleri 2006 BLG 312. Bilgilerin Uzun Vadeli Saklanması. Dosya Sistemi Görevleri. Dosya Sistemi Özellikleri
Bilgilerin Uzun Vadeli Saklanması Bilgisayar İşletim Sistemleri BLG 312 Dosya Sistemi saklanacak veriler çok fazla olabilir veriler proses sonlandıktan sonra da kaybolmamalı bilgiye prosesler ortak olarak
DetaylıAlgoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi
Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar
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 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ıÇ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ıAlgoritma Analizi ve Büyük O Notasyonu. Şadi Evren ŞEKER YouTube: Bilgisayar Kavramları
Algoritma Analizi ve Büyük O Notasyonu Şadi Evren ŞEKER YouTube: Bilgisayar Kavramları Algoritmaların Özellikleri Algoritmalar Input Girdi, bir kümedir, Output ÇıkF, bir kümedir (çözümdür) Definiteness
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İLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİŞKEK 2012 Ahmet Atakan
DetaylıÖrnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf
İçindekiler 1. Giriş... 1 1.2. c++ Programı Yapısı... 2 1.3.Using Direktifi... 5 Bölüm 2. Veri türleri, değişken kavramı, sabit ve değişken bildirimleri ve c++ da kullanımı 7 2.1. Temel veri türleri...
DetaylıIndeksli Sıralı Erişimli Dosya Yapıları (Indexed Sequential File Organization) ve. Bit Seviyesinde İşlemler (Bit Level and Related Structures)
Indeksli Sıralı Erişimli Dosya Yapıları (Indexed Sequential File Organization) ve Bit Seviyesinde İşlemler (Bit Level and Related Structures) Kütük Organizasyonu 1 Indeksli Sıralı Erişimli Dosya Yapıları
DetaylıTemel Bilgisayar Programlama Final Sınavı Çalışma Notları
Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak
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
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ı