Programlama Ve Algoritmalar Final 7. Deneme Sınavı
Toplam 20 Soru1.Soru
Elemanları [6,5,7,4] olan bir dizi baloncuk sıralaması 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çeneklerden hangisinde doğru sırayla verilmiştir?
[5,6,7,4], [4,6,5,7], [4,5,6,7] |
[5,6,7,4], [5,7,6,4], [4,5,6,7] |
[5,6,4,7], [5,4,6,7], [4,5,6,7] |
[7,6,5,4], [6,7,5,4], [4,5,6,7] |
[6,5,4,7], [6,5,7,4], [4,5,6,7] |
Algoritmayı çözmeye başladığımızda öncelikle büyük eleman ile küçük elemanın yerleri değiştirilerek, küçük elemanı öne alıp büyük elemanı sona doğru kaydırırız. Bu işlemi diğer elemanlar içinde gerçekleştiririz. Böylelikle oluşan elemanlar küçükten büyüğe doğru sıralanmış olur.
2.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 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:7 |
İlk: 1, Orta:2, Son:5 |
İlk: 1, Orta:2, Son:3 |
İ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 3 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 3 sayısının orta elemana eşit, küçük veya büyük olması durumuna bakılmaktadır. Bu sayı orta elemandan küçük olduğu için, aramaya dizinin ilk elemanı ile dizinin orta elemanı arasındaki dizi elemanları ile devam edilecektir. Bu sebeple, ilk elemanın konum bilgisi güncellenecektir ve bu güncelleme sonrasında orta elemanın konumu yeniden hesaplanacaktır. İkinci karşılaştırma adımında, ilk eleman olan 1’’in konum bilgisi 1, orta eleman olan 5’in konum bilgisi 2 ve son eleman olan 6’nın konum bilgisi ise 3’tür.
3.Soru
Elemanları [2 1 9 3 6] olan bir dizi, seçmeli 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?
[1 2 9 3 6] [1 2 3 6 9] [1 2 3 6 9] [1 2 3 6 9] |
[1 6 2 3 9] [1 2 6 3 9] [1 2 3 6 9] [1 2 3 6 9] |
[1 2 9 3 6] [1 2 9 3 6] [1 2 3 9 6] [1 2 3 6 9] |
[1 6 2 3 9] [1 2 3 9 6 ] [1 2 3 6 9] [1 2 3 6 9] |
[1 6 2 3 9] [1 2 6 3 9] [1 2 3 6 9] [1 2 3 6 9] |
Seçmeli sıralama algoritmasında öncelikle dizinin ilk elemanı en küçük eleman olarak seçilmekte ve bütün dizi yanaşık elamanlar sonuna kadar kontrol edilerek en küçük eleman bulunuyor ve seçilenle yer değiştiriliyor. Bu aşamada 2 başlangıçta en küçük eleman olarak seçilip diğer elemanlarla kontrol edilecek ve sonunda [1 2 9 3 6] dizisi elde edilecektir. Sıra 2. Elemana gelince dizi değişmeyecek. 3. Elemanda 9 3 ile yer değiştirecek ve [1 2 3 9 6] dizisi elde edilecek ve son seçenekte 4. Eleman 9 5. Elemanla yer değiştirip [1 2 3 6 9] dizisi bulunacaktır.
4.Soru
Çizgenin bir düğümünden başlanarak bu düğümün komşusu üzerinden gidilebilecek en uzak düğüme kadar olan noktaların ziyaret edildiği ve daha sonra geri dönülerek aynı işlemlerin ziyaret edilmemiş düğümler için sürdürüldüğü arama algoritması aşağıdakilerden hangisidir?
Enine arama |
Önce derinliğine arama |
Yığın arama |
İkili arama |
Yönlü arama |
Önce derinliğine arama, çizgenin bir düğümünden başlanarak bu düğümün komşusu üzerinden gidilebilecek en uzak düğüme kadar olan noktaların ziyaret edildiği ve daha sonra geri dönülerek aynı işlemlerin ziyaret edilmemiş düğümler için sürdürüldüğü bir arama algoritmasıdır.
5.Soru
“Bir sudoku oyununda boş hücrelere kurallı ve deneme aşamalarıyla bulmacanın doldurulması amaçlanır.”
Yukarıdaki ifade dikkate alındığında; çözümün kademeli bir şekilde yapıldığı ve olası çözüm yollarının hepsinin denenerek bir sonraki adıma geçildiği algoritma türü aşağıdakilerden hangisidir?
Böl ve Yönet Algoritmaları |
Geri İzlemeli Algoritmalar |
Dinamik Programlama |
Kaba Kuvvet Algoritmaları |
Açgözlü Algoritmalar |
Geri izlemeli algoritmalarda; algoritma denediği çözüm yolundan sonuç almazsa, bir önceki adımda bulunan olası çözüm yollarına geri döner ve çözüme sürekli denemelerle ulaşmaya çalışır.
6.Soru
n tane sayının birleştirme sıralamasının alacağı zaman 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.
7.Soru
Aşağıdakilerden hangisi algoritmaları karşılaştırırken kullanılan gösterimlerden biridir?
Büyük M gösterimi |
Büyük Φ gösterimi |
Büyük Ω gösterimi |
Küçük Θ gösterimi |
Küçük O gösterimi |
Algoritmaları karşılaştırırken büyük O gösterimi, büyük Ω gösterimi ve büyük Θ gösterimi olmak üzere üç gösterim kullanılmıştır.
8.Soru
Bilgisayar programlarında verilerin sistematik ve etkili bir şekilde organize edilmesi için aşağıdakilerden hangisi kullanılmaktadır?
Veri madenciliği |
Veri ambarları |
Veri yapıları |
Veri analizi |
Verteksler |
Bilgisayar programlarında verilerin sistematik ve etkili bir şekilde organize edilmesi için veri yapıları kullanılır. Bir veri yapısı, içerdiği elemanların mantıksal düzeni ve elemanlar üzerinde yapılabilecek işlemler ile tanımlanır.
9.Soru
Aşağıdakilerden hangisi algortima tasarım aşamalarından biri değildir?
Algoritma tasarım tekniğine karar ver |
Algoritmayı tasarla |
Problemi çöz |
Algoritmanın kodunu yaz |
Algoritmayı analiz et |
Problem çözümü bu aşamalardan değildir.
10.Soru
Aşağıdakilerden hangisi 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?
Özyinelemeli algoritmalar |
Geri izlemeli algoritmalar |
Böl ve yönet algoritmaları |
Dinamik programlama |
Açgözlü algoritmalar |
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.
11.Soru
Algoritmaların gösteriminde algoritma adımlarını ifade eden kutucuklar, adımlar arası geçisleri gösteren oklar, karar verme mekanizmaları olarak kullanılan şekiller aşağıdakilerden hangisi ile ifade edilir?
Sözde kod |
Döngü |
Koşul sınaması |
Akış şeması |
Özyinelemeli kod |
Akış şeması, algoritmaların gösteriminde kullanılan faydalı bir yöntemdir. Bir akış şemasında algoritma adımlarını ifade eden kutucuklar, adımlar arası geçişleri gösteren oklar, karar verme mekanizmaları olarak kullanılan şekiller bulunabilir. Akış şeması,
bir algoritmanın görsel halini ifade eder. Görsellik, algoritmaların daha kolay anlaşılabilmesine olanak sağlar. Programcılar ve çözümleyiciler tarafından yaygın olarak kullanılan akış semalarını oluşturmak için birçok farklı çizim yazılımı bulunmaktadır.
12.Soru
Aşağıdakilerden hangisi düğümlerle bu düğümleri birbirine bağlayan kenarlardan oluşan ve ağ görünümünde olan veri yapısının tanımıdır?
Yol |
Tepe noktası |
Çizge |
Komşuluk |
Basit yol |
Çizge (graph), düğümlerle bu düğümleri birbirine bağlayan kenarlardan oluşan ve ağ görünümünde olan bir tür veri yapısıdır. Temel olarak birbirleriyle ilişkili verileri temsil etmek için kullanılırlar.
13.Soru
Girdi değeri n olan özyinelemeli faktöriyel hesabının zaman karmaşıklığının mertebesi aşağıdakilerden hangisidir?
O(n2) |
O(logn) |
O(n) |
O(n3) |
O(nlogn) |
Özyinelemeli faktöriyel hesabının zaman karmaşıklığı O(n) mertebesindedir.
14.Soru
İkili arama algoritmasının en kötü durumdaki zaman karmaşıklığı aşağıdakilerden hangisi ile ifade edilmektedir?
O(n)
|
log2(N) |
O(log(n)) |
(ln n) |
O((ln n)) |
Ardışık arama algoritmasının gerçeklenmesi sırasında, n elemanlı bir dizi için en fazla n adet karşılaştırma yapılması gerekmektedir. Dolayısıyla ardışık aramanın en kötü durumdaki zaman karmaşıklığının O(n) olduğunu söyleyebiliriz. İkili arama algoritması ise n elemanlı bir dizi için en kötü durumda 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.
15.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 birlestirilmesiyle ana problemin çözümü elde edilir
16.Soru
Aşağıdakilerden hangisi algoritmada temel operasyon analizi yaparken tasarlanan algoritma ile problemin çözümüne ulaşabilmek yapılan toplam temel operasyon sayısını ifade eder?
Zaman karmaşıklığı |
Çalışma zamanı |
Alan karmaşıklığı |
Çalışma karmaşıklığı |
Alan zamanı |
Çalışma Zamanı (running time) tasarlanan algoritma ile problemin çözümüne ulaşabilmek yapılan toplam temel operasyon sayısıdır. T (n) ile ifade edilir. Temel operasyonlar, karşılaştırma sayısı, döngü içerisinde dönme sayısı vb. işlemler olabilir.
17.Soru
1’den 56’ya kadar olan sayıların karelerinin toplamı kaçtır?
9016,5 |
4508,25 |
3005,5 |
6011 |
12022 |
Çözüm: N=56 olduğuna göre,
18.Soru
Aşağıda verilen seçeneklerden hangisi bir yığın ağacıdır?
|
|
|
|
|
A seçeneği, D seçeneği ve E seçeneği sol tarafı dolu olmayan ama sağ tarafı dolu ağaçtır. C seçeneğinde ise her kök düğümü alt düğümlerden küçük/büyük özelliği göstermiyor.
19.Soru
Ekleme, silme ve arama işlemlerinin çok hızlı bir şekilde yapılmasını sağlayan, verileri bir anahtar ve veri çifti şeklinde saklayan veri yapısı seçeneklerden hangisinde doğru verilmiştir?
İkili arama ağacı |
Yığın ağacı |
Bağlı liste |
Diziler |
Özetleme tabloları |
Özetleme tablolarındaki genel çalışma mantığı, verileri N boyutlu bir dizide tutmak ve verilere erişim için sayı veya dizgiden oluşan anahtarı kullanmaktır.
20.Soru
Çizgenin bir düğümünden başlanarak, söz konusu düğümün komşu düğümlerinin ve onların da komşularının sırayla ziyaret edildiği arama algoritması aşağıdakilerden hangisidir?
Enine arama |
Çift yönlü arama |
Tek yönlü arama |
Basit arama |
Karmaşık arama |
Enine arama, çizgenin bir düğümünden başlanarak, söz konusu düğümün komşu dü- ğümlerinin ve onların da komşularının sırayla ziyaret edildiği arama algoritmasıdır.
-
- 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İ