AVL Agacı {\} /\ Suhap SAHIN Onur GÖK

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "AVL Agacı {\} /\ Suhap SAHIN Onur GÖK"

Transkript

1 AVL Agacı {\} /\ Suhap SAHIN Onur GÖK

2 AVL (Adel son-vel skiĭ) Landis Agacı AVL Agacı: Dengeli ikili agaç Denge Faktörü Kök isaretçisi A B c D E D E

3 Agaç Veri Modeli Yükseklik Kök (root) A 2 B C 1 D E F G H J I

4 AVL (Adel son-vel skiĭ) Landis Agacı AVL Agacı: Dengeli ikili agaç Denge Faktörü Kök (root) A

5 AVL (Adel son-vel skiĭ) Landis Agacı Dengesiz ikili arama agacı AVL agacı 26 26

6 AVL (Adel son-vel skiĭ) Landis Agacı Dengesiz ikili arama agacı Arama islemi O(n) AVL agacı Arama islemi O(log 2 n)

7 AVL (Adel son-vel skiĭ) Landis Agacı Eleman sayısı= 1 Son elemanı bulma islemi 11 1 adım Eleman sayısı= 1 Köke en uzak elemanı bulma islemi log 2 (1) = 17 adım

8 AVL Denge Faktörü H L : Sol alt agacın yüksekligi H R : Sag alt agacın yüksekligi denge faktörü = H L - H R denge faktörü = 1-2 = -1 H L = H L =

9 AVL Denge Faktörü A Sol agaç daha yüksek denge faktörü = +1

10 AVL Denge Faktörü A Sag agaç daha yüksek denge faktörü = -1

11 AVL Denge Faktörü A iki taraf esit yükseklikteyse denge faktörü =

12 AVL Denge Faktörü Ekleme veya silme esnasında, herhangi bir dügümün denge faktörü -2 veya +2 olursa dengeleme islemi yapılır A

13 AVL Denge Faktörü AVL agacı bazı dügümlerin saga veya sola döndürülmesiyle dengeli hale getirilebilir.

14 AVL Denge Faktörü Dengesiz agacı dengeleme isleminde dört durum vardır: solun solu sagın sagı solun sagı sagın solu

15 Dengeleme islemi : solun solu

16 Dengeleme islemi : sagın sagı

17 Dengeleme islemi : solun sagı

18 Dengeleme islemi : sagın solu

19 saga döndürme Döndürme : solun solu kok +2 5 pivot +1 pivot kok

20 Döndürme : solun solu kok +2 pivot pivot +1 2 kok

21 Dengeleme : solun solu kok +2 pivot pivot +1 2 kok ? 1

22 Dengeleme : solun solu pivot 2 kok 1?

23 Dengeleme : solun solu

24 sola döndürme Döndürme : sagın sagı kok -2 pivot 1 pivot 1-1 kok 19 19

25 Döndürme : sagın sagı pivot kok -2 kok 1-1 pivot

26 Dengeleme : sagın sagı pivot kok -2 kok 1-1 pivot 12?

27 Dengeleme : sagın sagı pivot kok 1 12? 19

28 Dengeleme : sagın sagı pivot kok

29 Döndürme : solun sagı 1. Adım: sola döndürme kok pivot

30 Döndürme : solun sagı 2. Adım: solun solu problemi saga döndürme kok +2 5 pivot pivot +1 5 kok

31 Dengeleme : solun sagı 1. Adım: sola döndürme kok pivot

32 Dengeleme : solun sagı 2. Adım: saga döndürme +2 kok pivot

33 Döndürme : sagın solu 1. Adım: saga döndürme kok 5-1 pivot 5

34 sola döndürme Döndürme : sagın solu 2. Adım: sagın sagı problemi -2 kok pivot pivot -1 kok 5 5

35 Döndürme : sagın solu 1. Adım: saga döndürme -2-2 kok pivot

36 Döndürme : sagın solu 2. Adım: sola döndürme -2 kok 12 pivot

37 AVL Agacı Döndürme

38 AVL Agacı Döndürme

39 AVL Agacı Döndürme

40 AVL Agacı Döndürme

41 AVL Agacı Gerçeklestirim #include<stdio.h> #include<stdlib.h> // AVL ağacı için düğüm struct Node { int key; struct Node *left; struct Node *right; int height; }; -2

42 AVL Agacı Gerçeklestirim // Ağaca ait yüksekliği dönen fonksiyon int height(struct Node *N) { if (N == NULL) return ; return N->height; } int max(int a, int b) { return (a > b)? a : b; }

43 AVL Agacı Gerçeklestirim /* Ağaca yeni düğüm ekleme */ struct Node* newnode(int key) { struct Node* node = (struct Node*)malloc(sizeof(struct Node)); node->key = key; node->left = NULL; node->right = NULL; node->height = 1; // Yeni düğüm ilk olarak yaprakta eklenir return(node); }

44 AVL Agacı Gerçeklestirim /* y (sol taraf) veya x (sağ taraf) pivotları ile döndürülecek alt ağaçlar T1, T2 ve T'dür. y x / \ Sağa Döndürme / \ x T > T1 y / \ < / \ T1 T2 Sola Döndürme T2 T */ struct Node *rightrotate(struct Node *y) { struct Node *x = y->left; struct Node *T2 = x->right; // Döndürme x->right = y; y->left = T2; // Yükseklikler güncelleniyor y->height = max(height(y->left), height(y->right))+1; x->height = max(height(x->left), height(x->right))+1; // yeni kok return x; }

45 AVL Agacı Gerçeklestirim /* y (sol taraf) veya x (sağ taraf) pivotları ile döndürülecek alt ağaçlar T1, T2 ve T'dür. y x / \ Sağa Döndürme / \ x T > T1 y / \ < / \ T1 T2 Sola Döndürme T2 T */ struct Node *leftrotate(struct Node *x) { struct Node *y = x->right; struct Node *T2 = y->left; // döndürme y->left = x; x->right = T2; // Yükseklikler güncelleniyor x->height = max(height(x->left), height(x->right))+1; y->height = max(height(y->left), height(y->right))+1; // yeni kok return y; }

46 AVL Agacı Gerçeklestirim A // N. düğüm için denge faktörü int getbalance(struct Node *N) { if (N == NULL) return ; return height(n->left) - height(n->right); }

47 AVL Agacı Gerçeklestirim struct Node* insert(struct Node* node, int key){ /* BST ağacına ekleme */ if (node == NULL) return(newnode(key)); if (key < node->key) node->left = insert(node->left, key); else if (key > node->key) node->right = insert(node->right, key); else return node; /* 2. Yükseklikler güncelleniyor */ node->height = 1 + max(height(node->left), height(node->right)); /*. Yeni ekleme işlemi ile denge hesaplanıyor */ int balance = getbalance(node); // Eklenen düğüm dengesiz ise durum vardır // Solun solu if (balance > 1 && key < node->left->key) return rightrotate(node); // Sağın sağı if (balance < -1 && key > node->right->key) return leftrotate(node); // Solun sağı if (balance > 1 && key > node->left->key){ node->left = leftrotate(node->left); return rightrotate(node); } // Sağın solu if (balance < -1 && key < node->right->key) { node->right = rightrotate(node->right); return leftrotate(node); } return node; }

48 AVL Agacı Gerçeklestirim // Ağaç içinde dolaşma void preorder(struct Node *root) { if(root!= NULL){ printf("%d ", root->key); preorder(root->left); preorder(root->right); } } Köke ugra Sol alt agacı preorder olarak dolas Sag alt agacı preorder olarak dolas

49 AVL Agacı Gerçeklestirim int main() { struct Node *root = NULL; root = insert(root, 1); root = insert(root, 2); root = insert(root, ); root = insert(root, ); root = insert(root, 5); root = insert(root, 25); /* AVL ağacı / \ 2 / \ \ */ printf("avl ağacında Preorder dolaşma:\n"); preorder(root); return ; } Köke ugra Sol alt agacı preorder olarak dolas Sag alt agacı preorder olarak dolas

50 Sorular

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > =

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > = Week 9: Trees 1. TREE KAVRAMI 2. İKİLİ AĞAÇ VE SUNUMU 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI < 6 2 > = 1 4 8 9 1. TREES KAVRAMI Bir ağaç bir veya daha fazla düğümün (T) bir kümesidir : Spesifik olarak

Detaylı

DOSYA ORGANİZASYONU. Ağaç Yapıları ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

DOSYA ORGANİZASYONU. Ağaç Yapıları ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA ORGANİZASYONU ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Ağaç Yapıları Sunum planı Genel kavramlar İkili ağaç İkili arama ağacı AVL Tree B-Tree Genel Kavramlar Bir ağaç yapısı

Detaylı

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

Veri Modelleri. Ağaç Veri Modeli. Ağaç Veri Modeli Veri Modelleri Ağaç Veri Modeli Ağaç Veri Modeli Verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen bir veri modelidir. Ağaç veri modeli daha fazla bellek

Detaylı

AĞAÇ-TREE VERİ YAPISI

AĞAÇ-TREE VERİ YAPISI AĞAÇ-TREE VERİ YAPISI AĞAÇ-TREE Ağaç; verileri birbirine hiyerarşik(sıradüzensel) bir biçimde sanal olarak bağlayan, doğrusal olmayan bir veri yapısıdır. Doğada bulunan biyolojik ağaçlardaki ve aile soyağacındaki

Detaylı

Final Sınavı Soruları Bahar 2018

Final Sınavı Soruları Bahar 2018 Sayfa#1 Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 2116 Veri Yapıları Dersi Final Sınavı Soruları Bahar 2018 Süre: 70 Dakika Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu İmza

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 8 Problem Tanımı Arama Ağaçları İkili Arama

Detaylı

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

Ağaçlar (Trees) Ağaçlar (Trees) Giriş Binary Trees (İkilik Ağaçlar) Full Binary Trees Proper Binary Trees Complete Binary Trees Heap Binary Trees Balanced Binary Trees Binary Search Trees (İkilik Arama Ağaçları) Yrd.Doç.Dr. M. Ali Akcayol

Detaylı

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

Max - Min Heap Tree (Max ve Min Yığıt Ağaçları) Veri Yapıları ve Algoritmalar 2 - Mustafa EGE Ders Notları Max - Min Heap Tree (Max ve Min Yığıt Ağaçları) Veri Yapıları ve Algoritmalar 2 - Mustafa EGE Ders Notları Max - Min Heap Öncelikli kuyruk konusunu hatırlayın. Kuyruğa sonradan eklenmesine rağmen öncelik

Detaylı

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

Yigin & Kuyruk {\} /\ Suhap SAHIN Onur GÖK Yigin & Kuyruk 0 {\ /\ Suhap SAHIN Onur GÖK Yıgın (Stack) son giren ilk çıkan LIFO ilk giren son çıkan Yıgın islemleri(so) ekle push 31 stack overflow 24 31 U U 34 34 3 3 S S Yıgın islemleri(so) al pop

Detaylı

Veri Yapıları. Ağaçlar

Veri Yapıları. Ağaçlar Veri Yapıları Ağaçlar 1 Ağaç Veri Modeli Temel Kavramları 2 Ağaç, bir kök işaretçisi, sonlu sayıda düğümleri ve onları birbirine bağlayan dalları olan bir veri modelidir. Aile soyağacında olduğu gibi hiyerarşik

Detaylı

AĞAÇLAR. Doç. Dr. Aybars UĞUR

AĞAÇLAR. Doç. Dr. Aybars UĞUR AĞAÇLAR TREES Doç. Dr. Aybars UĞUR Giriş Bağlı listeler, yığıtlar ve kuyruklar doğrusal (linear) veri yapılarıdır. Ağaçlar ise doğrusal olmayan belirli niteliklere sahip iki boyutlu veri yapılarıdır (Şekil

Detaylı

Ağaç (Tree) Veri Modeli

Ağaç (Tree) Veri Modeli Ağaç (Tree) Veri Modeli 1 2 Ağaç Veri Modeli Temel Kavramları Ağaç, bir kök işaretçisi, sonlu sayıda düğümleri ve onları birbirine bağlayan dalları olan bir veri modelidir; aynı aile soyağacında olduğu

Detaylı

7.Hafta Dengeli Arama Ağaçları (Red - Black Tree)

7.Hafta Dengeli Arama Ağaçları (Red - Black Tree) 7.Hafta Dengeli Arama Ağaçları (Red - Black Tree) Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme Dengeli arama ağaçları Red - Black Tree Kırmızı-siyah

Detaylı

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

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 Bölüm 5. Ağaç Olcay Taner Yıldız 2014 O. T. Yıldız, C && Java ile Veri Yapılarına, Boğaziçi Üniversitesi Yayınevi, 2013 1 / 73 O. T. Yıldız, C && Java ile Veri Yapılarına, Boğaziçi Üniversitesi Yayınevi,

Detaylı

BIL222 Veri Yapıları ve Algoritmalar

BIL222 Veri Yapıları ve Algoritmalar BIL222 Veri Yapıları ve Algoritmalar 1. ĠKĠLĠ AĞAÇLAR (BIARY TREES) Bütün düğümlerinin derecesi en fazla iki olan ağaca ikili ağaç denir. Yani bir düğüme en fazla iki tane düğüm bağlanabilir ( çocuk sayısı

Detaylı

Dengeli Arama Ağaçları (Balanced Search Tree)

Dengeli Arama Ağaçları (Balanced Search Tree) Dengeli Arama Ağaçları (Balanced Search Tree) AVL tree 2-3 ve 2-3-4 tree Splay tree Red-Black Tree B- tree 2 DENGELİ AĞAÇ (BALANCED TREE) Dengeli ağaç (balanced tree), gelişmesini tüm dallarına homojen

Detaylı

Ağaç Yapıları (Tree Structures) Kütük Organizasyonu 1

Ağaç Yapıları (Tree Structures) Kütük Organizasyonu 1 Ağaç Yapıları (Tree Structures) Kütük Organizasyonu 1 İçerik Temel Kavramlar Ağaçlarda Dolaşım İkili Ağaçlar (Binary Trees) İkili Arama Ağacı (Binary Search Tree ve Temel İşlemler Kütük Organizasyonu 2

Detaylı

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

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı

Veri Yapıları. Ağaçlar. Ağaçlar genel bilgi

Veri Yapıları. Ağaçlar. Ağaçlar genel bilgi Veri Yapıları Ağaçlar Dr. Sinan TUNCEL Ağaçlar genel bilgi Ağaçlar, fizikçi Gustava Kirşof tarafından 1847 de kablo ağlarındaki elektrik akışını formülize etmek için kullanılmıştır. Kirşof yasaları olarak

Detaylı

AĞAÇLAR TREES. Doç. Dr. Aybars UĞUR

AĞAÇLAR TREES. Doç. Dr. Aybars UĞUR AĞAÇLAR TREES Doç. Dr. Aybars UĞUR Giriş Bağlı listeler, yığıtlar ve kuyruklar doğrusal (linear) veri yapılarıdır. Ağaçlar ise doğrusal olmayan belirli niteliklere sahip iki boyutlu veri yapılarıdır (Şekil

Detaylı

Binary Tree nedir?uygulamas nasl yaplr?

Binary Tree nedir?uygulamas nasl yaplr? Yazar : Tu çe Kalkavan Web : tugcekalkavan.net admin@tugcekalkavan.net Bili³im Blo u Binary Tree nedir?uygulamas nasl yaplr? Bu bölümde veri yaplarnda önemli bir konu olan binary tree konusunu anlatmaya

Detaylı

Dengeli Arama Ağaçları (Balanced Search Tree)

Dengeli Arama Ağaçları (Balanced Search Tree) Dengeli Arama Ağaçları (Balanced Search Tree) AVL tree 2-3 ve 2-3-4 tree Splay tree Red-Black Tree B- tree 2 DENGELİ AĞAÇ (BALANCED TREE) Dengeli ağaç (balanced tree), gelişmesini tüm dallarına homojen

Detaylı

Özyineleme {\} /\ Suhap SAHIN Onur GÖK

Özyineleme {\} /\ Suhap SAHIN Onur GÖK Özyineleme 0 {\ /\ Suhap SAHIN Onur GÖK Özyineleme Tavugu yakala Tavugu yakala Tavugu yakala Tavugu yakala Ben yakalarım Özyineleme Kaç kisiyiz Ben ve sonraki Ben ve sonraki Ben ve sonraki Sadece ben Özyineleme

Detaylı

Final Sınavı Örnek Soruları Bahar 2018

Final Sınavı Örnek Soruları Bahar 2018 Sayfa#1 Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 2116 Veri Yapıları Dersi Final Sınavı Örnek Soruları Bahar 2018 Süre: 70 Dakika Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu

Detaylı

int main(void) { int num = 0; int input = 1; int retval = 0; struct NODE *nodepointer; nodepointer = (struct NODE *)malloc(sizeof(struct NODE));

int main(void) { int num = 0; int input = 1; int retval = 0; struct NODE *nodepointer; nodepointer = (struct NODE *)malloc(sizeof(struct NODE)); #include #include struct NODE { int number; struct NODE *nextpointer; ; void append_node(struct NODE *nodepointer, int num); void display_list(struct NODE *nodepointer); int search_value(struct

Detaylı

SOMEBODY ELSE'S. ( DATA STRUCTURES and ALGORITHMS ) Veri Yapıları ve Algoritmaları

SOMEBODY ELSE'S. ( DATA STRUCTURES and ALGORITHMS ) Veri Yapıları ve Algoritmaları SOMEBODY ELSE'S ( DATA STRUCTURES and ALGORITHMS ) Veri Yapıları ve Algoritmaları Yazan: Burak Kıymaz Derleyen: Serhan Aksoy @2016 Burak Kıymaz 28.10.2015 Veri Yapıları Abstrak veri yapıları: (Abstract

Detaylı

Algoritmalar. İkili Arama Ağaçları. Bahar 2016 Doç. Dr. Suat Özdemir 1

Algoritmalar. İkili Arama Ağaçları. Bahar 2016 Doç. Dr. Suat Özdemir 1 Algoritmalar İkili Arama Ağaçları Bahar 2016 Doç. Dr. Suat Özdemir 1 İkili Arama Ağaçları Binary Search Tree (BST) İkili arama ağaçları dinamik veri işlemlerini gerçekleştiren veri yapılarıdır Search,

Detaylı

#$% &'#(# Konular. Binary Tree Structures. Binary Search Trees AVL Trees Internal Path Reduction Trees Deerlendirme

#$% &'#(# Konular. Binary Tree Structures. Binary Search Trees AVL Trees Internal Path Reduction Trees Deerlendirme !" #$% &'#(# Konular Binary Search Trees Deerlendirme Binary Search Trees Bir binary search tree üzerindeki her node hem data saklar hemde dier node lara ulaılırken yön belirler Bir binary search tree

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 VERİ YAPILARI Sunu Planı Kendini-gösteren Yapılar Dinamik Bellek Tahsisi Bağlı Listeler Yığınlar Kuyruklar Ağaçlar 1 Veri Yapıları Şu ana kadar, diziler, matrisler ve yapılar

Detaylı

Eln 1002 Bilgisayar Programlama II

Eln 1002 Bilgisayar Programlama II Eln 1002 Bilgisayar Programlama II Recursive Fonksiyonlar Ne ÖĆreneceĆiz? Recursion nedir? Recursive Fonksiyon tanımı Uygulama ve Örnekler Recursive Çözüm Tasarlama Recursion Nedir? Birçok problem, kendisinin

Detaylı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar İki Yönlü Bağlantılı Liste Uygulaması HAZIRLAYAN

Detaylı

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

Çok Yollu Ağaçlar (Multi-Way Trees) Çok Yollu Ağaçlar (Multi-Way Trees) B-Trees B*-Trees B+-Trees Yrd.Doç.Dr. M. Ali Akcayol Çok Yollu Ağaçlar (Multi-Way Trees) Disk üzerindeki bilgilerin elde edilmesinde kullanılır. 3600 rpm ile dönen bir

Detaylı

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ Öğrenci Adı Soyadı: Öğrenci Numarası: S1 S2 S3 S4 S5 S6 S7 Toplam HACETTEPE ÜNİVERSİTESİ 2012-2013 BAHAR DÖNEMİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BBM202 Algoritmalar 1. Ara Sınav 25.04.2013 Sınav Süresi:

Detaylı

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

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 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 BAĞLI LİSTE KAVRAMI Derleme zamanında boyutunun bilinmesine ihtiyaç

Detaylı

Arasınav Örnek Soruları Bahar 2018

Arasınav Örnek Soruları Bahar 2018 Sayfa#1 Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 2116 Veri Yapıları Dersi Arasınav Örnek Soruları Bahar 2018 Süre: 75 Dakika Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu İmza

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 7 Ağaç (Tree) Veri Yapısı Giriş Ağaç VY Temel

Detaylı

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

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri Veri modelleri, veriler arasında ilişkisel ve sırasal düzeni gösteren kavramsal tanımlardır. Her program en azından bir veri modeline dayanır. Uygun

Detaylı

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

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 Bölüm 6. Karma Olcay Taner Yıldız 2014 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, 2013 1 / 31 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi

Detaylı

Algoritmalar. DERS 7 Dengeli Arama Ağaçları Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme

Algoritmalar. DERS 7 Dengeli Arama Ağaçları Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme Algoritmalar DERS 7 Dengeli Arama Ağaçları Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme October 19, 2005 Copyright 2001-5 by Erik D. Demaine and

Detaylı

#include<stdio.h> #include<conio.h> #define doktorsayisi 3. typedef struct dr{ int ay1, ay2, ay3, ay4; } doktor; float hesapla(doktor dktr){

#include<stdio.h> #include<conio.h> #define doktorsayisi 3. typedef struct dr{ int ay1, ay2, ay3, ay4; } doktor; float hesapla(doktor dktr){ /* Bir hastanedeki 30 doktorun dört ay boyunca baktığı hasta sayısı dr isimli bir topluluğun üyeleri olarak tanımlanıp, main( ) fonksiyonunda değerleri veriliyor. Dr topluluğunun her bir değerini "hesapla"

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 7: Yapılar Diziler İçerik Yapıların Tanımı Yapılara İlk Değer Atama Yapı Elemanlarına Erişim İç içe Yapılar Yapılar ve Fonksiyonlar 2 Yapılar (structures) içinde

Detaylı

Algoritmalar. Kırmızı Siyah Ağaçları Red Black Trees. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Kırmızı Siyah Ağaçları Red Black Trees. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Kırmızı Siyah Ağaçları Red Black Trees Bahar 2017 Doç. Dr. Suat Özdemir 1 Kırmızı Siyah Ağaç Red Black Trees (RBT) İkili arama ağaçlarının dengeli versiyonudur Ağaç yüksekliği O(lgn) dir Temel

Detaylı

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

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/ GENEL TEKRAR 1) /*Kullanıcının belirlediği sayı kadar dikdörtgenin kenar bilgilerini kullanıcıdan alan, dikdörtgenlerin alan ve çevresini alt fonksiyon yardımı ile hesaplayan ve sonuçları ekrana yazan

Detaylı

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar: Dosyalama Çoğu programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. C programlama dilinde, disk dosyasına erişme (okuma ve yazma için) iki farklı yöntemle yapılır. Bunlar üst düzey ve alt

Detaylı

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

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 Bölüm 8. Ayrık Küme Olcay Taner Yıldız 2014 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, 2013 1 / 16 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi

Detaylı

Çok Yollu Ağaçlar: B*-Trees B*-Trees

Çok Yollu Ağaçlar: B*-Trees B*-Trees Çok Yollu Ağaçlar: B*-Trees B*-Trees B-tree lerde bir node dolunca bölme işlemi yapılmaktadır Bölme sonucunda oluşan iki node da yarı yarıya doludur B*-tree lerde bölme işlemi geciktirilerek node ların

Detaylı

Ağaçlar(Trees) AĞAÇ VERİ MODELİ

Ağaçlar(Trees) AĞAÇ VERİ MODELİ Ağaçlar(Trees) AĞAÇ VERİ MODELİ Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyerarşik yapıya sahip bir veri modelidir; bilgisayar yazılım

Detaylı

Giris {\} /\ Suhap SAHIN Onur GÖK

Giris {\} /\ Suhap SAHIN Onur GÖK Giris 0 \ /\ Suhap SAHIN Onur GÖK Fonksiyon C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) Giris? main() Çıkıs main() C: Ana Fonksiyon(main) void main()

Detaylı

Telefon Rehberi Uygulaması

Telefon Rehberi Uygulaması Sayfa1 Telefon Rehberi Uygulaması Uygulama, temel düzeyde, telefon rehberi üzerinedir. Kullanıcı, telefon rehberine eklediği her bir kayıt içi ad, soyad, ev telefonu ve üç adet cep telefonu bilgisi girebilmektedir.

Detaylı

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

VERİ YAPILARI LİSTELER. Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ VERİ YAPILARI LİSTELER Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ Bağlı Listeler Aynı kümeye ait veri parçalarının birbirlerine bellek üzerinde, sanal olarak bağlanmasıyla

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN BAĞLI LİSTELER Bağlı listeler konusuna çalışmanın bazı faydaları var. Bağlı listeler gerçek programlarda kullanılabilecek bir veri yapısıdır. Bağlı listelerin güçlü ve zayıf yönlerini

Detaylı

BAĞLAÇLI LİSTELER LINKED LISTS

BAĞLAÇLI LİSTELER LINKED LISTS BAĞLAÇLI LİSTELER LINKED LISTS Liste Günlük yaşamda listeler pek çok yerde kullanılmaktadır: Alışveriş listeleri, adres listeleri, davetli listeleri gibi. Bilgisayar programlarında da listeler yararlı

Detaylı

else *on=*on+1; return gecici; } int giseyeyerlestir(struct gise*giseler) {//giseye bos olmasi durumunda yerlestirme yapiliyor...

else *on=*on+1; return gecici; } int giseyeyerlestir(struct gise*giseler) {//giseye bos olmasi durumunda yerlestirme yapiliyor... ///////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////// ALGORITMA VE PROGRAMALAMA DERSI ODEV-3 ////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////

Detaylı

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

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI YZM 2116- VERİ YAPILARI DERS#9: HASH FONKSİYONLARI İÇERİK Bu bölümde, Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision) Ayrık Zincirleme Çözümü Linear Probing Çözümü Quadratic Probing Çözümü konusuna

Detaylı

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Heap Sort Bahar 2017 Doç. Dr. Suat Özdemir 1 Heap Sort Heap Sort algoritması Merge Sort ve Insertion Sort algoritmalarının iyi özelliklerini bir arada toplar. Algoritma Insertion Sort gibi

Detaylı

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri 7.0. Amaç Ve Kapsam Deneyde C dilinde kullanılan fonksiyon tanımlama ve parametre aktarım yöntemleri hakkında bilgi verilecektir. 7.1. Deneyden

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 9 Hatırlatmalar Tam İkili Ağaç Eksiksiz İkili

Detaylı

BIP116-H14-1 BTP104-H014-1

BIP116-H14-1 BTP104-H014-1 VERİ YAPILARI VE PROGRAMLAMA (BIP116) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

BAĞLAÇLI LİSTELER LINKED LISTS

BAĞLAÇLI LİSTELER LINKED LISTS BAĞLAÇLI LİSTELER LINKED LISTS Liste Günlük yaşamda listeler pek çok yerde kullanılmaktadır. Alışveriş listeleri, adres listeleri, davetli listeleri gibi. Bilgisayar programlarında da listeler yararlı

Detaylı

Arasınav Soruları Bahar 2018

Arasınav Soruları Bahar 2018 Sayfa#1 Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 2116 Veri Yapıları Dersi Arasınav Soruları Bahar 2018 Süre: 75 Dakika Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu İmza Tarih

Detaylı

#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct { int ID; char isim[15]; char soyisim[15];

#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct { int ID; char isim[15]; char soyisim[15]; #include #include #include typedef struct int ID; char isim[15]; char soyisim[15]; Ad; typedef struct int ID; char teltip[3]; char tel[12]; Tel; typedef struct int ID; char

Detaylı

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya MAK 1005 Bilgisayar Programlamaya Giriş Fonksiyonlar Prof. Dr. Necmettin Kaya Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en

Detaylı

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Dersin Planı B+ Tree Temel bir veritabanı çalışma kodu Hash (Karma) Heap Ağaçlar

Detaylı

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU Diziler Yrd.Doç.Dr.Bülent ÇOBANOĞLU Dizi (Array) Nedir? Bellekte sürekli yer kaplayan artarda sıralanmış aynı türden verilerin oluşturduğu kümeye dizi (array) denir. Dizi, çok fazla miktardaki tek tip

Detaylı

Alıştırma 1: Yineleme

Alıştırma 1: Yineleme Alıştırma 1: Yineleme Alıştırma 2: Yineleme H10->H2 çevrimini yapınız 7 2 1 3 2 1 1 1 2 0 Hafta 3: Yineleme Alıştırmaları(1) E1. (44/174) S değerini yineleme kullanarak hesap ediniz S = 1 + 2 + 3 + n Hafta3:

Detaylı

/* Çember alanını hesaplar */

/* Çember alanını hesaplar */ ÖNİŞLEME KOMUTLARI /* Çember alanını hesaplar */ #include #define PI 3.14 int yaricap; float alan; printf( "Çemberin yarı çapını giriniz> " ); scanf( "%d", &yaricap ); alan = PI * yaricap * yaricap;

Detaylı

Adı Soyadı : Öğrenci No :

Adı Soyadı : Öğrenci No : Adı Soyadı : Öğrenci No : Soru 1 2 3 4 Toplam Not F.Ü TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖL. YMT111 VİZE SINAVI 2013 2014 Güz (03 Aralık 2013) SORULAR Toplam 4 soru 110 Puan, cevaplarınızı soru

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN BAĞLI LİSTELER Bağlı listeler konusuna çalışmanın bazı faydaları var. Bağlı listeler gerçek programlarda kullanılabilecek bir veri yapısıdır. Bağlı listelerin güçlü ve zayıf yönlerini

Detaylı

Algoritma Analizi Big O

Algoritma Analizi Big O Algoritma Analizi Big O 0 {\} /\ Suhap SAHIN Onur GÖK Giris Verimlilik Karsılastırma Giris Hangisi daha iyi? Hangi kritere göre? Giris Hangisi daha iyi? Hangi kritere göre? Giris Giris? Verimin ölçülmesi

Detaylı

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

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) 1. Kendisine gönderilen iki karakter dizisini birleştirip geriye tek bir dizi döndüren ve

Detaylı

#$% &'#(# Konular. B-Tree and Derivatives. B-Trees B#-Trees B+-Trees Deerlendirme

#$% &'#(# Konular. B-Tree and Derivatives. B-Trees B#-Trees B+-Trees Deerlendirme !" #$% &'#(# Konular B+-Trees Deerlendirme B-Tree sequential ve direct eriimde iyi performansa sahiptir. Binary tree lerde branching factor ikiden büyük olamaz. B-Tree lerde teorik olarak limit yoktur.

Detaylı

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA ORGANİZASYONU ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Çarpışma çözümleme yöntemleri Sunum planı Bağlantıları kullanarak çarpışmaların çözümlenmesi. Coalesced Hashing (Birleştirilmiş

Detaylı

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

YIĞINLAR YIĞINLAR. Yığın İşlemleri Postfix, Prefix, Infix. G. Ü. Bilgisayar Mühendisliği Bölümü Yığın İşlemleri Postfix, Prefix, Infix Yrd.Doç.Dr. M. Ali Akcayol 1 Yığındaki elemanlardan sadece en son eklenene erişim yapılır. Yığına ilk eklenen eleman en son elde edilir. FILO (First-in-Last-out)

Detaylı

Algoritma Geliştirme ve Veri Yapıları 8 Kuyruk ve Yığın Yapısı. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 8 Kuyruk ve Yığın Yapısı. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 8 Kuyruk ve Yığın Yapısı Yığın ve kuyruk modelleri verinin geçici olarka saklandığı, davranışları birbirinin tamamen tersi olan ve bellek üzerinde kurulmuş birer saklama

Detaylı

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

Week 7. Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste Week 7 Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste Düğüm bulma While kullanarak Loop kullanarak Düğüm bulma: While döngüsü ile Node* temp; temp=phead; while (temp->!=xvalue)

Detaylı

Veri Yapıları Laboratuvarı

Veri Yapıları Laboratuvarı 2013 2014 Veri Yapıları Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Hakan KUTUCU Lab. Sorumlusu: Arş. Gör. Caner ÖZCAN İÇİNDEKİLER Uygulama 1: Diziler ve İşaretçiler, Dinamik Bellek Ayırma... 4 1.1. Amaç

Detaylı

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz 2014 Soru 1. (15 puan) 5,2,4,1,15,8,11,13,7,6 dizisinin elemanlarından maksimum özellikli bir yığın(heap) oluşturulmasını adım adım yazınız. Heapsort algoritmasının yardımıyla yapılacak sıralamayı anlatınız.

Detaylı

Dosya Yapıları. (Başlangıçtan itibaren izlenen yaklaşımlar)

Dosya Yapıları. (Başlangıçtan itibaren izlenen yaklaşımlar) Dosya Yapıları (Başlangıçtan itibaren izlenen yaklaşımlar) Kayıtları disk üzerinde farklı şekillerde organize edebiliriz. En iyi organizasyon şekli dosyayı nasıl kullanmak istediğimiz ile ilgilidir. Dosyanın

Detaylı

Başkent Üniversitesi MühendislikFakültesi BaharYarıyılı YerSıra No BİL 101 Bilgisayar Yazılımı-I Dersi Dönem Sonu MAZERET Sınavı

Başkent Üniversitesi MühendislikFakültesi BaharYarıyılı YerSıra No BİL 101 Bilgisayar Yazılımı-I Dersi Dönem Sonu MAZERET Sınavı Başkent Üniversitesi MühendislikFakültesi 2013-2014 BaharYarıyılı YerSıra No BİL 101 Bilgisayar Yazılımı-I Dersi Dönem Sonu MAZERET Sınavı SınavTarihi : 03.06.2015 SınavBaşlamaSaati : 12:00 SınavSüresi

Detaylı

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

Çanakkale Onsekiz Mart Üniversitesi. Bilgisayar Mühendisliği Bölümü Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü Skip List(Atlamalı Liste) Veri Yapısı Seminer-30.03.2007/SkipList 1 Temel İhtiyaçlar Nelerdir? 1. Bilgisayarda verileri belirli yapıda

Detaylı

Programlama Dilleri 1. Ders 5: Göstericiler

Programlama Dilleri 1. Ders 5: Göstericiler Programlama Dilleri 1 Ders 5: Göstericiler Değişkenlerin adresleri Bellekteki her değişkenin bir adresi ve bir de taşıdığı değeri vardır. int x=3; DEĞİŞKEN BELLEK ADRES 0 (0000) 1 2 3 4...... 65533 (FFFD)

Detaylı

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta - BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri 1-14. hafta - Araş. Gör. Nesibe YALÇIN

Detaylı

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER // 5 adet ogrenci icin 8 adet sinavi // temsil etmesi icin bir ogrenci tablosu // olusturuyoruz. Bunun icin 5x8 bir matris // yaratilmasi

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 3 Motivasyon: Neden Listeye İhtiyaç Var? Bağlı

Detaylı

25. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ AŞAMA SINAVI. Soru Kitapçığı Türü A. 13 Mayıs 2017 Cumartesi,

25. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ AŞAMA SINAVI. Soru Kitapçığı Türü A. 13 Mayıs 2017 Cumartesi, BİLİM İNSANI DESTEK PROGRAMLARI BAŞKANLIĞI ADAYIN ADI SOYADI : T.C. KİMLİK NO : OKULU / SINIFI : SINAVA GİRDİĞİ İL : SINAVLA İLGİLİ UYARILAR: 25. ULUSAL BİLGİSAYAR OLİMPİYATI - 2017 BİRİNCİ AŞAMA SINAVI

Detaylı

8. İŞARETCİLER (POINTERS)

8. İŞARETCİLER (POINTERS) 8. İŞARETCİLER (POINTERS) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ilişkilidir. Donanımsal açıdan adres bellekte yer gösteren

Detaylı

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur:

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur: Jval tipi /blugreen/homes/plank/cs360/include/jval.h içerisinde bir Jval tipi tanımlanmıştır.büyük bir union yapısı aşağıdadır: typedef union { int i; long l; double d; void *v; char *s; char c; unsigned

Detaylı

Strings(Karakter Dizisi)

Strings(Karakter Dizisi) Strings(Karakter Dizisi) 0 {\ /\ Suhap SAHIN Onur GÖK 1 Tanımlama ve Kullanım char ad[20]; printf("adinizi girin: "); scanf("%s", ad); printf("\nmerhaba %s\n\n", ad); 2 Tanımlama ve Kullanım char ad[20];

Detaylı

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

Algoritma Geliştirme ve Veri Yapıları 7 Liste ve Bağlantılı Liste. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 7 Liste ve Bağlantılı Liste Liste birbiriyle ilişkili verileri içeren bir kümedir, programlama açısından liste en basitinden bir dizi üzerinde tutulur. Dizi elemanları

Detaylı

Adı Soyadı Öğrenci No. Toplam (100p) 2 (10p) +10p. 5 (25p) +10p. 3 (20p) 4 (25p) 1 (20p)

Adı Soyadı Öğrenci No. Toplam (100p) 2 (10p) +10p. 5 (25p) +10p. 3 (20p) 4 (25p) 1 (20p) Adı Soyadı Öğrenci No 1 (20p) 2 (10p) +10p 3 (20p) 4 (25p) 5 (25p) +10p Toplam (100p) Açıklamalar: Öğrenciler yanlarında hatırlatma amacıyla sadece bir yüzüne C fonksiyonlarının açıkladıkları, kullanımlarını

Detaylı

7. FONKSİYONLAR. Dönüş_Tipi Fonksiyon_Adı (tip giriş_parametreleri);

7. FONKSİYONLAR. Dönüş_Tipi Fonksiyon_Adı (tip giriş_parametreleri); 1 7. FONKSİYONLAR C/C++ programlama dilinin temelini fonksiyonlar oluşturmaktadır. C/C++ programı fonksiyon ile çalışmasına başlar ve fonksiyon ile çalışmasını bitirir. Bu olmazsa olmaz fonksiyonun ismi

Detaylı

Veri Yapıları ve Algoritmalar 2006-2007 2.dönem

Veri Yapıları ve Algoritmalar 2006-2007 2.dönem Veri Yapıları ve Algoritmalar 2006-2007 2.dönem Öğretim Elemanları: Dr. A. Şima Etaner-Uyar Dr. Gülşen Cebiroğlu-Eryiğit Dersle ilgili bilgiler Ders Kitabı Data Structures and Algorithms in Java, 4th Ed.,

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 5 Kuyruk VY ve ADT Basit Kuyruk (Simple Queue)

Detaylı

Adı Soyadı : Öğrenci No :

Adı Soyadı : Öğrenci No : Adı Soyadı : Öğrenci No : Soru 1 2 3 Toplam Not F.Ü TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖL. YMT111 FİNAL SINAVI 2014 2015 Güz (12 OCAK 2015) SORULAR Toplam 3 soru 120 Puan, cevaplarınızı soru üzerinde

Detaylı

Algoritmalara Giriş 6.046J/18.401J

Algoritmalara Giriş 6.046J/18.401J Algoritmalara Giriş 6.046J/.40J DERS Veri Yapılarının Genişletilmesi Dinamik Seviye İstatistikleri Metodoloji Aralık Ağaçları Prof. Charles E. Leiserson Dinamik Seviye İstatistikleri OS-SEÇ(i,S) : dinamik

Detaylı

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

İ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İ İ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İ AD SOYAD: TESLİM TARİHİ: OKUL NO: TESLİM SÜRESİ: 2 hafta ÖDEV NO: 5 1- BANKA

Detaylı

Algoritma Analizi. Özelliklerinin analizi Algoritmanın çalışma zamanı Hafızada kapladığı alan

Algoritma Analizi. Özelliklerinin analizi Algoritmanın çalışma zamanı Hafızada kapladığı alan Karmaşıklık Giriş 1 Algoritma Analizi Neden algoritmayı analiz ederiz? Algoritmanın performansını ölçmek için Farklı algoritmalarla karşılaştırmak için Daha iyisi mümkün mü? Olabileceklerin en iyisi mi?

Detaylı

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER DİZİLER Dizi Nedir? Aynı türden nesnelerin oluşturduğu, bellekte bitişik bir biçimde bulunan veri yapısına dizi denir.mesela alfabe diye bir dizi tanımlarız, harfleri a,b,c,d... diye sıralarız.dizinin

Detaylı

BİLG Dr. Mustafa T. Babagil 1

BİLG Dr. Mustafa T. Babagil 1 BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)

Detaylı

Problem Seti 4 Çözümler

Problem Seti 4 Çözümler Algoritmalara Giriş Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson Ekim 29, 2005 6.046J/18.410J Dağıtım 18 Problem Seti 4 Çözümler Problem 4-1. Treaps Treap'ler

Detaylı