P p 5. Bolum en cok kullanilan veri yapilarindan biri olan listeleri anlatmaktadir. p p Bu sunum da listeler uzerinde en cok yapilan islemleri aciklamaktadir.

Slides:



Advertisements
Benzer bir sunumlar
Programlama-II (Java ile Bilgisayar Programlama)
Advertisements

SGB.NET’İN TEKNİK ALTYAPISI
Ders İçeriği Ağaç Veri Modeli Tanım ve Gerçekleştirim İkili Ağaç
Web Bilgi Girişi Kullanım Rehberi
PHP ile Lab Örnekleri Lab Çalışması.
KÜME DÜNYASINA GİDELİM
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Değişkenler ve bellek Değişkenler
SINIFLAR Yılmaz Kılıçaslan.
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
Listeler.
Yığın ve Kuyruk.
Ders İçeriği Bağlantılı Liste İki Yönlü Bağlantılı Liste
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Programlama-II (Java ile Bilgisayar Programlama)
Nesneye Dayalı Programlama
Miras Alma EM-406 Java.
Raporlama. ● HAZIRLIK ● ARAŞTIRMA ● RAPOR- genel görünüm - pratik tavsiyeler ● GENEL YORUMLAR ARAŞTIRMA / RAPORLAMA.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Gümrük ve Ticaret Bakanlığı tarafından şirket bilgilerinin uluslararası standartlara uyumlu hale getirilmesi amacı yürütülmekte olan Merkezi Sicil Kayıt.
İkili Arama Ağaçları (Binary Search Trees) BST
MATEMATİK 6. SINIF KONU: KÜMELER.
Java Programlama Koleksiyon(Collection) Sınıfları
SINIFLAR GİRİŞ Yılmaz Kılıçaslan.
DİZİLER.
DELEGATE OOP-UYG.
METODLAR.
Sorular? Öneriler?. Referanslar Referanslar (Tekrar) Eğer aşağıdaki gibi yazarsak ne olur: int x; double y; char c; ???
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : LİSTELERE.
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN.
Önceki Dersi Hatırlama !!
P Koleksiyon sınıfı bir grup öğeyi tutabilen bir veri tipidir. p Java da, koleksiyon sınıfları öğeleri ekleme,çıkarma,inceleme metodlarıyla birlikte bir.
HOŞGELDİNİZ…. HOŞGELDİNİZ… POWERPOİNT İLE… PowerPoint genellikle iş ya da okul için sunumlar hazırken kullanılır. Ancak PowerPoint çok daha eğlenceli.
KUYRUKLAR (QUEUES).
JAVA’DA DÖNGÜLER.
Kalıtım , Sınıf Asli Ergün.
Nesneye Dayalı Programlama
Hasta Takip Programı.
Trees, Vectors, Iterators. ADT Abstract Data Type (ADT) vs implementation -Soyut Veri Türleri - Uygulamaları.
Ders İçeriği Liste Soyut veri yapısı (ADT)
KALITIM Yılmaz Kılıçaslan.
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
Bil 102 Bölüm 6 Diziler.
KÜMELER GEZEGENİNE HOŞ GELDİNİZ
Görsel C# ile Windows Programlama
SINIFLAR ve NESNELER. İlk sınıfımızı ekleyelim class KrediHesap { public ulong HesapNo; public double Limit; public string KartSahibi; }
KÜMELER KAZANIM:Bu konu 6. sınıf konusu olup bir kümeyi modelleri ile belirler, farklı temsil biçimleri ile gösterir.
BTP206– Görsel Programlama II
VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama.
İnternet Programlama-I
Modül 2: Formlar ve Kontroller ile Çalışmak. Programlama Kavramları Formlar ile Çalışmak Kontroller ile Çalışmak Kodu Biçemlemek Genel Bakış Visual Studio.NET.
Veri yapıları Hafta3 Dizi Yapıları.
T-SQL 3.K ONU Tablo Tipi Değişkenler. T ABLO TIPI DEĞIŞKENLER KULLANMAK T-SQL de dizi tanımlama nasıl yapılır? Bu sorunun cevabı olarak tablo tipi değişkenleri.
pointerverisonraki 0Tülay 1Vedat6 LB3=22Pelin15 3Burak9 4Kadir 5Seyhan13 6Utku16 LB1=77Ayşe3 8 9Ceyda Dilek 12 13Şükrü4 LB2=1414Zeynep17.
KUYRUK (QUEUE).
Yığıt Soyut Veri Tipi (Stack ADT) Yığıt Veri Yapısı
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.
C Programlamada, benzer tipte tanımlaman değişkenleri kontrol etmede bize en çok yardım eden dostlarımız dizilerdir. Örneğin: 100 Öğrencinin bilgilerini.
BİLGİSAYAR programlama II
BSM447 – MOBİL UYGULAMA GELİŞTİRME Öğr. Gör. Nevzat TAŞBAŞI 6. Hafta.
KALITIM(INHERITANCE) Öğr.Gör. Murat ASLANYÜREK. KALITIM KAVRAMINA GİRİŞ  Kalıtım, sınıflardan yeni sınıflar türetmeyi sağlar.  Türetilen yeni sınıflar,
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
C Programlama Dili Bilgisayar Mühendisliği.
Tablo Tipi Değişkenler
ANDROİD STUDİO SAYFA NESNELERİ SAVAŞ TUNÇER
YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

p p 5. Bolum en cok kullanilan veri yapilarindan biri olan listeleri anlatmaktadir. p p Bu sunum da listeler uzerinde en cok yapilan islemleri aciklamaktadir. Bağlı Liste VeriYapilarindaki Islemler 4. BOLUM Data Yapilari ve Diger Nesneler

p p Liste üzerindeki her bir elemanin gosterimi asagidaki gibidir data link 10 data link 15 data link 7 null public class IntNode { private int data; private IntNode link;... } Tanımlamalar

data link 7 p p Her elemanin veri kismi bir int dir. (private int data;) link null public class IntNode { private int data; private IntNode link;... } data link 15 Listedeki Tiplerin Tanımlamaları data 10

p p Listede link olarak isimlendirilen ve bir sonraki eleman ile baglantiyi saglayan yapi bulunmaktadir. data 15 data 7 public class IntNode { private int data; private IntNode link;... } Listedeki Tiplerin Tanimlamalari data 10 link null link

Listedeki Tiplerin Tanimlamalari p. p Liste uzerindeki islemleri kolaylastirmak icin listenin ilk elemanini gosteren bir degisken tanimlanir ve bu degisken head(bas) olarak isimlendirilir. p listenin bir elemani degil, listenin ilk elemanina. p head listenin bir elemani degil, listenin ilk elemanina bir referanstir(gonderme). data link 10 data link 15 data link 7 null head

Listedeki Tiplerin Tanimlamalari p p head olarak isimlendirilmis degisken sayesinde ilk eleman belirlenmis olur. p listenin bir elemani degil, listenin ilk elemanina. p head listenin bir elemani degil, listenin ilk elemanina bir referanstir(gonderme). p, head null olarak gosterilir. p Liste bos ise, head null olarak gosterilir. head null

Listenin basina bir eleman eklemek Asagida gosterilen listenin basina 13 elemanini eklemek istiyoruz null head

Listenin basina bir eleman eklemek ¶. ¶Yeni bir eleman olusturun null head

Listenin basina bir eleman eklemek ¶. ¶Yeni bir eleman olusturun. ·. ·Elemanin veri kismini doldurun null head 13

Listenin basina bir eleman eklemek null head 13 ¶. ¶Yeni bir eleman olusturun. ·. ·Elemanin veri kismini doldurun. Ž. ŽYeni elemani listenin ilk elemanina baglayin.

Listenin basina bir eleman eklemek null head 13 ¶Yeni bir eleman olusturun. ·Elemanin veri kismini doldurun. ŽYeni elemani listenin ilk elemanina baglayin. ¹head degiskenini yeni elemana isaret edecek sekilde degistirin.

Listenin basina bir eleman eklemek null head 13 head = new IntNode(13, head);

public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek

public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek Sizce bu kod duzgun calisir mi?

public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek head degiskeninin nul l olup asagidaki islemi yaptigimizi farzedin head = new IntNode(13, head); head null

public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek head null head = new IntNode(13, head); 13 null

public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek head 13 null head = new IntNode(13, head);

public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek head 13 null Islem gerceklestirilidiginde liste 13 degerini iceren yeni bir elemana sahip olacaktir head = new IntNode(13, head);

Uyari! p, ayni islemi p Ekleme isleminin dogrulugunu kontrol etmek icin, ayni islemi bos bir liste uzerinde yapin. EMPTY LIST

Eleman ekleme islemini gosteren kod ornekleri p, diger kisimlarina eklenir p Yeni elemanlar genelde listenin basina degil, diger kisimlarina eklenir.

Eleman ekleme islemini gosteren kod ornekleri ¶ ¶Eger yeni eleman listenin basina eklenecekse bu islem bir kerede gerceklestirilebilir. head = new IntNode(newEntry, head);

Eleman ekleme islemini gosteren kod ornekleri ·Eger degilse pprevious(onceki) diye adlandirilan ve elemanin eklenecegi yerden bir onceki elemani gosteren bir degisken olusturun.

Eleman ekleme islemini gosteren kod ornekleri null head Bu ornekte eklenen eleman 2. eleman olacaktir. Bu ornekte eklenen eleman 2. eleman olacaktir. previous

Eleman ekleme islemini gosteren kod ornekleri null head Bu linkin ismi nedir? previous ile 2. elemani baglayan linke dikkat edin previous ile 2. elemani baglayan linke dikkat edin previous

Eleman ekleme islemini gosteren kod ornekleri null head Bu linke previous linki denir Bu linke previous linki denir previous link previous

Eleman ekleme islemini gosteren kod ornekleri null head ËListenin diger bolumlerine eleman eklerken pYeni elemanin eklenecegi yerden bir onceki elemani gosteren ve previous(onceki) olarak adlandirilan bir link olusturun previous linki bu ornekte10 ve 7 elemanlarindan olusan listenin basini gosterir. previous linki bu ornekte10 ve 7 elemanlarindan olusan listenin basini gosterir. previous

Eleman ekleme islemini gosteren kod ornekleri null head ·Listenin diger bolumlerine eleman eklerken pYeni elemanin eklenecegi yerden bir onceki elemani gosteren ve previous(onceki) olarak adlandirilan bir link olusturun Yeni elemani listenin basina ekleyecegiz. Yeni elemani listenin basina ekleyecegiz. 13 Bu ekleme islemini yapacak Java kodu yazin. previous

Eleman ekleme islemini gosteren kod ornekleri null head. ·Ekleme islemi ile ilgili kod parcalari asagida gorunmektedir. 13. Ekleme islemini yapacak Java kodu uzerinde dusunun. previous previous.link = new IntNode(newEntry, previous.link);

Eleman ekleme islemini gosteren kod ornekleri ¶,. ¶Eger eklenecek eleman ilk eleman ise, butun islem bir satirda yapilabilir. head = new IntNode(newEntry, head);, · Eger degilse,. pEklenecek elemanin yerinden bir onceki elemani gosteren previous(onceki) isimli bir link olusturun.. pKod asagida gorunmektedir. previous.link = new IntNode(newEntry, previous.link);

Eleman ekleme islemini gosteren kod ornekleri p Bir listenin tam ortasina yeni eleman ekleme islemi daha kolay bir sekilde bir fonksiyon ile yerine getirilebilir. Bu fonksiyon addNodeAfter olarak isimlendirilmistir ve kitapta 4.2 ve 4.3 bolumlerinde anlatilmistir. olarak isimlendirilmistir ve kitapta 4.2 ve 4.3 bolumlerinde anlatilmistir.

Listeden eleman cikarma p. p IntNodes olarak isimlendirilen elemanlar listeden cikarilmak da istenilebilir. p, cikarma isleminde de listenin basindan ve diger yerlerinden cikarmak icin ayri metodlar vardir. p Ekleme islemlerinde oldugu gibi, cikarma isleminde de listenin basindan ve diger yerlerinden cikarmak icin ayri metodlar vardir.

Listeden ilk elemani cikarma null head 13 head = head.link; Yukaridaki esitlemenin listede yapacagi degisikligi cizebilir misiniz ?

Listeden ilk elemani cikarma null head 13 head = head.link;

Listeden ilk elemani cikarma head = head.link; null head 13

Listeden ilk elemani cikarma Ilk eleman cikarildiktan sonra listenin son hali asagida gosterilmistir null head

p. p Bir listeye ilk eleman eklemek ya da listedenin ilk elemanini cikarmak cok kolaydir. p. p Listenin diger yerlerine yapilan ekleme ve cikarmalar icin farkli teknikler gerekir. Ozet