qwertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwert yuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopa sdfghjklzxcvbnmqwertyuiopasdf

Benzer belgeler
qwertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwert yuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopa sdfghjklzxcvbnmqwertyuiopasdf

qwertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwert yuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopa sdfghjklzxcvbnmqwertyuiopasdf

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Veri Yapıları Dersi. Proje#2

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

ATATÜRK ÜNİVERSİTESİ BİLGISAYAR MÜHENDİSLİĞİ BÖLÜMÜ BM 104- NESNEYE YÖNELİK PROGRAMLAMA DERSİ BAHAR DÖNEMİ ÖDEV-3

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

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

DESTEK DOKÜMANI KAYIT NUMARALAMA ŞABLONLARI

Final Sınavı Soruları Bahar 2018

BMT207 VERİ YAPILARI DATA STRUCTURE

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

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

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

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

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

BİL-142 Bilgisayar Programlama II

Kod Listeleri Genel Yapısı

4447 Sayılı Kanunun Geçici 10.Maddesi Sigortalı Giriş Uygulaması Kullanım Kılavuzu

Veri Yapıları Laboratuvarı

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

BLM 210 PROGRAMLAMA LABORATUVARI II PROJELERİ

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

BÖLÜM BAŞKANLARI İÇİN BOLOGNA İŞLEMLERİ YARDIM DOKÜMANI

Satış Fırsatlarım Ekranı Kullanım Kılavuzu

BİLGİSAYAR PROGRAMLAMA DERSİ

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İLGİSAYAR PROGRAMLAMAYA GİRİŞ

Teknosem ANASAYFA. Program komut butonları ve program zaman parametrelerinin bulunduğu sayfadır.

BEŞHEKİM GRUP AYBEL YAZILIM İBYS PROGRAMI KULLANIMI

BİLGİSAYAR PROGRAMLAMA DERSİ

BIL222 Veri Yapıları ve Algoritmalar

Yardım talebi kullanım kitabı

3-

ATM PROJECT ŞİFRE YA DA HESAP NUMARANIZ HATALI GİRİLMİŞTİR! HAKKINIZ KALDI!

MUĞLA SITKI KOÇMAN ÜNİVERSİTESİ. ECTS Info Pack. ECTS Bilgi Paketi Çalışmaları. Bilgi İşlem Daire Başkanlığı YAZILIM-WEB GRUBU

Final Sınavı Örnek Soruları Güz 2018 Süre: 90 Dakika

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

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

BİLG Dr. Mustafa T. Babagil 1

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

Chronos Yönetim ekranları kullanım Kılavuzu

TÜRKİYE İLAÇ VE TIBBİ CİHAZ KURUMU (TİTCK) ELEKTRONİK BAŞVURU YÖNETİMİ (EBS) TALEP BİLDİRİM KULLANICI KILAVUZU

Kod Listeleri Genel Yapısı

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

Öğrenciler için Kablosuz İnternet Erişimi (Wi-Fi) Kullanım Kılavuzu

Akıllı Kod Desteği. Şekil 1

CAEeda TM NACA0012 OLUŞTURULAN DÖRTGENE ÇÖZÜMAĞI OLUŞTURMA EĞİTİM NOTU. EDA Tasarım Analiz Mühendislik

T.C. YILDIRIM BEYAZIT ÜNİVERSİTESİ SAĞLIK HİZMETLERİ MESLEK YÜKSEKOKULU STAJ DEFTERİ

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

Arasınav Örnek Soruları Bahar 2018

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

ÖĞRENME YÖNETİM SİSTEMİ (ÖYS) KULLANIM KILAVUZU

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

Telefon Rehberi Uygulaması

4447 Sayılı Kanunun Geçici 10.Maddesi Sigortalı Giriş Uygulaması Kullanım Kılavuzu

WINDOWS VE PARDUS İÇİN İMZAGER KURULUM TALİMATI

Balon & Banka Teslim tarihi: 17 Kasım 2008

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

E-UYGULAMALAR VE DOKÜMAN YÖNETİM SİSTEMİ PROJESİ (EUP) ELEKTRONİK UYGULAMALAR PROJESİ FİRMA KAYIT KILAVUZU

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

TAPU VE KADASTRO BİLGİ SİSTEMİ

ÖĞRENME PORTALI KULLANIM KILAVUZU. Uzaktan Eğitim Uygulama ve Araştırma Merkezi (MAUZEM)

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İ

Kargo Modülü. Diğer modüller ile entegre çalışan Kargo modülü ile satış irsaliyesifaturasıoluşturduktan

Data Structures Lab Güz

ÖĞRENCİ / KATILIMCI KULLANIM KILAVUZU

Bağlı Dosya Oluşturma Uygulaması

Örnek Arasınav Soruları Güz 2017

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

ALGORİTMA VE PROGRAMLAMA II

İÇİNDEKİLER. ERA Danışmanlık. Ataşehir Soyak Yolu Şehit Burak Kurtuluş Cad. Uğurlu Sok No 140/5 Ümraniye İSTANBUL TÜRKİYE

Q-Biz İş Zekası Versiyon Yenilikleri Ekim 2014

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

VET ON KULLANIM KLAVUZU

MERKEZİ SİCİL KAYIT SİSTEMİ (MERSİS) E-İMZA KULLANIMI VE AKTİVASYON İŞLEMLERİ İÇ TİCARET GENEL MÜDÜRLÜĞÜ

ML TFT 5 ARAYÜZ KULLANIM KILAVUZU

ALGORİTMA VE PROGRAMLAMA II

OUTLOOK 2010 İMZALI POSTA AYARLARI

Hizmet Alan İşyerleri İçin Sisteme Giriş Aşamaları:

Telefon Defteri Modülü Kullanım Kılavuzu

Üyeler Arası Hak Kullanım Kaynaklı Talep İşlemleri

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

MERSİS UYGULAMA KULLANICISI YARDIM REHBERİ KAYIT VE GİRİŞ İŞLEMLERİ GÜMRÜK VE TİCARET BAKANLIĞI MERSİS UYGULAMASI

ZEBEX 107X EL TERMİNALLERİNE FIRMWARE YÜKLEME

TOP 20. Bu kısım en çok dinlenen eserlerin günlük veya haftalık olarak değiştirilmesine olanak verir.

Başlangıç Ayarları.

BİLGİ TEKNOLOJİLERİ DİREKTÖRLÜĞÜ İHALE VE TEDARİK MODÜLÜ KULLANIM KLAVUZU

Adres sorgu ekranında harita üzerindeki katmanların listelendiği Katman Listesi ve bu katmanlara yakınlaşmak için Git düğmesi bulunmaktadır.

Başlat>Programlar>ABAQUS 6.6-1>ABAQUS CAE

T.C. ÇALIŞMA VE SOSYAL GÜVENLİK BAKANLIĞI İŞ EKİPMANLARI KONTROLÖR TAKİP YAZILIMI SON KULLANICI KILAVUZU

MONTAJ ÇİZİMİN ÖZELLİKLERİ VE GEREKLİ BİLGİLER.

NACA PROFİL AİLE GEOMETRİSİ HESAP PROGRAMI KULLANMA KILAVUZU

BAPSİS PROJE DEĞİŞİKLİK İŞLEMLERİ EKRANI

HR - İnsan Kaynakları Modülü Bordro Yönetimi - Bordro Çalıştırması

İşe Giriş/Çıkış Bildirgesi ve E-bildige nin Sgk Web Sitesine Aktarımında Yenilik. 1.1 Sgk Kullanıcı Adı ve Şifresinin Programda Tanımlanması

E-REÇETE KULLANICI DÖKÜMANI

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

ZKSOFTWARE THE ADVANCED BIOMETRIC SOLUTIONS. GENEL OLARAK KART KAYDI ve ŞİFRE KAYDI

Dr. Fatih AY Tel: fatihay@fatihay.net

YZM 2116 Veri Yapıları

Transkript:

qwertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwert yuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopa BLG 221 sdfghjklzxcvbnmqwertyuiopasdf Veri yapıları ghjklzxcvbnmqwertyuiopasdfghj 04.01.2012 MEHMET ALİ SARIKAYA klzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcv bnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwe rtyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjk

Ödev Tanımı İkili sıralama ağacı kullanılarak gerçekleştirilecek bu ödevde öncelikle öğrenci numara, ad ve soyadlarını farklı sırada içeren üç farklı dosyadan öğrenci bilgileri okunup üç farklı ağaç oluşturulmuş ve kullanıcının isteğine göre ilgili ağaçta ilgili işlemler gerçekleştirilecek şekilde program tasarlanmıştır. Ve ilerleyen bölümlerde yer alan fonksiyonlar ve işlevleri gerçekleştirilmiştir. Ayrıca ilk derinlik öncelikli arama(depth-first search) ve ilk genişlik öncelikli arama(breath-first search) algoritmalarının performansları listenin başı ortası ve sonu için test edilmiş ve aşağıdaki sonuçlar elde edilmiştir. Ağaçların performansları Öğrenci Numarası depth-first search breath-first search Karşılaştırma sayısı Karşılaştırma sayısı Data1.txt Data2.txt Data3.txt Data1.txt Data2.txt Data3.txt 1001064 1 68 4 1 68 7 1001065 2 67 3 2 67 4 1001066 3 66 7 3 66 17 1003007 34 35 36 34 35 34 1003008 35 34 35 35 34 22 1003039 66 3 1 66 3 1 1003040 67 2 67 67 2 3 1003041 68 1 68 68 1 6 Ortalama 34.5 34.5 27.625 34.5 34.5 11.75 Yukarıdaki tabloya göre şunu belirtmeliyiz ki data1 sadece sağa doğru uzayan bir ağaç, data2 sadece sola doğru uzayan bir ağaç ve data3 ise karma bir ikili ağaç olduğu için sıralama açısından uzak değerler data1 ve 2 de daha yavaş bulunurken data3 için bu işlem biraz daha kısa sürmekte. Özellikle de breath-first search için data3 ortalama olarak gayet iyi bir performans göstermektedir. Ödevde kullanılan yapılar Copyrighted 2011 by SARIKAYA Sayfa 1

Öğrencilerin bilgilerini tutmak için kullanılan struct aşağıdaki gibidir. Dosya işlemleri ve diğer işlemleri gerçekleştirmek için kullandığım struct aşağıdaki gibidir. Kuyruk ve yığın yapısı oluşturmak için kullandığım struct aşağıdaki gibidir. Kuyruk yapısı fonksiyonları için kullandığım struct aşağıdaki gibidir. Copyrighted 2011 by SARIKAYA Sayfa 2

Yığın yapısı fonksiyonları için kullandığım struct aşağıdaki gibidir. Ödevde Kullanılan Fonksiyonlar Ödevde kullandığım fonksiyon prototipleri aşağıdaki gibidir. Fonksiyonların ayrıntıları void menu_yazdir(): Kullanıcıya menü ekranı gösterilir ve seçenekler sunulur. Copyrighted 2011 by SARIKAYA Sayfa 3

bool islem_yap(char): Kullanıcının seçimine göre ilgili fonksiyon çağrılır. Copyrighted 2011 by SARIKAYA Sayfa 4

void listekur(): Girdi dosyalarının okunarak, ağaç yapısının oluşturulduğu fonksiyondur. void ogrencisil(): Öğrenci numarasını kullanıcıdan alarak, istenen silme işlemini gerçekleştirir. void inordertara():agac yapisini sirali(inorder) olarak. void preordertara():agac yapisini kokten baslayarak (preorder) olarak listeler. Copyrighted 2011 by SARIKAYA Sayfa 5

void postordertara():listeler Agac yapisini kokten baslayarak (preorder) olarak listeler. void ilkderinlikara():ogrenci numarasini kullanicidan alarak, agac uzerinde ilk derinlik oncelikli arama(depth-first search) islemi yapar. Bulundugu takdirde ogrenci numarasina ait isim ve soy isim bilgilerini, aksi takdirde bulunamadigi bilgisini doner. Copyrighted 2011 by SARIKAYA Sayfa 6

void ilkgenislikara():ogrenci numarasini kullanicidan alarak, agac uzerinde ilk genislik oncelikli arama(breath-first search) islemi yapar. Bulundugu takdirde ogrenci numarasina ait isim ve soy isim bilgilerini, aksi takdirde bulunamadigi bilgisini doner. void dosyayayaz(): Çıktı dosyasının oluşturulduğu fonksiyondur. Oluşturulan ağaç yapısı çıktı dosyasına yazdırılır. Copyrighted 2011 by SARIKAYA Sayfa 7

Dosya yapısının fonksiyonlarının ayrıntıları void Dosya::EnineAra(int sayac,string aranacak,ogrenci *kok) : Copyrighted 2011 by SARIKAYA Sayfa 8

void Dosya::DerineAra(int sayac,string aranacak,ogrenci *kok) : Copyrighted 2011 by SARIKAYA Sayfa 9

void Dosya::ekle(ogrenci *eklenecek,int data) : void Dosya::InorderYazdir(ogrenci *kok) : void Dosya::PreorderYazdir(ogrenci *kok): Copyrighted 2011 by SARIKAYA Sayfa 10

void Dosya::PostorderYazdir(ogrenci *kok): void Dosya::sil(string no,ogrenci **kok) : Copyrighted 2011 by SARIKAYA Sayfa 11

void Dosya::sil(ogrenci **p): Derleme Ortamları ve Örnek Çıktılar Programı Ubuntu 11.04 te NetBeans 7.0.1 Ide ortamında geliştirdim, derledim ve çalıştırdım. Ayrıca Byobu terminal ile derlenip çalıştırılmış ve herhangi bir hata ile karşılaşılmamıştır. Copyrighted 2011 by SARIKAYA Sayfa 12

NetBeans örnek çıktısı Copyrighted 2011 by SARIKAYA Sayfa 13

Byobu Terminal örnek çıktısı Neler öğrendik??? Ağaç, Kuyruk ve Yığın veri yapısı kullanmayı, ilk genişlik öncelikli arama(breath-first search) ve ilk derinlik öncelikli arama(depth-first search) algoritmalarını ve bunların hangi durumlarda daha iyi performans sergilediğini öğrendik. Bakalım bu hayat bize daha neler öğretecek Copyrighted 2011 by SARIKAYA Sayfa 14