Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

Benzer belgeler
YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

BÖLÜM 11: YAPISAL VERİ TİPLERİ

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

ALGORİTMA VE PROGRAMLAMA II

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

Pointer Kavramı. Veri Yapıları

HSancak Nesne Tabanlı Programlama I Ders Notları

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

YAPILAR (STRUCTURES)

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

BİLG Dr. Mustafa T. Babagil 1

Veri Yapıları Laboratuvarı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Telefon Rehberi Uygulaması

Birlik (Union) 1 Birlik (Union), enum, typedef

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Göstericiler (Pointers)

ALGORİTMA VE PROGRAMLAMA I

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

YZM 2105 Nesneye Yönelik Programlama

Veri Yapıları ve Algoritmalar

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

ALGORİTMA VE PROGRAMLAMA II

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

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

Yrd. Doç. Dr. Caner ÖZCAN

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

enum, struct, union ve typedef Yapıları

Özyineleme (Recursion)

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

C Programlama Dilininin Basit Yapıları

ALGORİTMA VE PROGRAMLAMA II

Örnek1: #include <iostream> #include <string> using namespace std;

Nesne Tabanlı Programlama

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

Yrd. Doç. Dr. Caner ÖZCAN

YZM 2116 Veri Yapıları

ALGORİTMA VE PROGRAMLAMA II

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

ELN1001 BİLGİSAYAR PROGRAMLAMA I

Programlama Dilleri 1. Ders 4: Diziler

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

BLM 111 ALGORİTMA VE PROGRAMLAMA I

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

KAYITLAR BÖLÜM Giriş

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı Đlkbahar Dönemi 13 Nisan Ad, Soyad Öğrenci No.

Temel Giriş/Çıkış Fonksiyonları

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

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

{\} /\ Suhap SAHIN Onur GÖK

ALGORİTMA VE PROGRAMLAMA I

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

Nesne Tabanlı Programlama

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

Yrd. Doç. Dr. Caner ÖZCAN

Ağaç (Tree) Veri Modeli

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

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

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

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Yrd. Doç. Dr. Caner ÖZCAN

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

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

Diziler İndisli Değişkenler

C Konsol Giriş Çıkış Fonksiyonları

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

Yrd. Doç. Dr. Caner ÖZCAN

Java String İşlemleri

C# Örnek Uygulamalar I

Programlama Dilleri 3

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

NESNEYE YÖNELİK PROGRAMLAMA

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

Genel Programlama II

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

String Sınıfını Yönetmek

Giriş. ENF102 Jeoloji

Algoritma Geliştirme ve Veri Yapıları 1 Temel Algoritma Kavramları. Mustafa Kemal Üniversitesi

Matlab da Dizi ve Matrisler. Mustafa Coşar

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

BLG 1306 Temel Bilgisayar Programlama

Genel Programlama I

C#(Sharp) Programlama Dili

Dr. Fatih AY Tel: fatihay@fatihay.net

BLM 111 ALGORİTMA VE PROGRAMLAMA I

C Programlama Dilinde Değişkenler

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Transkript:

Veri Yapıları Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz İçindekiler: Giriş Temel Veri Yapıları Tanımlamalı Veri Yapıları Veri Modeli ve Türleri

Veri Yapısı: bilginin anlamlı yapıda bellekte veya saklama birimlerinde tutulması şeklini gösterir

Veri Modeli: bir küme içerisindeki verilerin birbiriyle olan ilişkisel veya sırasal durumunu gösterir.

Temel Veri Yapıları: Karakter Tam sayı Gerçek Sayı String Diziler

Tanımlamalı Veri Yapıları enum struct union

enum: enum anahtar sözcüğü bir grup öğeyi sıralayıp, her birine sıra numarası verme işidir. Örnek: enum renkler {siyah,beyaz,mavi,kırmızı} Yukarıdaki deyim içerisindeki dört renge sıra numarası verilir. Özel sıra numarası verilmemiş ise ilk sabite sıfır(0) sıra numarası verilir. Sonrakiler, yazılış sırasına göre 1 er artarak numara alır. siyah=0, beyaz=1,mavi=2,kırmızı=3 olur. enum komutu, bir veri topluluğunun öğelerine istenildiği gibi sıra numarası verebilir. enum renkler {siyah=1,beyaz=3,mavi=5,kırmızı=7} gibi

typedef: typedef komutu derleyiciye yeni bir veri tipi bildirir. Bildirilen tip, derleyiciye gömülü bir tipmiş gibi kullanılabilir. Özel olarak, bilinen bir veri tipine başka Bir ad vermek gerekebilir. Bu typedef komutu ile yapılabilir. Örnek: typedef int tamsayi; ( İnt tipine tamsayi ismi verilmiştir.) Genel olarak aşağıdaki gibi kullanılır: typedef veri_tipi yeni_ad

struct: Farklı veri tiplerini bir araya getiren ve onları bir birim gibi gören veri tipidir. Kullanıcının tanımlı veri tiplerinden yararlanarak yeni bir veri tipi oluşturmasını sağlar. struct personel { char sicilno[11]; char ad[15]; char soyad[15]; double ucret; }; Bu yapıya ait yapı değişkeni : personel prs1; şeklinde tanımlanır. Yapı değişkeninin elemanlarına nokta Operatörü kullanılarak ulaşılır. Örneğin: prs1.ucret gibi..

union: union yapısı struct yapısına benzer. Aralarındaki tek fark, union yapısı için bellekte açılan yere bileşen türlerinden herhangi birisinin yazılıyor olmasıdır. union aynı bellek alanına farklı tipten verilerin yazılmasına imkan sağlar. Bu şekilde ana bellek daha ekonomik kullanılmış olur. Ayrıca union dizisi kurulursa faklı veri tiplerini içeren bir dizi oluşur. Union bildirimi struct bildirimine benzer. union prs { char ch; double d; float f; };

VERİ MODELLERİ Bağlantılı Listeler Yığın ve Kuyruk Yapısı Ağaç veri Modeli Graf veri Modeli Durum Makinaları Veri Modelleri ikinci sınıftaki Veri Yapıları Dersinde etraflı olarak incelenecektir. Bu derste bağlantılı liste modeline giriş yapılacaktır.

Bağlantılı Liste(Linked List) Diziler çok kullanışlı olduğu için her programlama dili tarafından desteklenir. Ancak, dizilerin iki önemli kusuru vardır: 1. Dizinin elemanları ayni veri tipinden olmak zorundadır. 2. Dizi değiştirilemez. Dizilerin birinci kusurunu gidermek için enum, struct, union gibi tipleri tanımlanmıştır. Dizilerin ikinci kusurunu gidermek için de bağlantılı liste yapısı Kullanılabiri.

Bağlantılı Liste(Linked List) Bağlantılı liste, işaretçiler yardımıyla art arda eklenmiş veri yapısından oluşan bir listedir. Dizilerden farklı olarak bağlantılı liste yapısında listenin kaç öğesi olacağını, bildirim anında belirlemek gerekmiyor. Kullanıcı ihtiyaç duyarsa Listeye yeni ekler yaparak listeyi uzatabilir. Ya da gereksiz bileşenleri listeden silerek listeyi kısaltabilir. Ekleme ve silme işlemleri listenin başında sonunda ortasında yapılabilir. Bu şekilde bağlantılı listeler dizi yapısının ikinci kusurunu tamamıyla ortadan kaldırır.

Bağlantılı Liste(Linked List) Bağlantılı liste elemanların kendi değerlerine ek olarak bir de bağlantı bilgisinin Kullanılmasıyla sağlanır. Bu bağlantı bilgisi bir sonraki elemanın adresi niteliğindedir.