YZM 3207- Algoritma Analizi ve Tasarım Arasınav Soruları

8
Sayfa#1 YZM 3207--- Algoritma Analizi ve Tasarım Dersi Arasınav Soruları (Güz 2017) Süre: 75 Dakika Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 3207- Algoritma Analizi ve Tasarım Arasınav Soruları Güz 2017 Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu İmza Tarih 23.11.2017 Not /100 Soru#1 (20 puan) Algoritma GE(A[0..n-1, 0..n]) //Girdi: n(n+1) gerçek sayılardan oluşan A[0..n-1,0..n] matrisi for i0 to n-2 do for ji+1 to n-1 do for ki to n do A[j,k]A[j,k]-A[i,k]*A[j,i]/A[i,i] return A a) Yukarıda sözde kodu verilen algoritmanın etkinlik sınıfını belirleyiniz (Temel işlem gerçekleşme sayısı toplam formülü ile temsil edilip çözülmelidir!). b) Yukarıda belirtilen sözde kodda etkinliği düşüren bir nokta bularak nasıl düzeltilebileceğini sözel olarak ifade ediniz.

Transcript of YZM 3207- Algoritma Analizi ve Tasarım Arasınav Soruları

Page 1: YZM 3207- Algoritma Analizi ve Tasarım Arasınav Soruları

Sayfa#1

YZM 3207--- Algoritma Analizi ve Tasarım Dersi Arasınav Soruları (Güz 2017)

Süre: 75 Dakika

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü

YZM 3207- Algoritma Analizi ve Tasarım

Arasınav Soruları Güz 2017

Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası

Grubu İmza

Tarih 23.11.2017 Not /100

Soru#1 (20 puan)

Algoritma GE(A[0..n-1, 0..n])

//Girdi: n(n+1) gerçek sayılardan oluşan A[0..n-1,0..n] matrisi

for i0 to n-2 do

for ji+1 to n-1 do

for ki to n do

A[j,k]A[j,k]-A[i,k]*A[j,i]/A[i,i]

return A

a) Yukarıda sözde kodu verilen algoritmanın etkinlik sınıfını belirleyiniz (Temel işlem gerçekleşme sayısı toplam formülü ile temsil edilip çözülmelidir!).

b) Yukarıda belirtilen sözde kodda etkinliği düşüren bir nokta bularak nasıl düzeltilebileceğini sözel olarak ifade ediniz.

Page 2: YZM 3207- Algoritma Analizi ve Tasarım Arasınav Soruları

Sayfa#2

YZM 3207--- Algoritma Analizi ve Tasarım Dersi Arasınav Soruları (Güz 2017)

Soru#2 (20 puan)

𝑆(𝑛) = 𝑆(𝑛 − 1) + 4𝑛, 𝑛 > 0 𝑣𝑒 𝑆(0) = 1 𝑖ç𝑖𝑛. Yukarıda verilen özyineleme bağıntısını geriye doğru yerine koyma (backward substitution) yöntemi kullanarak çözünüz.

Page 3: YZM 3207- Algoritma Analizi ve Tasarım Arasınav Soruları

Sayfa#3

YZM 3207--- Algoritma Analizi ve Tasarım Dersi Arasınav Soruları (Güz 2017)

Soru#3 (10 puan)

Yukarıda verilen çizge için, bir azaltma (kaynak kaldırma algoritması) uygulayarak topolojik sıralama problemi çözümünü bulunuz.

A1, A2, A3, A4, A5

Page 4: YZM 3207- Algoritma Analizi ve Tasarım Arasınav Soruları

Sayfa#4

YZM 3207--- Algoritma Analizi ve Tasarım Dersi Arasınav Soruları (Güz 2017)

Soru#4 (30 puan)

A[1..n] n tane farklı sayı içeren bir diziyi temsil etmektedir. Eğer ij ve A[i] A[j] ise, (i, j) çifti, A dizisinin evirmesi (inversion) olarak tanımlanmaktadır. Seçeneklerdeki soruları, bu bilgiye dayalı olarak yanıtlayınız: a) (2, 3, 8, 6, 1) elemanlarından oluşan bir dizideki beş tane “evirmeyi” bulunuz. Evirmeleri belirtmek için karşılık gelen dizi indislerini yazınız.

//İndis yerine doğrudan değerleri yazılması da kabul edilmiştir. b) {1, 2, …, n} elemanlarından oluşan, maksimum sayıda “evirme” içeren bir dizi örneği veriniz. Verdiğiniz dizi örneğinde toplam kaç tane evirme olduğunu belirtiniz.

Page 5: YZM 3207- Algoritma Analizi ve Tasarım Arasınav Soruları

Sayfa#5

YZM 3207--- Algoritma Analizi ve Tasarım Dersi Arasınav Soruları (Güz 2017)

c) n eleman içeren herhangi bir permütasyondaki “evirme” sayısını belirlemek üzere O(nlgn) etkinlik sınıfına sahip bir algoritma tasarlayınız.

Page 6: YZM 3207- Algoritma Analizi ve Tasarım Arasınav Soruları

Sayfa#6

YZM 3207--- Algoritma Analizi ve Tasarım Dersi Arasınav Soruları (Güz 2017)

//Bu soruda, “MERGE-INVERSIONS” kısmının bu şekilde çağrılıp yukarıdaki “COUNT-INVERSION” benzeri bir yapının kurulması tam puan almak için yeterlidir.

Page 7: YZM 3207- Algoritma Analizi ve Tasarım Arasınav Soruları

Sayfa#7

YZM 3207--- Algoritma Analizi ve Tasarım Dersi Arasınav Soruları (Güz 2017)

Page 8: YZM 3207- Algoritma Analizi ve Tasarım Arasınav Soruları

Sayfa#8

YZM 3207--- Algoritma Analizi ve Tasarım Dersi Arasınav Soruları (Güz 2017)

Soru#5 (20 puan) Sahte bozuk para problemi: Elimizde n tane aynı görünüme sahip bozuk para var. Bu bozuk paralardan bir tanesi sahte, diğerleri ise gerçektir. Gerçek olanların ağırlığı, sahte olan bozuk paranın ağırlığından daha fazladır. Herhangi bir tartı aracılığıyla sahte olan bozuk paranın belirlenmesi amaçlanıyor. a) Sahte bozuk para problemini çözmek üzere, azalt ve fethet yaklaşımına dayalı (sabit oranla azaltma, azaltma oranı:3 için) bir algoritma tasarlayıp sözde kodunu yazınız. Geliştirdiğiniz algoritmanın yalnızca üçün katlarında değil, herhangi bir n değeri için düzgün çalışması gerekmektedir.

b) Geliştirdiğiniz algoritmanın ağırlık ölçüm sayısına ilişkin bir özyineleme bağıntısı oluşturup (n=3k için) çözünüz.

// Master teoremi uygulanarak, yaklaşık değer üzerinden gidilmesi de kabul edilmiştir.