NİŞANTAŞI ÜNİVERSİTESİ

Slides:



Advertisements
Benzer bir sunumlar
Ders İçeriği Ağaç Veri Modeli Tanım ve Gerçekleştirim İkili Ağaç
Advertisements

MATLAB Bilgisayar Programlama Yrd.Doç. Dr. Aslıhan KURNUÇ
Ders İçeriği Bağlantılı Liste İki Yönlü Bağlantılı Liste
Nesneye Dayalı Programlama
AVL-Ağaçları (Trees).
B+-Ağaçları.
İkili Ağaçlar İkili Arama Ağaçları
Tam İkili Ağaçlar 9. Ünite ağaçlardan bahseder.
İkili Arama Ağaçları (Binary Search Trees) BST
BİLGİSAYAR AĞLARINA GİRİŞ
Binary Ağaçlar (Ekleme/Silme Örnekleri)
Çizge Teorisi, Dağıtık Algoritmalar ve Telsiz Duyarga Ağları
İçerik: Graflar Tanım Gösterim Dolaşma Algoritmaları
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgelerin bilgisayarda gösterimine ilişkin iki standart yaklaşımı inceleyeceğiz.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 5: Fonksiyonlar
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
Veri Yapıları ve Algoritmalar
GRAF TEORİSİ Ders 1 TEMEL KAVRAMLAR.
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN.
GRAPHS ÖZET.
Arama ile sorun çözme Ders 3.
1 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan İkili Karar Diyagramı (Binary Decision Diagram : BDD) Boole fonksiyonlarının.
BİYOİNFORMATİK NEDİR? BİYOİNFORMATİKTE KULLANILAN SINIFLAMA YÖNTEMLERİ
Dengeli İkili Ağaç Kerem ERZURUMLU Hacettepe Üniversitesi Bilgisayar Bilimleri Mühendisliği.
ÇİZGE KURAMI Yılmaz KILIÇASLAN.
Trees, Vectors, Iterators. ADT Abstract Data Type (ADT) vs implementation -Soyut Veri Türleri - Uygulamaları.
Partially Ordered Trees (POT)
Veri Tabanı Yönetim Sistemleri 2 Ders 2 Oracle 11g Kurulumu
Çizge Algoritmaları Ders 2.
AVL Trees / Slide 1 Silme * Anahtar hedefi silmek için, x yaprağında buluruz ve sonra sileriz. * Dikkat edilmesi gereken iki durum vardır. (1) Hedef bazi.
AVL(Adel’son-Vel’skiĭ and Landis) Ağacı AVL ağacı, iki alt ağacının yükseklikleri farkının en fazla 1 olabildiği dengeli ikili arama ağacıdır. AVL ağacında.
Algoritma ve Akış Şemaları
Çizgeler Çizge G=(V,E), ikilisine denir, burada V sonlu bir kümedir, E ise bu kümenin elemanları arasında ikili bir bağıntıdır. V kümesine G çizgesinin.
Algoritmalar II Ders 11 Çizgeler. Çizgelerin bilgisayarda gösterimi. BFS algoritması.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Algoritmalar II Ders 16 Prim algoritması.
Çizge Algoritmalari 10. Ders.
Kelime (Text) İşleme Algoritmaları
Sunum transkripti:

NİŞANTAŞI ÜNİVERSİTESİ Veri Yapıları ve Algoritmalar DERS 11 NİŞANTAŞI ÜNİVERSİTESİ © Mühendislik Mimarlık Fakültesi mmf.nisantasi.edu.tr

YBLG202 Veri Yapıları ve Algoritmalar DERS 11 AĞAÇLAR NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu AĞAÇLAR Ağaç Yapısı Ağac, verilerin birbirine sanki bir ağac yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyerarşik yapıya sahip bir veri modelidir; bilgisayar yazılım dunyasında, bircok yerde / uygulamada programcının karşısına cıkar. Ağac veri yapılarının işletim sistemlerinin dosya sisteminde, oyunların olası hamlelerinde ve şirketlerdeki organizasyon şeması vb. gibi bircok uygulama alanları vardır. Orneğin, NTFS dosya sistemi hiyerarşik dosyalama sistemini kullanır. Ağac veri yapısı cizge (graph) veri yapısının bir alt kumesidir. Bir ağac, duğumler (node) ve bu duğumleri birbirine bağlayan ayrıtlar (edge–dal-kenar) kumesine ağaç (tree) denir şeklinde tanımlanabilir. Her duğumu ve ayrıtları olan küme ağac değildir. Bir cizgenin ağac olabilmesi icin her iki duğum arasında sadece bir yol olmalı, devre (cycle, çevrim) olmamalıdır. Yol (path) birbirleri ile bağlantılı ayrıtlar (edge) dizisidir. NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu AĞAÇLAR Ağaç Yapısı Kökü Olan Ağaç (Rooted Tree): Koku olan ağacta ozel olan ya da farklı olan duğum kok (root) olarak adlandırılır. Kok haric her c (child) duğumunun bir p ebeveyni (parent) vardır. Alışılagelmiş şekliyle ağaclarda, kok en yukarıda yer alıp cocuklar alt tarafta olacak bicimde cizilir. Fakat boyle gosterme zorunluluğu yoktur. Ebeveyn (Parent): Bir c duğumunden koke olan yol uzerindeki ilk duğumdur. Bu c duğumu p’nin cocuğudur (child). Yaprak (Leaf): Cocuğu olmayan duğumdur. Kardeş (Sibling): Ebeveyni aynı olan duğumlerdir. Ata (Ancestor): Bir d duğumunun ataları, d’den koke olan yol uzerindeki tum duğumlerdir. Descendant: Bir duğumun cocukları, torunları vs. gibi sonraki neslidir. Yol Uzunluğu: Yol uzerindeki ayrıt sayısıdır. n Düğümünün Derinliği: Bir n duğumunden koke olan yolun uzunluğudur. Kokun derinliği sıfırdır. n Düğümünün Yüksekliği: Bir n duğumunden en alttaki descendant duğumune olan yolun uzunluğudur. Başka bir deyişle neslinin en sonu olan duğumdur. Bir Ağacın Yüksekliği: Kokun yuksekliğine ağacın yuksekliği de denir. n Düğümünde Köklenen Alt Ağaç (Subtree Rooted at n): Bir n duğumu ve n duğumunun soyu (descendant) tarafından oluşan ağactır. Binary Tree (İkili Ağaç): İkili ağacta bir duğumun sol cocuk ve sağ cocuk olmak uzere en fazla iki cocuğu olabilir. Düzey (level) / Derinlik (depth): Kok ile duğum arasındaki yolun uzerinde bulunan ayrıtların sayısıdır. NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu AĞAÇLAR Ağaç Yapısı Genel ağac yapısında duğumlerdeki cocuk sayısında ve ağac yapısında bir kısıtlama yoktur. Ağac yapısına belli kısıtlamalar getirilmesiyle ağac turleri meydana gelmiştir. Her yaprağın derinliği arasındaki fark belli bir sayıdan fazla (örneğin 2) olmayan ağaclara dengeli ağaçlar (balanced trees) denir. İkili ağaclar (binary trees) ise duğumlerinde en fazla iki bağ iceren (0, 1 veya 2) ağaclardır. Ağac yapısı kısıtlamaların az olduğu ve problemin kolaylıkla uyarlanabileceği bir yapı olduğundan bircok alanda kullanılmaktadır. Ornek olarak işletim sistemlerinde kullandığımız dosya-dizin yapısı tipik bir ağac modellemesidir. Ağac veri modelinde, bir kok işaretcisi, sonlu sayıda duğumleri ve onları birbirine bağlayan dalları vardır. Veri ağacın duğumlerinde tutulur. Dallarda ise geciş koşulları vardır. Her ağacın bir kok işaretcisi bulunmaktadır. Ağaca henuz bir duğum eklenmemiş ise ağac boştur ve kok işaretcisi NULL değerini gosterir. Ağac bu kok etrafında dallanır ve genişler. NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

YBLG202 Veri Yapıları ve Algoritmalar Kaynakça NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu KAYNAKÇA M. T. Goodrich, R. Tamassia, D. M. Mount, Data Structures and Algorithms in C++, John Wiley & Sons, Inc., 2011 Hakan Kutucu, VERİ YAPILARI, Karabük Üniversitesi Mühendislik fakültesi, 2014 Data Structures and Algorithms, TutorialPoints, NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu