17 Nisan Persembe, 2014 SURE: 1 saat KOCAELİ

Numara
Adı, Soyadı
İmza
17 Nisan Persembe, 2014
: (5p)
: (5p)
:
SURE: 1 saat
Her soru *10 puan* Başarılar!
KOCAELİ ÜNİVERSİTESİ - Bilgisayar Mühendisliği Bölümü
Algoritma Çözümleme Dersi (BLM 320) - Vize Sınavı
Soru 1: Karar ve optimizasyon problemlerinin farkını birer örnek vererek açıklayınız.
Soru 2: n zamanda sıralama yapabilmesi için counting-sort’un hangi şartları sağlaması beklenir? Counting sort ile
radix sortun ilişkisini bir-iki cümle ile açıklayınız?
Soru 3: Insertion ve merge sortun performansını aynı makinede karşılaştırıyor olduğunuzu düşünün. n boyutlu dizi
için insertion sort 8n2 adımda çalışıyor, merge sort ise 64n lg n adımda çalışıyor. n’in hangi değeri için insertion sort
merge sortu yener? Hesaplayınız.
Soru 4: n elemanlı bir dizinin binary tree (ikili agaç) gösteriminde, ağacın yüksekliği en az kaç, en çok kaç olabilir?
Cevabınızı n cinsinden yazınız.
Soru 5: Aşağıdaki kodu dikkatle inceleyiniz.
for i=1 to n do
for j=i to 3*i+1 do
Output ‘BJK’
T(n): n’in bir fonksiyonu olarak “BJK” ‘nın kaç kere basıldığını hesaplar. Buna göre:
a) T(n)’i toplam formülü (Ʃ) olarak yazınız b) bu denklemi çözerek BJK nın kaç kere basıldığını bulunuz.
Soru 6: n elemanlı sırasız bir dizinin medyan elemanını bumak için tanımlayacagınız algoritmanın pesudokodunu
yazıp alacağı zamanı cözerek açıklayınız.
Soru 7: Durma noktaları olarak T(0)=1, T(1)=2 verilsin. Tn = 3T(n-1) + 4T(n-2) denklemini çözünüz?
Soru 8: Aşağıdaki şekilde bir algoritmamızın var olduğunu düşünelim
1. Algortima dosyayı boyut olarak eşit 3 parçaya ve ayrıca boyutu 1 olan 2 parcaya daha bölüyor. Yani toplamda
dosyayi 5 parcaya boluyor.
2. Algoritma, n elemanlı bir dosyayı bölmek için an+b zaman harcıyor.
3. Boyutu 1 den büyük olan parçaları da recursive olarak aynı mantıkta cözmeye devam ediyor.
Recursive algoritmanın denklemini yazınız. T(n)= ?
Soru 9: Aşağıdaki recursive yapıyı ağaç gösterimi ile çözünüz.
Tn = 3T(n/3)+Ѳ(n).
Sınav sonunda sınav kağıdını ve hatırlatma kağıdını (isminiz yazılı olarak) *Katlamadan* teslim ediniz.