veri yapıları yrd. doç. dr. Şadi evren Şeker not: bu sunumun … · veri yapıları yrd. doç....
TRANSCRIPT
![Page 1: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/1.jpg)
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 bilgi vermektir.
![Page 2: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/2.jpg)
Bilmenin Seviyeleri
●Veri (Data)●Bilgi (Information)●Malumat(Knowledge)●Bilgelik (Wisdom)
![Page 3: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/3.jpg)
Veri Yapılarına Neden İhtiyaç duyulur
● Hafıza ve Zaman ikilemi● Probleme özel çözümler● Verinin kolay erişilebilirliği
![Page 4: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/4.jpg)
Veri Yapılarına Erişim Şekilleri
● Ardışık Erişim Şekilleri (Sequential Access)● FIFO (First In First Out) , İlk Giren İlk Çıkar● LIFO (Last In First Out) , Son Giren İlk Çıkar
● Doğrudan Erişim Şekilleri (Rast Gele Erişim, Random Access)
![Page 5: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/5.jpg)
Klasik Veri Yapıları
● Yığın (Stack)● Sıra (Queue)
● Öncelik Sırası (Priority Queue)● Dairesel Sıra (Circular Queue)
● Diziler (Array)● Ağaçlar (Tree)
![Page 6: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/6.jpg)
Diziler
● Rastgele erişim mümkündür● Gösterici Aritmetiği Kullanılabilir (pointer
artihmetic)● Hafızada Sabit yer ayırılması gerekir(Static
memory allocation)
![Page 7: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/7.jpg)
Diziler Kullanılarak Veri Sıralama
● Seçerek Sıralama (Selection Sort)● Rastgele Sıralama (Bogo Sort)● Kabarcık Sıralaması (Baloncuk Sıralaması,
Bubble Sort)● Öne Ekleme Sıralaması (Insert Front Sort)● Kabuk Sıralaması (Shell Sort)● Sallama Sıralaması (Shaker's Sort)
![Page 8: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/8.jpg)
Verinin Aranması
● Doğrusal Arama (Linear Search)● İkili Arama Algoritması (Binary Search)
![Page 9: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/9.jpg)
Gösterici Kullanımı
● Bağlı Listeler (Linked List)● Çift Bağlı Listeler (Doubly Linked List)● Çift Uçlu Listeler (Double Ended Lists)● Dairesel Bağlı Listeler (Circular Lists)
● Ağaçlar (Tree)● İkili Ağaçlar (Binary Tree)● N-li Ağaçlar (N-ary Tree)● Yığıt (Heap)
![Page 10: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/10.jpg)
Bağlı Liste Görselleştirmesi
●Tekli Bağlı Liste (Singular Linked List)●Çift Uçlu Bağlı Liste (Double Ended Linked List)●Çift Yönlü Bağlı Liste (Doubly Linked List)●Dairesel Bağlı Liste (Circular Linked List)
![Page 11: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/11.jpg)
Dolaşma Algoritmaları
● Dolaşıcı (Iterator) Kullanılması● Listeye Ekleme● Listeden Silme● Listeden Okuma / Arama
Dolaşıcı (Iterator)
![Page 12: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/12.jpg)
Bağlı Listeye Ekleme İşlemi
● Eklenecek Yerden bir önceye Gidilir● Yeni Düğüm (node) oluşturulur● Yeni düğümün sonrasına, eklemeden sonraki
düğümün sonrası atanır● Dolaşıcının (Iterator) sonrasına yeni düğüm
atanır
![Page 13: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/13.jpg)
Bağlı Listeye Yeni Eleman Eklenmesinin Görsel hali
Dolaşıcı (Iterator)
Dolaşıcı (Iterator)
Dolaşıcı (Iterator)
![Page 14: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/14.jpg)
Çift Bağlı Listeye Eleman Eklenmesi
Dolaşıcı (Iterator)
Dolaşıcı (Iterator)
Dolaşıcı (Iterator)
Dolaşıcı (Iterator)
![Page 15: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/15.jpg)
Bağlı Listeden Eleman Silinmesi
● Silinecek Düğümden öncesine kadar gidilir● Dolaşıcının sonrası, sonrasının sonrasına
atanır.● Eski düğüm hafızadan kaldırılır
![Page 16: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/16.jpg)
Listeden Düğüm Silinmesi
Dolaşıcı (Iterator)
Dolaşıcı (Iterator)
Dolaşıcı (Iterator)
![Page 17: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/17.jpg)
Bağlı Listelerde Veri Organizasyonu
● Sıralı Bağlı Listeler● Bağlı Listede Arama
● Doğrusal Arama● İkili Arama (Binary Search): Ağacın bağlı liste
üzerinde kodlanması
![Page 18: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/18.jpg)
Ağaçlar
● Çizge Kuramı Dersinin Notlarını Hatırlayınız (Graph Theory)
● Klasik bir ağaç aşağıdaki yapıdadır● Veri● Çocuklarını gösteren işaretçiler (pointers)● Bir ağaçtaki her düğümün tek çocuğu varsa bağlı
listedir.
![Page 19: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/19.jpg)
Ağaçlarda Dolaşma
● Derin Öncelikli Dolaşma (Depth First Search)● LRN● RLN● RNL● LNR
● Sığ Öncelikli Dolaşma (Breadth First Search)● NLR● NRL
![Page 20: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/20.jpg)
Bir Ağacın Dizide Kodlanması
Kök 0'ın Solu 0'ın Sağı 1'in Solu 1'in Sağı 2'nin Solu
2'nin Sağı
3'ün Solu
0 1 2 3 4 5 6 7
0
1 2
3 4 5 6
7
Sol Düğüm : 2i +1Sağ Düğüm: 2i +2
![Page 21: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/21.jpg)
Yığıtlar
● Azami Yığıt (Max-Heap)● Asgari Yığıt (Min-Heap)● Yığıtlama (Heapify)
![Page 22: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/22.jpg)
Yığıtlama (Heapify)● Eleman Eklenmesi
25
32 43
35 89 45 46
7
7
25 43
32 89 45 46
35
Kök 0'ın Solu 0'ın Sağı 1'in Solu 1'in Sağı 2'nin Solu
2'nin Sağı
3'ün Solu
0 1 2 3 4 5 6 7
25 32 43 35 89 45 46 7
7 25 43 32 89 45 46 35
![Page 23: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/23.jpg)
Yığıtlarda Silme
25
32 43
35 89 45 46
Kök 0'ın Solu 0'ın Sağı 1'in Solu 1'in Sağı 2'nin Solu
2'nin Sağı
0 1 2 3 4 5 6
25 32 43 35 89 45 46
43 32 35 89 46 45
43
32 46
35 89 45
![Page 24: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/24.jpg)
Yığıtlama
● Karışık bir dizinin yığıtlanması
15
3 11
35 8 2 15
![Page 25: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/25.jpg)
Yığıtlama15
35 11
3 8 2 15
15
35 15
3 8 2 11
35
15 15
3 8 2 11
![Page 26: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/26.jpg)
Yığıt Sıralaması (Heap Sort)
25
32 43
35 89 45 46
![Page 27: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/27.jpg)
B-Ağaçları (B-Tree)
● B-Ağaçlarının Düğüm Boyu (Node Size)● B-Ağacında Arama● B-Ağacına Ekleme● B-Ağacından Silme
![Page 28: Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun … · Veri Yapıları Yrd. Doç. Dr. Şadi Evren ŞEKER Not: Bu sunumun amacı, İstanbul Üniversitesi Bilgisayar](https://reader030.vdocuments.site/reader030/viewer/2022040722/5e3032cc2d54a157c83fa764/html5/thumbnails/28.jpg)
Özetleme (Hashing)
● Özetleme Fonksiyonları ● Özetleme Tabloları● Çakışma (Collusion)