Veri Yapıları 2024-2025 Final Soruları
Veri Yapıları 2024-2025 Final Soruları
#1. Aşağıda verilen fonksiyonlardan hangisi yığın (stack) veri yapısında yığındaki eleman sayısını öğrenmek için kullanılır?
Cevap : A) size()
Açıklama : Yığın (Stack) operasyonları: push() eleman ekler, pop() eleman çıkarır, peek() en üstteki elemana bakar, empty() boş olup olmadığını kontrol eder. Yığının mevcut eleman sayısını döndüren fonksiyon ise “size()” (boyut) fonksiyonudur.
#2. Aşağıdakilerden hangisi C programlama dilinde kullanılan “tab” kontrol karakteridir?
Cevap : B) t
Açıklama : C programlama dilinde, ters eğik çizgi () “escape” (kaçış) karakteridir ve özel kontrol karakterlerini belirtir. Yatay bir “tab” boşluğu bırakmak için kullanılan karakter **t**dir. (n yeni satır, a uyarı sesi, b backspace, v dikey tab anlamına gelir).

#3. A-(B*C) aritmetik ifadesi yukarıda verilen hangi bağıntı ağacıyla temsil edilebilir?
Cevap : A) III
Açıklama : A-(B*C) ifadesini temsil eden bağıntı ağacının (Expression Tree) kökü (-) olmalıdır. Sol çocuk (A) ve sağ çocuk (B*C) olmalıdır. (B*C) alt ağacının kökü (*) ve çocukları B ve C olmalıdır. Bu yapıya uyan ağaç III numaralı görseldir.

#4. Yukarıda verilen dairesel kuyruk üzerinde elemanSil() fonksiyonu bir defa çalıştığında kuyruktaki hangi eleman silinir?
Cevap : B) 65
Açıklama : Kuyruk (Queue) FIFO (İlk Giren İlk Çıkar) prensibine göre çalışır. Kuyruktan eleman silme (dequeue) işlemi “front” (ön/baş) noktasından yapılır. Şekilde, 65 elemanı kuyruğa ilk giren eleman olduğu ve front’u işaret ettiği için silinecek ilk elemandır.
#5. Elemanları {29,19,89,1,7} olarak verilen dizinin Seçerek Sıralama (Selection Sort) algoritmasıyla artan sırada (küçükten büyüğe) sıralanması isteniyor.
Algoritmanın çalışması, ilk önce dizinin aşağıdaki hangi elemanın seçilmesi ve seçilen bu elemanın diger elemanlarla karşılaştırılmasıyla başlar?
Cevap : E) 29
Açıklama : Seçerek Sıralama (Selection Sort) algoritması, ilk adımda dizinin ilk elemanını (indeks 0) geçici olarak en küçük kabul eder. Dizinin ilk elemanı {29} olduğu için, algoritma ilk önce 29’u seçer ve onu dizinin geri kalanıyla (19, 89, 1, 7) karşılaştırarak en küçüğü aramaya başlar.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
#6. int dizi [3][4];
Bir C programında yukarıdaki şekilde bir dizi tanımlanmıştır. Program çalıştırıldığında dizinin dizi[2][3] elemanın ana bellekteki adresi kaç olur? (Hesaplamalarda dizi adresi 1000, dizinin bir elemanının maliyeti 4 Byte olarak alınacaktır.)
Cevap : A) 1044
Açıklama : İki boyutlu bir dizide (örn: [satır][sütun]) bir elemanın adresi şu formülle bulunur: Adres = Başlangıç_Adresi [ (istenilen_satır * toplam_sütun_sayısı) istenilen_sütun ] * eleman_boyutu.
Toplam Sütun Sayısı = 4. Eleman Boyutu = 4 Byte. Başlangıç = 1000.
İstenen eleman: dizi[2][3]
Adres = 1000 [ (2 * 4) 3 ] * 4 = 1000 44 = 1044.

#7. Levelorder yöntemiyle düğümleri [50, 60, 70, 80, 85, 90, 95] şeklinde yazdırılan ağacın doğru çizilmiş şekli yukarıda verilen şekillerden hangisidir?
Cevap : C) II
Açıklama : “Level-order” (Seviye sırasıyla) dolaşma, ağacı en üst seviyeden (kök) başlayarak katman katman, soldan sağa doğru gezer.
Verilen dizi: [50, 60, 70, 80, 85, 90, 95]
Seviye 0 (Kök): 50
Seviye 1: 60, 70
Seviye 2: 80, 85, 90, 95
Bu yapıya tam olarak uyan ağaç II numaralı görseldir.
push (1), push (2), pop, push (1), push (2 ), pop, pop, pop, push (2), pop.
#8. Başlangıçta boş olan bir yığın(stack) üzerinde yukarıda verilen işlemler sıralı olarak gerçekleştirilmiştir. Bu işlemler sonunda yığından çıkarılan veriler aşağıdaki hangi seçenekte doğru olarak sıralanmıştır?
Cevap : C) 22112

#9. Yukarıda verilen ve içerisinde özyinelemeli (recursive) fonksiyon bulunan program çalıştırıldığında son değişkeninin değeri kaç olarak hesaplanır?
Cevap : E) 24
Açıklama : Kod, hesap(4) fonksiyonunu çağırmaktadır. Bu fonksiyon return n * hesap(n-1) şeklinde tanımlanmıştır. Bu, faktöriyel hesabıdır.
hesap(4) = 4 * hesap(3)
hesap(3) = 3 * hesap(2)
hesap(2) = 2 * hesap(1)
hesap(1) = 1 (dönüş koşulu)
Sonuç = 4 * 3 * 2 * 1 = 24.
#10. Kuyruk veri yapısında dolu olan bir kuyruğa, eleman eklenmek istendiğinde aşağıdaki seçeneklerde verilenlerden hangisi hata olarak döner?
Cevap : D) Overflow
Açıklama : “Overflow” (Taşma), bir veri yapısının (kuyruk, yığın vb.) kapasitesi doluyken ona yeni bir eleman eklemeye çalışıldığında meydana gelen hata durumudur. “Underflow” (Boşalma) ise boş bir yapıdan eleman çıkarmaya çalışmaktır. “Stackoverflow” yığına özel bir taşma hatasıdır.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
#11. Yığın (Stack) veri yapısı için aşağıda verilenlerden hangisi vanlıştır?
Cevap : B) Yığın veri yapısında yığına eleman ekleme ve çıkarma işlemleri farklı iki noktadan yapılır.
Açıklama : Yığın (Stack) LIFO (Son Giren İlk Çıkar) prensibine göre çalışır. Hem eleman ekleme (push) hem de eleman çıkarma (pop) işlemleri yığının “tepe” (top) adı verilen aynı tek bir noktasından yapılır. Farklı iki noktadan (ön ve arka) işlem yapısı Kuyruk (Queue) veri yapısına aittir.

#12. Şekildeki Ağaç veri yapısında, (H) düğümünün yolu (path) tam ve doğru olarak aşağıdaki seçeneklerden hangisinde verilmiştir?
Cevap : D) A, B, E, H
Açıklama : Bir düğümün “yolu” (path), kök düğümden o düğüme kadar ziyaret edilen tüm düğümlerin sırasıyla yazılmasıdır. H düğümüne ulaşmak için Kök (A)’dan başlayıp B’ye, oradan E’ye ve son olarak H’ye gitmek gerekir. Yol: A -> B -> E -> H.
#include
int faktoriyel(int n) {
if (n == 1)
return 1;
else
return n * faktoriyel(n - 1);
}
int main() {
printf("Sonuc = %d", faktoriyel(3));
return 0;
}
#13. Yukarıda verilen programda özyinelemeli (Recursive) fonksiyona ait “Genel Durum (General Case): Özyinelemeli Durum” ifadesi kaçıncı satırda yazılmıştır?
Cevap : E) 6
Açıklama : Özyinelemeli (recursive) fonksiyonlarda iki durum vardır: 1) Temel Durum (Base Case): Fonksiyonun durma koşuludur (Satır 3-4). 2) Genel Durum (Recursive Case): Fonksiyonun kendini tekrar çağırdığı yerdir. Bu kodda genel durum else bloğundaki **return n*faktoriyel(n-1);** satırıdır (6. satır).
#14. Sonlu sayıda düğümleri bulunan, düğümlerini birbirine bağlayan kenarları olan ve döngü içermeyen veri yapısı aşağıdakilerden hangisidir?
Cevap : B) Ağaç Veri Yapısı
Açıklama : Bu, “Ağaç” (Tree) veri yapısının tanımıdır. Ağaçlar, hiyerarşik bir yapı gösteren, düğüm (node) ve kenarlardan (edge) oluşan, ancak (bağlı listelerin aksine) “döngü” (cycle) içermeyen veri yapılarıdır.
#15. Eleman ekleme işleminin sondan (rear), eleman çıkarma işleminin baştan (front) yapıldığı doğrusal veri yapısı aşağıdakilerden hangisidir?
Cevap : C) Kuyruk Veri Yapısı
Açıklama : Bu, “Kuyruk” (Queue) veri yapısının tanımıdır. Kuyruk, FIFO (İlk Giren İlk Çıkar) prensibine göre çalışır. Elemanlar bir uçtan (rear – arka/son) eklenir ve diğer uçtan (front – ön/baş) çıkarılır (Tıpkı bir bilet kuyruğu gibi).
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
#16. Tek yönlü bağlı listenin son elemanında, listenin başındaki elemanı gösterecek bir işaretçi bulundurularak oluşturulan veri yapılarına verilen ad aşağıdakilerden hangisidir?
Cevap : C) Tek yönlü dairesel bağlı liste veri yapısı
Açıklama : Tek yönlü bağlı listede son elemanın işaretçisi normalde NULL (boş) gösterir. Eğer bu son elemanın işaretçisi, listenin ilk elemanını (Head) gösterecek şekilde ayarlanırsa, liste “dairesel” bir yapı kazanır. Buna “Tek Yönlü Dairesel Bağlı Liste” (Circular Singly Linked List) denir.
#17. Elemanları {10,8,6,4} şeklinde verilen dizi, Kabarcık Sıralaması (Bubble Sort) algoritması ile artan sırada (küçükten büyüğe) sıralaıyor.
Dizinin sıralanması sırasında, algoritmanın adımları sonrasında (Sırasıyla 1. Adım, 2. Adım ve 3. Adım) oluşacak diziler aşağıdaki seçeneklerin hangisinde doğru olarak verilmiştir?
Cevap : D) [8,6,4,10] [6,4,8,10][4,6,8,10]
Açıklama : Kabarcık Sıralaması’nda her adımda en büyük eleman “kabarcık” gibi sona doğru ilerler.
Başlangıç: {10, 8, 6, 4}
1. Adım (10 ile 8, 10 ile 6, 10 ile 4 yer değiştirir): {8, 6, 4, 10}
2. Adım (8 ile 6, 8 ile 4 yer değiştirir): {6, 4, 8, 10}
3. Adım (6 ile 4 yer değiştirir): {4, 6, 8, 10}
Sıralı dizi adımları: [8,6,4,10] [6,4,8,10] [4,6,8,10]
Elemanları {8, 9, 5, 4, 0, -1, 10, 7} olarak verilen bir dizinin, birleştirmeli sıralama (merge sort) algoritması ile sıralanması isteniyor. Bunun için dizi elemanları önce aşağıda gösterildiği gibi birer elemandan oluşan alt dizilere bölünüyor:
![]()
[8] [9] [5] [4] [0] [-1] [10] [7]
#18. Dizinin sıralanabilmesi için, yukarıdaki işlemden sonraki adımda alt dizilerin önce ikişerli olarak birleştirilmesi gerekiyor. Bu birleştirme işleminin sonucu aşağıdaki seçeneklerden hangisinde doğru olarak verilmiştir?
Cevap : A) [8,9] [4,5] [-1,0] [7,10]
Açıklama : Birleştirmeli Sıralama (Merge Sort) “böl ve yönet” ilkesiyle çalışır. İkinci adımda, tek elemanlı alt diziler ikişerli olarak birleştirilirken aynı zamanda sıralanırlar.
{8} ve {9} -> [8, 9]
{5} ve {4} -> [4, 5]
{0} ve {-1} -> [-1, 0]
{10} ve {7} -> [7, 10]
Bu sonucu veren şık A seçeneğidir.
#19. Çift yönlü bağlı listelerin düğümlerinde kaç adet farklı veri tutulabilir?
Cevap : D) Herhangi bir sınırlama yoktur.
Açıklama : Çift yönlü bağlı listelerin düğümleri (node), genellikle veri (data), önceki düğümün adresi (prev) ve sonraki düğümün adresi (next) olmak üzere en az 3 parçadan oluşur. Ancak “veri” (data) alanında kaç adet farklı bilgi (isim, yaş, maaş vb.) tutulacağına dair teorik bir sınırlama yoktur. Bu, programcının ihtiyacına göre değişir.

#20. Yukarıda verilen şekil tek yönlü bir bağlı listeyi göstermektedir. Listede soru işareti ile gösterilen yere aşağıdaki seçeneklerde verilenlerden hangisi yazılmalıdır?
Cevap : E) 200
Açıklama : Tek yönlü bağlı listede, her düğümün “Next” (Sonraki) işaretçisi, kendisinden sonra gelen düğümün bellek adresini tutar. “Head” (Başlangıç) düğümü 100 adresindedir ve “Next” işaretçisi 200’ü göstermektedir. Bu, bir sonraki düğümün 200 numaralı bellek adresinde başladığı anlamına gelir. Soru işareti (?) de tam olarak bu düğümün bellek adresini sorduğu için cevap 200 olmalıdır.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
SONUÇ
Veri Yapıları 2024-2025 Final Soruları
Veri Yapıları 2024-2025 Final Soruları
Veri Yapıları 2024-2025 Final Soruları
Veri Yapıları: Temel Kavramlar, Sıralama Algoritmaları ve Ağaçlar |
|
@lolonolo_com |
Veri Yapıları 2024-2025 Final Soruları
Veri Yapıları 2024-2025 Final Soruları |
|
|---|---|
|
|
| @lolonolo_com |
Veri Yapıları 2024-2025 Final Soruları
![]() |
![]() |
![]() |
![]() |
Auzef sınav soruları, çıkmış sorular, deneme sınaları hepsi lolonolo’da ücretsiz.
Veri Yapıları 2024-2025 Final Soruları
Yönetim Bilişim Sistemleri Lisans
Öğrenci Dostu
LOLONOLO
Öğrenme Yönetim Sistemi





