BAZI VERİ YAPILARI Yılmaz KILIÇASLAN.

Slides:



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

FEN BİLİMLERİ ENSTİTÜSÜ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
MIT503 Veri Yapıları ve algoritmalar Veri Yapılarına Giriş
STRİNG FONKSİYONLARI.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
SINIFLANDIRMA VE REGRESYON AĞAÇLARI (CART)
Listeler.
Yığın ve Kuyruk.
Ders İçeriği Bağlantılı Liste İki Yönlü Bağlantılı Liste
Nesneye Yönelik Programlama
BPR152 ALGORİTMA VE PROGRAMLAMA - II
String Diziler(Katarlar)
AVL-Ağaçları (Trees).
Diziler.
MATLAB’de Diziler; Vektörler ve MAtrisler
C++ STACK SINIFI.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Veritabanı Yönetim Sistemleri-I
Diziler(Arrays).
Java Programlama Koleksiyon(Collection) Sınıfları
BPR152 ALGORİTMA VE PROGRAMLAMA - II
MIT503 Veri Yapıları ve algoritmalar Veri Yapılarına Giriş
İçerik: Graflar Tanım Gösterim Dolaşma Algoritmaları
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
Çİ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.
Veri Yapıları Ve Algoritmalar
Veri Yapıları Veri, her türlü değer demektir. Veri yapılarının tasarlanma ve oluşturulma amacı; “verinin işlenmesini kolaylaştırmak ve bu işlemi daha verimli.
Nesneye Yönelik Programlama
EXCEL DE VERİ TABANI (DATABASE) İŞLEMLERİ
Chapter 6: Using Arrays.
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN.
VERİTABANI ve YÖNETİMİ
Veri Yapıları Yrd. Doç. Dr. Altan MESUT.
PROLOG PROGRAMLAMA DİLİNDE
SINIFLANDIRMA VE REGRASYON AĞAÇLARI
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
KUYRUKLAR (QUEUES).
NESNEYE YÖNELİK PROGRAMLAMA
C PROGRAMLAMA DİZİLER (ARRAYS).
JAVA’DA DİZİLER Dr.Galip AYDIN.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Ders İçeriği Liste Soyut veri yapısı (ADT)
BAZI VERİ YAPILARI Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgeler gibi bazı teorik nesnelerin bellekte nasıl tutulduğunu ve algoritmalarca nasıl işlendiğini.
Veri Yapıları.
Veri yapıları Hafta3 Dizi Yapıları.
Mühendislikte Bilgisayar Uygulamaları
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ı
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ölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
CRM Yazılımı - Anasayfa CRM Yazılımı İçerisinde Barındırdığı Özellikler *. Personel BilgileriPersonel Bilgileri *. Müşteri BilgileriMüşteri Bilgileri *.
Fonksiyonlar ve Diziler
Algoritmalar II Ders 5 Açgözlü Algoritmalar.
Ç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.
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H11
İleri Algoritma Analizi
Algoritmalar II Ders 11 Çizgeler. Çizgelerin bilgisayarda gösterimi. BFS algoritması.
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
C++ Programming:. Program Design Including
YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ
NİŞANTAŞI ÜNİVERSİTESİ
Çizge Algoritmalari 5. ders.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
İleri Algoritmalar Ders 3.
Yapılar, Kolleksiyonlar,Kutulama,Indeksçi
1 EXCEL DE VERİ TABANI (DATABASE) İŞLEMLERİ Excel de bir veritabanı oluşturulabilir veya başka programlarda (Access gibi) oluşturulmuş olan Veri Tabanları.
Sunum transkripti:

BAZI VERİ YAPILARI Yılmaz KILIÇASLAN

Sunu Planı Bu derste, çizgelerin bellekte nasıl tutulduğunu ve algoritmalarca nasıl işlendiğini anlamak için gereksinim duyabileceğimiz şu veri yapılarını kısaca gözden geçireceğiz: Diziler (Arrays) Bağlı Listeler (Linked Lists) İşaretçiler (Pointers) Yığıtlar (Stack) Kuyruklar (Queues)

Diziler - 1 ÖRNEK: Bir firmanın aşağıdaki veriyi barındıran bir müşteri – satıcı dosyası tuttuğunu varsayalım: MÜŞTERİ Adams Brown Clark Drew Evans Farmer Geller Hiller Infeld SATICI Smith Ray Jones Bu tür bir veri üzerinde iki işlem yapabiliriz: İşlem A: Verilen müşteri adı için satıcıyı bulmak. İşlem B: Verilen satıcı adı için müşterileri bulmak. Bu veriyi bellekte saklamak için ilk akla gelen yapı, iki boyutlu bir dizi olabilir. Müşteriler alfabetik sırayla listelendiği için, A işlemi kolaylıkla gerçekleştirilecektir. Fakat, B işlemi için bütün diziyi taramak gerekecektir.

Diziler - 2 Müşteri – satıcı verisi, satırları ve sütunları sırasıyla müşterilerin ve satıcıların adlarını alfabetik sırayla tutan ve hücrelerinin bir müşterinin satıcısını gösterirken 1 rakamını, aksi takdirde 0 rakamını barındırdığı bir iki boyutlu dizide de saklanabilir. Bu gösterimin en önemli dezavantajı, matriste çok sayıda 0 barındırarak bellek israfına yol açabilmesidir. Örneğin, firmanın 1000 müşterisi ve 20 satış elemanı mevcut ise, yalnızca 1000 tanesinin faydalı bilgi içerdiği 20 000 bellek bölgesine ihtiyaç duyulacaktır. Söz konusu dezavantajlar, aynı verinin bağlı liste ile gösterilmesi halinde ortadan kalkacaktır. Adams Brown Clark Drew Evans Farmer Geller Hiller Infeld Smith 1 Ray Jones

Bağlı Listeler ve İşaretçiler - 1 Başlangıç X Adres alanı Null İşaretçi Bilgi alanı Bağlı liste, doğrusal olarak birbirine bağlanmış bir veri elemanları toplululuğudur. Veri elemanları, düğümler (nodes) olarak adlandırılır. Elemanların doğrusal sıralanışı, işaretçi barındıran alanlar aracılığıyla gerçekleştirilir.

Bağlı Listeler ve İşaretçiler - 2 Müşteri – Satıcı örneğimizi aşağıdaki gibi yapılandırabiliriz: - Müşterileri ve satıcıları alfabetik olarak sıralayan iki ayrı matris kullanmaktayız. - Müşteri dizisine paralel, her müşterinin satıcısının konumunu belirleyen bir işaretçi dizisi bulunmaktadır. - Ayrıca her satıcının müşteri listesi bir bağlı liste içinde verilmiştir. - Artık, bir satıcının müşteri listesini belirlemek için (işlem B), bütün müşteri listesini taramak gerekmeyecektir.

Yığıtlar ve Kuyruklar Yığıt (stack): “Son giren ilk çıkar” (last-in first-out (LIFO)) kuralıyla işler. Ekleme ve silme işleminin yalnızca bir uçtan (top) gerçekleştirildiği doğrusal listelerdir. Kuyruk (queue): “İlk giren ilk çıkar” (first-in first-out (FIFO)) kuralıyla işler. Ekleme işleminin bir uçtan (front), silme işleminin ise diğer uçtan (rear) gerçekleştirildiği doğrusal listelerdir.

Öncelik Kuyrukları Öncelik Kuyruğu (Priority Queue): Elemanların periyodik olarak eklendiği ama silme işleminin “en yüksek önceliği taşıma” kriterine göre gerçekleştirildiği sistemlerdir. “Öncelikli olarak çocuklar ve kadınlar” ve “güzellikten önce yaş” kuralları, öncelik kuyruğu örnekleridir. Ayrıca, yığıtlar ve kuyruklar özel türden öncelik kuyruklarıdır.

Kaynak Lipschutz, Seymour and Marc Lars Lipson (2007). Theory and Problems of Discreete Mathematics. McGraw-Hill.