YMT219 VERİ YAPILARI ÖDEV-1

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

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

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliğ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İ

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

D İ Z İ L E R A R R A Y S

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

Sınav Dağılım & IMKB Endeks

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

BAĞLAÇLI LİSTELER LINKED LISTS

BAĞLAÇLI LİSTELER LINKED LISTS

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

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

Arasınav Örnek Soruları Bahar 2018

Alıştırma 1: Yineleme

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

Soru 1: Fahrenheit cinsinden verilen sıcaklığı Kelvin'e çeviren bir program yazınız. Aşağıdaki dönüşüm formülünü kullanabilirsiniz:

YZM 2116 Veri Yapıları

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Final Sınavı Örnek Soruları Bahar 2018

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

1. Her marka için 3 aylık satış toplamı nedir? (Tablodaki satır toplamları)

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

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

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

SIRALAMA SORTING. Yrd. Doç. Dr. Aybars UĞUR

Veri Yapıları ve Algoritmalar dönem

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

VERİ YAPILARI DERS NOTLARI BÖLÜM 5 QUEUE (KUYRUK) Yard. Doç. Dr. Deniz KILINÇ

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

BPR152-Algoritma ve Programlama II Uygulama -13

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.

YZM 2116 Veri Yapıları

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

KUYRUKLAR. Doç. Dr. Aybars UĞUR

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

JAVADA DİZİ İŞLEMLERİ

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Java String İşlemleri

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 9. UYGULAMA

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.

Örnek 1: Programı yazın ve çalıştırın.

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

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

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

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

Merge Sort Bireşen Sıralama

7. HAFTA. Erişim Belirleyiciler

Class LinkedList java.lang.object java.util.abstractcollection java.util.abstractlist java.util.abstractsequentiallist java.util.

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

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

Dizi ( Array ) ve Dizgi ( String )

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ

Lambda İfadeleri (Lambda Expressions)

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

YIĞIT STACK. Yrd. Doç. Dr. Aybars UĞUR

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

C# Çalışma Örnekleri

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

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Doç. Dr. Aybars UĞUR

Nesne İşaretçileri. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. Sınıf Yapısı. Kalıtım Çok Şekillilik

Yrd. Doç. Dr. Caner ÖZCAN

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Prof. Dr. Aybars UĞUR

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

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

Klavyeden girilen metnin karakter uzunluğu bulan C programı. Klavyeden girilen metin içerisindeki küçük ve büyük harf sayısını bulan C programı

ArrayList Uygulamaları

İ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 Soruları Bahar 2018

YZM 2116 Veri Yapıları

Dr. Fatih AY Tel: fatihay@fatihay.net

YZM 2116 Veri Yapıları

3.Hafta. . Kontrol Deyimleri/İfadeler

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

Python ile Programlamaya Giriş DERS 9: FONKSİYONLAR DR. HÜSEYİN BAHTİYAR

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

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

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

MAT213 Bilgisayar Programlama I

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

Görsel Programlama 1

Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu

Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

YZM 2116 Veri Yapıları

11- FONKSİYONLAR (FUNCTIONS)

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Standard Template Library

BİL132 Bilgisayar Programlama II

YZM 2116 Veri Yapıları

C++ ile Nesneye Dayalı Programlama

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

YZM 2116 Veri Yapıları

Transkript:

YMT219 VERİ YAPILARI ÖDEV-1 1. İkiliBul yordamı aşağıda verilmiştir. İkiliBul yordamı A dizisi içerisinde 2 tane eşit sayı bulursa true bulamazsa false döndürmektedir. public boolean ikilibul(int[] A){ for(int i=0; i<a.length; i++) for(int j=i+1; j<a.length; j++) if(a[i] == A[j]) return true; (a) (b) (c) return false; Bu fonksiyonun toplam yürütme zamanını bulunuz. (A.length = n) (Karmaşıklık istenmediğine dikkat edin.) Bu fonksiyonun zaman karmaşıklığını bulunuz. O(?) 100 elemanlı bir dizi için çalışma zamanı 10 saniye ise 400 elemanlı bir dizi için çalışma zamanı ne kadar olur? 2. Verilen bağlantılı listeyi tersine çeviren yordamı yazınız. Aşağıdaki algoritmayı kullanınız. Yığın sınıfını oluşturun, daha sonra listedeki elemanları yığına koyun bittiğinde yığındaki elemanları listeye koyun. Yığın ve Bağlantılı Liste sınıflarının gerçekleştiriminin olduğu düşünülecektir(yığın ve Bağlantılı Liste yordamlarını direk çağırabilirsiniz). 3. Verilen dizindeki tüm dosyaların(dizin veya dosya) kaç tane olduğunu bulan ve geri döndüren yordamı yazınız. Bulunan sayı altdizinleri de kapsayacak şekilde olmalıdır. Bu soruda dosya ve dizin sayısını belirlemek için File sınıfını kullanabilirsiniz. Aşağıda yordam prototipi verilmiştir. File sınıfı aşağıdaki kullanışlı yordamlara sahiptir: File[] listfiles(); //Dizindeki tüm dosyaları listeler. //Bu yordamın File türünden bir dizi //döndürdüğüne dikkat edin. // Eğer d dosya ise return 0 // Eğer d dizin ise return 1 + her bir dizindeki dosya sayısı public static int DosyaSay(File d) { Fırat Üniveristesi Yazılım Mühendisliği YMT219 Veri Yapıları Ödev-1 1

4. Aşağıdaki her bir kod parçası için kodun yürütme zamanını ve zaman karmaşıklığını (Büyük-O Notasyonuna göre) n cinsinden veriniz. a) for(i=n; i>=1; i=i-1){ for(j=1; j<=i; j=j+1){ printf(" "); b) for(i=5; i<=n; i=2*i){ print(" "); for(i=5; i<=5*n; i=i+1){ printf(" "); 5. İçerisinde N tane farklı sayı bulunduran(negatif veya pozitif) A sıralı dizisinde ve şartlarını sağlayan en küçük i indisini bulan ve geri döndüren yordamı yazınız. Programınız çalışma zamanını Büyük-O (Big-O) notasyonuna göre veriniz. Not: Bu programı farklı algoritmalar ile yapabilirsiniz. Eğer algoritmanızın çalışma zamanı O(logn) ise 2 kat puan kazanacaksınız. 6. 8,1,6,3,6,7 sayıları Kabarcık, Seçmeli ve Eklemeli sıralama ile küçükten büyüğe sıralanması isteniyor. Her bir sıralama algoritması için sıralama işlemini adım adım 7. Boş bir listeye aşağıdaki işlemler yapılıyor. Her bir işlemden sonraki listenin durumunu Liste.add(5); Liste.add(4); Liste.add(1,7); Liste.add(0,9); Liste.remove(2); Liste.remove(0); Liste.add(2,2); Liste.clear(); Liste.add(0,2); Fırat Üniveristesi Yazılım Mühendisliği YMT219 Veri Yapıları Ödev-1 2

8. Kuyruk gerçekleştirimini 5 kapasiteli bir dizi üzerinde yaptığımızı varsayalım. Aşağıdaki her bir işlem için dizinin o anki durumunu, ön ve arka değişkenlerinin aldığı değerleri Kuyruk.ekle(1); Kuyruk.ekle(23); Kuyruk.ekle(11); Kuyruk.ekle(22); Kuyruk.ekle(33); Kuyruk.ekle(13); 9. Aşağıdaki programın çıktısını yazınız. public static void main(string[] args){ Yigin y = new Yigin(); if (y.bosmu()) System.out.println( Yığın boş ); y.koy(12); y.koy(22); y.koy(44); System.out.println( Yığının ilk elemanı: + y.ust()); y.koy(22); System.out.println( Yığının ilk elemanı: + y.ust()); if (y.bosmu()) System.out.println( Yığın boş ); Fırat Üniveristesi Yazılım Mühendisliği YMT219 Veri Yapıları Ödev-1 3

10. Bağlantılı liste gerçekleştirimi için kullanılan Dugum ve BaglantiliListe sınıflarının gerçekleştirimi verilmiştir. // Dugum sınıfı aşağıda verilmiştir. public class Dugum { public int veri; public Dugum sonraki; // BaglantiliListe sınıfının bir kısmı public class BaglantiliListe { private Dugum bas; private Dugum son; private int elemansayisi; public baglantililiste() { bas = son = null; elemansayisi = 0; public void add(int poz, int e){... public void remove(int poz){... public int indexof(int e){... public boolean isempty(){... public int first(){... public int last(){... public int get(int poz){... public int size(){... Aşağıda listelenen yordamların kodunu yazınız. /** Bu yordam verilen elemanın listede olup olmadığını kontrol eder. Eğer varsa true yoksa false döndürür. */ public boolean contains(int element) /** Bu yordam verilen indisteki elemanı verilen değer ile değiştirir. Değiştirilen elemanı geri döndürür. indis: Değiştirilmek istenen elemanın indisi eleman: Değiştirilecek elemanın yeni değeri return: Eski değer */ public int set(int indis, int element) Fırat Üniveristesi Yazılım Mühendisliği YMT219 Veri Yapıları Ödev-1 4

Ödevlerinizi Word dokümanı şeklinde hazırlayıp 11 Aralık Pazar günü saat 23:59 a kadar varol.asaf@gmail.com adresine YMT219_odev1 konusu ile gönderiniz. Not: Ödevlerinizi gönderirken gmail hesaplarınızı kullanınız. Fırat Üniveristesi Yazılım Mühendisliği YMT219 Veri Yapıları Ödev-1 5