Programlama Ve Algoritmalar Final 1. Deneme Sınavı
Toplam 20 Soru1.Soru
Algoritmalar, bu işin nasıl yapılacağını tarif eden adımlar kümesidir.
Algoritmayı oluştururken süre sınırı göz önünde bulundurulmaz.
Bir algoritma, aynı türdeki problemlerin hepsine uygulanamayabilir.
Bir yemeğin yapılmasındaki adımları içeren yemek tarifi algoritmaya günlük hayattan örnek gösterilebilir.
Algoritmalarla ilgili olarak yukarıdaki ifadelerden hangileri yanlıştır?
I, II |
I, II, IV |
I, III, IV |
II, III |
III, IV |
Algoritmayı oluşturan adımlar yapılan iş için kabul edilebilir bir süre içerisinde tamamlanmalıdır. Ayrıca algoritmanın genellik özelliğine göre bir algoritma aynı türdeki tüm problemlere uygulanabilir olmalıdır.
2.Soru
Doğal dil ile programlama dili arasında bir problemin çözümünü ifade ediş biçimi ne olarak adlandırılır?
Sözde kod |
Yalancı kod |
Sanal kod |
Yapay kod |
Basit kod |
Doğal dil ile programlama dili arasında bir problemin çözümünü ifade ediş biçimi doğal koddur.
3.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 bulundurularak her biri için 3 karşılaştırma yapılması gerektiği anlaşılmaktadır. Toplam 3+3 = 6 karşılaştırma yapmak gerekir.
4.Soru
Aşağıdakilerden hangisi özyinelemeli olmayan fonksiyonların analizindeki işlem adımlarından biri değildir?
Başlangıç koşulları ile birlikte algoritmanın özyinelemeli fonksiyon bağıntısı yazılır. |
Problemin girdi büyüklüğünü veren parametre belirlenir. |
Temel operasyon için toplam ifadesi bulunur. |
Algoritmanın temel operasyonu belirlenir. |
Toplam ifadesinden çalışma zamanı bulunur. |
Bir algoritmayı analiz etmek, genel olarak şu adımlardan oluşmaktadır 1. Problemin girdi
büyüklüğünü veren parametre belirlenir. 2. Algoritmanın temel operasyonu belirlenir. 3. 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. 4. Temel operasyon için toplam ifadesi bulunur. 5. Toplam ifadeleri için verilen standart formüller ve kurallar kullanılarak algoritmanın ait olduğu verimlilik sınıfı bulunur.
5.Soru
N elemanlı bir dizide, dizinin en büyük elemanını bulmayı garanti etmek için gerekli karşılaştırma işleminin tekrar tekrar yapıldığı döngünün tekrar adeti kaç olmalıdır?
N-1 |
N |
N+1 |
2N+1 |
2N-1 |
Dizinin ilk elemanı seçilip daha sonraki elemanlar bu elemana göre karşılaştırılığında en büyük değeri bulmayı garanti etmek için N-1 defa döngü çalıştırılmalıdır.
6.Soru
Hash fonksiyonunda bir çatışma çıktığında olası en yakın noktayı arayıp yeni elemanı o noktaya yerleştirmek hangi yöntemi tanımlar?
Ayrık zincirleme |
İkili Hash |
AVL Dengeleme |
Doğrusal Sınama |
Karesel Sınama |
C seçeneği hash fonksiyonları ile ilgili bir seçenek değildir. Soruda tanımlanan yöntem açık adresleme ve buradaki doğrusal sınamayı tarif etmektedir.
7.Soru
128 elemanlı bir dizi için ikili arama algoritmasının en kötü durumdaki zaman karmaşıklığı kaç olur?
3 |
4 |
7 |
5 |
6 |
En kötü durumdaki zaman karmaşıklığı, algoritmanın çalışmasının en uzun sürebileceği durumu ifade etmek için kullanılır. İkili arama algoritması n elemanlı bir dizi için en kötü durumda log2(n) adet karşılaştırma yapmaya ihtiyaç duymaktadır. Dolayısıyla ikili arama algoritmasının en kötü durumdaki zaman karmaşıklığının O(log(n)) olduğunu söyleyebiliriz. 128 elemanlı bir dizi için ikili arama algoritmasının en kötü durumdaki zaman karmaşıklığı:’dir.
8.Soru
Eleman sayısı 512 olan bir dizide çok yüksek miktarda ikili arama yapıldığı düşünüldüğünde ve her aranılan sayının da dizi içerisinde yer aldığı varsayılırsa her bir arama için ortalama kaç karşılaştırma yapmak gerekir?
512 |
200 |
100 |
10 |
5 |
Çok yüksek miktarda ikili arama sonucu aranılan elemanlar bazen 1. Bazen 2., bazen 3. vb … bazen de 9. karşılaştırmada bulunacaktır. Sonuçta ortalamaya vurulduğu taktirde (1 + 9) / 2 = 5 sonucuna ulaşılmaktadır. İkili aramada en hızlı cevap 1. karşılaştırmada, en yavaş cevap da log2(512) = 9 karşılaştırmada elde edilecektir.
9.Soru
Elemanları [2 65 11 23 -3 4 0 9 7] olan bir dizide ardışık arama yöntemiyle önce 5 daha sonra 10 aranmaktadır. Bu işlemler için toplamda kaç karşılaştırma yapmak gerekir?
10 |
15 |
18 |
20 |
22 |
Dizi incelendiğinde hem 5 hem 10 bu dizi içinde yer almamakta. Dolayısıyla baştan sona tüm dizi elemanları kontrol edilmektedir. Dizi eleman sayısı 9 olduğundan 2*9 = 18 karşılaştırma yapılması gerekir.
10.Soru
Elemanları [5 6 1 12 43 20 15] olan ve elemanlarının konumları 1 ile 7 arasında değişen dizi üzerinde ikili arama yapılarak 3 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:2, Son:3 |
İlk: 4, Orta:5, Son:6 |
İlk: 5, Orta:6, Son:7 |
Ikinci karşılaştırma adımında soldaki üç eleman üzerine işlem yapılır.
11.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 aşağıdakilerden hangisidir?
Baloncuk sıralaması |
Seçmeli sıralama |
Araya sokarak sıralama |
Hızlı sıralama |
Birleştirerek sıralama |
Araya sokarak sıralama algoritması, dizinin elemanlarının kendilerinden önce gelen elemanlarla karşılaştırılması ve gerektiğinde birbirleriyle yer değiştirmeleri prensibine dayanır. Her bir adımda (iterasyonda), dizi elemanları üzerinde soldan sağa doğru hareket edilerek, kendisinden önce gelenlerle karşılaştırılacak bir anahtar eleman seçilir. Bu anahtar eleman, kendisinden önce gelen diğer tüm elemanlarla sırayla karşılaştırılır. Küçükten bü- yüğe doğru sıralama yaparken, kendisinden önce gelen eleman daha büyük ise bu eleman dizide sağa doğru kaydırılır. Dolayısıyla her adımda, dizide anahtar olarak seçilen eleman geçici olarak silinecektir. Bu karşılaştırma ve kaydırma işlemi, anahtar elemandan öncekiler kendisinden daha büyük olduğu sürece devam eder. Karşılaştırmalar tamamlanmışşa anahtar olarak seçilen eleman dizide uygun bir konuma yerleştirilir.
12.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.
13.Soru
Aşağıdakilerden hangisi algoritma tasarımının son aşamasıdır?
Algoritma tasarım tekniğine karar ver |
Algoritmayı tasarla |
Problemi anla |
Algoritmanın kodunu yaz |
Algoritmayı analiz et |
Kod yazma tasarım işleminin son adımıdır.
14.Soru
Karmaşık problemleri küçük parçalar halinde çözen, elde edilen sonuçları bilgisayar hafızasında bir veri yapısında saklayan, genel çözümü elde ederken de veri yapılarında saklanan sonuçları kullanan bir programlama yöntemi aşağıdakilerden hangisidir?
Ezberleme |
Kaba Kuvvet Algoritmaları ile Programlama |
Hata Ayıklama |
Dinamik Programlama |
Döngüsel Programlama |
Dinamik programlama, karmaşık problemleri küçük parçalar halinde çözen, elde edilen sonuçları bilgisayar hafızasında bir veri yapısında saklayan, genel çözümü elde ederken de veri yapılarında saklanan sonuçları kullanan bir programlama yöntemidir.Bir problemin dinamik programlama ile çözülebilmesi için problemin alt parçalara ayrılabilmesi ve genel çözümün bu alt parçalardan oluşturulabilmesi gerekmektedir. Dinamik programlama yaygın olarak optimizasyon problemlerinde kullanılır.
15.Soru
Aşağıdakilerden hangisi özyinelemeli olmayan bir algoritmayı analiz etmek için gereken adımlardan biri değildir?
Problemin çıktı 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. |
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.
Bu bilgilerden anlaşıldığı gibi A seçeneği bu adımlar arasında yer almaz.
16.Soru
Yukarıdaki çizge üzerinde, başlangıç noktası S alınarak enine arama algoritması çalıştırılacaktır. Bir düğümün birden fazla komşusu varsa bu komşular alfabetik sırada küçükten büyüğe doğru ziyaret edilecektir. Buna göre çizgedeki düğümlerin ziyaret sırası aşağıdakilerden hangisidir?
S, A, B, C, E, D, F, H, G |
S, A, B, C, D, E, F, H, G |
S, B, A, C, D, F, H, G, E |
S, C, A, D, F, H, E, G, B |
S, B, A, D, F, H, E, G, C |
Enine arama, çizgenin bir düğümünden başlanarak, o düğümün komşu düğümlerinin ve onların da komşularının sırayla ziyaret
edildiği arama algoritmasıdır. Dolayısıyla takip edilen ziyaret sırası S, A, B, C, D, E, F, H, G’dir.
17.Soru
60 elemanlı bir dizide ardışık algoritma ile arama yapıldığında zaman karmaşıklığı kaç olur?
12 |
15 |
60 |
120 |
30 |
ardışık arama algoritması için zaman karmaşıklığı O(n) dir.
18.Soru
Elemanları [5 6 1 12 43 20 15] 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 |
Ikinci karşılaştırmada sağdaki üç eleman üzerinde işlem yapılır ve 5,6,7 olarak sıralanırlar.
19.Soru
Aşağıdakilerden hangisi O(n2) karmaşıklık seviyesine sahip değildir?
Seçmeli Sıralama |
Baloncuk Sıralaması |
Hızlı Sıralama |
Araya sokarak sıralama |
Birleştirerek sıralama |
Birleştirerek sıralama O(n2) karmaşıklık seviyesine sahip değildir.
20.Soru
I. Özyinelemeli fonksiyonların analizi yapılırken hangi adım sırası takip edilir?
II. Algoritmanın temel operasyonu belirlenir.
III. Girdi büyüklüğünü veren parametre belirlenir.
IV. Fonksiyonların büyümesi ve toplam ifadeleri kullanılarak özyineleme bağıntısı çözülür ve zaman karmaşıklığı bulunur.
III. Başlangıç koşulları ile birlikte algoritmanın özyinelemeli fonksiyon bağıntısı yazılır.;
Girdi parametresine göre problemin temel operasyonunun çalışma sayısının değişip değişmeyeceği belirlenir.
I-II-V-IV-III |
IV-II-I-V-III |
II-V-IV-III-I |
II-I-V-IV-III |
IV-III-II-I-V |
Özyinelemeli fonksiyonların analizini yaparken gerçekleştirilecek işlemler aşağıdaki gibidir:
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.
Fonksiyonların büyümesi ve toplam ifadeleri kullanılarak özyineleme bağıntısı çözülür ve zaman karmaşıklığı bulunur.
-
- 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İ