Programlama Ve Algoritmalar Final 2. Deneme Sınavı
Toplam 20 Soru1.Soru
Bir algoritmayı analiz etmek için gerekli adımlar hangi seçenekte doğru olarak sıralanmıştır?
I. Temel operasyon için toplam ifadesi bulunur.
II. Problemin girdi büyüklüğünü veren parametre belirlenir.
III. Formüller ve kurallar kullanılarak algoritmanın verimlilik sınıfı bulunur.
IV. Algoritmanın temel operasyonu belirlenir.
V) Temel operasyonun hangi parametreye göre değiştiği belirlenir.
I-II-III-V-V |
III-I-V-II-IV |
IV- II-V-I-III |
V-II-IV-III-I |
II-IV-V-I-III |
II-Problemin girdi büyüklüğü belirlenir. IV)Algoritmanın temel operasyonu belirlenir. V)Temel operasyonun hangi parametreye göre değiştiği belirlenir. I)Temel operasyon için toplam ifadesi bulunur. III) Formüller ve kurallar kullanılarak algoritmanın verimlilik sınıfı bulunur.
2.Soru
Aşağıdakilerden hangisi düğümler arasındaki kenar bağlantıları üzerinde sıfırdan farklı sayısal değerlerin yer aldığı çizge türüdür?
Yönlü çizge |
Yönsüz çizge |
Ağırlıklandırılmış çizge |
Toplu çizge |
Karmaşık çizge |
Düğümler arasındaki kenar bağlantıları üzerinde sıfırdan farklı sayısal değerlerin yer aldığı çizge türüdür.
3.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.
4.Soru
Verimli ve etkin bir hash fonksiyonu aşağıdaki özelliklerden hangisinin sağlanması önemsizdir?
Fonksiyon içerisinde hesaplamaların hızlı yapılması |
Hesaplama sonucu üretilen değerlerde minimum çatışma olması |
Özetleme tablosundaki tüm alanların kullanılabilir olması |
Özetleme tablosundaki doluluklarda eşit dağılım sağlanması |
Hesaplama sonucu üretilen değerlerin silinemez olması |
Çatışmalar, hash fonksiyonları için istenmeyen durumlardır. Verimli ve etkin bir hash fonksiyonu, şu özellikleri sağlamalıdır: i. Fonksiyon içerisinde hesaplamalar hızlı yapılmalıdır. ii. Hesaplama sonucu üretilen değerlerde minimum çatışma olmalıdır. iii. Özetleme tablosundaki tüm alanlar kullanılabilir olmalıdır. iv. Özetleme tablosundaki doluluklarda eşit dağılım sağlanmalıdır.
5.Soru
Verilerin doğrusal bir şekilde tutulduğu, ekleme ve çıkarma işlemlerinin en üst noktadan yapıldığı veri yapısı aşağıdakilerden hangisidir?
Dizi |
Liste |
Kuyruk |
Yığın |
Algoritma |
Yığın, verilerin doğrusal bir şekilde tutulduğu, ekleme ve çıkarma işlemlerinin en üst noktadan yapıldığı bir veri yapısıdır.
6.Soru
Aşağıdakilerden hangisi özyinelemeli fonksiyonların analizindeki işlem adımlarından biri değildir?
Girdi büyüklüğünü veren parametre belirlenir. |
Algoritmanın temel operasyonu belirlenir |
Girdi parametresine göre problemin temel operasyonunun çalışma sayısının değişip değişmeyeceği belirlenir. |
Başlangıç koşulları ile birlikte algoritmanın özyinelemeli fonksiyon bağıntısı yazılır |
Toplam ifadeleri için verilen standart formüller ve kurallar kullanılarak algoritmanın ait olduğu verimlilik sınıfı bulunur. |
Özyinelemeli fonksiyonların analizini yaparken gerçekleştirilecek işlemler: 1. Girdi büyüklüğünü veren parametre belirlenir. 2. Algoritmanın temel operasyonu belirlenir. 3. Girdi parametresine göre problemin temel operasyonunun çalışma sayısının değişip değişmeyeceği belirlenir. 4. Başlangıç koşulları ile birlikte algoritmanın özyinelemeli fonksiyon bağıntısı yazılır. 5. Fonksiyonların büyümesi ve toplam ifadeleri kullanılarak özyineleme bağıntısı çözülür ve zaman karmaşıklığı bulunur.
7.Soru
Kendisini doğrudan veya dolaylı olarak çağıran algoritmalar aşağıdakilerden hangisiyle isimlendirilmektedir?
Geri İzlemeli Algoritmalar |
Kaba Kuvvet Algoritmaları |
Böl ve Yönet Algoritmaları |
Açgözlü Algoritmalar |
Özyinelemeli Algoritmalar |
Kendisini doğrudan veya dolaylı olarak çağıran algoritmalara özyinelemeli algoritma adı verilir. Bu algoritmalarda, problemler daha küçük ve basit parçalara indirgenir. Küçük parçalar için oluşturulan çözümlerin birleştirilmesiyle ana problemin çözümü elde edilir.
8.Soru
Bu algoritmanın çalışması için dizinin sıralı olmasına ihtiyaç bulunmamaktadır. Aranan eleman, sırasıyla dizinin her bir konumundaki eleman ile karşılaştırılır. Aranan elemanın değerinin dizinin elemanlarından birisiyle aynı olduğu görülürse algoritma başarılı bir şekilde sonlandırılır. Bu algoritma aşağıdakilerden hangisidir?
İkili arama |
Ardışık arama |
Rastgele arama |
Dörde bölüp arama |
Parallel arama |
Ardışık arama, en temel arama algoritmasıdır. Bu algoritmanın çalışması için dizinin sıralı olmasına ihtiyaç bulunmamaktadır. Aranan eleman, sırasıyla dizinin her bir konumundaki eleman ile karşılaştırılır. Aranan elemanın değerinin dizinin elemanlarından birisiyle aynı olduğu görülürse algoritma başarılı bir şekilde sonlandırılır. Eğer aranan eleman dizinin içerisinde mevcut değilse, karşılaştırmalar dizinin ilk elemanından son elemanına kadar sürecektir.
9.Soru
Bir C tümleşik geliştirme ortamı yazdığınızı farz edelim. Bu ortamda kullanıcı, her komutu yazarken, hızlıca bu komutun doğru yazılıp yazılmadığını kontrol etmek için hangi yöntemi kullanmalıdır?
AVL Ağacı |
Yığın Ağacı |
İkili Arama Ağacı |
Özetleme Tablosu |
Basit İkili Ağaç |
Bir tümleşik geliştirme ortamında komutların çok hızlı biçimde taranması ve doğru komutun bulunması gerekmektedir. Bu komut yoksa, kullanıcı programı yazarken, yanlış yaptığının belirtilmesi tümleşik geliştirme ortamının kullanışlığını arttıracaktır. Bunun için en iyi yöntem anlık aramanın yapıldığı özetleme tablosu olacaktır.
10.Soru
int anadolu[10];
Yukarıda yer alan C dilinde tanımlanmış dizi için veri tipi ve dizinin son elemanının indisi aşağıdakilerden hangisinde doğru olarak verilmiştir?
Tamsayı, 9 |
Tamsayı, 10 |
Ondalıklı sayı, 9 |
Karakter, 9 |
Karakter, 10 |
C dilinde öncelikle dizinin tipi sonrasında dizinin adı ve son olarak dizinin boyutu verilerek tanımlama yapılır. int ile tam sayılardan oluşan bir dizi tanımlanmaktadır. Dizilerin ilk elemanının indisi 0, son elemanının indisi ise dizinin boyutunun bir eksiğidir.
11.Soru
Aşağıdakilerden hangisi kenar bağlantılarının yönleri temsil eden oklarla gösterildiği çizgedir?
Yönlü çizge |
Yönsüz çizge |
Ağırlıklandırılmış çizge |
Toplu çizge |
Karmaşık çizge |
Yönlü çizge, kenar bağlantılarının yönleri temsil eden oklarla gösterildiği çizgedir.
12.Soru
Elemanları [5, 7, 2, 16, 21, 36] olan dizi üzerinde ardışık arama yapılarak önce 16 ve daha sonra 2 sayısının bulunup bulunmadığı kontrol edilecektir. Bu aramalar için toplam kaç karşılaştırma işlemi yapılır?
3 |
4 |
5 |
6 |
7 |
Ardışık arama yapılara 16’yı bulmak için dizide 4 işlem yapılır. 2’yi bulmak için ise 3 işlem yapılır. Toplamda 7 işlem yapılır.
13.Soru
Sıralı bir diziye sıralama algoritması uygulandığında hiçbir elemanı değişmez. Bazen algoritma bitmeden de dizi sıralanmış olur. Aşağıda verilen dizilere küçükten büyüğe baloncuk sıralaması algoritması uygulandığında hangi dizi algoritma süresince en çabuk doğru sıralanabilir?
[3 1 2 6 9] |
[9 6 1 3 2] |
[6 1 9 3 2 ] |
[1 3 9 6 2] |
[3 1 9 6 2] |
Her diziye sıralama algoritması uygulandığında a seçeneğinde bulunan dizi ilk döngüde [3 1] -> [1 3] [3 2] ->[2 3] olarak dizilip sonuç [1 2 3 6 9] haline gelir. Diğer dizilerde ikinci veya üçüncü döngüde sıralama oluşur.
14.Soru
İkili arama için en kötü durumdaki zaman karmaşıklığı hangi seçenekte verilmiştir?
O(N) |
O(n) |
O(log(n)) |
log2(n) |
O(n2) |
İkili arama için en kötü durumdaki zaman karmaşıklığı O(log(n)) olmaktadır.
15.Soru
Elemanları [2,5,3,8] olan bir dizi, baloncuk sıralaması algoritması ile büyükten küçüğ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 2 3 8] [5 3 8 2] [8 5 3 2] |
[5 3 8 2] [3 5 8 2] [8 5 3 2] |
[2 8 5 3] [8 2 5 3] [8 5 3 2] |
[3 2 8 5] [2 3 5 8] [8 5 3 2] |
[5 3 8 2] [5 8 3 2] [8 5 3 2] |
Baloncuk algoritması azalan veya artan fark etmeden sadece yanaşık elemanların değiştiği bir algoritmadır. İlk başta bir boyutlu sonra iki boyutlu… dizilerin kontrolü sonucu algoritma işletildiğinde doğru cevap E’dir.
16.Soru
I. Bir algoritmayı analiz etmek için gerekli adımlar hangi seçenekte doğru olarak sıralanmıştır?
II. Temel operasyon için toplam ifadesi bulunur.
III. Problemin girdi büyüklüğünü veren parametre belirlenir.
IV. Formüller ve kurallar kullanılarak algoritmanın verimlilik sınıfı bulunur.
V. Algoritmanın temel operasyonu belirlenir.
Temel operasyonun hangi parametreye göre değiştiği belirlenir.
I-II-III-V-V |
III-I-V-II-IV |
IV- II-V-I-III |
V-II-IV-III-I |
II-IV-V-I-III |
Bir algoritmayı analiz etmek, genel olarak aşağıda verilen adımlardan oluşmaktadır
Problemin girdi büyüklüğünü veren parametre belirlenir.
Algoritmanın temel operasyonu belirlenir.
Temel operasyonun sadece girdi büyüklüğüne bağlı olarak mı değiştiği kontrol edilir. Eğer başka parametrelere göre de değişiyorsa bunlar belirlenir.
Temel operasyon için toplam ifadesi bulunur.
Toplam ifadeleri için verilen standart formüller ve kurallar kullanılarak algoritmanın ait olduğu verimlilik sınıfı bulunur.
17.Soru
üzerinde ardışık arama yapılarak önce 1 ve daha sonra 8 sayısının bulunup bulunmadığı kontrol edilecektir. Bu aramalar için toplam kaç karşılaştırma işlemi yapılır?
3 |
4 |
5 |
6 |
7 |
Ardışık arama yapılara 1’i bulmak için dizide 4 işlem yapılır. 8’i bulmak için ise 3 işlem yapılır. Toplamda 7 işlem yapılır.
18.Soru
n tane sayının birleştirme sıralamasının alacağı zamanın nasıl hesaplanacağı hangi seçenekte doğru olarak verilmiştir?
n.log2n |
n.logn |
log2n |
logn |
n2.logn |
n tane sayının birleştirme sıralamasının alacağı zaman n.logn şeklinde hesaplanır.
19.Soru
Seçmeli sıralama algoritmasının zaman karmaşıklığı değeri nedir?
O(log(n)) |
O(n2) |
O(n) |
n.O(log(n) |
O(n3) |
Çözüm: Zaman karmaşıklığı algoritmada doğrudan döngülerle ilintilidir. Baloncuk algoritmasında dış döngü 1den 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.
20.Soru
Elemanları [1 5 6 12 15 20 43] olan ve elemanlarının konumları 1 ile 7 arasında değişen dizi üzerinde ikili arama yapılarak 25 sayısı aranacaktır. Bu arama yapılırken 2. karşılaştırma adımında ilk, orta ve son elemanların konum bilgileri ne olur?
İlk: 1, Orta:2, Son:3 |
İlk: 1, Orta:2, Son:5 |
İlk: 1, Orta:4, Son:7 |
İlk: 4, Orta:5, Son:6 |
İlk: 5, Orta:6, Son:7 |
İ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 7 elemanlı bir dizi bulunmaktadır. Söz konusu dizi içerisinde 25 sayısının aranması söz konusudur. Algoritma çalışmaya başladığında ilk, orta ve son elemanların konumları belirlenecektir. Bu dizinin 4. konumundaki 12 sayısı orta elemandır. Daha sonra, aranan eleman olan 25 sayısının orta elemana eşit, küçük veya büyük olması durumuna bakılmaktadır. Bu sayı, orta elemandan büyük olduğu için aramaya dizinin ortası ile sonu arasındaki elemanlardan devam edilir. Bu sebeple, ilk elemanın konum bilgisi güncellenecektir ve bu güncelleme sonrasında orta elemanın konumu yeniden hesaplanacaktır. Dolayısıyla ikinci karşılaştırma adımında, ilk eleman olan 15’ün konum bilgisi 5, orta eleman olan 20’nin konum bilgisi 6 ve son eleman olan 43’ün konum bilgisi ise 7’dir.
-
- 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İ