Programlama Ve Algoritmalar Final 8. Deneme Sınavı
Toplam 10 Soru1.Soru
Şimdiye kadar bahsedilen sıralama algoritmalarından farklı olarak böl ve yönet yöntemini kullanarak sıralama işlemini gerçekleştiren ve içerisinden pivot eleman seçilmesiyle oluşan sıralama aşağıdakilerden hangisidir?
Baloncuk sıralaması |
Seçmeli sıralama |
Araya sokarak sıralama |
Hızlı sıralama |
Birleştirerek sıralama |
Hızlı sıralama dizisi içerisinden bir pivot eleman seçilmesiyle başlar.
2.Soru
Elemanları [2 65 11 23 -3 4 0 9 7] olan bir dizide ardışık arama yöntemiyle önce -3 daha sonra 0 aranmaktadır. Bu işlemler için toplamda kaç karşılaştırma yapmak gerekir?
void ardisik_arama(int dizi[], int boyut, int aranan) { int i; for (i = boyut; i > 0; i--) { if (dizi[i-1] == aranan) { printf("%d sayisi, dizinin %d. konumundadir.\n”, aranan, i); break; } if (i == 0) printf("%d sayısı dizide bulunamadi.\n", aranan); } } |
5 |
7 |
8 |
12 |
20 |
Algoritma incelendiğinde aramanın dizinin son elemanından ilk elemanına doğru yapıldığı anlaşılır. -3 dizinin sondan 5. elemanı ve 0 dizinin sondan 3. elemanı olduğundan 5+3 = 8 karşılaştırma yapmak gerekir.
3.Soru
Dizinin elemanlarının kendilerinden önce gelen elemanlarla karşılaştırılması ve gerektiğinde birbirleriyle yer değiştirmeleri prensibine dayanan algoritma çeşidi hangisidir?
Araya sokarak sıralama algoritması |
Baloncuk sıralaması |
Hızlı sıralama |
Seçmeli sıralama |
Birleştirerek sıralama |
Dizinin elemanlarının kendilerinden önce gelen elemanlarla karşılaştırılması ve gerektiğinde birbirleriyle yer değiştirmeleri prensibine dayanan algoritma çeşidi araya sokarak sıralama algoritmasıdır.
4.Soru
1 3 4 5 6 7 8 sıralı dizisinde ikili arama algoritmasıyla 6 rakamı kaçıncı karşılaştırmada bulunur?
2 |
1 |
3 |
4 |
Bulunamaz |
Ilk karşılaştırmada 5 bulunur 5’in sağ tarafından devam edilir 7 bulunur 7’nin sol tarafında 6 değerine ulaşılır.
5.Soru
Algoritma analizi yaparken hangi durumun analizinden faydalanılmaz?
Sıralı for döngüsü |
for döngüsü |
İç içe for döngüsü |
İki tane arka arkaya for döngüsü |
If/else deyimi |
Algoritma analizi yapılırken ‘for’ döngüsü, iç içe ‘for’ döngüsü, iki tane arka arkaya ‘for’ döngüsü ve if/else deyimi olmak üzere dört durumun analizinden yararlanılır.
6.Soru
“Bir işin nasıl yapılacağını tarif eden adımlar kümesidir.” Bu ifade aşağıdaki seçeneklerden hangisinin tanımıdır?
Değişken |
Döngü |
Algoritma |
Fonksiyon |
Derleme |
Değişken, döngü, fonksiyon derleme gibi ifadeler algoritmayı koda dönüştürürken kullanılan yapılardır. Bir işin nasıl yapılacağını tarif eden adımlar kümesi algoritmadır.
7.Soru
Bir veri kümesi içerisinde en küçük elemanın hızlıca bulunmasını sağlayan veri yapısı aşağıdakilerden hangisidir?
Ağaç |
Yığın ağaçları |
Kök |
Dal |
Yol |
Bir veri kümesi içerisinde en küçük elemanın hızlıca bulunmasını sağlayan veri yapısı yığın ağaçlarıdır.
8.Soru
“Tasarlanan algoritma ile problemin
çözümüne ulaşabilmek için yapılan toplam temel operasyon sayısıdır” ifadesi aşağıdakilerden hangisine karşılık gelmektedir.
Asimptotik gösterim |
Alan karmaşıklığı |
Özyineleme fonksiyonu |
Zaman karmaşıklığı |
Çalışma zamanı |
Çalışma zamanı tasarlanan algoritma ile problemin çözümüne ulaşabilmek için yapılan toplam temel operasyon sayısıdır.
9.Soru
Algoritmaların analizini yaparken aşağıda verilenlerden hangisinin analizinden faydalanılamaz?
for Döngüsü |
Art arda if ve for döngüsü |
İç içe for Döngüsü |
İki tane arka arkaya for döngüsü |
if/else deyimi |
Algoritmaların analizini yaparken aşağıda verilen dört durumun analizinden faydalanılabilir:
for döngüsü
İç içe for döngüsü
İki tane arka arkaya for döngüsü
if/else deyimi
Bu bilgilerden de anlaşıldığı gibi, algoritmaların analizini yaparken art arda if ve for döngüsü analizinden faydalanılmaz dolayısıyla doğru cevap B’dir.
10.Soru
Elemanları [1 3 4 5 6 7 8] olan dizi üzerinde ikili arama algoritmasıyla 6 rakamı kaçıncı karşılaştırmada bulunur?
2 |
1 |
3 |
4 |
Bulunamaz |
İkili arama, sıralı diziler üzerinde arama yapmak için kullanılan bir algoritmadır. Üzerinde arama yapılacak olan dizi sıralı durumda değilse, bu algoritmanın doğru çalışabilmesi için öncelikle dizinin sıralı hale getirilmesi gerekir. İkili arama algoritması çalışmaya başladığında, ilk olarak dizinin ilk ve son elemanlarının konumları tespit edilir. Bu bilgilerden faydalanılarak orta elemanın konumu hesaplanır. Daha sonra, aranan eleman dizinin orta elemanıyla karşılaştırılır ve ikisinin eşit olup olmadığına bakılır. Aranan eleman orta elemana eşit ise arama başarılı bir şekilde sonlandırılır. Aksi takdirde, aranan elemanın dizinin orta elemanından küçük veya büyük olma durumu incelenir. Aranan eleman orta elemandan büyük ise, aramaya orta eleman ile son eleman arasındaki dizi elemanları ile devam edilir. Tam tersi durum söz konusu ise, aramaya ilk eleman ile dizinin orta elemanı arasındaki dizi elemanları ile devam edilir. Bu işlem her tekrar edildiğinde ilk, orta veya son
elemanların konumlarının değişmesi söz konusu olabilir. Soruda verilen dizi sıralıdır. Ilk karşılaştırmada 5 bulunur 5’in sağ tarafından devam edilir 7 bulunur 7’nin sol tarafında 6 değerine ulaşılır.