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

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

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

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

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

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

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

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

YZM 2116 Veri Yapıları

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

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

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

BIP116-H14-1 BTP104-H014-1

Yrd. Doç. Dr. Caner ÖZCAN

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

YZM 2116 Veri Yapıları

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

YZM 2116 Veri Yapıları

Ağaç (Tree) Veri Modeli

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

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

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

Yrd. Doç. Dr. Caner ÖZCAN

BIL222 Veri Yapıları ve Algoritmalar

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ü

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

Web Madenciliği (Web Mining)

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

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

Resim 7.20: Yeni bir ileti oluşturma

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

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

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

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Final Sınavı Soruları Bahar 2018

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

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

Veri Yapıları. Ağaçlar

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

TABLO ve HÜCRE SEÇİMİ

Bölüm 4: DDL Veri Tanımlama Dili

Akademik Rapor Hazırlama ve Yazışma Teknikleri

Fiziksel Veritabanı Modelleme

Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir

Introduction to Circuit Analysis Laboratuarı 1.Deney Föyü

AĞAÇ-TREE VERİ YAPISI

Algoritmalara Giriş 6.046J/18.401J

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

Veri tabanı içinde bulunan tablolardakibazı sütunlarda bulunan bilgilerin, herkes tarafından görülmesi istenmeyebilir.

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

VERİTABANI Veritabanı Yönetimi

BÖLÜM 1 GİRİŞ 1.1 GİRİŞ

İSTANBUL AYDIN ÜNİVERSİTESİ SİSTEM ANALİZİ VE TASARIMI KADİR KESKİN ERİM KURT YAZILIM GEREKSİMLERİ DOKÜMANI ONLİNE SİNEMA BİLET SİSTEMİ B1310.

Fiziksel Tasarım Konuları. Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları

İşlemsel Yükselteçler

1.DERS AÇMA İŞLEMLERİ

Silmek istediğiniz satır/sütun/hücre yi seçin ve aşağıdaki adımlardan birini takip edin:

BÖLÜM FORMLAR. Şekil Form sihirbazı ile form oluşturma 1. pencere.

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

Konu 2. Y. Doç. Dr. Fazıl GÖKGÖZ

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

Elektrik Müh. Temelleri

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

Indeksli Sıralı Erişimli Dosya Yapıları (Indexed Sequential File Organization) ve. Bit Seviyesinde İşlemler (Bit Level and Related Structures)

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

Görsel Programlama DERS 04. Görsel Programlama - Ders04/ 1

Örnek Arasınav Soruları Güz 2017

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

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

#$% &'#(# Konular. Hashing Techniques and Expandable Files. Background Extendible Hashing Dynamic Hashing Linear Hashing Deerlendirme

SQL TRIGGERS (Tetikleyiciler)

Bilgilerin Uzun Vadeli Saklanması

Q-Biz İş Zekası Versiyon Yenilikleri Ekim 2014

MEKÂN ENVANTERİ OLUŞTURMA, MEKÂN ANALİZİ VE DERS PROGRAMI OLUŞTURMA İŞLEMLERİ

BLG 312 Bilgisayar İşletim Sistemleri 2006 BLG 312. Bilgilerin Uzun Vadeli Saklanması. Dosya Sistemi Görevleri. Dosya Sistemi Özellikleri

ÖÖY II Yrd.Doç.Dr.M.Betül YILMAZ

Kod Listeleri Genel Yapısı

İLİŞKİSEL VERİTABANLARI

Ulaştırma ve Atama. Konu 2. Ulaştırma Modeli. Doç. Dr. Fazıl GÖKGÖZ

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz?

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

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Ders Kayıt İşlemler Sayfası

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

Algoritmalara Giriş 6.046J/18.401J

Birim Gezici Hizmet Lokasyon Atama İşlemleri. Sağlık Bilgi Sistemleri Genel Müdürlüğü. Proje Geliştirme Daire Başkanlığı

X ve Y boş olmayan iki küme olsun. İki küme arasında tanımlanmış olan bir bulanık ilişki R, X x Y nin bir bulanık alt kümesidir.

SQL Kod ile Tablo Oluşturma

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

Detaylı bilgi için veya adreslerine göz atabilirsiniz. -1-

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

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

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

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İ

Algoritma Geliştirme ve Veri Yapıları 7 Liste ve Bağlantılı Liste. Mustafa Kemal Üniversitesi

MapCodeX Yağmur Suyu Modülü Kullanım Kılavuzu

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

Problem Seti 4 Çözümler

Transkript:

Ç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 doluluk oranı artırılır. Ortalama Insert süresi uzar ve ağacın yüksekliği daha azdır. Tüm ağacın dolum faktör değeri B-tree lere göre daha yüksektir. B* - tree lerde erişim performansı daha yüksektir. Literatürde B#-tree şeklinde variantları vardır

Çok Yollu Ağaçlar : B*-Trees m.dereceden bir B*-tree de, kök olmayan her node daki anahtar sayısı (k) (2m-1)/3 k m-1 olarak bulunur. Bunun anlamı B-tree deki herhangi bir düğümün doluluk oranını 2/3 oranında tutar. Node bölme işlemi B-Tree dekine göre daha yavaştır. Tüm anahtarlar yeniden dağıtılır. (16/24 =2/3 oranı var 16/3=yaklaşık 5 değer gelecek) Örneğin:8 düğüm var yeni düğüm geldi 8*2/3=5 düğüm olacak şekilde yeniden düzenle. 0,1,2,4,5,6,7,8,9,10,12,16,18,25,27,28,29,30

Çok Yollu Ağaçlar : B+-Trees B+-Trees B+ -tree lerde sıralı okuma için parent a ulaşmaya gerek yoktur. Bilgiler yapraklarda bulunur. Nonleaf node lar sadece indeks için kullanılır Tüm yapraklar tek bağlı listeyle bağlanır B+ - tree lerde indeks kısmı B-tree ile aynıdır. İndeks kısmındaki tüm kısıtlamalar ve işlemler B-tree ile aynıdır Internal node lar index-set olarak, yapraklar ise sequence set olarak adlandırılmaktadır.

Çok Yollu Ağaçlar :B+-Trees B+-Trees Diğer bir ifadeyle; B-Tree de referans herhangi bir node ile yapılabilmektedir. B+-Tree de ise referanas sadece yaprak node ları ile yapılabilmektedir.

Çok Yollu Ağaçlar: B+-Trees B+-Trees Örnek d = 2 (capacity order) s = 1 (sequence set order) 80,50,100,90,60,65,70,75,55,64,51,76,77,78,200,300,150

Çok Yollu Ağaçlar B+-Trees B+-Trees Örnek d = 2 (capacity order) s = 1 (sequence set order) 80,50,100,90,60,65,70,75,55,64,51,76,77,78,200,300,150

Çok Yollu Ağaçlar B+-Trees B+-Trees Örnek d = 2 (capacity order) s = 1 (sequence set order) 80,50,100,90,60,65,70,75,55,64,51,76,77,78,200,300,150

Çok Yollu Ağaçlar B+-Trees Haftalık Ödev B,B*,B+ ağaçlarının kullanıldığı yerler hakkında araştırma yapınız. Literatür taraması yaparak elde ettiğiniz makaleleri inceleyiniz. Kullanıldığı yerlerde ne amaçla kullanıldığına yönelik bilgileri içeren bir rapor hazırlayınız. B#- tree hakkında bilgi toplayarak ekleme işlemi nasıl gerçekleştirilir araştırınız ve bir rapor hazırlayınız. B+ ve B* ve B# - tree lerde silme işleminin nasıl yapıldığını araştırınız ve bir rapor hazırlayınız. Bunlara ait program örneğini ve algoritmasını gerçekleştiriniz

B-tree yapısının basit bir halidir. Daha önce verilen kurallar bu ağaç içinde aynıdır. 2-3-4 tree anlamı 2 düğüm var ise 3 çocuğu olur. 3 düğüm var ise 4 çocuğu bulunur. Ekleme işleminde eğer maksimum kapasite aşılırsa eklenmeden önceki ortada bulunan düğüm kök alınır ekleme işlemi sonra yapılır. 1,2,3,4

Örnek:1,2,3,4,5,6,7,8,9,10

Örnek:,3 düğüm: Ekle: 50,70,60,90,20,10,80,30,40,12,25,37 Ekle:55,35,45,85,95

Silinen yaprak ise sorun yok

2-3-4 tree Silme Silme işlemlerinde düğümlere ait çocuk sayılarında denge bozulmuyorsa sadece kurala göre döner.(soldaki en büyük veya sağdaki en küçük düğüm alınarak.) Sol veya sağa göre işlem yapıldığında öncelik çocuk sayısı fazla olandadır. Silme işleminde denge bozuluyorsa silinen düğümün kardeşi ve ebeveyni düzenlemeye girer. Çocukları olan silinecek düğüm tek ise ya birleştirme yada döndürme yapılarak yanına başka bir değer getirilip daha sonra silinir. Silinecek çocuğun atası tek ise atasının ebeveyni ve kardeşleri düzenlemeye girer.

Kural 1- Silinen düğüm yaprak ve minumum kapasitenin altına düşmüyorsa silinebilir. Örnek: 90 silindi Kural2-Silinen düğüm yaprak ve minumum kapasitenin altına düşüyor ise (öncelik sol) ebeveyn ile çocuklar yeniden düzenlenir (Soldaki en büyük veya sağdaki en küçük düğüm alınır). 25 silindi

Kural 3- Silinen değer kök ise, soldaki en büyük veya sağdaki en küçük düğüm kök olur. (soldaki değer alındı) Örnek: 40 silindi Kural 4-Silinen düğüm çocukları olan bir düğüm ise çocukları fazla olandan değer alınır. 60 silindi

Örnek: 55 silindi (Kural-4) 80 silindi (Kural-4)

Kural-5: Minumum kapasitenin altına düşülürse ebeveyn ve çocuklar birleştirilir. Örnek: 35 silindi Örnek:70 silindi

Kural-6: (B-tree den farkı) Çocukları olan bir düğüm silinmek istenirse; eğer silinen düğüm ve kardeşi tek değere sahip ise ebeveyn, kardeş ve çocuk düğümler birleştirilir (Döndürme). Örnek: 85 silindi, (Kural 4,5,6) Ebeveyn ve çocuklar birleştirildi.

Örnek: 30,20 silindi 6 silindi

Soldaki en büyük düğüme göre Örnek: 24 nolu düğüm sil (Öncelik fazla olan çocuktadır)

Kural-7: (B-tree den farkı), Çocukları olan bir düğüm silinmek istenirse; Silinen düğüm tek sahip ama kardeşi tek değer değil ise ebeveyn, kardeş düğümler döndürülür ve çocuk düğüm ile birleştirilir.(döndür ve birleştir.) Örnek: 5 nolu düğüm sil. 1-Ebeveyn ve kardeş düğümler seçildi

2-Döndürme işlemi gerçekleşerek silinecek düğüme değer getirildi. 3- Çocuklardan düğüm getirildi ve 5 silindi.

Soldaki en büyük düğüme göre Örnek: 30 nolu düğüm sil

Kural-8: B-tree den farkı, Silinen yaprak düğümün atası ve onun kardeşi tek değere sahip ise ebeveyn, kardeş ve çocuk düğümler birleştirilir.(döndür ve birleştir.)(kural-6 ya benzer) Örnek: 1 nolu düğüm sil (Kural 5,6,7)

Soldaki en büyük düğüme göre Örnek: 10 nolu düğüm sil

Örnek: 70,30,50,20,40,65,75,35 nolu düğümleri siliniz

Örnek: 70

Örnek: 30

Örnek: 20, 40

Örnek: 65,75,35

Örnek: Silme, 6 silindi Silme işlemi gerçekleşmeden 6 değeri sol çocuklar ile birleştiriliyor. Daha sonra siliniyor.

Örnek: 4 silindi 4 çocuk olabilmesi için çocuktan da değer alındı.

Örnek: 50,60,20,30,10,5,90,25,40,70,80,22,85,72,3,1,4,12,24,26 ağacı oluşturunuz.

Örnek: 24 nolu düğüm sil

Örnek: 5 nolu düğüm sil

Örnek: 30 nolu düğüm sil

Örnek: 50 nolu düğüm sil

Örnek: 1,10 nolu düğüm sil

Örnek: 40, 20,60 nolu düğüm sil

Örnek: 12,30,48,52,70,90 nolu düğüm sil