VERİ YAPILARI VE PROGRAMLAMA



Benzer belgeler
VERİ YAPILARI VE PROGRAMLAMA

BIP116-H14-1 BTP104-H014-1

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

MEKATRONİĞE GİRİŞ (EEP251)

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

ELEKTRİK MAKİNELERİ (MEP 112) (ELP211) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

EIS526-H02-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

ANADOLU ÜNİVERSİTESİ AÇIKÖĞRETİM FAKÜLTESİ İLKÖĞRETİM ÖĞRETMENLİĞİ LİSANS TAMAMLAMA PROGRAMI. Analiz. Cilt 2. Ünite 8-14

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

YÖNETİM BİLİŞİM SİSTEMLERİ

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

İŞLETMELERDE BİLİŞM SİSTEMLERİ (EMBA523) Yazar: Prof.Dr. Orhan TORKUL S1

İŞLETMELERDE BİLİŞİM SİSTEMLERİ (EMBA523)

EIS526 -H01-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

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

T.C. ANADOLU ÜNİVERSİTESİ YAYINI NO: 3275 AÇIKÖĞRETİM FAKÜLTESİ YAYINI NO: 2138 HAVACILIK EMNİYETİ

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

Veritabanı Yönetim Sistemleri I

ANADOLU ÜNİVERSİTESİ AÇIKÖĞRETİM FAKÜLTESİ İLKÖĞRETİM ÖĞRETMENLİĞİ LİSANS TAMAMLAMA PROGRAMI. Lineer. Cebir. Ünite

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

Final Sınavı Soruları Güz, Süre: 90 Dakika

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

ELEKTRİK MAKİNELERİ (MEP 112) (ELP211) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

FIRTINA SERİSİ MATEMATİK SORU BANKASI 5

EIS526 H10-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

EIS526 H13-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

EIS526-H06-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

EIS526 -H04-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

YÖNETİM BİLİŞİM SİSTEMLERİ

YZM 2116 Veri Yapıları

TOEFL ibt LISTENING STRATEGIES & PRACTICE DR. HİKMET ŞAHİNER

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr. Gör. Hakan TUNAHAN S1

Prof. Dr. Mahmut Koçak.

FIRTINA SERİSİ MATEMATİK SORU BANKASI 4

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

EK 1:NAMIK KEMAL ÜNİVERSİTESİ YAYIN ÖNERİ FORMU

EIS526 H11-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

Üşenme, Erteleme, Vazgeçme.

Görsel Programlama - I Uygulamalı Ödevi

ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

Üşenme, Erteleme, Vazgeçme.

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

Bilgisayar Ağları ve İnternet

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( )

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

Nitel Araştırmalar için

YÖNETİM BİLİŞİM SİSTEMLERİ

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

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

Okul Öncesi/İlkokul Çocukları İçin Sosyal Bilgiler Öğretimi

Üşenme, Erteleme, Vazgeçme.

On Birinci Basımdan Çeviri. Eleventh Edition. Güncel Lojistik. Contemporary Logistics

İNTERNET PROGRAMCILIĞI DERSİ

İŞLETMELERDE BİLİŞM SİSTEMLERİ (EMBA523) Yazar: Prof.Dr. Orhan TORKUL S1

Sınıf İçinde ve Dışında Yaratıcı Drama

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

Yrd. Doç. Dr. Caner ÖZCAN

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I

ERGENLiK ADOLESCENCE JOHN W. SANTROCK ÇEVİRİ EDİTÖRÜ: DOÇ. DR. DİĞDEM MÜGE SİYEZ

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

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

Türk Dili II (MEP184) Yazar: Doç.Dr.Mehmet Mehdi Ergüzel S1

Arasınav Örnek Soruları Bahar 2018

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?

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

ALGORİTMA VE PROGRAMLAMA II

C PROGRAMLAMA D İ L İ

YZM 2116 Veri Yapıları

Öğrenciler için Özel Ders

EIS526 -H05-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

BU Kitapta Kullanılan Standart Birimler

Notları Değerlendirme ve Müdahale Cep Rehberi

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

İŞLETMELERDE BİLİŞİM SİSTEMLERİ (EMBA523)

Solaris 7980g. Hızlı Başlangıç Kılavuzu. Sunum Alanı Görüntüleyici TRTR-QS Rev A 1/16

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ

Yrd. Doç. Dr. Caner ÖZCAN

ALGORİTMA VE PROGRAMLAMA I

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

ECEM ERDURU GAMZE SERİN ZEHRA SABUR EMİNE ÖLMEZ. o TAMSAYILAR KONUSU ANLATILMAKTADIR

Dr. Fatih AY Tel: fatihay@fatihay.net

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

EIS526 H12-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

BİL-142 Bilgisayar Programlama II

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

ALGORİTMA VE PROGRAMLAMA I

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Transkript:

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. "Uzaktan Öğretim" tekniğine uygun olarak hazırlanan bu ders içeriğinin bütün hakları saklıdır. İlgili kuruluştan izin almadan ders içeriğinin tümü ya da bölümleri mekanik, elektronik, fotokopi, manyetik kayıt veya başka şekillerde çoğaltılamaz, basılamaz ve dağıtılamaz. Copyright 2004 by Sakarya University All rights reserved No part of this course contenet may be reproduced or stored in a retrieval system, or transmitted in any form or by any means mechanical, electronic, photocopy, magnetic, tape or otherwise, without permission in writing from the University. Sürüm 1 Sakarya... 2004 S 1

YIĞIN (STACK) YAPISI VE UYGULAMASI Bu Haftanın Hedefi: Bu Haftanın Materyalleri Bu haftaki dersimizde kullanacağımız bir materyal bulunmamaktadır. Kullanılan semboller Animasyon Soru Veritabanı Bağlantılı Soru Simülasyon Püf Noktası 1

YIĞIN (STACK) YAPISI Yığın (stack), eleman eklemelerin ve çıkarmaların en sondan yapıldığı özel bir dizi yapısıdır. Son giren - ilk çıkar (Last-in-First-out (LIFO)) kuralıyla erişimin yapıldığı, ara elemanlara erişilemediği veri yapısı olarak da bilinir. Gündelik hayattan örnek olarak zemindeki kitaplar, raftaki tabaklar ve bazı oyunlardaki iskambil kağıtlarının kullanım şekli verilebilir. Bunların ortak özelliği, alıp kullanma veya yeni bir tane ekleme işlemlerinde erişimin en tepeden yapılmasının daha kolay olmasıdır. Bu yapının benzer bir mantıkla bilgisayar programlarında kullanılması birçok problemin çözümünde kolaylıklar sağlamaktadır. Yığın (stack) yapısında, erişilebilen ilk eleman yığına en son eklenen elemandır. Bu en sondaki elemana erişildiğinde, eleman yığından çıkarılmış olur (daha sonra bu elemana erişmek mümkün değildir). Böylece, yığındaki en son elemandan bir önceki eleman, yağına en son eklenen eleman durumuna geçer. Bu şekilde herhangi bir yığında, yığına en yeni eklenen elemandan ilk eklenen elemana doğru bir sırada elemanlara erişmek olasıdır. Yığın (stack) yapısına yeni bir eleman eklemek istenildiğinde, bu elemanı yapının (dizinin) en sonuna eklemek yeterlidir. Yapının (dizinin) ara yerlerine veya başına eleman eklemek mümkün değildir, sadece en sona eleman ekleme hakkı vardır. Yığın (stack) yapısı birçok programda problemin çözümünde etkili bir algoritma olarak kullanılmaktadır. Örnek olarak, matematikte işlem önceliğine uygun hesaplamanın yapılmasına (postfix evaluation), labirent problemlerine, satrançta 8 vezir problemine ve benzeri problemlere çözüm sağlamaktadır. Hatta basit bir sıralama metodu olarak kullanmak mümkündür. YIĞIN YAPISINA ELEMAN EKLEME VE ÇIKARMA İŞLEMLERİ Yığın (stack) yapısında kullanılan elemanların tipinin bir kısıtlaması yoktur. Programların çoğunda tamsayılar ve karakterler üzerinde işlem yapıldığından genelde integer veya char tipinde bir dizi tanımlanarak, yığın (stack) tanımlanmış olur. Yığın (stack) yapısında eleman ekleme ve çıkarma işlemlerini gerçekleştirmek için push (iteleme) ve pop (alma) işlemleri tanımlanır. Yani yığın yapısına bir eleman eklemek için push (iteleme) işlemini, çıkarmak için pop (alma) işlemini gerçekleştirmek gerekir. Bu iki işlemin paralelinde, kullanılan yığının dolu yada boş olduğu bilgisini verecek full (dolu) ve empty (boş) adında iki ayrı işlemden faydalanılır, bu işlemlerin tanımlı olması gereklidir. Örnek olarak dizi boyutu 5 olan bir yığın yapısına sırasıyla, 2

biçiminde yığın dizisinde yer alır. YIĞIN YAPISI ÖRNEĞİ Aşağıdaki örnekte verilen C programı girilen bir cümleyi yığın (stack) yapısı kullanarak tersten yazmaktadır. Girilen bir yazıyı dizinin ilk elemanından son elemanına kadar yığın yapısına ekler, arkasından yığın yapısından çıkartırken ekrana yazdırırsak bu yazıyı tersten yazdırmış oluruz. Örneğin yazımız "Sakarya" olsun. Bu yazıyı önce push('s'), push('a'), push('k') push('y'), push('a') şeklinde yığına atar, daha sonra yığın boşalana kadar pop() işlemi ile yığından alır, ekrana yazdırırsak bize "ayrakas" yazısını döndürür. NOT : Yazının başka yöntemlerle tersten yazılması da mümkündür ama burada amaç yığın yapısının uygulanmasının öğrenilmesidir. 3

Bu kodlardan direkt olarak sınavlarda sorumlu değilsiniz, kendini veri yapılarını uygulama bazında geliştirmek isteyen arkadaşlara yol göstermesi ve gerekirse ödevlerinize yardımcı olması amacıyla konulmuştur. 4

5