Programlama Ve Algoritmalar Final 6. Deneme Sınavı
Toplam 20 Soru1.Soru
Baloncuk algoritmasının zaman karmaşıklığı değeri nedir?
O(log(n)) |
O(n2) |
O(n) |
n.O(log(n) |
O(n3) |
Zaman karmaşıklığı algoritmada doğrudan döngülerle ilintilidir. Baloncuk algoritmasında dış döngü 1’den başlayıp n’e kadar giderken iç döngü sırasıyla 1, 2 , 3, …n işlem yapmakta. Sonuçta toplam işlem sayısı : 1+ 2+ 3+ … n-1 olmakta. Matematik geçmişimizi hatırlarsak bu toplam (n-1) * n / 2 ye denk gelmektedir. Yani n2/2 + n/2 işlem gerekmektedir. Sonuçta n2 belirleyici olacağından karmaşıklık O(n2) olacaktır.
2.Soru
Aynı tipteki verilerin tek bir değişken altında tutulmasını sağlayan veri yapısı aşağıdakilerden hangisi ile isimlendirilmektedir?
Değişken |
Dizi |
Bağlı liste |
Kuyruk |
Yığın |
Dizi (array), aynı tipteki verilerin tek bir değişken altında tutulmasını sağlayan veri yapısıdır. Sabit bir değere sahip olan dizinin uzunluğu, dizi oluşturulurken belirlenir. Bir dizide bulunan verilerin her biri, o dizinin bir elemanı olarak adlandırılır.
3.Soru
Aşağıdakilerden hangisi algoritma tasarım tekniklerinden biridir?
Döngü Algoritmaları |
Tekrarlama Algoritmaları |
Küçült-Fethet Yöntemi |
Bölme Yöntemi |
Sabit fonksiyon algoritmaları |
Küçült-fethet yöntemlerden biridir.
4.Soru
I. En uzak mesafeyi tespit etmek için kullanılır.
II. Kenarların ağırlık değeri sıfır ya da sıfırdan büyük olmalıdır.
III. Bir düğümden başka bir düğüme geçerken mevcut durumun en iyi çözümünü seçer.
Dijkstra algoritması ile ilgili olarak yukarıdaki ifadelerden hangisi veya hangileri doğrudur?
I, |
III |
I, III |
II, III |
I, II, III |
Dijkstra algoritmasında kenarların ağırlık değeri sıfır veya sıfırdan büyük olmalıdır.
Diğer yandan düğümler arası geçişlerde en iyi çözümü sunan bu algoritma en kısa mesafeyi tespit etmek için kullanılmaktadır.
5.Soru
Bağlı listeler ile ilgili aşağıdaki ifadelerden hangisi yanlıştır?
Bağlı listenin bir elemanına erişmek için o elemanın listede aranması ve bulunması gerekir |
Aynı türden nesnelerin doğrusal bir sırada ve birbirlerine bağlı şekilde saklandığı veri yapısıdır |
Bağlı listeleri oluşturan düğümlerin ilk kısımları bir sonraki düğümün bilgisayar hafızasındaki yerini gösterir |
Bağlı listedeki nesnelere düğüm adı verilir |
Bağlı listede her bir nesnenin göstericisi için, bilgisayar hafızasında yer ayrılması gerekir |
Bağlı listeleri oluşturan düğümler genellikle iki kısımdan oluşur ve ilk kısım o düğümdeki verinin saklandığı yerdir.
6.Soru
Aşağıdaki sıralama algoritmalarından hangisinde sıralama işleminin yapılması için dizi, tek elemanlı hale gelene kadar ikiye ayrılır ve daha sonra, geçici diziler kullanılarak bu elemanlar sıralı olacak şekilde bir araya getirilirler?
Baloncuk sıralaması |
Seçmeli sıralama |
Araya sokarak sıralama |
Hızlı sıralama |
Birleştirerek sıralama |
Birleştirerek sıralama, hızlı sıralama algoritması gibi özyinelemeli bir algoritmadır. Dizi, ilk olarak orta noktadan ikiye ayrılır ve bu iki dizi kendi içinde sıralanır. Hızlı sıralamadan farklı olarak dizi içerisindeki bu iki grup oluşturulurken herhangi bir sayıdan küçük veya büyük şeklinde bir ayrıma gidilmez. Sıralama işleminin yapılması için dizi, tek elemanlı hale gelene kadar ikiye ayrılır. Daha sonra, geçici diziler kullanılarak bu elemanlar sıralı olacak şekilde bir araya getirilirler.
7.Soru
Kenar bağlantılarının yönleri temsil eden oklar ile gösterilmediği çift yönlü olan çizge aşağıdakilerden hangisidir?
Yönlü çizge |
Yönsüz çizge |
Tam çizge |
Eksik çizge |
Orta çizge |
Yönsüz çizge, kenar bağlantılarının yönleri temsil eden oklar ile gösterilmediği çift yönlü olan çizgedir. Çizge içerisindeki birbirine bağlı iki düğüm noktası arasında her iki yönde de ilerlenebilmesi mümkündür. Bir anlamda, düğümler arasındaki bağlantıların simetrik olduğu söylenebilir.
8.Soru
Elemanları [31,20,15,10,7] olan bir dizi hızlı sıralama algoritması ile küçükten büyüğe doğru sıralanacaktır.15 sayısı pivot eleman olarak seçilmiştir. Hızlı sıralama içerisindeki bölümleme algoritması 1 defa çalıştırılıp tamamladıktan sonra dizinin son durumu aşağıdaki seçeneklerden hangisinde doğru olarak verilmiştir?
[20,31,15,10,7] |
[20,10,15,7,31] |
[10,7,15,31,20] |
[10,7,15,20,31] |
[7,10,15,20,31] |
Hızlı sıralama algoritmasında pivot sayısından küçük olan elemanlar, bağımsız olarak pivot sayısının sol tarafında küçükten büyüğe sıralanır, pivot sayısından büyük olan elemanlar ise pivot elemanının sağında olan elemanlar, bağımsız olarak küçükten büyüğe sıralanır.
9.Soru
Küçükten büyüğe doğru sıralama yapılacağı zaman adım adım dizilerin içerisindeki en küçük elemanların bulunmasına ve bu elemanların baştan itibaren uygun konumlara yerleştirilmesine dayanan algoritma aşağıdakilerden hangisidir?
Baloncuk sıralaması |
Seçmeli sıralama |
Araya sokarak sıralama |
Hızlı sıralama |
Birleştirerek sıralama |
Seçmeli sıralama, küçükten büyüğe doğru sıralama yapılacağı zaman adım adım dizilerin içerisindeki en küçük elemanların bulunmasına ve bu elemanların baştan itibaren uygun konumlara yerleştirilmesine dayanan bir algoritmadır. Algoritmanın başlangıcında, dizinin ilk elemanı en küçük olarak kabul edilir ve bu eleman dizideki tüm elemanlarla tek tek karşılaştırılır. Karşılaştırmaların sonunda daha küçük bir eleman tespit edilmişse bu eleman ile ilk elemanın yerleri değiştirilir. Sonraki adımlarda ise her defasında bir sonraki elemanın dizinin kalanı için en küçük eleman olduğu varsayılır ve bu karşılaştırmalara
sonraki elemanlarla devam edilir. Bu karşılaştırmalar ve yer değiştirme işlemleri dizinin bütün elemanları için tamamlandığında küçükten büyüğe doğru sıralı bir dizi elde edilir.
10.Soru
13 9 21 6 8 4 3 şeklinde verilen dizide 5 ardışık rakamı aranmaktadır. Kaçıncı karşılaştırmada sonuca ulaşılır?
3 |
4 |
5 |
2 |
Sonuç bulunamaz |
5 rakamı dizinin içerisinde olmadığı için sonuç bulunamaz.
11.Soru
Tam sayı değerler saklayacak bir bağlı listenin düğüm yapısı için aşağıda verilen kod parçasında “ ? ” yazan satıra aşağıdakilerden hangisi gelmelidir?
Struct Node {
int data ;
struct ? next;
};
struct Node* head = NULL;
dead* |
next* |
NULL |
data* |
Node* |
“?” ile gösterilen kısım bir sonraki düğümün göstericisinin tanımlandığı kısımdır ve Node* ile gösterilir.
12.Soru
Baloncuk sıralaması algoritmasına yönelik bir C program kodunda hangi fonksiyon ile dizinin elemanları ekrana yazdırılır?
main |
baloncuk_siralamasi |
for |
dizi_yazdir |
baloncuk_siralamasi |
Program kodları, main fonksiyonu ile çalışmaya başlamakta ve değerleri önceden belirlenmiş n elemanlı bir dizinin baloncuk_siralamasi isimli C fonksiyonuna parametre olarak gönderilmesiyle devam etmektedir. Algoritma kodları, iki adet for döngüsü içermektedir. dizi_yazdir isimli fonksiyon dizilerin elemanlarını ekrana yazdırmak için kullanılan yardımcı bir fonksiyondur. baloncuk_siralamasi.c uygulaması çalıştırıldığında son ekran görüntüsü ortaya çıkmaktadır.
13.Soru
Birleştirerek sıralama algoritmasına yönelik bir C program kodunda hangi fonksiyon ile dizi sıralı hale getirilir?
Main |
birlestirerek_siralama |
birlestir |
dizi_yazdir |
birlestirerek_siralama.c |
Program kodları, main fonksiyonu ile çalışmaya başlamakta ve değerleri önceden belirlenmiş n elemanlı bir dizi birlestirerek_siralama isimli C fonksiyonuna parametre olarak gönderilmektedir. birlestirerek_siralama isimli C fonksiyonunun kendi içerisinde 2 adet birlestirerek_siralama ve 1 adet birleştir fonksiyonları çağırdığını görmekteyiz. Dizi, birlestirerek_siralama fonksiyonları sayesinde orta noktadan alt dizilere ayrılacaktır. Son olarak, birlestir fonksiyonu sayesinde sıralı hale getirilecektir. birlestirerek_siralama.c uygulaması çalıştırıldığında son ekran görüntüsü elde edilir.
14.Soru
Elemanları [5,7,3,9] olan bir dizi araya sokarak sıralama algoritması ile küçükten büyüğe doğru sıralanmak istenildiğinde, algoritmanın adımları sonrasında elde edilecek diziler aşağıdaki seçeneklerin hangisinde doğru sırayla verilmiştir?
[5,3,9,7], [7,3,5,9], [3,5,7,9] |
[3,5,9,7], [5,9,7,3], [3,5,7,9] |
[5,7,3,9], [5,9,3,7], [3,5,7,9] |
[5,9,3,7], [5,7,3,9], [3,5,7,9] |
[5,3,7,9], [3,5,9,7], [3,5,7,9] |
Araya sokarak sıralama algoritmasında öncelikle anahtar eleman seçilir. En küçük
değer olan 3 rakamı anahtar elemandır. Üçten küçük elemanlar sola, büyük olan elemanlar ise sağa kaydırılıp küçükten büyüğe sıralanır.
15.Soru
Ardışık arama algoritmasına yönelik bir C program kodunda aşağıdaki fonksiyonlardan hangisi karşılaştırma işlemlerinin akışını sağlar?
main |
ardisik_arama |
for |
ardisik_arama.c |
sizeof |
Program kodları, main fonksiyonu ile çalışmaya başlamaktadır. Daha sonra, değerleri önceden belirlenmiş olan 5 elemanlı bir dizi ve aranacak eleman ardisik_arama isimli C fonksiyonuna parametre olarak gönderilmektedir. Algoritma kodları, bir adet for döngüsü içermektedir ve bu döngü karşılaştırma işlemlerinin akışını sağlamaktadır.
16.Soru
Elemanları [0 2 11 17 23 45 54 58 62 ] olan bir dizide ikili arama yöntemiyle önce 5 daha sonra 10 aranmaktadır. Bu işlemler için toplamda kaç karşılaştırma yapmak gerekir?
6 |
10 |
12 |
18 |
20 |
İkili arama yöntemi kullanıldığında iki elemanın da dizide olmadığı göz önünde bulundurarak her biri için 3 karşılaştırma yapması gerekir. Toplam 3+3 = 6 karşılaştırma yapmak gerekir.
17.Soru
Aşağıdakilerden hangisi belirli değerleri ya da değerler kümesini giriş olarak alan, istenilen amaca uy- gun olarak bu değerleri bir takım işlemlerden geçirerek bir çıktı ya da çıktı kümesi oluş- turan işlemlerin bütünü olarak tanımlanabilir?
Algoritma |
Program |
Çıktı |
Yazılım |
Tasarım |
Algoritma, belirli değerleri ya da değerler kümesini giriş olarak alan, istenilen amaca uy- gun olarak bu değerleri bir takım işlemlerden geçirerek bir çıktı ya da çıktı kümesi oluş- turan işlemlerin bütünü olarak tanımlanabilir.
18.Soru
Elemanları [0 2 11 17 23 45 54 58 62 87 100 ] olan bir dizide ikili arama yöntemiyle önce 62 daha sonra 45 aranmaktadır. Bu işlemler için toplamda kaç karşılaştırma yapmak gerekir?
2 |
3 |
5 |
10 |
15 |
İkili arama yapılırken 62 arayalım. Önce dizinin ortasındaki sayı yani 45 sayısı ile 62 sayısı karşılaştırılacaktır. 62 45’den büyük olduğu için dizinin sağ tarafındaki sayılar yani 54 58 62 87 100 sayılarının ortasındaki sayı bulunacak bu say 62 olunca arama bitirilecektir. Dolayısıyla 2 karşılaştırma yapılmış olacaktır. 45 sayısı da 1 karşılaştırmayla bulunacağından 1 + 2 = 3 karşılaştırmaya ihtiyaç vardır.
19.Soru
Araya koyma sıralama algoritması hangi algoritma tasarım yöntemine örnek olabilir?
Döngü Algoritmaları |
Tekrarlama Algoritmaları |
Böl-Fethet Yöntemi |
Küçült-Fethet Yöntemi |
Sabit Fonksiyon Algoritmaları |
Küçült-Fethet yöntemine örnek olarak, araya koyma sıralama algoritması verilebilir.
20.Soru
Aşağıdaki sıralama algoritmalarından hangisi böl ve yönet (divide-and-conquer) yöntemini kullanarak sıralama işlemini gerçekleştirir?
Baloncuk sıralaması |
Seçmeli sıralama |
Araya sokarak sıralama |
Hızlı sıralama |
Birleştirerek sıralama |
Hızlı sıralama algoritması, diğer sıralama algoritmalarından farklı olarak böl ve yönet (divide-and-conquer) yöntemini kullanarak sıralama işlemini gerçekleştirir. Başka bir ifadeyle, diziyi mantıksal olarak farklı parçalara ayırır ve sıraladığı parçaları daha sonra birleştirir.
-
- 1.SORU ÇÖZÜLMEDİ
- 2.SORU ÇÖZÜLMEDİ
- 3.SORU ÇÖZÜLMEDİ
- 4.SORU ÇÖZÜLMEDİ
- 5.SORU ÇÖZÜLMEDİ
- 6.SORU ÇÖZÜLMEDİ
- 7.SORU ÇÖZÜLMEDİ
- 8.SORU ÇÖZÜLMEDİ
- 9.SORU ÇÖZÜLMEDİ
- 10.SORU ÇÖZÜLMEDİ
- 11.SORU ÇÖZÜLMEDİ
- 12.SORU ÇÖZÜLMEDİ
- 13.SORU ÇÖZÜLMEDİ
- 14.SORU ÇÖZÜLMEDİ
- 15.SORU ÇÖZÜLMEDİ
- 16.SORU ÇÖZÜLMEDİ
- 17.SORU ÇÖZÜLMEDİ
- 18.SORU ÇÖZÜLMEDİ
- 19.SORU ÇÖZÜLMEDİ
- 20.SORU ÇÖZÜLMEDİ