BAĞLI LİSTELER BAĞLI LİSTELER



Benzer belgeler
YIĞINLAR YIĞINLAR. Yığın İşlemleri Postfix, Prefix, Infix. G. Ü. Bilgisayar Mühendisliği Bölümü

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

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

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

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

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BAĞLAÇLI LİSTELER LINKED LISTS

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN

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

BAĞLAÇLI LİSTELER LINKED LISTS

YZM 2116 Veri Yapıları

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16

Graflar bilgi parçaları arasındaki ilişkileri gösterirler.

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

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

YZM 2116 Veri Yapıları

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

Arama metodlarında temel işlem anahtarları karşılaştırmaktır.

HSancak Nesne Tabanlı Programlama I Ders Notları

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ı. Yrd. Doç. Dr. Şadi Evren ŞEKER

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

YMT219 VERİ YAPILARI ÖDEV-1

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

Standart Veri Tipleri

Görsel Programlama 1

C# Örnek Uygulamalar I

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

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

Veri Yapıları Laboratuvarı

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

D İ Z İ L E R A R R A Y S

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

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

Merge Sort Bireşen Sıralama

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

YZM 2116 Veri Yapıları

BİL-142 Bilgisayar Programlama II

YZM 2105 Nesneye Yönelik Programlama

VERİ YAPILARI DERS NOTLARI BÖLÜM 5 QUEUE (KUYRUK) Yard. Doç. Dr. Deniz KILINÇ

public void DersNotListesi(string Ders, string Secim, double BarajNotu, bool OrtalamayaGore) [...]

İNTERNET TABANLI PROGRAMLAMA

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı

Veri Yapıları ve Algoritmalar dönem

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Sınav Dağılım & IMKB Endeks

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

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

PDF. C# Console Örnekleri.

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

Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız.

static void dizi_24() { Random rnd = new Random(); int [] tutulan=new int[10]; int dogru;

Otomata Teorisi (BIL 2114)

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

H ı z l ı v e e t k i n ö ğ r e n m e y o l u! Akademik e.mobil

Koleksiyonlar (Collections)

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

I Java Veri Yapıları 1

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Bölüm 10: PHP ile Veritabanı Uygulamaları

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

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Ü

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

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

JAVADA DİZİ İŞLEMLERİ

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

ATATÜRK ÜNİVERSİTESİ BİLGISAYAR MÜHENDİSLİĞİ BÖLÜMÜ BM 104- NESNEYE YÖNELİK PROGRAMLAMA DERSİ BAHAR DÖNEMİ ÖDEV-3

Admin. w w w. e n o c t a. c o m

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

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

Diziler İndisli Değişkenler

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

Görsel Programlama (Visual Programming)

BİL1001 Bilgisayar Bilimlerine Giriş 1

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

TOP 20. Bu kısım en çok dinlenen eserlerin günlük veya haftalık olarak değiştirilmesine olanak verir.

YZM 2116 Veri Yapıları

Nesne Yönelimli Programlama

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

15 Aralık 2011 / Perşembe.

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

EPİAŞ EKYS Projesi. EPİAŞ EKYS Projesi Kullanıcı Yetki Setleri Dokümanı v EPİAŞ Analiz Ekibi

Arasınav Örnek Soruları Bahar 2018

Temel Bilgisayar Programlama

İNTERNET TABANLI PROGRAMLAMA

Telefon Rehberi Uygulaması

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

YZM 2116 Veri Yapıları

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

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Yigin & Kuyruk {\} /\ Suhap SAHIN Onur GÖK

Transkript:

Singly linked lists (Tek bağlı) Doubly linked lists (Çift bağlı) Circular lists Skip lists Self-organized lists Sparse tables Yrd.Doç.Dr. M. Ali Akcayol Singly linked lists Dizilerin dezavantajları. - Boyut değiştirme zordur - Yeni bir eleman ekleme zordur - Bir elemanı silme zordur - Diziler tüm elemanları için hafızada yer ayırırlar Metin Bağlı dizilerle bu problemler aşılabilmektedir. Mahmut Mehmet Melek Melike Murat Mustafa Mürsel 0 3 4 5 6 7

Singly linked lists Her dizi elemanı için ayrı hafıza alanı ayrılır. Bilgi kavramsal olarak sıralıdır ancak hafızada bulunduğu yer sıralı değildir. Herbir eleman (node) bir sonrakini gösterir. Bağlı liste Singly linked lists Listedeki herbir eleman data ve link kısmından oluşur. Data kısmı içerisinde saklanan bilgiyi ifade eder. Link kısmı ise kendisinden sonraki elemanı işaret eder. Data Link public class ListL istnode int data; public ListNode sonraki; Bir sonraki elemanı işaret eder.

Singly linked lists Listede bir başlangıç elemanı vardır (). Listenin birde sonuncu elemanı vardır (). Listede (current) eleman şu anda bilgilerine ulaşabileceğimiz elemandır. current Tek bir eleman Singly linked lists (İşlemler) Listeye eleman ekleme - Başa - Sona - Sıralı Listeden eleman silme - Baştan - Sondan - Tümünü - Belirlenen bilgiye sahip elemanı - İstenen sıradaki elemanı Arama Listeleme - İstenen bilgiye göre Kontrol -Boş liste - Liste boyutu 3

Singly linked lists (Liste oluşturma) public class ListNode public string adsoyad; public ListNode sonraki; public ListNode(string adsoyad) this.adsoyad = adsoyad; public class LinkedList public ListNode Node, Node; public LinkedList() Node = new ListNode(""); Node = new ListNode(" ); Node.sonraki = Node; Node.sonraki = Node; Singly linked lists (Eleman ekleme) ListNode yeninode = new ListNode( Mustafa"); yeninode.sonraki =.sonraki;.sonraki = yeninode; 4

Singly linked lists (Eleman ekleme) ListNode yeninode = new ListNode( Mustafa");.sonraki = yeninode; Node = yeninode; Singly linked lists (Eleman silme) while ((.sonraki!= bagliliste.node) && (.sonraki!= silineceknode)) =.sonraki;.sonraki =.sonraki.sonraki; 5

Singly linked lists (Eleman arama) while ((.sonraki!= bagliliste.node) && (.sonraki!= aranannode)) =.sonraki; Singly linked lists (Boş liste) if (.sonraki == ) listebos = true else listebos = False; Eleman sayısı: int i = 0; ListNode = bagliliste.node; while (.sonraki!= bagliliste.node) =.sonraki; i++; listeboyutu = i; 6

Doubly linked lists (Liste oluşturma) public class ListNode public string adsoyad; public ListNode onceki, sonraki; public ListNode(string adsoyad) this.adsoyad = adsoyad; public class LinkedList public ListNode Node, Node; public LinkedList() Node = new ListNode(""); Node = new ListNode(" ); Node.onceki = Node; Node.sonraki = Node; Node.onceki = Node; Node.sonraki = Node; Doubly linked lists (Eleman ekleme) 4 3 3 4 ListNode yeninode = new ListNode( Mustafa"); yeninode.sonraki =.sonraki;.sonraki.onceki = yeninode;.sonraki = yeninode; yeninode.onceki = ; 7

Doubly linked lists (Eleman silme) 3 3 while ((.sonraki!= bagliliste.node) && (.sonraki!= silineceknode)) =.sonraki;.sonraki.sonraki.onceki = ;.sonraki =.sonraki.sonraki; Doubly linked lists (Eleman arama) while ((.sonraki!= bagliliste.node) && (.sonraki!= aranannode)) =.sonraki; while ((.onceki!= bagliliste.node) && (.onceki!= aranannode)) =.onceki; 8

Circular lists Sadece tane sabit node vardır (Node) Circular lists Listenin başına ve sonuna eleman ekleme 9

Skip lists Eleman ekleme ve silme zordur. Listenin yeniden seviyelendirilmesi gerekir. Arama işlemi çok hızlıdır. Sel-organizing lists Move-to-front: Erişilen elemenı listenin başına alır Transpoze: Erişilen elemanı önündekiyle yer değiştirir Count: Erişilme sayısına göre sıralar Ordering: İstenen kritere göre sıralar 0

Sparse tables Sparse tables Bağlı dizilerle gösterim

Haftalık Ödev: K adet ders için N adet öğrencinin numara ve harf ortalamalarını bağlı dizilerle gösteriniz. - Herbir node öğrenci numarası, dersin kodu, dersin harf ortalaması bilgilerini bulunduracak. - Her öğrencinin numarası Node içindeki bilgi olacak. - Her dersin kodu Node içindeki bilgi olacak. - Herbir node aynı dersteki bir sonraki öğrenciyi gösterecek. - Herbir node aynı kişinin diğer dersini gösterecek. - Program Windows application olarak hazırlanacak ve aşağıdaki işlemleri butonlarla yapacak. - Bir öğrenciye yeni bir ders ekleme - Bir derse yeni bir öğrenci ekleme 3- Bir öğrencinin bir dersini silme 4- Bir dersteki bir öğrenciyi silme 5- Bir dersteki tüm öğrencileri numara sırasına göre sıralı listeleme 6- Bir öğrencinin aldığı tüm dersleri ders koduna göre sıralı listeleme

Gelecek Hafta Yığınlar (Stacks) 3