Veri Yapıları - Tüm Sorular
Ünite 1
Soru 1
Veri yapısı kullanmadaki amaç nedir?
Seçenekler
A
Aynı görevlerin işlem adımlarını basitleştirmektir.
B
Farklı görevlerin zaman karmaşıklığını arttırmaktır.
C
Farklı görevlerin uzay ve zaman karmaşıklığını azaltmaktır.
D
Aynı görevlerin bellekte kapladığı alanı oranlamaktır.
E
Farklı görevlerin yalnızca görünürlüğünü arttırmaktır.
Açıklama:
Veri yapılarının kullanılmasındaki temel amaç, bilgisayarda yaptığımız farklı işlemleri hem daha hızlı hem de daha az bellek kullanarak gerçekleştirmektir. Örneğin bir veriyi ararken ya da silerken kullandığımız yapı doğru seçilirse işlem süresi çok kısalabilir. Kitapta da açıkça belirtildiği gibi, veri yapıları farklı görevlerin uzay (bellek) ve zaman (işlem süresi) karmaşıklığını azaltmak için vardır. Bu nedenle doğru cevap C şıkkıdır; diğer şıklar ya eksik ya da yanlış bilgi içermektedir.
Soru 2
Aşağıdakierden hangisi "Veri türü" kavramını en doğru şekilde tanımlar?
Seçenekler
A
Derleyiciye veya yorumlayıcıya programcının verileri nasıl kullanmayı planladığını söyleyen bir veri sınıflandırmasıdır.
B
Derleyiciye veya yorumlayıcıya sayıları nasıl kullanmayı planladığını söyleyen bir sentezdir.
C
Programcının verileri nasıl kullanmayı planladığını analiz eden bir veri sınıflandırmasıdır.
D
Derleyiciye veya yorumlayıcıya asal verileri nasıl hesaplamayı söyleyen bir veri sınıflandırmasıdır.
E
Yorumlayıcıya programcının verileri nasıl hesaplaması gerektiğini söyleyen bir veri sınıflandırmasıdır.
Açıklama:
Veri türü, derleyiciye veya yorumlayıcıya programcının verileri nasıl kullanmayı planladığını söyleyen bir veri sınıflandırmasıdır.
Soru 3
"Bir programla girdiler ve çıktılar şeklinde olan etkileşimler, birçok dilde ..... olarak ele alınmaktadır." Cümlesindeki boşluğa aşağıdaki seçeneklerden hangisi gelmelidir?
Seçenekler
A
bayt akışı
B
veri seti
C
sayısal veri
D
kayan noktalı sayı
E
değişken
Açıklama:
Bir programla girdiler ve çıktılar şeklinde olan etkileşimler, birçok dilde bir bayt akışı olarak ele alınmaktadır.
Soru 4
Algoritma, adını kimden almıştır?
Seçenekler
A
el-Cezerî
B
İbn Huseyin
C
ibn-Erzen
D
el-Ahmed
E
el-Hârizmî
Açıklama:
Algoritma; adını 9.yy.’da yaşamış, Özbekistan’ın Harezm şehrinde doğmuş olan Ebu Abdullah Muhammed İbn Musa el-Hârizmî’den almıştır.
Soru 5
Aşağıdaki seçeneklerden hangisi algoritma yazmak için ihtiyaç olan ön koşullardan biri değildir?
Seçenekler
A
Bu algoritma ile çözülecek problemin net tanımı yapılmalıdır.
B
Problem çözülürken problemin kısıtları göz önünde bulundurulmalıdır.
C
Sorunu çözmek için alınacak girdi belirlenmelidir.
D
Sorun çözülmeden çıktılar ortaya konmalıdır.
E
Problemin çözümü, verilen kısıtlamalar dahilinde olmalıdır.
Açıklama:
Algoritma yazmak için ön koşul olarak aşağıdakilere ihtiyaç vardır:
• Bu algoritma ile çözülecek problemin net tanımı yapılmalıdır.
• Problem çözülürken problemin kısıtları göz önünde bulundurulmalıdır.
• Sorunu çözmek için alınacak girdi belirlenmelidir.
• Sorun çözüldüğünde beklenen çıktı belirlenmelidir.
• Problemin çözümü, verilen kısıtlamalar dahilinde olmalıdır.
• Bu algoritma ile çözülecek problemin net tanımı yapılmalıdır.
• Problem çözülürken problemin kısıtları göz önünde bulundurulmalıdır.
• Sorunu çözmek için alınacak girdi belirlenmelidir.
• Sorun çözüldüğünde beklenen çıktı belirlenmelidir.
• Problemin çözümü, verilen kısıtlamalar dahilinde olmalıdır.
Soru 6
Big-O notasyonu, ne için kullanılır?
Seçenekler
A
Bir algoritmanın yönünü veya zaman akışını (time line) hesaplamak
B
Bir algoritmanın performansını veya zaman karmaşıklığını (time complexity) hesaplamak için.
C
Zaman kavramını (time concept) hesaplamak için.
D
Algoritmanın performans yönünü (performance aspect) hesaplamak için.
E
Notasyonun performans kapasitesini (performance capacity) hesaplamak için.
Açıklama:
Big-O notasyonu, bir algoritmanın performansını veya zaman karmaşıklığını (time complexity) hesaplamak için kullanılır.
Soru 7
Bir algoritmanın büyük girdiler karşısındaki davranışını inceleyen matematiksel yönteme ne ad verilmektedir?
Seçenekler
A
Sabit analiz
B
Algoritma
C
Asimptotik analiz
D
Doğrusal analiz
E
Ayırıcı analiz
Açıklama:
Bir algoritmanın büyük girdiler karşısındaki davranışını inceleyen matematiksel yönteme Asimptotik analiz adı verilmektedir.
Soru 8
"........., en kötü durum için bir Asimptotik Gösterim veya belirli bir işlev için büyüme tavanı olarak tanımlanabilir." Cümlesindeki boşluğa aşağıdaki seçeneklerden hangisi gelmelidir?
Seçenekler
A
Genellikle S olarak yazılan Big-S
B
Genellikle O olarak yazılan Big-O
C
Genellikle C olarak yazılan Big-C
D
Genellikle K olarak yazılan Big-K
E
Genellikle L olarak yazılan Big-L
Açıklama:
Genellikle O olarak yazılan Big-O, en kötü durum için bir Asimptotik Gösterim veya belirli bir işlev için büyüme tavanı olarak tanımlanabilir.
Soru 9
Veri yapısı ile ilgili aşağıdaki bilgilerden hangisi hatalıdır?
Seçenekler
A
Veri yapısı, bir bilgisayardaki verileri etkin bir şekilde kullanılabilecek şekilde düzenlemenin özel bir yoludur.
B
Veri yapıları, verilerin bilgisayar ortamında yönetilmesi ve depolanmasını sağlayan veri nesneleri koleksiyonu olarak tanımlanabilir.
C
Veri yapısı kullanmadaki amaç, farklı görevlerin uzay ve zaman karmaşıklığını azaltmaktır.
D
İyi bir veri yapısı seçimi, çeşitli kritik işlemleri verimli bir şekilde gerçekleştirmeyi mümkün kılar.
E
Verimli bir veri yapısı, yapıyı işlemek için maksimum bellek alanı ve yürütme süresi kullanır.
Açıklama:
Veri yapısı bilgisayardaki dijital verileri depolamanın ve bu veriler üzerinde farklı eylemleri gerçekleştirmenin en kolay yolunu sağlayan bir veri ögeleri grubudur. Veri yapısı, bir bilgisayardaki verileri etkin bir şekilde kullanılabilecek şekilde düzenlemenin özel bir yoludur. Veri yapıları, verilerin bilgisayar ortamında yönetilmesi ve depolanmasını sağlayan veri nesneleri koleksiyonu olarak tanımlanabilir. Çeşitli veri yapıları türleri olarak: ağaç (tree) yapıları, yığınlar (stack), diziler (array), kuyruklar (queues), listeler vb. örnek gösterilebilir. Veri yapısı kullanmadaki amaç, farklı görevlerin uzay ve zaman karmaşıklığını azaltmaktır. İyi bir veri yapısı seçimi, çeşitli kritik işlemleri verimli bir şekilde gerçekleştirmeyi mümkün kılar. Verimli bir veri yapısı, yapıyı işlemek için minimum bellek alanı ve yürütme süresi kullanır. Geliştirilen hemen hemen her program veya yazılım sisteminde kullanılan farklı temel ve gelişmiş veri yapıları bulunmaktadır. Bu yüzden verimli çalışan bir program haz
Soru 10
Algoritma tarafından tüketilen bellek miktarına ne ad verilir?
Seçenekler
A
Bellek karmaşıklığı
B
Uzay/Alan karmaşıklığı
C
Doğrusal zaman karmaşıklığı
D
Karekök zaman karmaşıklığı
E
Kübik zaman karmaşıklığı
Açıklama:
Zaman karmaşıklığı, algoritma tarafından her bir talimat setini yürütmek için geçen zamandır. Basit bir problemin farklı yöntemlerle çözülebileceği durumlarda en verimli algoritmayı seçmenin her zaman daha iyi sonuç vereceği unutulmamalıdır.
Uzay/Alan karmaşıklığı genellikle algoritma tarafından tüketilen bellek miktarı olarak adlandırılır. Yardımcı alan ve girdi alanı olmak üzere iki farklı alandan oluşmaktadır.
Uzay/Alan karmaşıklığı genellikle algoritma tarafından tüketilen bellek miktarı olarak adlandırılır. Yardımcı alan ve girdi alanı olmak üzere iki farklı alandan oluşmaktadır.
Soru 11
Ücret verisi için hangi veri tipi kullanılmalıdır?
Seçenekler
A
float
B
int
C
byte
D
string
E
char
Açıklama:

Ücret verisinde TL ve kuruş gibi kesirli sayılarla belirtilebilen bir gerçek sayı (float, double) kullanılır.
Soru 12
Veri türü ve veri yapısı karşılaştırmalarından hangisi doğrudur?
Seçenekler
A
Veri yapısı, bir değerin atanabileceği bir değişkenin biçimidir.
B
Veri yapısı değer tutabilir ancak veri tutamaz.
C
Veri türlerinde zaman karmaşıklığı önemli bir rol oynar.
D
Veri yapılarında yalnızca depolanabilecek veri türü temsil edildiği için verilerin değeri saklanmaz.
E
Veri yapısı yığın, kuyruk, ağaç vb. örnek verilebilir.
Açıklama:
Tablo 1.2'ye göre A, B, C ve D seçeneklerindeki bilgiler sırasıyla veri türü, veri türü, veri yapısı ve veri türüne aittir. Sadece E seçeneğindeki bilgi doğrudur.


Soru 13
Aşağıdakilerden hangisi doğrusal olmayan veri yapılarına örnektir?
Seçenekler
A
Kuyruk
B
Ağaç
C
Yığın
D
Linkli Liste
E
Dizi
Açıklama:

Doğrusal (Linear) veri yapısı: Veri ögelerinin sıralı veya doğrusal olarak düzenlendiği, her ögenin önceki ve sonraki bitişik ögelere eklendiği veri yapısına doğrusal veri yapısı denir. Doğrusal veri yapılarına örnek olarak dizi, yığın, sıra, bağlantılı liste vb. verilebilir.
Statik veri yapısı: Statik veri yapısı sabit bir hafıza boyutuna sahiptir. Statik bir veri yapısındaki ögelere erişmek daha kolaydır. Diziler, bu veri yapısına örnek olarak verilebilir.
Dinamik veri yapısı: Dinamik veri yapısında boyut sabit değildir. Kodun çalışma zamanı sırasında, bellek (alan) karmaşıklığı ile ilgili olarak verimli kabul edilebileceği anda rastgele güncellenebilir. Kuyruk, yığın vb. bu veri yapısının örnekleri olarak verilebilir.
Doğrusal olmayan veri yapısı: Veri ögelerinin sıralı veya doğrusal olarak yerleştirilmediği veri yapılarına doğrusal olmayan veri yapıları denir. Doğrusal olmayan bir veri yapısında, tüm ögeleri yalnızca tek bir döngüde göremeyiz. Bu veri yapısına örnek olarak ağaçlar ve grafikler verilebilir
Soru 14
Aşağıdakilerden hangisi bir algoritmanın "sonluluk" özelliğini betimler?
Seçenekler
A
Algoritma bir dizi girdiye uygulanır.
B
Algoritma çıktı üretir.
C
Sınırlı sayıda komut yürütüldükten sonra algoritma durmalıdır.
D
Adımlar kesin olarak belirtilmelidir.
E
Her adımın sonucu benzersiz bir şekilde tanımlanır
Açıklama:
Bir algoritmanın özelliklerinden "sonluluk" sınırlı sayıda komut yürütüldükten sonra algoritmanın durması olarak tanımlanır.
Bir algoritmanın özellikleri:
• Kesinlik - adımlar kesin olarak belirtilmelidir.
• Benzersizlik - her adımın sonucu benzersiz bir şekilde tanımlanır ve yalnızca önceki adımların girdisine ve sonucuna bağlıdır.
• Sonluluk - sınırlı sayıda komut yürütüldükten sonra algoritma durmalıdır.
• Girdi - algoritma girdi alır.
• Çıktı - algoritma çıktı üretir.
• Genellik, Uygulanabilirlik - algoritma bir dizi girdiye uygulanır.
Bir algoritmanın özellikleri:
• Kesinlik - adımlar kesin olarak belirtilmelidir.
• Benzersizlik - her adımın sonucu benzersiz bir şekilde tanımlanır ve yalnızca önceki adımların girdisine ve sonucuna bağlıdır.
• Sonluluk - sınırlı sayıda komut yürütüldükten sonra algoritma durmalıdır.
• Girdi - algoritma girdi alır.
• Çıktı - algoritma çıktı üretir.
• Genellik, Uygulanabilirlik - algoritma bir dizi girdiye uygulanır.
Soru 15
Seçenekler
A
Başla / Bitir
B
Bağlantı
C
Karşılaştırma ve Karar
D
Döngü
E
Ekran Çıktısı
Açıklama:

Akış şemalarındaki şekiller, algoritmanın en net ve anlaşılır şekilde gösterimi için kullanılmaktadır. Akışta kullanılan şekillerin içlerine; algoritmadaki gibi uzun atamalar, karşılaştırma ve uzun değişken isimleri yazılması tavsiye edilmez. Şekiller anlamayı zorlaştırmayacak bir biçimde kullanılmalıdır. Tablo 1.3'e göre soru kökünde verilen şekil akış şemalarında döngü anlamını taşır.
Soru 16
Kabarcıkla sıralama (bubble sort), seçimle sıralama (selection sort) ve araya girerek sıralama (insertion sort) gibi genel olarak kullanılan bir sıralama algoritması için çalışma zamanı nasıl hesaplanır?
Seçenekler
A
O(N²) - Kuadratik Zaman Karmaşıklığı
B
O(sqrt(N)) - Karekök Zaman Karmaşıklığı
C
O(N³) - Kübik Zaman Karmaşıklığı
D
O(N^c) - Polinom Zaman Karmaşıklığı
E
O(c^N) - Üstel Zaman Karmaşıklığı
Açıklama:
Kod 1.8
for( int i = 0; i < n; i++)
for( int j = 0; j < n; j++)
sayac++;
Algoritmanın çalışma süresi, N kez doğrusal bir işlem gerçekleştirmenin bir sonucudur yani N ile N çarpımı olarak hesaplanır. Kabarcıkla sıralama (bubble sort), seçimle sıralama (selection sort) ve araya girerek sıralama (insertion sort) gibi genel olarak kullanılan bir sıralama algoritması O(N²) alır.
for( int i = 0; i < n; i++)
for( int j = 0; j < n; j++)
sayac++;
Algoritmanın çalışma süresi, N kez doğrusal bir işlem gerçekleştirmenin bir sonucudur yani N ile N çarpımı olarak hesaplanır. Kabarcıkla sıralama (bubble sort), seçimle sıralama (selection sort) ve araya girerek sıralama (insertion sort) gibi genel olarak kullanılan bir sıralama algoritması O(N²) alır.
Soru 17
Bir algoritmanın büyük girdiler karşısındaki davranışını inceleyen matematiksel yönteme ne ad verilir?
Seçenekler
A
Asimptotik analiz
B
Akış şeması
C
Algoritma tasarımı
D
Veri türü
E
Veri yapısı
Açıklama:
Algoritma adımlarının çalışması için gerekli sürenin yani zaman karmaşıklığının alt ve üst sınırlarının matematiksel olarak gösterilmesini sağlayan bir algoritma analizi metodudur. Algoritmaların asimptotik analizi, Büyük O notasyonu ile ifade edilmektedir.
Bir algoritmanın büyük girdiler karşısındaki davranışını inceleyen matematiksel yönteme Asimptotik analiz adı verilmektedir.
Bir algoritmanın büyük girdiler karşısındaki davranışını inceleyen matematiksel yönteme Asimptotik analiz adı verilmektedir.
Soru 18
Bir sayının asal sayı olup olmadığını gösteren algoritmanın zaman karmaşıklığını aşağıdakilerden hangisi gösterir?
Seçenekler
A
O(sqrt(N))
B
O(NLogN)
C
O(N²)
D
O(N³)
E
O(N!)
Açıklama:
Kod 1.7
bool asalSayimi(int sayi) {
if (sayi == 2) return true;
if (sayi < 2) return false;
for (int i = 2; i <= sqrt(sayi); i ++)
if (sayi%i == 0) return false;
return true;
}
Algoritmanın çalışma süresi, girdi boyutunun karekökü kadar azaltılır. Örnek olarak, bir sayının asal olup olmadığını sadece karekökü olana kadar döngüye girerek kontrol edilebilir.
bool asalSayimi(int sayi) {
if (sayi == 2) return true;
if (sayi < 2) return false;
for (int i = 2; i <= sqrt(sayi); i ++)
if (sayi%i == 0) return false;
return true;
}
Algoritmanın çalışma süresi, girdi boyutunun karekökü kadar azaltılır. Örnek olarak, bir sayının asal olup olmadığını sadece karekökü olana kadar döngüye girerek kontrol edilebilir.
Soru 19
Veri yapıları, verilerin bilgisayar ortamında ________ ve ________ en kolay yolunu sağlar.
Yukarıdaki ifadede boş bırakılan yere aşağıdaki seçeneklerden hangisi gelmelidir?
Yukarıdaki ifadede boş bırakılan yere aşağıdaki seçeneklerden hangisi gelmelidir?
Seçenekler
A
işlenmesi - yazdırılması
B
depolanması - işlenmesi
C
silinmesi - taşınması
D
sıkıştırılması - kopyalanması
E
kontrol edilmesi - aktarılması
Açıklama:
Veri yapısı bilgisayardaki dijital verileri depolamanın ve bu veriler üzerinde farklı eylemleri gerçekleştirmenin en kolay yolunu sağlayan bir veri öğeleri grubudur.
Depolamak: Verilerin RAM veya disk gibi donanımlarda uygun şekilde saklanmasını sağlar.
İşlemek: Bu depolanan veriler üzerinde sıralama, arama, güncelleme, ekleme, silme gibi işlemler yapılmasını ifade eder.
A) işlenmesi - yazdırılması:
Yazdırma (output) veri yapısının ana işlevi değildir, bu daha çok "çıkış işlemi"dir. Sadece işleme ve yazdırma kombinasyonu eksik bir ifadedir.
C) silinmesi - taşınması:
Silme ve taşıma işlemleri veri yapılarıyla yapılabilir ama bunlar temel değil, ikincil işlemlerdir.
D) sıkıştırılması - kopyalanması:
Bu işlemler daha çok veri sıkıştırma algoritmaları ve dosya sistemleri ile ilgilidir. Veri yapılarının doğrudan fonksiyonları değildir.
E) kontrol edilmesi - aktarılması:
Kontrol ve veri aktarımı, ağ protokolleri ve işletim sistemi düzeyindeki işlemlerdir. Veri yapılarının ana amacıyla ilgili değildir.
Doğru cevap B seçeneğidir.
Depolamak: Verilerin RAM veya disk gibi donanımlarda uygun şekilde saklanmasını sağlar.
İşlemek: Bu depolanan veriler üzerinde sıralama, arama, güncelleme, ekleme, silme gibi işlemler yapılmasını ifade eder.
A) işlenmesi - yazdırılması:
Yazdırma (output) veri yapısının ana işlevi değildir, bu daha çok "çıkış işlemi"dir. Sadece işleme ve yazdırma kombinasyonu eksik bir ifadedir.
C) silinmesi - taşınması:
Silme ve taşıma işlemleri veri yapılarıyla yapılabilir ama bunlar temel değil, ikincil işlemlerdir.
D) sıkıştırılması - kopyalanması:
Bu işlemler daha çok veri sıkıştırma algoritmaları ve dosya sistemleri ile ilgilidir. Veri yapılarının doğrudan fonksiyonları değildir.
E) kontrol edilmesi - aktarılması:
Kontrol ve veri aktarımı, ağ protokolleri ve işletim sistemi düzeyindeki işlemlerdir. Veri yapılarının ana amacıyla ilgili değildir.
Doğru cevap B seçeneğidir.
Soru 20
Aşağıdakilerden hangisi veri türlerine örnek olarak verilemez?
Seçenekler
A
int
B
float
C
queue
D
bool
E
char
Açıklama:
A) int
Veri türüdür.
Tamsayıları temsil eder. Örneğin:int sayi = 42;
B) float
Veri türüdür.
Ondalıklı (kayan noktalı) sayılar için kullanılır. Örneğin:float pi = 3.14f;
D) bool
Veri türüdür.
Mantıksal değerleri ifade eder (true/false). Örneğin:bool aktifMi = true;
E) char
Veri türüdür.
Tek bir karakter tutar. Örneğin:char harf = 'A';
C) queue
Veri türü değil, veri yapısıdır.queue(kuyruk) bir veri yapısıdır ve veri türü gibi doğrudan bir değeri temsil etmez.
Örneğin: C# veya Java’daQueuegibi tanımlanır.kuyruk = new Queue ();
Kuyruk yapısı, "ilk giren ilk çıkar (FIFO)" prensibiyle çalışır.
Temel Fark:
| Kavram | Tanım | Örnek |
|---|---|---|
| Veri Türü | Değişkenin taşıyacağı veri biçimi | int, float, char, bool |
| Veri Yapısı | Verilerin organize edilme şekli | queue, stack, list |
Soru 21
Aşağıdakilerden hangisi bir veri yapısının avantajlarından biri değildir?
Seçenekler
A
Hafızanın verimli kullanılması
B
İşlem hızının artırılması
C
Soyutlama sağlaması
D
Kod okunabilirliğini azaltması
E
Yeniden kullanılabilir olması
Açıklama:
A) Hafızanın verimli kullanılması
- Doğrudur. Veri yapıları, belleğin gereksiz kullanımını engelleyerek verimli depolamaya olanak tanır.
Örneğin, sabit boyutlu dizi yerine bağlı liste kullanmak dinamik alan yönetimi sağlar.
B) İşlem hızının artırılması
- Doğrudur. Etkin veri yapısı kullanımı (örneğin:
hash tableveyaağaç) işlem sürelerini ciddi şekilde azaltabilir.
C) Soyutlama sağlaması
- Doğrudur. Veri yapıları, verilerin nasıl tutulduğunu soyutlayarak programcının sadece işlevselliğe odaklanmasını sağlar.
Örneğin: Yığın (stack) kullanırken yalnızca push/pop metodunu bilmek yeterlidir, alt yapı detayları soyutlanır.
D) Kod okunabilirliğini azaltması
- Yanlıştır. İyi tanımlanmış veri yapıları kodun okunabilirliğini artırır, azaltmaz.
- Net sınıf ve metod kullanımı kodun bakımını kolaylaştırır.
- Karmaşık işlemler basitleşir ve modüler hale gelir.
- Net sınıf ve metod kullanımı kodun bakımını kolaylaştırır.
E) Yeniden kullanılabilir olması
- Doğrudur. Veri yapıları, birden fazla projede tekrar tekrar kullanılabilir. Özellikle kütüphane sınıfları olarak tasarlanmış veri yapıları tekrar kullanımı destekler.
Sonuç:
- Veri yapıları yazılım mühendisliğinde birçok fayda sağlar.
- Ancak D şıkkındaki ifade, veri yapılarının avantajı değil, aksi bir durumdur.
- Bu yüzden doğru cevap: D) Kod okunabilirliğini azaltması
Soru 22
Bir algoritma oluşturulurken problemin net tanımı yapılmalı ve alınacak ________ ile beklenen ________ belirlenmelidir.
Yukarıdaki ifadede boş bırakılan yere aşağıdaki seçeneklerden hangisi gelmelidir?
Yukarıdaki ifadede boş bırakılan yere aşağıdaki seçeneklerden hangisi gelmelidir?
Seçenekler
A
çözüm - formül
B
çıktı - sonuç
C
girdi - çıktı
D
etki - tepki
E
analiz - algoritma
Açıklama:
Bir algoritma yazmak için şu adımlar izlenmelidir:
Girdi (Input) Nedir?
Çıktı (Output) Nedir?
A) çözüm - formül
B) çıktı - sonuç
D) etki - tepki
E) analiz - algoritma
Doğru cevap C) girdi - çıktı çünkü algoritmanın amacı, verilen girdilere göre anlamlı çıktılar üretmektir.
Problemin net tanımı yapılmalıdır
Girdi belirlenmelidir
Beklenen çıktı tanımlanmalıdır
Kısıtlar göz önünde bulundurulmalıdır
Çözüm, bu parametrelere uygun hazırlanmalıdır
Girdi (Input) Nedir?
Algoritmanın başında kullanıcıdan alınan veya dış dünyadan gelen verilerdir.
Örneğin: Bir dairenin alanını hesaplayan algoritma için yarıçap bir girdidir.
Çıktı (Output) Nedir?
Algoritmanın sonunda üretilen sonuçlardır.
Örneğin: Dairenin alanı (πr²) çıktıdır.
A) çözüm - formül
"Çözüm" sürecin kendisi, "formül" sadece bir matematiksel ifadedir. Algoritma tanımında yetersizdir.
B) çıktı - sonuç
"Çıktı" ve "sonuç" aynı anlama gelir, bu ifade tekrar içerir.
D) etki - tepki
Bu daha çok fiziksel sistemlerde kullanılan bir kavramdır, algoritma bağlamında belirsizdir.
E) analiz - algoritma
Bu ifade de kavram karmaşasına yol açar. Analiz süreciyle algoritma oluşturmak farklı aşamalardır.
Doğru cevap C) girdi - çıktı çünkü algoritmanın amacı, verilen girdilere göre anlamlı çıktılar üretmektir.
Soru 23
Bir öğrenci not hesaplama sistemi için algoritma yazılmak isteniyor. Hangi adım ilk olarak gerçekleştirilmelidir?
Seçenekler
A
Akış şeması çizimi
B
Çözüm algoritması oluşturma
C
Kodlama yapmak
D
Programlama dili belirleme
E
Problemin net tanımı
Açıklama:
Algoritma yazmak için ön koşul olarak aşağıdakilere ihtiyaç vardır:
Neden "problemin net tanımı" ilk adımdır?
“E) Problemin net tanımı”dır.
- Bu algoritma ile çözülecek problemin net tanımı yapılmalıdır.*
- Girdiler belirlenmelidir
- Beklenen çıktı tanımlanmalıdır
- Kısıtlar göz önüne alınmalıdır"
Neden "problemin net tanımı" ilk adımdır?
- Algoritmanın temelini oluşturur.
- Ne çözüleceği bilinmezse neyi yazacağımız da belli olmaz.
- Belirsiz ya da eksik tanımlanmış bir problem → hatalı algoritma.
- Girdiler ve çıktılar ancak problemin ne olduğu anlaşıldıktan sonra belirlenebilir.
“E) Problemin net tanımı”dır.
Soru 24
Aşağıdaki karmaşıklık terimlerinden hangileri sabitten büyüktür ama n²’den küçüktür?
I. O(log n)
II. O(n)
III. O(n log n)
IV. O(n3)
I. O(log n)
II. O(n)
III. O(n log n)
IV. O(n3)
Seçenekler
A
Yalnız II
B
Yalnız IV
C
I ve II
D
I, II ve III
E
I, II ve IV
Açıklama:
Zaman karmaşıklıklarının artış sırası:
O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(n³) < O(2ⁿ) < O(n!)
Hangi karmaşıklık terimleri O(1)’den (sabitten) büyük, ama O(n²)’den küçüktür?
Doğru cevap: D) I, II ve III
O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(n³) < O(2ⁿ) < O(n!)
Hangi karmaşıklık terimleri O(1)’den (sabitten) büyük, ama O(n²)’den küçüktür?
I. O(log n)
Sabitten büyüktür.
n²’den küçüktür. Dahil edilir.
II. O(n)
O(log n)’den büyük, O(n²)’den küçük Dahil edilir.
III. O(n log n)
O(n)’den büyük ama O(n²)’den küçüktür Dahil edilir.
IV. O(n³)
O(n²)’den büyüktür. Dahil edilmez.
Doğru cevap: D) I, II ve III
Soru 25
- Algoritma başlatılır.
- Kullanıcıdan bir sayi alınır.
- sayi % 2 == 0 koşulu test edilir.
- Koşul doğruysa “Çift sayı” yazdırılır.
- Koşul yanlışsa “Tek sayı” yazdırılır.
- Algoritma sonlandırılır.
Yukarıda verilen algoritma adımları için doğru sembol eşleştirmesi aşağıdaki seçeneklerden hangisinde yer almaktadır?
Seçenekler
A
- Başlangıç/Bitiş
- Giriş/Çıkış
- Karar
- İşlem
- İşlem
- Başlangıç/Bitiş
B
- İşlem
- Giriş/Çıkış
- Giriş/Çıkış
- Karar
- İşlem
- İşlem
C
- Giriş/Çıkış
- İşlem
- Karar
- İşlem
- Giriş/Çıkış
- Başlangıç/Bitiş
D
- Başlangıç/Bitiş
- İşlem
- İşlem
- Karar
- İşlem
- Başlangıç/Bitiş
E
- Başlangıç/Bitiş
- Giriş/Çıkış
- Karar
- Giriş/Çıkış
- Giriş/Çıkış
- İşlem
Açıklama:
| Adım No | Ne yapılıyor? | Doğru Sembol | Açıklama |
|---|---|---|---|
| 1 | Başlat | Başlangıç/Bitiş (oval) | Algoritmanın başlangıcıdır. |
| 2 | Veri girişi (sayi) | Giriş/Çıkış (paralelkenar) | Kullanıcıdan bilgi alınır. |
| 3 | Koşul testi (sayi % 2 == 0) | Karar (elmas) | Mantıksal kontrol yapılır. |
| 4 | “Çift sayı” yazdırılır | İşlem (dikdörtgen) | Bir işlem gerçekleştirilir. |
| 5 | “Tek sayı” yazdırılır | İşlem (dikdörtgen) | Alternatif bir işlem yapılır. |
| 6 | Sonlandırma | Başlangıç/Bitiş (oval) | Akış sona erer. |
Soru 26
A = 1
B = 2
for i = 1 to n:
for j = 1 to n:
A = A + i + j
for k = 1 to n:
B = B * k
return A + B
Bu algoritmanın zaman karmaşıklığı Big O notasyonu hangi seçenekte doğru olarak verilmiştir?
B = 2
for i = 1 to n:
for j = 1 to n:
A = A + i + j
for k = 1 to n:
B = B * k
return A + B
Bu algoritmanın zaman karmaşıklığı Big O notasyonu hangi seçenekte doğru olarak verilmiştir?
Seçenekler
A
O(n³)
B
O(n²)
C
O(n log n)
D
O(n)
E
O(1)
Açıklama:
A = 1 ve B = 2
Sabit süreli işlemlerdir → O(1)
for i = 1 to n:
for j = 1 to n:A = A + i + j
Bu iç içe döngü n × n = n² kez çalışır.
→ O(n²)
for k = 1 to n:
B = B * k
Bu tek döngü n kez çalışır.
→ O(n)
Toplam Karmaşıklık:
O(1) + O(n²) + O(n)
Asimptotik olarak baskın olan terim belirleyici olur → Doğru Cevap: B) O(n²)
Soru 27
Bu algoritma için aşağıda verilen parçalardan doğru bir akış şeması oluşturulmak istenmektedir. Aşağıdaki eşleşmelerden hangisi hatalıdır?
Seçenekler
A
Sayı girişi için paralelkenar sembolü kullanılmalıdır.
B
Tek sayı kontrolü için karar (elmas) sembolü kullanılmalıdır.
C
Toplam = Toplam + i işlemi için işlem (dikdörtgen) sembolü kullanılır.
D
i'nin her artışında i = i + 1 işlemi bir işlem (dikdörtgen) kutusunda gösterilmelidir.
E
Döngü başlangıcı (i = 1) için başlangıç/bitiş (oval) sembolü kullanılır.
Açıklama:
Doğru Cevap: E) Döngü başlangıcı (i = 1) için başlangıç/bitiş (oval) sembolü kullanılır.
- Oval şekil, yalnızca algoritmanın başlatıldığı veya sonlandığı yerdir.
- Değişken başlatma (
i = 1) bir işlem olduğu için dikdörtgen ile gösterilmelidir.
Soru 28
def kosulluIslem(n):
for i in range(n):
if i % 2 == 0:
for j in range(n):
print(i, j)
Bu algoritmanın zaman karmaşıklığı Big O notasyonu hangi seçenekte doğru olarak verilmiştir?
for i in range(n):
if i % 2 == 0:
for j in range(n):
print(i, j)
Bu algoritmanın zaman karmaşıklığı Big O notasyonu hangi seçenekte doğru olarak verilmiştir?
Seçenekler
A
O(n²)
B
O(n log n)
C
O(5n)
D
O(n)
E
O(1)
Açıklama:
Dış döngü:
for i in range(n): nkez döner → O(n)
Koşul:
if i % 2 == 0:
Bu koşul n/2 kez doğrudur (çift sayılar için), ancak Big O notasyonunda sabit çarpanlar dikkate alınmaz.
Yani bu döngü yaklaşık n/2 kez iç döngüyü çalıştırır → yine de O(n) kabul edilir.
İç döngü:
for j in range(n):nkez çalışır → O(n)
Toplam karmaşıklık:
İç döngü yaklaşıkn/2kez çalışsa da → O(n) × O(n) = O(n²) Doğru cevap budur.
Ünite 2
Soru 1
Veri yapıları, bilgisayardaki verileri etkin bir şekilde kullanılabilecek şekilde düzenlemenin özel bir yoludur. Aşağıdakilerden hangisi sık kullanılan veri yapılardan değildir?
Seçenekler
A
Permütasyon
B
Sözlük
C
Küme
D
Dizi
E
Liste
Açıklama:
Permütasyon, diğer seçeneklerden farklı olarak sık kullanılan veri yapılardan değildir.
Soru 2
Bir dizi, bitişik bellek konumlarında depolanan ögeler topluluğudur. Buradaki amaç, aynı türden birden fazla ögeyi bir arada saklamaktır. Bu yapıda, bir temel değere yani dizinin ilk ögesinin bellek konumuna (genellikle dizinin adı ile gösterilir) bir ........................... eklenerek her bir ögenin konumunun hesaplanması kolaylaştırılmaktadır.
Yukarıda yer alan metindeki boşluğa aşağıdakilerden hangisi gelmelidir?
Yukarıda yer alan metindeki boşluğa aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
Küme
B
Ofset
C
Sembol
D
Değişken
E
Kelime
Açıklama:
Doğru yanıt ofset'tir.
Soru 3
Bir tek boyutlu dizi, şu değerlere sahip yedi eleman içersin: a, n, a, d, o, l ve u. İlk elemanın indeksi 0’a eşitse son elemanın indeksi kaç olur?
Seçenekler
A
-6
B
7
C
6
D
-7
E
0
Açıklama:
Tek boyutlu bir dizi, bir dizin tarafından erişilebilen aynı türdeki ögelerin bir koleksiyonunu depolamaktadır. C#’daki dizi indekslerinin sıfır tabanlı olduğu unutulmamalıdır. Bu, ilk ögenin indeksinin 0 olduğu, sonuncusunun ise dizinin uzunluğundan bir eksik indekse sahip olduğu anlamına gelmektedir. Dolayısıyla, İlk elemanın indeksi 0’a eşitken son elemanın indeksi 6 olur.
Soru 4
Hash tablosunun en önemli varsayımlarından biri; Anahtara dayalı bir Değer için çok hızlı arama
yapabilen, O(1) işlem karmaşıklığında arama işlemi yapabilmesi gerekmektedir. Bu amaca ulaşmak için Hash Fonksiyonu kullanılmaktadır. Değerin bulunabileceği bir Kova dizini (bucket) oluşturmak için ................................................. gerekmektedir.
Yukarıda yer verilen metindeki boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
yapabilen, O(1) işlem karmaşıklığında arama işlemi yapabilmesi gerekmektedir. Bu amaca ulaşmak için Hash Fonksiyonu kullanılmaktadır. Değerin bulunabileceği bir Kova dizini (bucket) oluşturmak için ................................................. gerekmektedir.
Yukarıda yer verilen metindeki boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
Anahtar
B
Algoritma
C
Dizi
D
Sözlük
E
Küme
Açıklama:
Doğru yanıt, anahtar'dır.
Soru 5
Hashtable sınıfı, hash tablosuyla ilgili sınıfların jenerik olmayan bir varyantıdır ancak anahtar ve değer için bir değişken tipi belirlenmesine izin vermediği için önemli bir sınırlaması vardır. Sözlük veri yapısında bu sınırlama kaldırılmıştır. DictionaryEntry sınıfının Key ve Value özelliklerinin ikisi de nesne türündedir bu nedenle tüm anahtarlar ve değerler aynı tipte olsa bile .......................................................................... işlemleri yapılması gerekmektedir.
Yukarıda yer verilen metindeki boş kısma aşağıdakilerden hangisi gelmelidir?
Yukarıda yer verilen metindeki boş kısma aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
Çarpma ve ters fonksiyon
B
Değer verme ve permütasyon
C
Kutulama ve kutudan çıkarma
D
Kümeleme ve kombinasyon
E
İndeksleme ve kümeleme
Açıklama:
Doğru yanıt, kutulama (boxing) ve kutudan çıkarma (unboxing) işlemleri olmalıdır.
Soru 6
Hash tabloları ile ilgili sınıfların hem genel olmayan hem de genel türevleri, ögelerin sırasını tutmaz bu nedenle koleksiyondaki verilere anahtarlara göre sıralanmış şekilde erişmek gerekiyorsa bunların kullanımdan önce sıralanması gerekir ancak bu sorunu çözmek ve anahtarları her zaman sıralı tutmak için başka bir veri yapısı olarak aşağıdakilerden hangisi kullanılabilir?
Seçenekler
A
Karma küme
B
Sıralanmış sözlük
C
Fonksiyonel küme
D
Aritmetik sözlük
E
Sıralanmış küme
Açıklama:
Doğru yanıt, sıralanmış sözlük olmalıdır.
Soru 7
C# dilinde uygulama geliştirirken System.Collections.Generic ad alanından HashSet sınıfının sağladığı yüksek performanslı işlemlerden yararlanılabilir. HashSet sınıfı, kümedeki ögelerin sayısını döndüren Count dahil olmak üzere birkaç özellik içermektedir. Ayrıca, küme işlemlerini gerçekleştirmek için birçok yöntem kullanılabilir.
Yaygın olarak kullanılan bir yöntemde, parametre olarak gönderilen küme ile yöntemin çağrıldığı geçerli kümeyi değiştirmeyi mümkün kılarak aşağıdakilerden hangisi oluşturulamaz?
Yaygın olarak kullanılan bir yöntemde, parametre olarak gönderilen küme ile yöntemin çağrıldığı geçerli kümeyi değiştirmeyi mümkün kılarak aşağıdakilerden hangisi oluşturulamaz?
Seçenekler
A
Birleşim
B
Kesişme
C
Çıkarma
D
Toplama
E
Simetrik fark
Açıklama:
İlk yöntem grubu, parametre olarak gönderilen küme ile aşağıdakileri oluşturmak için yöntemin çağrıldığı geçerli kümeyi değiştirmeyi mümkün kılmaktadır:
• Birleşim (UnionWith)
• Kesişme (IntersectWith)
• Çıkarma (ExceptWith)
• Simetrik fark (SmetricExceptWith)
Bunların arasında toplama bulunmamaktadır, doğru yanıt D seçeneğidir.
• Birleşim (UnionWith)
• Kesişme (IntersectWith)
• Çıkarma (ExceptWith)
• Simetrik fark (SmetricExceptWith)
Bunların arasında toplama bulunmamaktadır, doğru yanıt D seçeneğidir.
Soru 8
List; dizine göre erişilebilen ve sıralama, arama ve listeyi değiştirme yöntemlerine sahip, kesin olarak girilmiş nesneler topluluğudur. System.Collections.Generic ad alanı altında gelen ArrayList’in genel sürümüdür. Aşağıdakilerden hangisi, List'nin özellikleri arasında yer almaz?
Seçenekler
A
List, IList arayüzünü uygulayan ArrayList’in eşdeğeridir.
B
System.Collections.Generic ad alanı altında gelir.
C
Ögeler, Add(), AddRange() yöntemleri veya koleksiyon başlatıcı sözdizimi kullanılarak eklenebilir.
D
Ögelere bir dizin geçirilerek erişilebilir, örneğin listem[0]. İndeksler sıfırdan başlar.
E
List, belirtilen türdeki ögeleri içerebilir. Derleme zamanı tür denetimi sağlar ve kutulama/kutudan çıkarma işlemlerini gerçekleştirir.
Açıklama:
List, belirtilen türdeki ögeleri içerebilir. Derleme zamanı tür denetimi sağlar ve genel olduğu için kutulama/kutudan çıkarma (boxing/unboxing) gerçekleştirmez.
Soru 9
Aşağıdaki veri yapılarından hangisinin eleman sayısı ilk değer atama işleminden sonra değiştirilemez?
Seçenekler
A
Dizi
B
Sözlük
C
Küme
D
Hash Tabloları
E
Dizi Listesi
Açıklama:
Dizi işlemlerinde önemli olan, bir dizideki eleman sayısının ilk değer atama (initialization) işleminden sonra değiştirilememesidir bu nedenle dizinin sonuna veya dizi içinde belirli bir konuma kolayca yeni bir öge eklenememektedir. Bu tür özelliklere ihtiyaç varsa genel listeler gibi diğer veri yapılarını kullanabilirsiniz.
Dizi işlemlerinde önemli olan, bir dizideki eleman sayısının ilk değer atama (initialization) işleminden sonra değiştirilememesidir.
Dizi işlemlerinde önemli olan, bir dizideki eleman sayısının ilk değer atama (initialization) işleminden sonra değiştirilememesidir.
Soru 10
"sayilar[3][2] = 100" kodu yukarıdaki çok boyutlu dizi örneğinde hangi elemanın değerini 100 ile değiştirir?Seçenekler
A
2
B
5
C
7
D
12
E
15
Açıklama:
sayilar[3][2] = 100 kodu soru kökünde verilen dizinin dördüncü satır ve üçüncü sütunundaki eleman olan 12'yi 100 ile değiştirir.
Soru 11
Aşağıdaki yapılardan hangisi anahtara dayalı bir değer için çok hızlı arama yapabilmektedir?
Seçenekler
A
Hash tabloları
B
Sözlükler
C
Sıralanmış sözlükler
D
Karma kümeler
E
Sıralanmış kümeler
Açıklama:
Hash tablosunun en önemli varsayımlarından biri; Anahtara dayalı bir Değer için çok hızlı arama yapabilen, O(1) işlem karmaşıklığında arama işlemi yapabilmesi gerekmektedir. Bu amaca ulaşmak için Hash Fonksiyonu kullanılmaktadır. Değerin bulunabileceği bir Kova dizini (bucket) oluşturmak için Anahtar (key) gerekmektedir. Böylece anahtarın bir değerini bulmanız gerekiyorsa koleksiyondaki tüm ögelerin üzerinden tek tek geçilmesi gerekmez çünkü anahtara karşılık gelen uygun bir kovayı kolayca bulmak ve değeri almak için hash fonksiyonunu kullanabilirsiniz. Hash tablosunun mükemmel performansı sebebiyle bu veri yapısı; ilişkisel diziler, veritabanı indeksleri veya önbellek sistemleri gibi birçok gerçek dünya uygulamasında sıklıkla kullanılmaktadır.
Soru 12
Aşağıdakilerden hangisi sözlük veri yapısının hash tablosundan farkını açıklar?
Seçenekler
A
Anahtar ve değer için bir değişken tipi belirlenmesine izin verir.
B
Belirli bir ögeye erişmek için dizinleyiciyi kullanılabilir.
C
Anahtar null değerine eşit olamaz.
D
Aynı anahtar birden fazla kullanılamaz.
E
İndeksleyici kullanılarak belirli bir ögeye kolayca erişilebilir.
Açıklama:
Hashtable sınıfı, hash tablosuyla ilgili sınıfların jenerik olmayan bir varyantıdır ancak anahtar ve değer için bir değişken tipi belirlenmesine izin vermediği için önemli bir sınırlaması vardır. Sözlük veri yapısında bu sınırlama kaldırılmıştır. DictionaryEntry sınıfının Key ve Value özelliklerinin ikisi de nesne türündedir bu nedenle tüm anahtarlar ve değerler aynı tipte olsa bile kutulama (boxing) ve kutudan çıkarma (unboxing) işlemleri yapılması gerekmektedir. Hashtable sınıfına benzer şekilde, belirli bir ögeye erişmek için dizinleyiciyi de kullanılabilir.
Soru 13
Sıralanmış sözlük yapısında ulaşılmak istenen öge koleksiyonda bulunamaz ise aşağıdaki hatalardan hangisi alınacaktır?
Seçenekler
A
KeyNotFoundException
B
Run-time exception
C
OutOfMemory
D
No such file or directory
E
Type mismatch
Açıklama:
Hash tabloları ile ilgili sınıfların hem genel olmayan hem de genel türevleri, ögelerin sırasını tutmaz bu nedenle koleksiyondaki verilere anahtarlara göre sıralanmış şekilde erişmek gerekiyorsa bunların kullanımdan önce sıralanması gerekir ancak bu sorunu çözmek ve anahtarları her zaman sıralı tutmak için başka bir veri yapısı, sıralanmış sözlük kullanılabilir. Böylece gerektiğinde tasnif edilmiş koleksiyona kolayca ulaşılabilir. Ulaşılmak istenilen ögenin koleksiyonda var olduğundan emin olunmalıdır aksi takdirde KeyNotFoundException hatası alınacaktır.
Soru 14
Sıralanmış sözlük sınıfında tüm ögeleri kaldırmak için aşağıdakilerden yöntemlerden hangisi kullanılır?
Seçenekler
A
Count
B
Add
C
Remove
D
Clear
E
TryGetValue
Açıklama:
Sıralanmış sözlüklerde tüm ögeleri kaldırmak için (Clear) yöntemi kullanılır.
Sıralanmış sözlük sınıfı, içerdiği ögelerin sayısını (Count) almayı ve ayrıca anahtarlar ve değerler koleksiyonunu (sırasıyla Keys ve Values) döndürmeyi mümkün kılan birkaç özelliğe sahiptir. Ayrıca yeni bir öge eklemek (Add), bir ögeyi kaldırmak (Remove), tüm ögeleri kaldırmak (Clear), ayrıca koleksiyonun belirli bir anahtarı (ContainsKey) ve verilen değeri (ContainsValue) içerip içermediğini kontrol etmek gibi mevcut yöntemler kullanılabilir. Belirli bir anahtar için karşılık gelen bir değer varsa onu döndürmek veya bulunamadıysa null döndürmek için TryGetValue yöntemi kullanılabilir.
Sıralanmış sözlük sınıfı, içerdiği ögelerin sayısını (Count) almayı ve ayrıca anahtarlar ve değerler koleksiyonunu (sırasıyla Keys ve Values) döndürmeyi mümkün kılan birkaç özelliğe sahiptir. Ayrıca yeni bir öge eklemek (Add), bir ögeyi kaldırmak (Remove), tüm ögeleri kaldırmak (Clear), ayrıca koleksiyonun belirli bir anahtarı (ContainsKey) ve verilen değeri (ContainsValue) içerip içermediğini kontrol etmek gibi mevcut yöntemler kullanılabilir. Belirli bir anahtar için karşılık gelen bir değer varsa onu döndürmek veya bulunamadıysa null döndürmek için TryGetValue yöntemi kullanılabilir.
Soru 15
Yukarıdaki kod parçacığının çıktısı aşağıdakilerden hangisidir?Seçenekler
A
1 Eskisehir
2 Kocaeli
3 İstanbul
4 Ankara
5 Antalya
2 Kocaeli
3 İstanbul
4 Ankara
5 Antalya
B
Ankara
Antalya
Eskişehir
İstanbul
Kocaeli
Antalya
Eskişehir
İstanbul
Kocaeli
C
Eskişehir
Ankara
Antalya
İstanbul
Kocaeli
Ankara
Antalya
İstanbul
Kocaeli
D
Eskisehir (1), Kocaeli (2), İstanbul (3), Ankara (4), Antalya (5)
E
Eskisehir, Kocaeli, İstanbul, Ankara, Antalya
Açıklama:
Buna göre anahtar değerlerine göre sıralanan doğru seçenek A seçeneğidir.
Örnek kodda, 5 adet il adı karışık sıralarda sözlüğe eklenmiştir. Ardından sözlükteki anahtar ve değer çiftleri ekrana bastırılmış ve hepsinin anahtar değerlerine göre sıralandığı görülmektedir.
Örnek kodda, 5 adet il adı karışık sıralarda sözlüğe eklenmiştir. Ardından sözlükteki anahtar ve değer çiftleri ekrana bastırılmış ve hepsinin anahtar değerlerine göre sıralandığı görülmektedir.
Soru 16
Kümeler ile ilgili aşağıdakilerden hangisi hatalıdır?
Seçenekler
A
Bazı algoritmalarda çeşitli veriler içeren kümeler üzerinde işlem yapmak gerekmektedir.
B
Küme, yinelenen ögeleri ve belirli bir düzeni olmayan farklı nesnelerden oluşan bir koleksiyondur.
C
Kümeler; birleştirme, kesişme, çıkarma ve simetrik fark gibi matematiksel işlemlerle sıkı bir şekilde ilişkilidir.
D
Bir küme, tam sayı veya dize değerleri gibi çeşitli verileri depolayabilir.
E
A \ B’nin sonuç kümesi, A’nın üyeleri değil, B’nin üyeleri olan ögeleri içerir.
Açıklama:
A \ B’nin sonuç kümesi, B’nin üyeleri değil, A’nın üyeleri olan ögeleri içerir. Aşağıdaki çizimde, A \ B ve B \ A olmak üzere iki örnek sunulmaktadır.

Bazı algoritmalarda çeşitli veriler içeren kümeler üzerinde işlem yapmak gerekmektedir. Küme, yinelenen ögeleri ve belirli bir düzeni olmayan farklı nesnelerden oluşan bir koleksiyondur bu nedenle yalnızca belirli bir elemanın kümede olup olmadığını öğrenebilirsiniz. Kümeler; birleştirme, kesişme, çıkarma ve simetrik fark gibi matematiksel modeller ve işlemlerle sıkı bir şekilde ilişkilidir. Bir küme, aşağıdaki şemada gösterildiği gibi tam sayı veya dize değerleri gibi çeşitli verileri depolayabilir. Bunun yanında, kullanıcı tanımlı bir sınıfın örnekleriyle bir küme oluşturulabilir ve istenildiği zaman kümeye öge ekleyip kaldırılabilir.

Bazı algoritmalarda çeşitli veriler içeren kümeler üzerinde işlem yapmak gerekmektedir. Küme, yinelenen ögeleri ve belirli bir düzeni olmayan farklı nesnelerden oluşan bir koleksiyondur bu nedenle yalnızca belirli bir elemanın kümede olup olmadığını öğrenebilirsiniz. Kümeler; birleştirme, kesişme, çıkarma ve simetrik fark gibi matematiksel modeller ve işlemlerle sıkı bir şekilde ilişkilidir. Bir küme, aşağıdaki şemada gösterildiği gibi tam sayı veya dize değerleri gibi çeşitli verileri depolayabilir. Bunun yanında, kullanıcı tanımlı bir sınıfın örnekleriyle bir küme oluşturulabilir ve istenildiği zaman kümeye öge ekleyip kaldırılabilir.
Soru 17
IsProperSupersetOf yöntemi ile aşağıdaki ilişkilerden hangisi kontrol edilebilir?
Seçenekler
A
Parametre olarak iletilen kümenin bir alt kümesi
B
Parametre olarak iletilen kümenin bir üst kümesi
C
Parametre olarak geçirilen kümenin uygun bir alt kümesi
D
Parametre olarak geçirilen kümenin uygun bir üst kümesi
E
Parametre olarak geçirilen kümenin uygun üyesi
Açıklama:
Yöntemin çağrıldığı geçerli kümede aşağıdaki özellikler kontrol edilebilir:
Parametre olarak geçirilen kümenin uygun bir üst kümesi (IsProperSupersetOf)yöntemi ile kontrol edilebilir.
C# dilinde uygulama geliştirirken System.Collections.Generic ad alanından HashSet sınıfının sağladığı yüksek performanslı işlemlerden yararlanılabilir. HashSet sınıfı, kümedeki ögelerin sayısını döndüren Count dahil olmak üzere birkaç özellik içermektedir. Ayrıca, aşağıdaki gibi küme işlemlerini gerçekleştirmek için birçok yöntem kullanılabilir. İlk yöntem grubu, parametre olarak gönderilen küme ile aşağıdakileri oluşturmak için yöntemin çağrıldığı geçerli kümeyi değiştirmeyi mümkün kılmaktadır:
- Parametre olarak iletilen kümenin bir alt kümesi (IsSubsetOf)
- Parametre olarak iletilen kümenin bir üst kümesi (IsSupersetOf)
- Parametre olarak geçirilen kümenin uygun bir alt kümesi (IsProperSubsetOf)
- Parametre olarak geçirilen kümenin uygun bir üst kümesi (IsProperSupersetOf) Ayrıca, iki kümenin aynı ögeleri içerip içermediğini (SetEquals) veya iki kümenin en az bir ortak ögeye sahip olup olmadığını (Overlaps) doğrulayabilirsiniz.
Parametre olarak geçirilen kümenin uygun bir üst kümesi (IsProperSupersetOf)yöntemi ile kontrol edilebilir.
C# dilinde uygulama geliştirirken System.Collections.Generic ad alanından HashSet sınıfının sağladığı yüksek performanslı işlemlerden yararlanılabilir. HashSet sınıfı, kümedeki ögelerin sayısını döndüren Count dahil olmak üzere birkaç özellik içermektedir. Ayrıca, aşağıdaki gibi küme işlemlerini gerçekleştirmek için birçok yöntem kullanılabilir. İlk yöntem grubu, parametre olarak gönderilen küme ile aşağıdakileri oluşturmak için yöntemin çağrıldığı geçerli kümeyi değiştirmeyi mümkün kılmaktadır:
- Birleşim (UnionWith)
- Kesişme (IntersectWith)
- Çıkarma (ExceptWith)
- Simetrik fark (SmetricExceptWith) İki küme arasındaki ilişkiler de kontrol edilebilir.
Soru 18
List; dizine göre erişilebilen ve sıralama, arama ve listeyi değiştirme yöntemlerine sahip, kesin olarak girilmiş nesneler topluluğudur. Aşağıdakilerden hangisi List özelliklerindendir?
Seçenekler
A
List, IList arayüzünü uygulayan ArrayList’in eşdeğeridir.
B
Collections.General ad alanı altında gelir.
C
Ögeler, AddValue() kullanılarak eklenebilir.
D
List, ArrayList’ten daha yavaş ve daha fazla hataya açık çalışır.
E
Ögelere bir dizin geçirilerek erişilebilir, örneğin listem[0]. İndeksler birden başlar.
Açıklama:
Açıklamaya göre List, IList arayüzünü uygulayan ArrayList’in eşdeğeridir.
List; dizine göre erişilebilen ve sıralama, arama ve listeyi değiştirme yöntemlerine sahip, kesin olarak girilmiş nesneler topluluğudur. System.Collections.Generic ad alanı altında gelen ArrayList’in genel sürümüdür.
List Özellikleri
genel bir koleksiyondur bu nedenle depolayabileceği veri türü için bir tür parametresi belirtilmesi gerekmektedir.
List
List
- List
, IList varayüzünü uygulayan ArrayList’in eşdeğeridir. - System.Collections.Generic ad alanı altında gelir.
- List
, belirtilen türdeki ögeleri içerebilir. Derleme zamanı tür denetimi sağlar ve genel olduğu için kutulama/kutudan çıkarma (boxing/unboxing) gerçekleştirmez. - Ögeler, Add(), AddRange() yöntemleri veya koleksiyon başlatıcı sözdizimi kullanılarak eklenebilir.
- Ögelere bir dizin geçirilerek erişilebilir, örneğin listem[0]. İndeksler sıfırdan başlar.
- List
, ArrayList’ten daha hızlı ve daha az hataya açık çalışır.
Soru 19
Aşağıdaki C# kodunun çıktısı nedir?
int[] sayilar = { 10, 20, 30, 40, 50 };
sayilar[2] = sayilar[0] + sayilar[4];
Console.WriteLine(sayilar[2]);
int[] sayilar = { 10, 20, 30, 40, 50 };
sayilar[2] = sayilar[0] + sayilar[4];
Console.WriteLine(sayilar[2]);
Seçenekler
A
10
B
30
C
50
D
60
E
70
Açıklama:
- Dizi tanımı (C# dizilerinde indeksler 0’dan başlar):
- sayilar = { 10, 20, 30, 40, 50 }
- İndeksler:
0→10, 1→20, 2→30, 3→40, 4→50
- Atama ifadesi:
sayilar[2] = sayilar[0] + sayilar[4];
- sayilar[0] = 10
- sayilar[4] = 50
- Toplam = 10 + 50 = 60
- Bu değer, indeks 2’deki eski değerin (30) üzerine yazılır.
Yeni durum: { 10, 20, 60, 40, 50 }
- Yazdırma:
Console.WriteLine(sayilar[2]);→ ekrana 60 yazar.
Soru 20
Aşağıdaki tanım hangi dizi türüne aittir?
int[,] tablo = new int[4,3];
int[,] tablo = new int[4,3];
Seçenekler
A
Tek boyutlu dizi
B
Çok boyutlu dizi
C
Pürüzlü (Jagged) dizi
D
Hash tablo
E
Sıralı küme
Açıklama:
- Tek boyutlu dizi →
[ ]şeklinde olur,[,]değil. - Çok boyutlu dizi →
[,]ifadesi bu türü belirtir. - Pürüzlü (Jagged) dizi →
int[][]şeklinde tanımlanır, satır uzunlukları farklı olabilir. - Hash tablo → Anahtar-değer yapısıdır, dizilerle alakalı değil.
- Sıralı küme → Küme veri yapısının özel bir türüdür.
Soru 21
Bir Hashtable’da anahtar değeri olarak
null atanırsa ne olur?Seçenekler
A
Hata verir
B
null olarak saklar
C
null değeri otomatik olarak “empty” string’e çevirir
D
Anahtarı yoksayar
E
Çalışma zamanında rastgele değer atar
Açıklama:
C#’ta Hashtable’da anahtar (key) için
Aynı ilke, jenerik sözlükler (Dictionary) için de geçerlidir: anahtar
null kullanılamaz. null bir anahtar eklemeye çalışırsanız çalışma zamanında hata alırsınız (Hashtable’de key null olamaz).Aynı ilke, jenerik sözlükler (Dictionary) için de geçerlidir: anahtar
null olamaz, ama değer türü izin veriyorsa value null olabilir.Soru 22
Hash tablolarında O(1) işlem karmaşıklığını sağlayan bileşen aşağıdakilerden hangisidir?
Seçenekler
A
ContainsKey metodu
B
Anahtar-değer çifti
C
SortedList
D
ArrayList
E
Hash fonksiyonu
Açıklama:
Doğru cevap Hash fonksiyonu;
Hash tablolarında (Hashtable, Dictionary gibi yapılar) veriye hızlı erişim, hash fonksiyonu sayesinde olur.
Hash fonksiyonu, verilen anahtarı (key) bir sayıya dönüştürür ve bu sayı, verinin tutulduğu “kova” (bucket) indeksini belirler.
Bu sayede arama işlemi, koleksiyondaki tüm elemanları tek tek gezmeden, doğrudan ilgili kovaya erişerek yapılır.
İyi tasarlanmış bir hash fonksiyonu ile arama, ekleme ve silme işlemleri ortalama olarak O(1) zaman karmaşıklığında gerçekleşir.
A) ContainsKey metodu → Hızı sağlayan kendisi değil, arka planda kullandığı hash fonksiyonu.
B) Anahtar-değer çifti → Sadece veriyi saklama yöntemi; hızın kaynağı değil.
C) SortedList → Sıralı yapı, arama O(log n); O(1) hız sağlamaz.
D) ArrayList → İndeksle erişimde hızlı, ama anahtara göre arama yok; genelde O(n).
Soru 23
Aşağıdaki kod parçası çalıştırıldığında hangi çıktı alınır?
var sozluk = new Dictionary();
sozluk.Add(1, "Elma");
sozluk[1] = "Armut";
Console.WriteLine(sozluk[1]);
var sozluk = new Dictionary
sozluk.Add(1, "Elma");
sozluk[1] = "Armut";
Console.WriteLine(sozluk[1]);
Seçenekler
A
Elma
B
Armut
C
null
D
Çalışma zamanı hatası
E
Boş string
Açıklama:
C#’ta
Dolayısıyla
Dictionary için dizinleyici (indexer) ataması (sozluk[key] = değer) iki iş yapar:
Anahtar yoksa yeni öge ekler,
Anahtar varsa mevcut değeri günceller.
Bu, kitapta “dizin oluşturucu kullanılarak yeni bir öge ekleyebilir veya mevcut bir ögenin değeri güncellenebilir” diye açıklanır ve hemen altında örnek olaraksozluk["anahtar"] = "yeni değer";verilir.
Dolayısıyla
Add(1,"Elma") satırı anahtarı ekledikten sonra, sozluk[1] = "Armut"; satırı 1 anahtarının değerini “Elma”dan “Armut”’a çevirir. Console.WriteLine(sozluk[1]); da Armut yazdırır.Soru 24
"SortedDictionary" ile "Dictionary" arasındaki en belirgin fark aşağıdakilerden hangisidir?
Seçenekler
A
SortedDictionary boxing/unboxing yapar
B
Dictionary O(log n) karmaşıklığa sahiptir
C
SortedDictionary anahtarları sıralı tutar
D
Dictionary değerleri sıralı tutar
E
SortedDictionary null anahtar kabul eder
Açıklama:
Dictionary
Anahtar-değer çiftlerini sırasız olarak saklar.
Ekleme, arama ve silme işlemlerinde ortalama O(1) zaman karmaşıklığı vardır.
Anahtarların eklenme sırasını veya alfabetik sırasını korumaz.
SortedDictionary
Anahtar-değer çiftlerini her zaman anahtara göre sıralı tutar.
Arama, ekleme ve silme işlemleri O(log n) zaman karmaşıklığına sahiptir çünkü altında dengeli ağaç yapısı (Red-Black Tree) kullanır.
Sıralı erişim gerektiren durumlarda tercih edilir.
SortedDictionary boxing/unboxing yapar: Yanlış. Hem Dictionary hem de SortedDictionary doğru veri türü kullanıldığında boxing/unboxing yapmaz
Dictionary O(log n) karmaşıklığa sahiptir: Yanlış. Dictionary genellikle O(1) karmaşıklığa sahiptir.
Dictionary değerleri sıralı tutar: Yanlış. Dictionary ve SortedDictionary sadece anahtarlar üzerinde çalışır, değerler sıralanmaz.
SortedDictionary null anahtar kabul eder: Yanlış. Ne Dictionary ne de SortedDictionary null anahtar kabul eder.
Doğru cevap C seçeneğidir.
Soru 25
C#’ta bir kümeden, başka bir kümede bulunan elemanları çıkarmak için hangi HashSet metodu kullanılır?
Seçenekler
A
UnionWith
B
IntersectWith
C
ExceptWith
D
SymmetricExceptWith
E
IsSubsetOf
Açıklama:
İki küme (HashSet) var.
Bir kümeden, diğerinde ortak olan elemanları çıkarmak istiyoruz.
Bu işlem matematikte fark işlemi (A \ B) olarak bilinir.
UnionWith: iki kümenin birleşimini oluşturur.
Doğru cevap C seçeneğidir.
Bir kümeden, diğerinde ortak olan elemanları çıkarmak istiyoruz.
Bu işlem matematikte fark işlemi (A \ B) olarak bilinir.
UnionWith: iki kümenin birleşimini oluşturur.
- IntersectWith: iki kümenin ortak elemanlarını tutar.
- ExceptWith: mevcut kümeden, verilen kümede bulunan elemanları çıkarır; bu sayede başka bir kümede bulunan elemanlar çıkarılmış olur.
- SymmetricExceptWith: iki kümede olanlar dışındaki elemanları tutar (eşit fark).
- IsSubsetOf: bir kümenin başka bir kümede tüm elemanlarının bulunup bulunmadığını kontrol eder.
Bu nedenle, “bir kümeden, başka bir kümede bulunan elemanları çıkarmak” için kullanılan yöntem ExceptWith’tır.
Doğru cevap C seçeneğidir.
Soru 26
ArrayList ile List arasındaki temel fark aşağıdakilerden hangisidir?
Seçenekler
A
ArrayList generic yapıdadır, List değildir
B
List tür güvenliği sağlar, ArrayList sağlamaz
C
ArrayList sadece int saklayabilir
D
List boxing/unboxing yapar
E
ArrayList O(1) ekleme yapamaz
Açıklama:
Doğru cevap: B) List tür güvenliği sağlar, ArrayList sağlamaz
Gerekçe:
Gerekçe:
- List
generic bir koleksiyondur ve belirli bir türe sahip olması garantisini verir. Yani derleme zamanında tip güvenliği sağlanır. - ArrayList ise eski, generic olmayan bir koleksiyon olduğu için içine hangi türde eleman eklendiği belirsizdir. Bu nedenle çalışma zamanında tip kontrolü yapılır ve tür güvenliği yoktur; her eleman için casting gerekir.
Diğer seçenekler: - A) Yanlış: ArrayList generic değildir; List
ise generic’tir. - C) Yanlış: ArrayList herhangi bir tipte nesneleri saklayabilir (object olarak). Sadece int ile sınırlı değildir.
- D) Yanlış: Boxing/unboxing durumu List
için de geçerli olabilir çünkü T, değer tipi ise boxing gerekebilir; ama ana fark türe dayalı güvenliktir. - E) Yanlış: ArrayList’in ekleme performansı O(1) amortize olabilir; genel olarak da O(1) ortalama ekleme sağlar. Bu, sorunun doğrudan farkını belirtmez.
Soru 27
Aşağıdaki kodun çıktısı nedir?
var sayilar = new List() { 1, 2, 3 };
sayilar.Remove(2);
Console.WriteLine(sayilar.Contains(2));
var sayilar = new List
sayilar.Remove(2);
Console.WriteLine(sayilar.Contains(2));
Seçenekler
A
False
B
True
C
null
D
Hata verir
E
0
Açıklama:
- Başlangıçta sayilar listesi [1, 2, 3].
- sayilar.Remove(2) çağrısı, listeden değeri 2 olan elemanı kaldırır; sonuç [1, 3].
- Ardından sayilar.Contains(2) çağrısı, listede değeri 2 olan eleman olup olmadığını kontrol eder; bulunmaz.
- Bu nedenle çıktı False olur.
Soru 28
Aşağıdaki ifadelerden hangisi kitapta anlatılan Hashtable ve Dictionary veri yapıları arasındaki farkı doğru açıklar?
Seçenekler
A
Hashtable yalnızca string türünde anahtar kabul eder, Dictionary ise tüm türleri kabul eder.
B
Hashtable, anahtar ve değer türlerini belirtmeyi gerektirir; Dictionary ise belirtmez.
C
Hashtable’da anahtar ve değerler object türünde tutulur, bu nedenle boxing/unboxing oluşabilir; Dictionary ise jenerik bir yapı olduğu için türler önceden belirlenir ve boxing/unboxing gerektirmez.
D
Dictionary, hash tabanlı değildir; Hashtable ise hash tabanlıdır.
E
Hashtable, değerleri sıralı tutar; Dictionary tutmaz.
Açıklama:
A) Hashtable yalnızca string türünde anahtar kabul eder, Dictionary ise tüm türleri kabul eder.
- Yanlış: Hashtable, anahtar olarak yalnızca string kabul etmez; object türünde herhangi bir veri türünü anahtar olarak kullanmanıza olanak tanır. Dictionary ise, tür parametreleri ile daha fazla esneklik sağlar, ancak her iki yapı da çok çeşitli veri türlerini anahtar olarak kullanabilir.
- Yanlış: Hashtable kullanırken anahtar ve değerlerin türleri kesin olarak belirtilmek zorunda değildir çünkü bu türler object türündedir. Dictionary ise tam tersine jenerik bir yapı olduğundan anahtar ve değer türlerinin belirtilmesi gerekmektedir. Yani, bu ifade tersine doğrudur.
- Doğru: Hashtable anahtar ve değerleri object türünde sakladığı için farklı türlerdeki veriler için boxing ve unboxing işlemleri gerektirebilir. Dictionary ise jenerik yapısı sayesinde türün önceden belirlenmesine olanak tanır ve dolayısıyla bu tür işlemlere ihtiyaç yoktur.
- Yanlış: Her iki veri yapısı da hash tabanlıdır. Hashtable, tarihsel olarak daha eski bir yapı olmasına rağmen, Dictionary de hash tabanlı bir koleksiyon olarak çalışır ve anahtar-değer çiftlerini hızlı bir şekilde erişebilmek için hash fonksiyonları kullanır.
- Yanlış: Ne Hashtable ne de Dictionary, öğelerini sıralı tutmaz. Her ikisi de anahtarları üzerinden hızlı erişim sağlamak için tasarlanmış hash tabanlı yapılardır. Eğer sıralı veri yapısına ihtiyacınız varsa, List veya SortedDictionary gibi diğer veri yapıları kullanmalısınız.
Ünite 3
Soru 1
Push işlemi hangi amaçla kullanılır?
Seçenekler
A
Yığınlara öge eklemek için kullanılır.
B
Yığından öge çıkartmak için kullanılır.
C
Ögeyi yığından kaldırmadan sadece görüntülemek için kullanılır.
D
Yığını oluşturmak için kullanılır.
E
Yığını sıralamak için kullanılır.
Açıklama:
Yığın için standart model, bir restorandaki tabak yığınıdır. Yığındaki tabaklar her zaman üstten çıka- rılır. Yığına ekleme yapılacaksa da üstten ekleme yapılabilir. Yığın, Son Giren İlk Çıkar (LIFO - Last In First Out) veri yapısı olarak bilinir.
Bir yığındaki iki temel işlem, yığına ögelerin eklenmesi ve ögelerin yığından çıkarılmasıdır. Yığınlara öge eklemek için Push (itme) işlemi kullanılır. Yığından ögeyi çıkarTmak için ise Pop(Çekme) işlemi kullanılabilir.
Bir yığın üzerinde gerçekleştirilecek diğer birincil işlem ise en üstteki ögeyi görüntülemektir. Pop işlemi en üstteki ögeyi döndürürken ögeyi yığından kaldırır. Ögeyi yığından kaldırmadan sadece görüntülemek için kullanılan işlem ise C# dilinde Peek(Tepe) olarak adlandırılır.
Bir yığındaki iki temel işlem, yığına ögelerin eklenmesi ve ögelerin yığından çıkarılmasıdır. Yığınlara öge eklemek için Push (itme) işlemi kullanılır. Yığından ögeyi çıkarTmak için ise Pop(Çekme) işlemi kullanılabilir.
Bir yığın üzerinde gerçekleştirilecek diğer birincil işlem ise en üstteki ögeyi görüntülemektir. Pop işlemi en üstteki ögeyi döndürürken ögeyi yığından kaldırır. Ögeyi yığından kaldırmadan sadece görüntülemek için kullanılan işlem ise C# dilinde Peek(Tepe) olarak adlandırılır.
Soru 2
Ögeyi yığından kaldırmadan sadece görüntülemek için C# dilinde ne kullanılır?
Seçenekler
A
Peek
B
Pop
C
Push
D
Get
E
List
Açıklama:
Pop işlemi en üstteki ögeyi döndürürken ögeyi yığından kaldırır. Ögeyi yığından kaldırmadan sadece görüntülemek için kullanılan işlem ise C# dilinde Peek(Tepe) olarak adlandırılır. Diğer dillerde de Peek işlemine benzer operasyonlar (Top vs.) vardır.
Soru 3
CopyTo yönteminin kullanıldığı işlem aşağıdakilerden hangisidir?
Seçenekler
A
Bir yığının içeriğini tek boyutlu bir diziye kopyalamak için kullanılır.
B
En üstteki ögeyi yığından çıkarmak için kullanılır.
C
Ögeyi yığından çıkarmaksızın yığının tepesindeki ögenin değerine bakmak için kullanılır.
D
Yığındaki tüm elemanları kaldırıp öge sayısını sıfır olarak ayarlamak için kullanılır.
E
Bir ögenin, yığın içerisinde bulunup bulunmadığını kontrol etmek için kullanılır.
Açıklama:
CopyTo yöntemi, bir yığının içeriğini tek boyutlu bir diziye kopyalamak için kullanılır. Hedef dizi, tüm yığın nesnelerinin veri türüyle aynı olmalıdır. CopyTo yöntemi, hedef dizi ve başlangıç indeksini gösteren iki parametre alır. Yığının ögeleri LIFO şeklinde kopyalanır. Yığına son eklenen öge, dizinin ilk elemanı olacaktır.
Soru 4
Stack isimli yeni bir yığın oluşturduğumuzda sırasıyla aşağıdaki işlemler sonrasında yığın görüntüsü ne olacaktır?
mystack.push(1);
mystack.push(2);
mystack.push(3);
mystack.push(4);
mystack.pop();
mystack.pop();
mystack.push(5);
mystack.push(1);
mystack.push(2);
mystack.push(3);
mystack.push(4);
mystack.pop();
mystack.pop();
mystack.push(5);
Seçenekler
A
5 2 1
B
1 2 3 4 5
C
4 3 2 1
D
5 4
E
5
Açıklama:
Çözümdeki açıklamalara göre soru kökünde verilen sırada push ve pop işlemleri sonucunda yığın " 5 2 1" olacaktır.
Bir yığındaki iki temel işlem, yığına ögelerin eklenmesi ve ögelerin yığından çıkarılmasıdır. Yığınlara öge eklemek için Push (itme) işlemi kullanılır. Yığından ögeyi çıkarTmak için ise Pop(Çekme) işlemi kullanılabilir. Resim 3.1’de yığın üzerinde yapılan Push ve Pop işlemleri gösterilmiştir.

Bir yığındaki iki temel işlem, yığına ögelerin eklenmesi ve ögelerin yığından çıkarılmasıdır. Yığınlara öge eklemek için Push (itme) işlemi kullanılır. Yığından ögeyi çıkarTmak için ise Pop(Çekme) işlemi kullanılabilir. Resim 3.1’de yığın üzerinde yapılan Push ve Pop işlemleri gösterilmiştir.

Soru 5
yenikuyruk isimli yeni bir kuyruk yapısı oluşturduğumuzda sırasıyla aşağıdaki işlemler sonrasında kuyruk görüntüsü ne olacaktır?
yenikuyruk.enqueue(1);
yenikuyruk.enqueue(2);
yenikuyruk.enqueue(3);
yenikuyruk.enqueue(4);
yenikuyruk.dequeue();
yenikuyruk.enqueue(5);
yenikuyruk.dequeue();
yenikuyruk.enqueue(1);
yenikuyruk.enqueue(2);
yenikuyruk.enqueue(3);
yenikuyruk.enqueue(4);
yenikuyruk.dequeue();
yenikuyruk.enqueue(5);
yenikuyruk.dequeue();
Seçenekler
A
3 4 5
B
5
C
1 2 3 4
D
1 2 3 4 5
E
1 5
Açıklama:
Kuyruk yapıları için üç temel işlem vardır. Bu işlemlerden ikisi listeye eleman eklemek ve listeden ele- man kaldırmak için kullanılır. Kuyruğa yeni öge ekleme işlemi Enqueue (Sıraya Alma) olarak adlandırılır. Kuyruktan öge çıkarma işlemi ise Dequeue (Sıradan Çıkarma) olarak adlandırılır. Enqueue işlemi kuyruk sırasının sonuna bir öge ekler. Dequeue işlemi sıranın önündeki ögeyi kaldırır. Resim 3.2’de Enqueue ve Dequeue işlemleri görsel üzerinde anlatılmıştır.

Buna göre doğru seçenek A'dır.
Doğrusal veri yapılarının diğer önemli yapısı Kuyruk (Queue) yapılarıdır. Kuyruk; verilerin liste olarak tutulduğu, yeni gelen verinin listenin arkasına eklendiği, kaldırma işleminin ise listenin önündeki veriye uygulandığı bir yapıdır yani her zaman ilk önce giren veri ilk çıkar (FIFO- First In First Out). Kuyruk yapısına, banka sırası örnek olarak verilebilir. Bankada sırası gelen müşteri işini bitirir ve sıradakinin işlemi başlar. Yeni gelen müşteriler kuyruğun arkasından sıraya eklenir.
Kuyruklar, ögeleri oluştukları sırayla depolamak için kullanılır. Bir işletim sistemine veya yazdırma biriktiricisine gönderilen işlemleri sipariş etmek için kullanılabilir.

Buna göre doğru seçenek A'dır.
Doğrusal veri yapılarının diğer önemli yapısı Kuyruk (Queue) yapılarıdır. Kuyruk; verilerin liste olarak tutulduğu, yeni gelen verinin listenin arkasına eklendiği, kaldırma işleminin ise listenin önündeki veriye uygulandığı bir yapıdır yani her zaman ilk önce giren veri ilk çıkar (FIFO- First In First Out). Kuyruk yapısına, banka sırası örnek olarak verilebilir. Bankada sırası gelen müşteri işini bitirir ve sıradakinin işlemi başlar. Yeni gelen müşteriler kuyruğun arkasından sıraya eklenir.
Kuyruklar, ögeleri oluştukları sırayla depolamak için kullanılır. Bir işletim sistemine veya yazdırma biriktiricisine gönderilen işlemleri sipariş etmek için kullanılabilir.
Soru 6
Queue nesnesi kullanılarak yeni bir kuyruk oluşturulduğunda nesne varsayılan olarak kaç eleman kapasiteli bir kuyruk oluşur?
Seçenekler
A
16
B
32
C
64
D
128
E
100
Açıklama:
Kuyruk yapısında kullanılan temel yöntemleri önceki örnekte inceledik. Bu yöntemleri inceleyebilmek için bir problemi Kuyruk yapısı kullanarak çözen bir program yazmak daha detaylı incelememize olanak sağlayacaktır.
C# dilinde, Yığın yapısında olduğu gibi, kuyruk yapısını oluşturmak içinde dil ile birlikte gelen nesneler kullanılabilir. Queue nesnesi kullanılarak yeni bir kuyruk oluşturulabilir. Nesne varsayılan olarak 32 eleman kapasiteli bir kuyruk oluşturur. Kuyruğun kapasitesi doldukça bir sonraki kapasite iki katı olacak şekilde art- tırılır. Yani varsayılan değer (32 öge) ile oluşturulan kuyruğun kapasitesi dolduğunda 64 eleman kapasitesine çıkarılacaktır. Buradaki kapasiteyi her defasında iki katına çıkaran sayı, büyüme faktörü olarak adlandırılır.
C# dilinde, Yığın yapısında olduğu gibi, kuyruk yapısını oluşturmak içinde dil ile birlikte gelen nesneler kullanılabilir. Queue nesnesi kullanılarak yeni bir kuyruk oluşturulabilir. Nesne varsayılan olarak 32 eleman kapasiteli bir kuyruk oluşturur. Kuyruğun kapasitesi doldukça bir sonraki kapasite iki katı olacak şekilde art- tırılır. Yani varsayılan değer (32 öge) ile oluşturulan kuyruğun kapasitesi dolduğunda 64 eleman kapasitesine çıkarılacaktır. Buradaki kapasiteyi her defasında iki katına çıkaran sayı, büyüme faktörü olarak adlandırılır.
Soru 7
500 öge kapasiteli ve kapasitesi dolduktan sonra 5 katına çıkacak olan kuyruk tanımlaması aşağıdakilerden hangisidir?
Seçenekler
A
Queue kuyruk = new Queue(100, 500);
B
Queue kuyruk = new Queue(500, 5);
C
Queue kuyruk = new Queue(500, 2500);
D
Queue kuyruk = new Queue(500, 5+);
E
Queue kuyruk = new Queue(500, 500);
Açıklama:
Çözüm kısmındaki açıklamaya göre soru kökündeki 500 öge kapasiteli ve kapasitesi dolduktan sonra 5 katına çıkacak olan kuyruk tanımlaması B seçeneğindeki gibidir.
Kuyruk kapasitesini belirtirken büyüme faktörünü de değiştirebilirsiniz. Constructura iletilen ikinci değer büyüme faktörünün belirtildiği sayıdır. Aşağıdaki kod bloğunda belirtilen 3 rakamından dolayı kuyruğun kapasitesi dolduktan sonra yeni boyut 300 olacaktır.
Queue kuyruk = new Queue(100, 3);
Kuyruk kapasitesini belirtirken büyüme faktörünü de değiştirebilirsiniz. Constructura iletilen ikinci değer büyüme faktörünün belirtildiği sayıdır. Aşağıdaki kod bloğunda belirtilen 3 rakamından dolayı kuyruğun kapasitesi dolduktan sonra yeni boyut 300 olacaktır.
Queue kuyruk = new Queue(100, 3);
Soru 8
Verilerin liste olarak tutulduğu, yeni gelen verinin listenin arkasına eklendiği, kaldırma işleminin ise listenin önündeki veriye uygulandığı bir yapı hangisidir?
Seçenekler
A
Yığın
B
Kuyruk
C
Stack
D
Dizi
E
Liste
Açıklama:
Doğrusal veri yapılarının diğer önemli yapısı Kuyruk (Queue) yapılarıdır. Kuyruk; verilerin liste olarak tutulduğu, yeni gelen verinin listenin arkasına eklendiği, kaldırma işleminin ise listenin önündeki veriye uygulandığı bir yapıdır yani her zaman ilk önce giren veri ilk çıkar (FIFO- First In First Out). Kuyruk yapısına, banka sırası örnek olarak verilebilir. Bankada sırası gelen müşteri işini bitirir ve sıradakinin işlemi başlar. Yeni gelen müşteriler kuyruğun arkasından sıraya eklenir.
Kuyruklar, ögeleri oluştukları sırayla depolamak için kullanılır. Bir işletim sistemine veya yazdırma biriktiricisine gönderilen işlemleri sipariş etmek için kullanılabilir.
Kuyruklar, ögeleri oluştukları sırayla depolamak için kullanılır. Bir işletim sistemine veya yazdırma biriktiricisine gönderilen işlemleri sipariş etmek için kullanılabilir.
Soru 9
Contains yöntemi hangi amaçla kullanılır?
Seçenekler
A
Bir ögenin, yığın içerisinde bulunup bulunmadığını kontrol etmek için kullanılır.
B
Bir yığının içeriğini tek boyutlu bir diziye kopyalamak için kullanılır.
C
Bir yığının içeriğini silmek için kullanılır.
D
Bir yığından öge çıkartmak amacıyla kullanılır.
E
Bir yığına öge eklemek amacıyla kullanılır.
Açıklama:
Aşağıdaki kod bloğunda Contains yönteminin kullanımını inceleyebilirsiniz. Kod 3.10
if (myStack.Contains(“ “))
IslemiDurdur();
else
IslemeDevamEt();
Bir ögenin, yığın içerisinde bulunup bulunmadığını kontrol etmek için Contains yöntemi kullanılabi- lir. Contains yöntemi öge yığının içeriğinde mevcut ise True değer, mevcut değilse False değer döndürür.
Aşağıdaki kod bloğunda Contains yönteminin kullanımını inceleyebilirsiniz. Kod 3.10
if (myStack.Contains(“ “)) IslemiDurdur(); else
IslemeDevamEt();
if (myStack.Contains(“ “))
IslemiDurdur();
else
IslemeDevamEt();
Bir ögenin, yığın içerisinde bulunup bulunmadığını kontrol etmek için Contains yöntemi kullanılabi- lir. Contains yöntemi öge yığının içeriğinde mevcut ise True değer, mevcut değilse False değer döndürür.
Aşağıdaki kod bloğunda Contains yönteminin kullanımını inceleyebilirsiniz. Kod 3.10
if (myStack.Contains(“ “)) IslemiDurdur(); else
IslemeDevamEt();
Soru 10
Yığın yapısı ile ilgili aşağıda verilen bilgilerden hangisi hatalıdır?
Seçenekler
A
Tek taraflı veri giriş ve çıkışına izin verir.
B
Verileri sıralı olarak tutar.
C
İlk Giren ilk Çıkar (FIFO - First In First Out) veri yapısı olarak bilinir.
D
En sık kullanılan veri yapılarından biridir ve anlaşılması kolaydır.
E
Standart model, bir restorandaki tabak yığını olarak düşünülebilir.
Açıklama:
Yığına ekleme yapılacaksa da üstten ekleme yapılabilir. Yığın, Son Giren İlk Çıkar (LIFO - Last In First Out) veri yapısı olarak bilinir. Bu nedenle C seçeneğindeki bilgi hatalıdır.
Yığın yapısı, programlama dillerinde en sık kullanılan veri yapılarından biridir ve anlaşılması kolaydır. Tek taraflı veri giriş ve çıkışına izin veren yığın yapısı, verileri sıralı olarak tutar. Yığın; yalnızca yığının tepesi olarak adlandırılan, listenin sonundan erişilebilen ögelerin bir listesi olarak tanımlanabilir. Yığın için standart model, bir restorandaki tabak yığınıdır. Yığındaki tabaklar her zaman üstten çıkarılır. Yığına ekleme yapılacaksa da üstten ekleme yapılabilir. Yığın, Son Giren İlk Çıkar (LIFO - Last In First Out) veri yapısı olarak bilinir.
Yığın yapısı, programlama dillerinde en sık kullanılan veri yapılarından biridir ve anlaşılması kolaydır. Tek taraflı veri giriş ve çıkışına izin veren yığın yapısı, verileri sıralı olarak tutar. Yığın; yalnızca yığının tepesi olarak adlandırılan, listenin sonundan erişilebilen ögelerin bir listesi olarak tanımlanabilir. Yığın için standart model, bir restorandaki tabak yığınıdır. Yığındaki tabaklar her zaman üstten çıkarılır. Yığına ekleme yapılacaksa da üstten ekleme yapılabilir. Yığın, Son Giren İlk Çıkar (LIFO - Last In First Out) veri yapısı olarak bilinir.
Soru 11
Yığın yapısında Pop işlemi aşağıdakilerden hangi görevi üstlenir?
Seçenekler
A
En üstteki ögeyi döndürürken ögeyi yığından kaldırır.
B
Seçilen ögeyi yığından kaldırmadan sadece görüntüler.
C
Yığının en başına yeni bir öge ekler.
D
Yığının en sonundan öge kaldırır.
E
Yığının verilen indisine öge ekler.
Açıklama:
Bir yığın üzerinde gerçekleştirilecek diğer birincil işlem ise en üstteki ögeyi görüntülemektir. Pop işlemi en üstteki ögeyi döndürürken ögeyi yığından kaldırır. Ögeyi yığından kaldırmadan sadece görüntülemek için kullanılan işlem ise C# dilinde Peek(Tepe) olarak adlandırılır.
Soru 12
String[] ulkeler= new string[] {"Almanya", "Çin", "Fransa", "İtalya", "Türkiye"};
Stack ulkeYigin= new Stack(ulkeler);
Yukarıdaki kod parçası ile oluşan yığına Pop işlemi uygulandığında aşağıdakilerden hangisi gerçekleşir?
Stack ulkeYigin= new Stack(ulkeler);
Yukarıdaki kod parçası ile oluşan yığına Pop işlemi uygulandığında aşağıdakilerden hangisi gerçekleşir?
Seçenekler
A
İlk olarak Türkiye ögesi yığından çıkarılacaktır.
B
İlk olarak Almanya ögesi yığından çıkarılacaktır.
C
Almanya ve ardından Çin ögesi birlikte yığından çıkarılacaktır.
D
Mevcut ögelerin tümü tekrar yığına eklenir.
E
Tüm ögeler yığından çıkarılacaktır.
Açıklama:
Soru kökündeki yığına Pop işlemi uygulandığında ilk olarak Türkiye ögesi yığından çıkarılacaktır.
Constructora iletilen dizinin son elemanı, yığınında son elemanı yani tepesidir. Yığına Pop işlemi uygulandığında ilk olarak Türkiye ögesi yığından çıkarılacaktır.
Constructora iletilen dizinin son elemanı, yığınında son elemanı yani tepesidir. Yığına Pop işlemi uygulandığında ilk olarak Türkiye ögesi yığından çıkarılacaktır.
Soru 13
Bir ögenin, yığın içerisinde bulunup bulunmadığını kontrol etmek için hangi yöntem kullanılır?
Seçenekler
A
Pop
B
Push
C
Peek
D
Clear
E
Contains
Açıklama:
Aşağıdaki kod bloğunda Contains yönteminin kullanımını inceleyebilirsiniz.
if (myStack.Contains(" "))
IslemiDurdur();
else
IslemeDevamEt();
Bir ögenin, yığın içerisinde bulunup bulunmadığını kontrol etmek için Contains yöntemi kullanılabilir. Contains yöntemi öge yığının içeriğinde mevcut ise True değer, mevcut değilse False değer döndürür.
if (myStack.Contains(" "))
IslemiDurdur();
else
IslemeDevamEt();
Bir ögenin, yığın içerisinde bulunup bulunmadığını kontrol etmek için Contains yöntemi kullanılabilir. Contains yöntemi öge yığının içeriğinde mevcut ise True değer, mevcut değilse False değer döndürür.
Soru 14
CopyTo yöntemi ile ilgili aşağıdaki bilgilerden hangisi hatalıdır?
Seçenekler
A
BBir yığının içeriğini tek boyutlu bir diziye kopyalamak için kullanılır.
B
Hedef dizi, tüm yığın nesnelerinin veri türüyle aynı olmalıdır.
C
Hedef dizi ve başlangıç indeksini gösteren iki parametre alır.
D
Yığının ögeleri FIFO şeklinde kopyalanır
E
Yığına son eklenen öge, dizinin ilk elemanı olacaktır.
Açıklama:
Yığının ögeleri LIFO şeklinde kopyalanır. Bu nedenle D seçeneği hatalıdır.
CopyTo yöntemi, bir yığının içeriğini tek boyutlu bir diziye kopyalamak için kullanılır. Hedef dizi, tüm yığın nesnelerinin veri türüyle aynı olmalıdır. CopyTo yöntemi, hedef dizi ve başlangıç indeksini gösteren iki parametre alır. Yığının ögeleri LIFO şeklinde kopyalanır. Yığına son eklenen öge, dizinin ilk elemanı olacaktır.
CopyTo yöntemi, bir yığının içeriğini tek boyutlu bir diziye kopyalamak için kullanılır. Hedef dizi, tüm yığın nesnelerinin veri türüyle aynı olmalıdır. CopyTo yöntemi, hedef dizi ve başlangıç indeksini gösteren iki parametre alır. Yığının ögeleri LIFO şeklinde kopyalanır. Yığına son eklenen öge, dizinin ilk elemanı olacaktır.
Soru 15
I. Külahta alınmış dondurma topları
II. Bankada sırada duran müşteriler
III. Bilgisayarda Ctrl+Z(geri alma) işlemi
IV. Restoranda üst üste duran tabaklar
Yukarıdakilerden hangisi veya hangileri kuyruk yapısına örnektir?
II. Bankada sırada duran müşteriler
III. Bilgisayarda Ctrl+Z(geri alma) işlemi
IV. Restoranda üst üste duran tabaklar
Yukarıdakilerden hangisi veya hangileri kuyruk yapısına örnektir?
Seçenekler
A
Yalnız II
B
I-III-IV
C
I-II
D
III-IV
E
I-II-III-IV
Açıklama:
Yığın is Son Giren İlk Çıkar (LIFO - Last In First Out) mantığı ile çalışır. Bu nedenle I. Külahta alınmış dondurma topları, III. Bilgisayarda Ctrl+Z(geri alma) işlemi ve IV. Restoranda üst üste duran tabaklar yığına örnektir.
Doğrusal veri yapılarının diğer önemli yapısı Kuyruk (Queue) yapılarıdır. Kuyruk; verilerin liste olarak tutulduğu, yeni gelen verinin listenin arkasına eklendiği, kaldırma işleminin ise listenin önündeki veriye uygulandığı bir yapıdır yani her zaman ilk önce giren veri ilk çıkar (FIFO- First In First Out). Kuyruk yapısına, banka sırası örnek olarak verilebilir. Bankada sırası gelen müşteri işini bitirir ve sıradakinin işlemi başlar. Yeni gelen müşteriler kuyruğun arkasından sıraya eklenir.
Doğrusal veri yapılarının diğer önemli yapısı Kuyruk (Queue) yapılarıdır. Kuyruk; verilerin liste olarak tutulduğu, yeni gelen verinin listenin arkasına eklendiği, kaldırma işleminin ise listenin önündeki veriye uygulandığı bir yapıdır yani her zaman ilk önce giren veri ilk çıkar (FIFO- First In First Out). Kuyruk yapısına, banka sırası örnek olarak verilebilir. Bankada sırası gelen müşteri işini bitirir ve sıradakinin işlemi başlar. Yeni gelen müşteriler kuyruğun arkasından sıraya eklenir.
Soru 16
Queue kuyruk = new Queue(100, 4);
Yukarıdaki kod bloğu ile ilgili aşağıda verilen bilgilerden hangisi doğrudur?
Yukarıdaki kod bloğu ile ilgili aşağıda verilen bilgilerden hangisi doğrudur?
Seçenekler
A
Kuyruk kapasitesi dolduktan sonra yeni boyut 400 olacaktır.
B
Varsayılan olarak 32 eleman kapasiteli bir kuyruk oluşturulur.
C
Kuyruğun kapasitesi dolduğunda 64 eleman kapasitesine çıkarılacaktır.
D
Kuyruk kapasitesi iki katı olacak şekilde arttırılacaktır.
E
Kuyruk kapasitesi 3 kez arttılabilecektir.
Açıklama:
Soru kökündeki kod bloğunda belirtilen 4 rakamından dolayı kuyruğun kapasitesi dolduktan sonra yeni boyut 400 olacaktır.
Queue kuyruk = new Queue(100, 4);
C# dilinde, Yığın yapısında olduğu gibi, kuyruk yapısını oluşturmak içinde dil ile birlikte gelen nesneler kullanılabilir. Queue nesnesi kullanılarak yeni bir kuyruk oluşturulabilir. Nesne varsayılan olarak 32 eleman kapasiteli bir kuyruk oluşturur. Kuyruğun kapasitesi doldukça bir sonraki kapasite iki katı olacak şekilde arttırılır. Yani varsayılan değer (32 öge) ile oluşturulan kuyruğun kapasitesi dolduğunda 64 eleman kapasitesine çıkarılacaktır. Buradaki kapasiteyi her defasında iki katına çıkaran sayı, büyüme faktörü olarak adlandırılır.
Kuyruk kapasitesini belirtirken büyüme faktörünü de değiştirebilirsiniz. Constructura iletilen ikinci değer büyüme faktörünün belirtildiği sayıdır. Aşağıdaki kod bloğunda belirtilen 3 rakamından dolayı kuyruğun kapasitesi dolduktan sonra yeni boyut 300 olacaktır.
Queue kuyruk = new Queue(100, 3);
Queue kuyruk = new Queue(100, 4);
C# dilinde, Yığın yapısında olduğu gibi, kuyruk yapısını oluşturmak içinde dil ile birlikte gelen nesneler kullanılabilir. Queue nesnesi kullanılarak yeni bir kuyruk oluşturulabilir. Nesne varsayılan olarak 32 eleman kapasiteli bir kuyruk oluşturur. Kuyruğun kapasitesi doldukça bir sonraki kapasite iki katı olacak şekilde arttırılır. Yani varsayılan değer (32 öge) ile oluşturulan kuyruğun kapasitesi dolduğunda 64 eleman kapasitesine çıkarılacaktır. Buradaki kapasiteyi her defasında iki katına çıkaran sayı, büyüme faktörü olarak adlandırılır.
Kuyruk kapasitesini belirtirken büyüme faktörünü de değiştirebilirsiniz. Constructura iletilen ikinci değer büyüme faktörünün belirtildiği sayıdır. Aşağıdaki kod bloğunda belirtilen 3 rakamından dolayı kuyruğun kapasitesi dolduktan sonra yeni boyut 300 olacaktır.
Queue kuyruk = new Queue(100, 3);
Soru 17
Aşağıdakilerden hangisi öncelikli bir kuyrukta çağrıldığında kuyruktaki ilk ögeyi kaldırır?
Seçenekler
A
Dequeue
B
Enqueue
C
Clearqueue
D
Peek
E
Count
Açıklama:
Dequeue yöntemi, çağrıldığında kuyruktaki ilk ögeyi kaldırır. Öncelik sırası uygulamak istenen Queue nesnesinde, önceliğe göre kuyruktan çıkarma işlemi yapmak için Dequeue işlemi devre dışı bırakılır. Queue nesnesinden programın ihtiyacına göre öncelikli kuyruk sınıfı üretilebilir.
Soru 18
Kuyruğa yeni öge ekleme işlemi için hangi işlem gereklidir?
Seçenekler
A
Enqueue
B
Dequeue
C
Peek
D
Count
E
Push
Açıklama:
Kuyruk yapıları için üç temel işlem vardır. Bu işlemlerden ikisi listeye eleman eklemek ve listeden eleman kaldırmak için kullanılır. Kuyruğa yeni öge ekleme işlemi Enqueue (Sıraya Alma) olarak adlandırılır. Kuyruktan öge çıkarma işlemi ise Dequeue (Sıradan Çıkarma) olarak adlandırılır. Enqueue işlemi kuyruk sırasının sonuna bir öge ekler.
Soru 19
Queue nesnesi kullanılarak yeni bir kuyruk oluşturulduğunda varsayılan eleman kapasitesi kaç olacaktır?
Seçenekler
A
16
B
32
C
64
D
100
E
300
Açıklama:
C# dilinde, Yığın yapısında olduğu gibi, kuyruk yapısını oluşturmak içinde dil ile birlikte gelen nesneler kullanılabilir. Queue nesnesi kullanılarak yeni bir kuyruk oluşturulabilir. Nesne varsayılan olarak 32 eleman kapasiteli bir kuyruk oluşturur. Kuyruğun kapasitesi doldukça bir sonraki kapasite iki katı olacak şekilde arttırılır. Yani varsayılan değer (32 öge) ile oluşturulan kuyruğun kapasitesi dolduğunda 64 eleman kapasitesine çıkarılacaktır. Buradaki kapasiteyi her defasında iki katına çıkaran sayı, büyüme faktörü olarak adlandırılır.
Soru 20
Aşağıdakilerden hangisi yığın yapısının özelliklerinden biridir?
Seçenekler
A
Veriyi sıralı tutma
B
Çift taraflı giriş ve çıkışı mümkün kılma
C
Az tercih edilme
D
Anlaşılırlığı nispeten düşük olma
E
İlk giren ilk çıkar prensibini kullanma
Açıklama:
Yığın yapısı, programlama dillerinde en sık kullanılan veri yapılarından biridir ve anlaşılması kolaydır. Tek taraflı veri giriş ve çıkışına izin veren yığın yapısı, verileri sıralı olarak tutar. Yığın; yalnızca yığının tepesi olarak adlandırılan, listenin sonundan erişilebilen ögelerin bir listesi olarak tanımlanabilir.
Yığın için standart model, bir restorandaki tabak yığınıdır. Yığındaki tabaklar her zaman üstten çıkarılır. Yığına ekleme yapılacaksa da üstten ekleme yapılabilir. Yığın, Son Giren İlk Çıkar (LIFO - Last In First Out) veri yapısı olarak bilinir.
Yığın için standart model, bir restorandaki tabak yığınıdır. Yığındaki tabaklar her zaman üstten çıkarılır. Yığına ekleme yapılacaksa da üstten ekleme yapılabilir. Yığın, Son Giren İlk Çıkar (LIFO - Last In First Out) veri yapısı olarak bilinir.
Soru 21
Yığınlara öge eklemek ve çıkarmak için yapılan işlemlere sırasıyla ne ad verilir?
Seçenekler
A
İtme ve çekme
B
Çekme ve bekleme
C
İlerletme ve işleme
D
İşleme ve sunma
E
İşleme ve itme
Açıklama:
Bir yığındaki iki temel işlem, yığına ögelerin eklenmesi ve ögelerin yığından çıkarılmasıdır. Yığınlara öge eklemek için Push (itme) işlemi kullanılır. Yığından ögeyi çıkartmak için ise Pop (Çekme) işlemi kullanılabilir.
Soru 22
C dilinde ögeyi yığından kaldırmadan sadece görüntülemek için kullanılan işleme ne ad verilir?
Seçenekler
A
Tepe (peek)
B
İtme (push)
C
Çekme (pop)
D
Döndürme (for)
E
Temizleme (clear)
Açıklama:
Ögeyi yığından kaldırmadan sadece görüntülemek için kullanılan işlem ise C# dilinde Peek (Tepe) olarak adlandırılır.
Soru 23
Yığındaki tüm elemanları kaldırıp, öge sayısını sıfır olarak ayarlayan yöntem aşağıdakilerden hangisidir?
Seçenekler
A
Clear
B
Contains
C
CopyTo
D
Peek
E
Stack
Açıklama:
Clear yöntemi; yığındaki tüm elemanları kaldırır, öge sayısını sıfır olarak ayarlar. Bir yığının gerçek kapasitesini inceleyemeyeceğimiz için Clear yönteminin bir yığının kapasitesini etkileyip etkilemediğini söylemek zordur. Bu nedenle kapasitenin başlangıçtaki varsayılan 10 öge boyutuna ayarlandığını varsaymak en iyisidir.
Soru 24
Bir ögenin, yığın içerisinde bulunup bulunmadığını kontrol etmek için aşağıdaki yöntemlerden hangisi kullanılır?
Seçenekler
A
Contains
B
Peek
C
CopyTo
D
Stack
E
Lack
Açıklama:
Bir ögenin, yığın içerisinde bulunup bulunmadığını kontrol etmek için Contains yöntemi kullanılabilir.
Soru 25
Verilerin liste olarak tutulduğu, yeni gelen verinin listenin arkasına eklendiği, kaldırma işleminin ise listenin önündeki veriye uygulandığı yapıya ne ad verilir?
Seçenekler
A
Kuyruk
B
Yığın
C
Push
D
Matris
E
Vektör
Açıklama:
Doğrusal veri yapılarının diğer önemli yapısı Kuyruk (Queue) yapılarıdır. Kuyruk; verilerin liste olarak tutulduğu, yeni gelen verinin listenin arkasına eklendiği, kaldırma işleminin ise listenin önündeki veriye uygulandığı bir yapıdır yani her zaman ilk önce giren veri ilk çıkar.
Soru 26
Kuyruğa yeni öge ekleme işlemine ne ad verilir?
Seçenekler
A
Enqueue
B
Dequeue
C
Clearqueue
D
Consoleque
E
Containque
Açıklama:
Kuyruğa yeni öge ekleme işlemi Enqueue (Sıraya Alma) olarak adlandırılır. Kuyruktan öge çıkarma işlemi ise Dequeue (Sıradan Çıkarma) olarak adlandırılır.
Soru 27
Kuyruktan öge çıkarma işlemine ne ad verilir?
Seçenekler
A
Dequeue
B
Enqueue
C
Clear
D
Contains
E
Peek
Açıklama:
Kuyruktan öge çıkarma işlemi ise Dequeue (Sıradan Çıkarma) olarak adlandırılır. Enqueue işlemi kuyruk sırasının sonuna bir öge ekler. Dequeue işlemi sıranın önündeki ögeyi kaldırır.
Soru 28
Bir yığının içeriğini tek boyutlu bir diziye kopyalamak için aşağıdakilerden hangisi kullanılır?
Seçenekler
A
CopyTo
B
Contains
C
Peek
D
Clear
E
Dequeue
Açıklama:
CopyTo yöntemi, bir yığının içeriğini tek boyutlu bir diziye kopyalamak için kullanılır. Hedef dizi, tüm yığın nesnelerinin veri türüyle aynı olmalıdır. CopyTo yöntemi, hedef dizi ve başlangıç indeksini gösteren iki parametre alır.
Soru 29
Aşağıdakilerden hangisi ögeyi yığından çıkarmak zorunda kalmadan yığının tepesindeki ögenin değerine bakmamızı sağlar?
Seçenekler
A
Peek
B
Clear
C
For
D
Contains
E
Push
Açıklama:
Peek yöntemi, ögeyi yığından çıkarmak zorunda kalmadan yığının tepesindeki ögenin değerine bakmamızı sağlar.
Ünite 4
Soru 1
Algoritma seçiminde, çalışılabilecek en büyük veri boyutu ve veri sayısı göz önüne alınmalıdır. Sıralama algoritmasında, ideal zaman karmaşıklığı değeri ................... olmalıdır.
Yukarıdaki metinde boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
Yukarıdaki metinde boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
O(1)
B
arr[i]
C
CArray(10)
D
Random(100)
E
Q(1)
Açıklama:
Algoritma seçiminde, çalışılabilecek en büyük veri boyutu ve veri sayısı göz önüne alınmalıdır. Sıralama algoritmasında, ideal zaman karmaşıklığı değeri O(1) olmalıdır.
Soru 2
Sıralama algoritmalarını incelemek için dizi elemanlarının rastgele üretilmiş verilerden oluşması ve
algoritmaya ......................................... verilmesi gerekir.
Yukarıdaki metinde boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
algoritmaya ......................................... verilmesi gerekir.
Yukarıdaki metinde boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
Ardışık olarak
B
Sırasız olarak
C
Parabolik olarak
D
Sıralı olarak
E
Yapılandırılmış olarak
Açıklama:
Sıralama algoritmalarını incelemek için dizi elemanlarının rastgele üretilmiş verilerden oluşması ve algoritmaya sırasız olarak verilmesi gerekir.
Soru 3
Rastgele sayı dizisini oluşturmak için C# ile birlikte gelen ........................................ kullanılabilir.
Yukarıdaki metinde boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
Yukarıdaki metinde boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
Array dizisi
B
Public sekmesi
C
Random sınıfı
D
Parabolik kümesi
E
Fn dizisi
Açıklama:
Rastgele sayı dizisini oluşturmak için C# ile birlikte gelen Random sınıfı kullanılabilir.
Soru 4
... Listedeki elemanları, ikili olarak yanındaki ile karşılaştırır ve sıralama yapılmak istenen yönde yer değiştirir. Artan sıralama yapılıyorsa büyük olan eleman sağ tarafa, küçük eleman sol tarafa alınarak yerleştirme yapılır...
Yukarıdaki metinde açıklanmaya çalışılan, aşağıdaki hangi algoritma sıralamasıdır?
Yukarıdaki metinde açıklanmaya çalışılan, aşağıdaki hangi algoritma sıralamasıdır?
Seçenekler
A
Ekleme sıralama
B
Seçerek sıralama
C
Hızlı sıralama
D
Baloncuk sıralama
E
Rasgele sıralama
Açıklama:
Baloncuk Sıralama (Bubble Sort), listenin bir başından diğer başına kadar kayan bir baloncuk görüntüsü verdiği için bu şekilde adlandırılmıştır. Listedeki rastgele verilen elemanları artan sıra ile sıralarsak baloncuk sağa doğru kayacaktır. Azalan sıra ile sıralarsak baloncuk sola doğru kayacaktır. Listedeki elemanları, ikili olarak yanındaki ile karşılaştırır ve sıralama yapılmak istenen yönde yer değiştirir. Artan sıralama yapılıyorsa büyük olan eleman sağ tarafa, küçük eleman sol tarafa alınarak yerleştirme yapılır.
Soru 5
Kod 4.7
public void SecerekSiralama()
{
int min, temp;
for (int dis = 0; dis <= enBuyuk; dis++)
{
min = dis;
for (int ic = dis + 1; ic <= enBuyuk; ic++)
if (arr[ic] < arr[min])
min = ic;
temp = arr[dis];
arr[dis] = arr[min];
arr[min] = temp;
}
}
Yukarıdaki kod bloğunda Seçerek Sıralama algoritması için C# kodu verilmiştir. Kod yapısı incelendiğinde iç içe iki adet for döngüsü vardır. Algoritmanın BigO notasyonu aşağıdakilerden hangisidir?
public void SecerekSiralama()
{
int min, temp;
for (int dis = 0; dis <= enBuyuk; dis++)
{
min = dis;
for (int ic = dis + 1; ic <= enBuyuk; ic++)
if (arr[ic] < arr[min])
min = ic;
temp = arr[dis];
arr[dis] = arr[min];
arr[min] = temp;
}
}
Yukarıdaki kod bloğunda Seçerek Sıralama algoritması için C# kodu verilmiştir. Kod yapısı incelendiğinde iç içe iki adet for döngüsü vardır. Algoritmanın BigO notasyonu aşağıdakilerden hangisidir?
Seçenekler
A
+1
B
1
C
fx
D
x/y=n+1
E
n kare
Açıklama:
Algoritmanın BigO notasyonu n kare'dir.
Soru 6
public void ..................................()
{
int ic, temp;
for (int dis = 1; dis <= enBuyuk; dis++)
{
temp = arr[dis];
ic = dis;
while (ic > 0 && arr[ic - 1] >= temp)
{
arr[ic] = arr[ic - 1];
ic -= 1;
}
arr[ic] = temp;
}
}
Yukarıdaki C# kodu, aşağıdaki hangi sıralama algoritması için yazılmış olabilir?
{
int ic, temp;
for (int dis = 1; dis <= enBuyuk; dis++)
{
temp = arr[dis];
ic = dis;
while (ic > 0 && arr[ic - 1] >= temp)
{
arr[ic] = arr[ic - 1];
ic -= 1;
}
arr[ic] = temp;
}
}
Yukarıdaki C# kodu, aşağıdaki hangi sıralama algoritması için yazılmış olabilir?
Seçenekler
A
Ekleme sıralama
B
Hızlı sıralama
C
Döngüsel sıralama
D
Baloncuk sıralama
E
Seçerek sıralama
Açıklama:
Doğru yanıt, Ekleme sıralama olmalıdır.
Soru 7
.................................... algoritması, iki adet döngü içerir. İlk döngü dizi elemanları üzerinde teker teker gezerken ikinci döngü sıradaki elemanı, önceki adımlarda düzenlenmiş olan elemanlar arasında olması gereken yere yerleştirir.
Yukarıdaki metinde boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
Yukarıdaki metinde boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
Hızlı sıralama
B
Ekleme sıralama
C
Seçerek sıralama
D
Baloncuk sıralama
E
Paylaşmalı sıralama
Açıklama:
Ekleme sıralama algoritması, iki adet döngü içerir. İlk döngü dizi elemanları üzerinde teker teker gezerken ikinci döngü sıradaki elemanı, önceki adımlarda düzenlenmiş olan elemanlar arasında olması gereken yere yerleştirir.
Soru 8
Dizi elemanlarından biri pivot değer olarak seçilerek algoritma başlatılır. Pivot, baştaki eleman seçilebileceği gibi rastgele bir elemanda seçilebilir. Pivotun dizi elemanlarına uygun seçilmesi algoritma başarısını etkileyecektir. Pivot seçildikten sonra dizinin diğer elemanları, pivottan küçük veya büyük olmasına göre iki gruba ayrılır. Sonraki adımda, bu iki grup kendi içlerinde tekrar bölünerek sıralanır. Grupların sıralaması için sıralama algoritması özyinelemeli (recursive) olarak çalıştırılır.
Yukarıda çalışma sistemi anlatılan sıralama algoritması aşağıdakilerden hangisidir?
Yukarıda çalışma sistemi anlatılan sıralama algoritması aşağıdakilerden hangisidir?
Seçenekler
A
Pivot sıralama algoritması
B
Ekleme sıralama algoritması
C
Hızlı sıralama algoritması
D
Baloncuk sıralama algoritması
E
Seçerek sıralama algoritması
Açıklama:
Metinde çalışma sistemi anlatılan sıralama algoritması, hızlı sıralama algoritmasıdır.
Soru 9
Başlangıç Pivot=14
96 15 66 90 35 94 71 61 34 14
1. Adım Pivot 96
14 15 66 90 35 94 71 61 34 96
2. Adım Pivot 34
14 15 66 90 35 94 71 61 34 96
3. Adım Pivot 66
14 15 34 90 35 94 71 61 66 96
4. Adım Alt Grup Pivot= 61 Üst Grup Pivot=94
14 15 34 35 61 66 71 90 94 96
5. Adım Pivot=90
14 15 34 35 61 66 71 90 94 96
6. Adım Tamamlandı
14 15 34 35 61 66 71 90 94 96
Yukarıda altı aşamada çalışma sistemi verilen sıralama algoritması, aşağıdakilerden hangisidir?
96 15 66 90 35 94 71 61 34 14
1. Adım Pivot 96
14 15 66 90 35 94 71 61 34 96
2. Adım Pivot 34
14 15 66 90 35 94 71 61 34 96
3. Adım Pivot 66
14 15 34 90 35 94 71 61 66 96
4. Adım Alt Grup Pivot= 61 Üst Grup Pivot=94
14 15 34 35 61 66 71 90 94 96
5. Adım Pivot=90
14 15 34 35 61 66 71 90 94 96
6. Adım Tamamlandı
14 15 34 35 61 66 71 90 94 96
Yukarıda altı aşamada çalışma sistemi verilen sıralama algoritması, aşağıdakilerden hangisidir?
Seçenekler
A
Pivot sıralama algoritması
B
Seçerek sıralama algoritması
C
Baloncuk sıralama algoritması
D
Hızlı sıralama algoritması
E
Ekleme sıralama algoritması
Açıklama:
Metinde verilen sıralama algoritması, hızlı sıralama algoritmasıdır.
Soru 10
Diğerlerine göre daha karmaşık olmasına rağmen performansı en iyi olan sıralama algoritması aşağıdakilerden hangisidir?
Seçenekler
A
İvmeli sıralama algoritması
B
Ekleme sıralama algoritması
C
Baloncuk sıralama algoritması
D
Seçerek sıralama algoritması
E
Hızlı sıralama algoritması
Açıklama:
Diğerlerine göre daha karmaşık olmasına rağmen performansı en iyi olan sıralama algoritması, hızlı sıralama algoritmasıdır.
Soru 11
Algoritma, sıralanacak diziyi baştan itibaren tarar. Bulduğu en küçük elemanı seçer ve dizinin 0 no’lu indeksindeki eleman ile yer değiştirir. İlk adım tamamlanmış olur. İkinci adımda, dizinin 1 no’lu indeksinden itibaren son elemana kadar tarar ve en küçük elemanı tekrar seçer. Seçilen en küçük elemanın 1 no’lu indekste bulunan elemanla yer değiştirilmesi yapıldıktan sonra 2. adım tamamlanır. n elemana sahip dizide n tekrar yapılarak işlem tamamlanır.
Yukarıda sözü edilen sıralama yöntemi aşağıdakilerden hangisidir?
Yukarıda sözü edilen sıralama yöntemi aşağıdakilerden hangisidir?
Seçenekler
A
Selection Sort
B
Bubble Sort
C
Insertion Sort
D
Quick Sort
E
Standard Sort
Açıklama:
Bahsi geçen sıralama türü, seçerek sıralamdır; A seçeneği doğrudur.
Soru 12
Dizi elemanlarından biri pivot değer olarak seçilerek algoritma başlatılır. Pivot, baştaki eleman seçilebileceği gibi rastgele bir elemanda seçilebilir. Pivotun dizi elemanlarına uygun seçilmesi algoritma başarısını etkileyecektir. Pivot seçildikten sonra dizinin diğer elemanları, pivottan küçük veya büyük olmasına göre iki gruba ayrılır. Sonraki adımda, bu iki grup kendi içlerinde tekrar bölünerek sıralanır. Grupların sıralaması için sıralama algoritması özyinelemeli (recursive) olarak çalıştırılır.
Yukarıda anlatılan sıralama türü aşağıdakilerden hangisidir?
Yukarıda anlatılan sıralama türü aşağıdakilerden hangisidir?
Seçenekler
A
Hızlı
B
Baloncuk
C
Seçerek
D
Ekleme
E
Eksik
Açıklama:
Bahsi geçen sıralama türü, A seçeneğinde yer alan hızlı sıralamadır.
Soru 13
- İç Döngü
- Orta Döngü
- Dış Döngü
Seçenekler
A
Yalnız I
B
I ve II
C
I ve III
D
II ve III
E
I, II ve III
Açıklama:
Seçerek sıralama algoritmasında iki döngü kullanılır. Dış döngü, dizideki ilk ögeden bir sonraki son ögeye doğru hareket ederken iç döngü dizinin ikinci ögesinden son ögeye doğru hareket eder. Algoritma, mevcut adıma ait başlangıç ögesinden küçük ögeleri arar. İç döngünün her yinelemesinden sonra dizideki en küçük değer dizideki uygun yerine atanır
Soru 14
Aşağıdaki sıralama algoritmalarından hangisinin performansı en yüksektir?
Seçenekler
A
Hızlı
B
Sıralama
C
Baloncuk
D
Seçerek
E
Özel
Açıklama:
Diğer algoritmalara nazaran daha performanslı olan hızlı sıralama algoritması, dikkatli kodlama yapılmadığı takdirde işlem yükü olarak daha maliyetli çalışır.
Soru 15
Listedeki elemanları, ikili olarak yanındaki ile karşılaştırır ve sıralama yapılmak istenen yönde yer değiştirir. Artan sıralama yapılıyorsa büyük olan eleman sağ tarafa, küçük eleman sol tarafa alınarak yerleştirme yapılır.
Yukarıda bahsi geçen sıralama algoritması aşağıdakilerden hangisidir?
Yukarıda bahsi geçen sıralama algoritması aşağıdakilerden hangisidir?
Seçenekler
A
Baloncuk
B
Hızlı
C
Ekleme
D
Seçerek
E
Özel
Açıklama:
Listedeki rastgele verilen elemanları artan sıra ile sıralarsak baloncuk sağa doğru kayacaktır. Azalan sıra ile sıralarsak baloncuk sola doğru kayacaktır. Listedeki elemanları, ikili olarak yanındaki ile karşılaştırır ve sıralama yapılmak istenen yönde yer değiştirir. Artan sıralama yapılıyorsa büyük olan eleman sağ tarafa, küçük eleman sol tarafa alınarak yerleştirme yapılır
Soru 16
Seçerek sıralamada hangi döngünün her yinelemesinden sonra dizideki en küçük değer dizideki uygun yerine atanır?
Seçenekler
A
İç
B
Dış
C
Orta
D
Başlangı.
E
Son
Açıklama:
Seçerek sıralama algoritmasında iki döngü kullanılır. Dış döngü, dizideki ilk ögeden bir sonraki son ögeye doğru hareket ederken iç döngü dizinin ikinci ögesinden son ögeye doğru hareket eder. Algoritma, mevcut adıma ait başlangıç ögesinden küçük ögeleri arar. İç döngünün her yinelemesinden sonra dizideki en küçük değer dizideki uygun yerine atanır.
Soru 17
Bir başka temel sıralama algoritması ise ------- algoritmasıdır. Çalışma esnasında
dizi aralığındaki en küçük elemanı seçerek çalıştığı için bu isim verilmiştir.
Yukarıdaki cümlede boş bırakılan yeri aşağıdakilerden hangisi doğru olarak tamamlar?
dizi aralığındaki en küçük elemanı seçerek çalıştığı için bu isim verilmiştir.
Yukarıdaki cümlede boş bırakılan yeri aşağıdakilerden hangisi doğru olarak tamamlar?
Seçenekler
A
Seçerek Sıralama
B
Baloncuk Sıralama
C
Ekleme Sıralama
D
Hızlı Sıralama
E
Yavaş Sıralama
Açıklama:
diğer temel sıralama algoritması Seçerek Sıralama algoritmasıdır. Çalışma esnasında
dizi aralığındaki en küçük elemanı seçerek çalıştığı için bu isim verilmiştir.
dizi aralığındaki en küçük elemanı seçerek çalıştığı için bu isim verilmiştir.
Soru 18
Aşağıdakilerden hangisi diğer algoritmalara nazaran daha performanslı olan ancak dikkatli kodlama yapılmadığı takdirde işlem yükü olarak daha maliyetli çalışan bir sıralama algoritmasıdır?
Seçenekler
A
Hızlı Sıralama
B
Ekleme Sıralama
C
Seçerek Sıralama
D
Baloncuk Sıralama
E
Veri Sıralama
Açıklama:
Hızlı Sıralama (Quick Sort) algoritması diğer algoritmalara nazaran daha performanslı olan bu algoritma, dikkatli kodlama yapılmadığı takdirde işlem yükü olarak daha maliyetli çalışır.
Soru 19
Temel sıralama algoritmalarından bir diğeri ise ------- algoritmasıdır. Bu algoritmaya örnek olarak kitaplığına kitapların yerleştirilmesi düşünülebilir. Rastgele dizi hâlinde bulunan kitaplar, sol taraftan başlanarak düzenlenebilir. Her adımda sıradaki kitap önceki kitaplar arasındaki yerine eklenir ve sıradaki kitap alınır.
Yukarıdaki paragrafta boş bırakılan yeri aşağıdakilerden hangisi doğru olarak tamamlar?
Yukarıdaki paragrafta boş bırakılan yeri aşağıdakilerden hangisi doğru olarak tamamlar?
Seçenekler
A
Ekleme Sıralama
B
Seçerek Sıralama
C
Hızlı Sıralama
D
Baloncuk Sıralama
E
Yavaş Sıralama
Açıklama:
Temel sıralama algoritmalarından bir diğeri ise Ekleme Sıralama (Insertion Sort) algoritmasıdır. Bu algoritmaya örnek olarak kitaplığına kitapların yerleştirilmesi düşünülebilir. Rastgele dizi hâlinde bulunan kitaplar, sol taraftan başlanarak düzenlenebilir. Her adımda sıradaki kitap önceki kitaplar arasındaki yerine eklenir ve sıradaki kitap alınır.
Soru 20
Sıralama algoritmasında ideal zaman karmaşıklığı değeri aşağıdakilerden hangisi olmalıdır?
Seçenekler
A
O(1)
B
O(log n)
C
O(n)
D
O(n2)
E
O(n^n)
Açıklama:
Sıralama algoritmasında, ideal zaman karmaşıklığı değeri O(1)
olmalıdır.
olmalıdır.
Soru 21
Bir sıralama algoritmasının performansı, veri __________ ve algoritmanın __________ yapısıyla doğrudan ilişkilidir.
Yukarıdaki ifadede boş bırakılan yerlere sırasıyla aşağıdaki seçeneklerden hangisi gelmelidir?
Yukarıdaki ifadede boş bırakılan yerlere sırasıyla aşağıdaki seçeneklerden hangisi gelmelidir?
Seçenekler
A
miktarı - bellek
B
boyutu - karmaşıklık
C
işlemcisi - format
D
sayısı - tip
E
listesi - donanım
Açıklama:
Sıralama algoritmalarının verimliliği, işlem görecek verinin boyutu ve algoritmanın sahip olduğu karmaşıklık derecesi (örneğin O(n), O(n²) gibi) ile ilgilidir. Bu sebeple doğru cevap 'boyutu - karmaşıklık' ifadesidir.
Soru 22
Aşağıda baloncuk sıralama algoritmasına ait kavramlar ve açıklamaları verilmiştir.
Eşleştirmelerden hangisi doğrudur?
Kavramlar:
1- Döngü
2- Karşılaştırma
3- Swap (Yer Değiştirme)
4- Son
5- Verimlilik
Açıklamalar:
A) Yer değiştirme yapılırsa devam eder
B) Yandaki elemanla yapılır
C) Sıralı değilse yapılır
D) Tüm geçişler tamamlandığında olur
E) O(n²) karmaşıklığına sahiptir
Eşleştirmelerden hangisi doğrudur?
Kavramlar:
1- Döngü
2- Karşılaştırma
3- Swap (Yer Değiştirme)
4- Son
5- Verimlilik
Açıklamalar:
A) Yer değiştirme yapılırsa devam eder
B) Yandaki elemanla yapılır
C) Sıralı değilse yapılır
D) Tüm geçişler tamamlandığında olur
E) O(n²) karmaşıklığına sahiptir
Seçenekler
A
1-A, 2-B, 3-C, 4-D, 5-E
B
1-A, 2-C, 3-B, 4-E, 5-D
C
1-B, 2-C, 3-A, 4-D, 5-E
D
1-C, 2-D, 3-A, 4-B, 5-E
E
1-D, 2-E, 3-B, 4-A, 5-C
Açıklama:
Baloncuk sıralama, her geçişte yandaki elemanlarla karşılaştırma yaparak yer değiştirme temellidir. İşlemler değişiklik olmayana kadar tekrar eder. En kötü durumu O(n²)’dir.
Soru 23
- Tüm liste sıralanana kadar devam et
- Sıradaki alt diziye geçerek işlemi tekrar et
- Bulunan elemanı ilk elemanla yer değiştir
- Tüm dizide en küçük elemanı bul
Seçenekler
A
I → II → III → IV
B
I → III → II → IV
C
II → I → III → IV
D
III → I → II → IV
E
IV → III → II → I
Açıklama:
Seçerek sıralama algoritmasında önce en küçük eleman bulunur, sonra yer değiştirir, sonra alt diziye geçilir. Bu işlem tüm liste sıralanana kadar devam eder.
Soru 24
Bir öğretmen, öğrencilerden aldığı notları sıralı şekilde eklemek istemektedir. Elindeki sıralı not listesi: 40, 50, 70 şeklindedir. Dördüncü öğrenciden gelen 60 notu, bu listeye eklenmek isteniyor. Ekleme sıralama algoritması kullanılırsa hangi adımlar uygulanır?
Seçenekler
A
60, en küçük değer olmadığı için listenin başına eklenir.
B
60, 40’tan küçük olmadığı için sona eklenir.
C
60, 50 ile karşılaştırılır; küçük olduğu için 50 ile yer değiştirip başa geçer.
D
60, 70 ile karşılaştırılıp yer değiştirir; ardından 50 ile karşılaştırılıp daha büyük olduğu için 50’nin sağına yerleştirilir.
E
60, 70’ten küçük olduğu için doğrudan 70’in yerine yazılır ve işlem sonlandırılır.
Açıklama:
Ekleme sıralamada, yeni gelen öğe sondan başlayarak geriye doğru karşılaştırılır. 60 → 70’ten küçük olduğundan yer değiştirir. Sonra 50 ile karşılaştırılır ve büyük olduğundan onun sağına yerleştirilir. Son liste: 40, 50, 60, 70 olur.
Soru 25
Aşağıdakilerden hangisi Hızlı Sıralama algoritmasının avantajlarından biridir?
Seçenekler
A
Bellek kullanımı çok yüksektir
B
Daima sabit sürede çalışır
C
Genellikle O(n log n) sürede çalışır
D
Tüm durumlarda O(n²) performansı gösterir
E
Yalnızca sıralı verilerde çalışır
Açıklama:
Hızlı sıralama algoritması ortalama ve en iyi durumda O(n log n) gibi yüksek performanslı çalışır. Pivot seçimi ile veriyi bölerek sıralar
Soru 26
Bir yazılım geliştirici, sadece 8 eleman içeren küçük bir listeyi sıralamak için O(n²) ve O(n log n) karmaşıklıklarına sahip iki algoritmayı test etmektedir.
O(n²) algoritma ile sıralama yapıldığında toplamda 64 karşılaştırma yapılmaktadır.
Aynı listeyi O(n log n) karmaşıklığına sahip algoritma ile sıralarsa yaklaşık kaç karşılaştırma yapılması beklenir?
O(n²) algoritma ile sıralama yapıldığında toplamda 64 karşılaştırma yapılmaktadır.
Aynı listeyi O(n log n) karmaşıklığına sahip algoritma ile sıralarsa yaklaşık kaç karşılaştırma yapılması beklenir?
Seçenekler
A
8
B
16
C
24
D
32
E
64
Açıklama:
n = 8 olduğunda log₂(8) = 3. O(n log n) algoritma yaklaşık 8 × 3 = 24 karşılaştırma yapar. Bu nedenle doğru cevap C'dir.
Soru 27
"Bir veri mühendisi, farklı büyüklükteki veri kümeleri için sıralama algoritmalarını değerlendirmektedir. Küçük veri kümelerinde ekleme sıralama tercih ederken, büyük veri kümelerinde hızlı sıralama algoritmasını kullanmaktadır."
Aşağıdakilerden hangisi bu iki algoritmanın ortalama ve tipik performans farkını doğru şekilde açıklar?
Aşağıdakilerden hangisi bu iki algoritmanın ortalama ve tipik performans farkını doğru şekilde açıklar?
Seçenekler
A
Hızlı sıralama ortalama durumda O(n log n) performans gösterirken, ekleme sıralama genellikle O(n²) zaman alır.
B
Ekleme sıralama büyük veri kümelerinde daha verimlidir.
C
Hızlı sıralama yalnızca veri sıralı olduğunda çalışır.
D
Ekleme sıralama, veriyi parçalara ayırıp birleştirerek sıralar.
E
Hızlı sıralama tüm durumlarda O(n²)’dir.
Açıklama:
1. Şık - DOĞRU
“Hızlı sıralama ortalama durumda O(n log n)… ekleme sıralama O(n²)….”
Bu ifade iki algoritmanın temel performans farkını doğru şekilde açıklar.
Bu nedenle doğru cevap budur.
2. Şık - YANLIŞ
“Ekleme sıralama büyük veri kümelerinde daha verimlidir.”
Tam tersi doğrudur:
Ekleme sıralama küçük veri kümelerinde etkilidir, büyüklerde yavaşlar.
3. Şık - YANLIŞ
“Hızlı sıralama yalnızca veri sıralı olduğunda çalışır.”
Hızlı sıralama her durumda çalışır; veri sıralı olduğunda hatta performansı kötüleşebilir.
4. Şık - YANLIŞ
“Ekleme sıralama, veriyi parçalara ayırıp birleştirerek sıralar.”
Bu, birleştirme sıralama (merge sort) tanımıdır.
Ekleme sıralama böyle çalışmaz.
5. Şık - YANLIŞ
“Hızlı sıralama tüm durumlarda O(n²)’dir.”
Sadece kötü durumda O(n²)’dir; ortalama ve en iyi durumda O(n log n)’dir.
“Hızlı sıralama ortalama durumda O(n log n)… ekleme sıralama O(n²)….”
Bu ifade iki algoritmanın temel performans farkını doğru şekilde açıklar.
Bu nedenle doğru cevap budur.
2. Şık - YANLIŞ
“Ekleme sıralama büyük veri kümelerinde daha verimlidir.”
Tam tersi doğrudur:
Ekleme sıralama küçük veri kümelerinde etkilidir, büyüklerde yavaşlar.
3. Şık - YANLIŞ
“Hızlı sıralama yalnızca veri sıralı olduğunda çalışır.”
Hızlı sıralama her durumda çalışır; veri sıralı olduğunda hatta performansı kötüleşebilir.
4. Şık - YANLIŞ
“Ekleme sıralama, veriyi parçalara ayırıp birleştirerek sıralar.”
Bu, birleştirme sıralama (merge sort) tanımıdır.
Ekleme sıralama böyle çalışmaz.
5. Şık - YANLIŞ
“Hızlı sıralama tüm durumlarda O(n²)’dir.”
Sadece kötü durumda O(n²)’dir; ortalama ve en iyi durumda O(n log n)’dir.
Soru 28
Bir öğrenci, 1.000 elemandan oluşan bir sayısal listeyi sıralamak için Baloncuk Sıralama (Bubble Sort) algoritmasını kullanır.
Baloncuk sıralama algoritması, her geçişte yandaki iki öğeyi karşılaştırır ve gerekirse yer değiştirir.
Bu algoritmada sıralama tamamlanana kadar dizinin baştan sona tekrar tekrar tarandığı varsayılırsa, yaklaşık kaç karşılaştırma yapılır?
Baloncuk sıralama algoritması, her geçişte yandaki iki öğeyi karşılaştırır ve gerekirse yer değiştirir.
Bu algoritmada sıralama tamamlanana kadar dizinin baştan sona tekrar tekrar tarandığı varsayılırsa, yaklaşık kaç karşılaştırma yapılır?
Seçenekler
A
100
B
1.000
C
10.000
D
100.000
E
1.000.000
Açıklama:
Baloncuk sıralama algoritması n(n-1)/2 kadar karşılaştırma yapar (en kötü durumda).
Çünkü her öğe, tüm diğer öğelerle bir kez karşılaştırılır.
Bu durumda:
21000×999 =499.500
Bu sayı yaklaşık 500.000 olsa da, test sorularında yuvarlama yapılır ve 100.000’e en yakın seçenek D şıkkıdır.
E şıkkı olan 1.000.000, n² yani 1.000 × 1.000 olsa da, her karşılaştırma için bu kadar işlem yapılmaz.
Soru 29
Bir e-ticaret platformu, milyonlarca ürünü kullanıcının konumuna ve arama geçmişine göre dinamik olarak sıralamak istiyor. Yüksek performans gereksinimi nedeniyle Hızlı Sıralama algoritması kullanılmasına karar verilmiştir. Ancak testlerde sıralama süresinin beklentinin üzerinde olduğu fark edilmiştir.
Aşağıdaki durumlardan hangisi bu performans sorununa *en olası açıklamayı* sunar?
Aşağıdaki durumlardan hangisi bu performans sorununa *en olası açıklamayı* sunar?
Seçenekler
A
Veri miktarı çok küçük olduğu için algoritma yavaş çalışır
B
Veri zaten sıralı olduğundan algoritma dengesiz çalışır
C
Algoritma çok fazla RAM kullandığı için sistem yavaşlar
D
Kullanılan dil Python olduğu için algoritma etkisiz kalır
E
Pivot öğe çift sayıda veriyle çalışmaz
Açıklama:
Hızlı sıralama algoritması, sıralı ya da ters sıralı veri geldiğinde pivotun her zaman uçta seçilmesi nedeniyle dengesiz çalışır ve O(n²) zaman alabilir.
Soru 30
Aşağıdaki ifadelerden hangisi sıralama algoritmalarının genel özelliklerinden biri olan *kararlılığı (stability)* en doğru şekilde açıklar?
Seçenekler
A
Algoritmanın her durumda aynı sürede çalışmasıdır
B
Sıralı verilerin tersine çevrilmeden işlenmesidir
C
Bellek kullanımı arttıkça performansın artmasıdır
D
Veri boyutunun algoritmanın hızına etkisinin olmamasıdır
E
Aynı değerlere sahip öğelerin sıralama sonrası göreceli konumlarının korunmasıdır
Açıklama:
Kararlı (stable) bir sıralama algoritması, eşit değerlere sahip öğelerin sıralama sonrası orijinal sırasını korur. Bu özellik özellikle veritabanı işlemlerinde önemlidir.
Ünite 5
Soru 1
Aşağıdakilerden hangisi doğrusal aramanın özyinelemeli çözümü için doğru bir koşuldur?
Seçenekler
A
Dizinin boyutu sıfır olduğunda özyineleme işlemi sona erer
B
Dizinin boyutu sıfırsa -1 döndürülür
C
Geçerli eleman anahtara eşitse -1 döndürülür
D
Aranan eleman bulunana kadar dizi tersine sıralanır
E
Dizinin boyutu sıfırsa anahtarın bulunduğu indeks döndürülür
Açıklama:
Doğrusal Arama Özyinelemeli (Recursive) Yaklaşım konusunu yeniden gözden geçiriniz.
Doğrusal aramayı özyinelemeli olarak çözmek için aşağıdaki adımlar takip edilebilir:
• Dizinin boyutu sıfırsa ögenin bulunmadığını gösteren -1 döndürülmelidir. Bu aynı zamanda bir özyineleme çağrısının temel koşulu olarak da ele alınabilir.
• Diğer durumda, dizideki geçerli dizindeki ögenin anahtara eşit olup olmadığı kontrol edilmelidir yani arr[boyut - 1] == aranan_kelime
• Eşit ise bulunan anahtarın dizinini döndürün.
Doğrusal aramayı özyinelemeli olarak çözmek için aşağıdaki adımlar takip edilebilir:
• Dizinin boyutu sıfırsa ögenin bulunmadığını gösteren -1 döndürülmelidir. Bu aynı zamanda bir özyineleme çağrısının temel koşulu olarak da ele alınabilir.
• Diğer durumda, dizideki geçerli dizindeki ögenin anahtara eşit olup olmadığı kontrol edilmelidir yani arr[boyut - 1] == aranan_kelime
• Eşit ise bulunan anahtarın dizinini döndürün.
Soru 2
Doğrusal arama algoritmasında en kötü durumda kaç karşılaştırma yapılır?
Seçenekler
A
2n
B
n/2
C
1
D
n
E
n log n
Açıklama:
En Kötü Durum (Worst Case) - O(n) Burada n, listenin/dizinin boyutudur. En kötü durum, hedef öge listenin sonunda bulunduğunda veya liste/dizide bulunmadığında ortaya çıkar. Tüm listedeki elemanların üzerinden geçilmesi gerekmektedir ve bu işlem için n tane karşılaştırma yapılması gerektiğinden zaman karmaşıklığı O(n)’dir.
Soru 3
Doğrusal aramanın ortalama durum zaman karmaşıklığı nedir?
Seçenekler
A
O(n)
B
O(n log n)
C
O(1)
D
O(log n)
E
O(n^2)
Açıklama:
Ortalama Durum (Average Case) - O(n) Doğrusal aramanın ortalama durum karmaşıklığı da O(n)’dir.
Soru 4
Hangi durumda doğrusal aramanın en iyi zaman karmaşıklığı O(1) olur?
Seçenekler
A
Aranan eleman dizide yoksa
B
Aranan eleman dizinin ortasında ise
C
Aranan eleman dizinin başı/sonundaysa
D
Aranan eleman dizinin başında ise
E
Aranan eleman dizinin sonunda ise
Açıklama:
En İyi Durum (Best Case) - O(1) En iyi durum, aranan eleman listenin/dizinin başında bulunduğunda ortaya çıkmaktadır. Yalnızca bir karşılaştırma yapıldığından zaman karmaşıklığı O(1)’dir.
Soru 5
Üçlü arama algoritmasında orta1 ve orta2 nasıl hesaplanır?
Seçenekler
A
orta1 ve orta2 sabit bir şekilde atanır
B
orta1 = (sol + sağ) / 3 ve orta2 = (sol + sağ) / 3
C
orta1 = sol / 3 ve orta2 = sağ / 3
D
orta1 = sol + (sağ - sol) / 3 ve orta2 = sağ - (sağ - sol) / 3
E
orta1 = sol + (sağ - sol) / 2 ve orta2 = sağ + (sağ - sol) / 2
Açıklama:
İkili ve üçlü arama arasındaki tek fark, üçlü aramada orta1 ve orta2 olmak üzere iki orta nokta kullanarak dizi[sol, sağ] şeklinde üç parçaya bölünmesidir; burada orta1 = sol + (sağ - sol) / 3 ve orta2 = sağ - (sağ - sol) / 3. Her yinelemede arama uzayının 2/3’ü yok sayılır ve hedef elemanın bulunabileceği aralık seçilir.
Soru 6
İkili aramanın avantajlarından biri hangisidir?
Seçenekler
A
Sıralanmamış dizilerde hızlı çalışır
B
Her yinelemede arama uzayı ikiye bölünür
C
Veriler sıralanmak zorunda değildir
D
Herhangi bir ek alana ihtiyaç duymaz
E
Her zaman O(n) zaman karmaşıklığına sahiptir
Açıklama:
İkili Aramanın Avantajları
İkili Aramanın Avantajları
- Hem kavramları hem de uygulamayı anlamak son derece basittir.
- Sıralanmış bir dizi gerektirse de, her yinelemede tüm koleksiyonu ikiye böldüğü için uzun listelerdeki bir ögeyi oldukça verimli bir şekilde aramaktadır.
- Hedef eleman dizinin orta elemanı ile eşleştiğinde, arama işi O(1) zaman karmaşıklığında gerçekleşir.
İkili Aramanın Avantajları
- Hem kavramları hem de uygulamayı anlamak son derece basittir.
- Sıralanmış bir dizi gerektirse de, her yinelemede tüm koleksiyonu ikiye böldüğü için uzun listelerdeki bir ögeyi oldukça verimli bir şekilde aramaktadır.
- Hedef eleman dizinin orta elemanı ile eşleştiğinde, arama işi O(1) zaman karmaşıklığında gerçekleşir.
Soru 7
Aşağıdakilerden hangisi aralıklı arama algoritmalarına örnektir?
Seçenekler
A
Binary Search
B
Doğrusal Arama
C
Dizisel Arama
D
Kuyruk Arama
E
Rastgele Arama
Açıklama:
Aralıklı arama tipine İkili Arama (Binary Search) ve Üçlü Arama (Ternary Search) örnek olarak verilebilir.
Soru 8
İkili arama algoritması hangi tür dizilerde çalışır?
Seçenekler
A
Sıralanmamış dizilerde
B
Rastgele dizilerde
C
Sıralanmış dizilerde
D
Küçük boyutlu dizilerde
E
Ters sıralı dizilerde
Açıklama:
İkili arama, sıralanmış elemanlar üzerinde verimli bir şekilde çalışan bir tür aralıklı arama algoritmasıdır. Aranan elemanın listenin orta ögesiyle karşılaştırıldığı bir böl ve yönet algoritmasıdır. Eşitlerse hedefin orta konumda bulunduğu anlamına gelir. Aksi takdirde arama alanı yarıya indirilir yani hedef < orta öge veya hedef > orta öge olmasına bağlı olarak listenin sol ve sağ yarısından herhangi birine ikili arama uygulanır. Bir eşleşme bulunana veya dizinin boyutu 1’e ulaşana kadar bu işleme devam edilir.
Soru 9
Aralıklı arama algoritmalarında dizi nasıl işlenir?
Seçenekler
A
Dizi yalnızca iki aralığa bölünür
B
Dizi üç veya daha fazla aralığa bölünür
C
Dizi 2 veya 3 aralığa bölünür
D
Dizi yalnızca artan sıraya göre bölünür
E
Dizi sadece azalan sıraya göre bölünür
Açıklama:
Burada dizi her aşamada 2 veya 3 aralığa bölünmüştür. Dizi aralıklara bölündükten sonra bulunacak elemanın beklendiği aralığı belirlenmektedir ve bu aralık daha sonra 2 veya 3 alt aralığa bölünerek alt aralığın uzunluğu 0 olana kadar aynı işlem tekrar edilmektedir.
Soru 10
Aşağıdakilerden hangisi doğrusal aramanın özyinelemeli çözümü için yanlıştır?
Seçenekler
A
Dizinin boyutu sıfırsa -1 döndürülür
B
Anahtar bulunana kadar dizinin her elemanı kontrol edilir
C
En kötü durumda n karşılaştırma yapılır
D
Geçerli eleman anahtara eşitse dizinin boyutu 0 olur
E
Eğer anahtar bulunursa anahtarın dizindeki yeri döndürülür
Açıklama:
Doğrusal Arama Özyinelemeli (Recursive) Yaklaşım Doğrusal aramayı özyinelemeli olarak çözmek için aşağıdaki adımlar takip edilebilir: • Dizinin boyutu sıfırsa ögenin bulunmadığını gösteren -1 döndürülmelidir. Bu aynı zamanda bir özyineleme çağrısının temel koşulu olarak da ele alınabilir. • Diğer durumda, dizideki geçerli dizindeki ögenin anahtara eşit olup olmadığı kontrol edilmelidir yani arr[boyut - 1] == aranan_kelime • Eşit ise bulunan anahtarın dizinini döndürün.
Soru 11
Listedeki ilk ögeden başlayarak aranılan eleman bulunana veya listenin elemanları tükenene kadar temeldeki sıralı diziyi izleyerek elemanlar arasında geçiş yapılan aram türü aşağıdakilerden hangisidir?
Seçenekler
A
Doğrusal Arama
B
Raslantısal Arama
C
Ardışık Arama
D
Sıralı Arama
E
Boyutsal Arama
Açıklama:
zorluk derecesi: kolay
Ardışık aramada, listedeki ilk ögeden başlayarak aranılan eleman bulunana veya listenin elemanları tükenene kadar temeldeki sıralı diziyi izleyerek elemanlar arasında geçiş yapılmaktadır.
Ardışık aramada, listedeki ilk ögeden başlayarak aranılan eleman bulunana veya listenin elemanları tükenene kadar temeldeki sıralı diziyi izleyerek elemanlar arasında geçiş yapılmaktadır.
Soru 12
N elemanlı bir dizide aranan öge dizi içinde yer almıyorsa elde edilecek olan çıktı aşağıdakilerden hangisi olur?
Seçenekler
A
0
B
-1
C
+1
D
∞
E
!
Açıklama:
zorluk derecesi: kolay
N elemanlı bir dizide aranan öge dizi içinde yer almıyorsa elde edilecek olan çıktı -1 olur.
N elemanlı bir dizide aranan öge dizi içinde yer almıyorsa elde edilecek olan çıktı -1 olur.
Soru 13
{10, 30, 80, 20, 110, 70,130, 90, 150, 170} dizisinin üçüncü elemanı aşağıdakilerden hangisidir?
Seçenekler
A
10
B
30
C
80
D
20
E
110
Açıklama:
zorluk derecesi: kolay
Dizinde indisler 0 dan başlar. dolayısıyla ilk eleman 0. indis ile işaretlenir. Bu doğrultuda 3. elamanımız 20 dir.
Dizinde indisler 0 dan başlar. dolayısıyla ilk eleman 0. indis ile işaretlenir. Bu doğrultuda 3. elamanımız 20 dir.
Soru 14
using System;
class SiraliArama {
public static int arama(int[] dizi, int x)
{
int N = dizi.Length;
for (int i = 0; i < N; i++) {
if (dizi[i] == x)
return i;
}
return -1;
}
public static void Main()
{
int[] dizi= { 2, 3, 4, 10, 40 };
int x = 10;
Yukarıda yer alan kod parçacağında aranan elemanın bulunduğu dizin aşağıdakilerden hangisidir?
class SiraliArama {
public static int arama(int[] dizi, int x)
{
int N = dizi.Length;
for (int i = 0; i < N; i++) {
if (dizi[i] == x)
return i;
}
return -1;
}
public static void Main()
{
int[] dizi= { 2, 3, 4, 10, 40 };
int x = 10;
Yukarıda yer alan kod parçacağında aranan elemanın bulunduğu dizin aşağıdakilerden hangisidir?
Seçenekler
A
1
B
2
C
3
D
4
E
5
Açıklama:
zorluk derecesi: orta
dizinler 0 dan başlamaktadır. soruda aranan ise "10" elamanıdır. Dizini 0 dan başlattığımız "10" elemanı 3. dizin de yer almaktadır.
dizinler 0 dan başlamaktadır. soruda aranan ise "10" elamanıdır. Dizini 0 dan başlattığımız "10" elemanı 3. dizin de yer almaktadır.
Soru 15
I. Dizinin boyutu sıfırsa ögenin bulunmadığını gösteren ∞ döndürülmelidir
II. Dizideki geçerli dizindeki ögenin anahtara eşit olup olmadığı kontrol etmek gerekmektedir.
III. Dizideki geçerli dizindeki ögenin anahtara eşit olduğu durumda dizin sonlandırılır.
IV. Dizinin boyutu sıfırsa ögenin bulunmadığını gösteren döngü özyineleme çağrısının temel koşuludur.
Yukarıdakilerden hangileri doğrusal aramayı özyinelemeli olarak çözmek için izlenen adımlar hakkında doğru değildir?
II. Dizideki geçerli dizindeki ögenin anahtara eşit olup olmadığı kontrol etmek gerekmektedir.
III. Dizideki geçerli dizindeki ögenin anahtara eşit olduğu durumda dizin sonlandırılır.
IV. Dizinin boyutu sıfırsa ögenin bulunmadığını gösteren döngü özyineleme çağrısının temel koşuludur.
Yukarıdakilerden hangileri doğrusal aramayı özyinelemeli olarak çözmek için izlenen adımlar hakkında doğru değildir?
Seçenekler
A
I ve II
B
I ve III
C
II ve III
D
III ve IV
E
I ve IV
Açıklama:
zorluk derecesi: zor
I. Dizinin boyutu sıfırsa ögenin bulunmadığını gösteren -1 döndürülmelidir
III. Dizideki geçerli dizindeki ögenin anahtara eşit olduğu durumda dizin döndürülür.
I. Dizinin boyutu sıfırsa ögenin bulunmadığını gösteren -1 döndürülmelidir
III. Dizideki geçerli dizindeki ögenin anahtara eşit olduğu durumda dizin döndürülür.
Soru 16
Dizi A[] = {3,4,0,9,8}
Hedef öge = 3
Yukarıda verilen durumda hedef aşağıdakilerden hangisidir?
Hedef öge = 3
Yukarıda verilen durumda hedef aşağıdakilerden hangisidir?
Seçenekler
A
A[0]
B
A[1]
C
A[2]
D
A[3]
E
A[4]
Açıklama:
zorluk derecesi: kolay
dizinler 0 dan başladığı için ilk öge olan "3", 0. dizinde yer almaktadır.
dizinler 0 dan başladığı için ilk öge olan "3", 0. dizinde yer almaktadır.
Soru 17
...., hedef öge listenin sonunda bulunduğunda veya liste/dizide bulunmadığında ortaya çıkar. Tüm listedeki elemanların üzerinden geçilmesi gerekmektedir ve bu işlem için n tane karşılaştırma yapılması gerektiğinden zaman karmaşıklığı O(n)’dir.
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
Uzay Karmaşıklığı
B
En Kötü Durum
C
Ortalama Durum
D
Zaman Karmaşıklığı
E
Aralıklı Arama
Açıklama:
zorluk derecesi: orta
En kötü durum, hedef öge listenin sonunda bulunduğunda veya liste/dizide bulunmadığında ortaya çıkar. Tüm listedeki elemanların üzerinden geçilmesi gerekmektedir ve bu işlem için n tane karşılaştırma yapılması gerektiğinden zaman karmaşıklığı O(n)’dir.
En kötü durum, hedef öge listenin sonunda bulunduğunda veya liste/dizide bulunmadığında ortaya çıkar. Tüm listedeki elemanların üzerinden geçilmesi gerekmektedir ve bu işlem için n tane karşılaştırma yapılması gerektiğinden zaman karmaşıklığı O(n)’dir.
Soru 18
Elemanların artan veya azalan sırasına göre aranan eleman için veri setinin sadece belirli kısımlarının kontrol edildiği algoritma aşağıdakilerden hangisidir?
Seçenekler
A
Hedef Arama
B
Dizi Arama
C
Zamansal Arama
D
Aralıklı Arama
E
Boylamsal Arama
Açıklama:
zorluk derecesi: orta
Elemanların artan veya azalan sırasına göre aranan eleman için veri setinin sadece belirli kısımlarının kontrol edildiği algoritmaya aralıklı arama denir.
Elemanların artan veya azalan sırasına göre aranan eleman için veri setinin sadece belirli kısımlarının kontrol edildiği algoritmaya aralıklı arama denir.
Soru 19
Girdi olarak verilen dizi uzunluğu dışında herhangi bir boşluk kullanılmadığı veya oluşturulmadığı durumlar aşağıdakilerden hangisi ile açıklanabilir?
Seçenekler
A
En Kötü Durum
B
Ortalama Durum
C
Uzay Karmaşıklığı
D
En İyi Durum
E
Zaman Karmaşıklığı
Açıklama:
zorluk derecesi: orta
Uzay Karmaşıklığı
Girdi olarak verilen dizi uzunluğu dışında herhangi bir boşluk kullanılmadığı veya oluşturulmadığı için O(1)’dir.
Uzay Karmaşıklığı
Girdi olarak verilen dizi uzunluğu dışında herhangi bir boşluk kullanılmadığı veya oluşturulmadığı için O(1)’dir.
Soru 20
...., sıralanmış bir dizideki herhangi bir ögenin konumunu bulmak için kullanılan bir arama tekniğidir.
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
Tekli Arama
B
Üçlü arama
C
Dörtlü Arama
D
Uzay Karmaşıklığı
E
Zaman Karmaşıklığı
Açıklama:
zorluk derecesi: kolay
Üçlü arama, sıralanmış bir dizideki herhangi bir ögenin konumunu bulmak için kullanılan bir arama tekniğidir
Üçlü arama, sıralanmış bir dizideki herhangi bir ögenin konumunu bulmak için kullanılan bir arama tekniğidir
Soru 21
Doğrusal arama algoritması hangi durumda en verimli şekilde çalışır?
Seçenekler
A
Aranan eleman listenin sonunda ise
B
Liste sıralı değilse
C
Aranan eleman ilk sıradaysa
D
Liste boş ise
E
Liste büyükse
Açıklama:
zorluk derecesi: orta
En iyi durum, aranan elemanın ilk sırada olmasıdır ve bu durumda karmaşıklık O(1)’dir.
En iyi durum, aranan elemanın ilk sırada olmasıdır ve bu durumda karmaşıklık O(1)’dir.
Soru 22
Aşağıdakilerden hangisi Aralıklı (Interval) Arama algoritması için yanlıştır?
Seçenekler
A
Liste sıralı olmalıdır
B
Her adımda dizi üç parçaya bölünür
C
Ortalama karmaşıklığı O(log n)’dir
D
Ekstra alan kullanmaz
E
Liste sıralı değilse de çalışır
Açıklama:
zorluk derecesi: kolay
Aralıklı arama algoritmaları yalnızca sıralı dizilerde kullanılabilir.
Aralıklı arama algoritmaları yalnızca sıralı dizilerde kullanılabilir.
Soru 23
Aşağıdakilerden hangisi sıralı arama algoritması için doğrudur?
Seçenekler
A
Arama her zaman dizinin ortasından başlar.
B
Aranan eleman yalnızca sıralı dizilerde bulunabilir.
C
Her durumda O(log n) karmaşıklık gösterir.
D
Arama elemanı baştan sona sırayla karşılaştırır.
E
Dizide eleman yoksa hata verir.
Açıklama:
Zorluk derecesi: kolay
Sıralı arama dizinin başından başlar ve elemanları sırayla kontrol eder.
Sıralı arama dizinin başından başlar ve elemanları sırayla kontrol eder.
Soru 24
İkili arama algoritmasının ortalama zaman karmaşıklığı aşağıdakilerden hangisidir?
Seçenekler
A
O(n)
B
O(n²)
C
O(log n)
D
O(1)
E
O(n log n)
Açıklama:
zorluk derecesi: zor
İkili arama algoritması her yinelemede diziyi ikiye böldüğü için ortalama karmaşıklığı O(log n)’dir
İkili arama algoritması her yinelemede diziyi ikiye böldüğü için ortalama karmaşıklığı O(log n)’dir
Soru 25
Doğrusal arama algoritması ile ilgili aşağıdakilerden hangisi doğrudur?
Seçenekler
A
En kötü durum karmaşıklığı O(1)’dir.
B
Liste sıralı değilse çalışmaz.
C
Ekstra bellek kullanımı vardır.
D
Özyinelemeli olarak da uygulanabilir.
E
Sadece tamsayı dizileri ile çalışır.
Açıklama:
zorluk derecesi: orta
Doğrusal arama algoritması özyinelemeli olarak da kodlanabilir.
Doğrusal arama algoritması özyinelemeli olarak da kodlanabilir.
Soru 26
Üçlü arama algoritması hangi özelliği ile ikili aramadan ayrılır?
Seçenekler
A
Yalnızca tek arama bölgesi kullanması
B
Kodlama zorluğu
C
Verileri sıralamaya gerek duymaması
D
Dizi iki yerine üç parçaya bölünür
E
Daha fazla karmaşıklık üretmesi
Açıklama:
zorluk derecesi: kolay
Üçlü arama algoritması diziyi iki yerine üç parçaya ayırarak çalışır.
Üçlü arama algoritması diziyi iki yerine üç parçaya ayırarak çalışır.
Soru 27
Aşağıdaki ifadelerden hangisi yanlıştır?
Seçenekler
A
Sıralı arama sırasız dizilerde de kullanılabilir.
B
İkili arama sıralı dizilerde kullanılmalıdır.
C
Üçlü arama karmaşıklık olarak O(log n)’dir.
D
Tüm arama algoritmaları aynı uzay karmaşıklığına sahiptir.
E
Doğrusal arama her zaman en hızlı yöntemdir.
Açıklama:
zorluk derecesi: orta
Doğrusal arama, sıralı olmayan dizilerde uygundur ancak sıralı dizilerde ikili ya da üçlü arama çok daha verimlidir.
Doğrusal arama, sıralı olmayan dizilerde uygundur ancak sıralı dizilerde ikili ya da üçlü arama çok daha verimlidir.
Soru 28
Sıralı arama algoritmasında, aranan eleman dizinin ilk elemanında ise zaman karmaşıklığı __________ olur.
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
O(n²)
B
O(n)
C
O(log n)
D
O(1)
E
O(n log n)
Açıklama:
zorluk derecesi: orta
İlk elemanda bulunduğu durumda sadece bir karşılaştırma yapılır ve karmaşıklık sabit olur: O(1)
İlk elemanda bulunduğu durumda sadece bir karşılaştırma yapılır ve karmaşıklık sabit olur: O(1)
Soru 29
Aralıklı arama algoritması yalnızca __________ diziler üzerinde çalışır.
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
karışık
B
sıralı
C
rastgele
D
çift elemanlı
E
kısa
Açıklama:
zorluk derecesi: kolay
Aralıklı arama (ikili ve üçlü), yalnızca sıralı dizilerde anlamlıdır.
Aralıklı arama (ikili ve üçlü), yalnızca sıralı dizilerde anlamlıdır.
Soru 30
Üçlü arama algoritması, arama işlemi sırasında diziyi __________ parçaya böler.
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
iki
B
dört
C
bir
D
üç
E
beş
Açıklama:
zorluk derecesi: orta
Üçlü arama algoritması, diziyi orta1 ve orta2 olmak üzere iki noktadan bölerek üç parçaya ayırır.
Üçlü arama algoritması, diziyi orta1 ve orta2 olmak üzere iki noktadan bölerek üç parçaya ayırır.
Ünite 6
Soru 1
I. Ekleme ve silmeler, dizi yapılarına göre daha fazla maliyetle yapılmaktadır.
II. Önceden bellek ayırmaya gerek yoktur.
III. Listeyi oluşturan düğümler arasında dolaşmak, dizi yapılarına göre daha zordur.
IV. Liste elemanlarına rastgele erişim mümkündür.
Yukarıdakilerden hangileri bağlantılı liste yapıları için doğrudur?
II. Önceden bellek ayırmaya gerek yoktur.
III. Listeyi oluşturan düğümler arasında dolaşmak, dizi yapılarına göre daha zordur.
IV. Liste elemanlarına rastgele erişim mümkündür.
Yukarıdakilerden hangileri bağlantılı liste yapıları için doğrudur?
Seçenekler
A
I ve II
B
I ve III
C
II ve III
D
III ve IV
E
II ve IV
Açıklama:
zorluk derecesi: zor
I. Ekleme ve silmeler, dizi yapılarına göre daha az maliyetle yapılmaktadır.
IV. Liste elemanlarına rastgele erişim mümkün değildir.
I. Ekleme ve silmeler, dizi yapılarına göre daha az maliyetle yapılmaktadır.
IV. Liste elemanlarına rastgele erişim mümkün değildir.
Soru 2
Aşağıdakilerden hangisi bağlantılı liste yapılarının dezavantajları arasında yer almaz?
Seçenekler
A
Aynı boyuttaki dizi elemanına oranla bağlantılı listenin kullandığı bellek miktarı daha fazladır.
B
Listeyi oluşturan düğümler arasında dolaşmak, dizi yapılarına göre daha zordur.
C
Tek yönlü bağlantılı listelerde önceki elemana dönmek mümkün değildir.
D
Liste elemanlarına rastgele erişim mümkün değildir.
E
Bağlantılı listelerde, liste boyutu ihtiyaç oldukça arttırılır.
Açıklama:
zorluk derecesi: zor
Bağlantılı listelerde, liste boyutu ihtiyaç oldukça arttırılır- ifadesi avantajlı taraflarından birisidir.
Bağlantılı listelerde, liste boyutu ihtiyaç oldukça arttırılır- ifadesi avantajlı taraflarından birisidir.
Soru 3
Aşağıdakilerden hangisi bağlantılı liste yapıları için yanlıştır?
Seçenekler
A
Bağlantılı liste, düğüm(node) adı verilen sınıf nesnelerinin oluşturduğu bir yapıdır.
B
Düğümler, verileri tutacakları alanlardan ve referans için ayrılan bölümlerden oluşur.
C
Düğümlerin referans noktaları ile birleştirilmesi geçiş olarak adlandırılır.
D
Her düğüm, bir sonraki düğümün referans adresini tutar.
E
Bağlantılı listelerde, liste boyutu ihtiyaç oldukça arttırılır.
Açıklama:
zorluk derecesi: orta
Düğümlerin referans noktaları ile birleştirilmesi bağlantı olarak adlandırılır.
Düğümlerin referans noktaları ile birleştirilmesi bağlantı olarak adlandırılır.
Soru 4
I. Bağlantılı listeyi Başlık(Head) isimli bir düğüm ile başlatmak yaygın bir kullanımdır.
II. Bağlantılı listenin sonundaki düğüm kilit düğüm olarak adlandırılır.
III. Bir listede veri 20’ye ulaşmak için öncelikle Veri 10’un olduğu düğüme ulaşılması gerekir.
IV. Yeni düğümün adresi, ekleneceği sıradan bir önceki düğümün ilk ögesine yazılır.
Yukarıdakilerden hangileri bağlantılı listelerde yer alan düğümler için doğrudur?
II. Bağlantılı listenin sonundaki düğüm kilit düğüm olarak adlandırılır.
III. Bir listede veri 20’ye ulaşmak için öncelikle Veri 10’un olduğu düğüme ulaşılması gerekir.
IV. Yeni düğümün adresi, ekleneceği sıradan bir önceki düğümün ilk ögesine yazılır.
Yukarıdakilerden hangileri bağlantılı listelerde yer alan düğümler için doğrudur?
Seçenekler
A
I ve II
B
I ve III
C
II ve III
D
III ve IV
E
II ve IV
Açıklama:
zorluk derecesi: orta
II. Bağlantılı listenin sonundaki düğüm Son düğüm olarak adlandırılır.
IV. Yeni düğümün adresi, ekleneceği sıradan bir önceki düğümün Sonraki ögesine yazılır.
II. Bağlantılı listenin sonundaki düğüm Son düğüm olarak adlandırılır.
IV. Yeni düğümün adresi, ekleneceği sıradan bir önceki düğümün Sonraki ögesine yazılır.
Soru 5
Aşağıdakilerden hangisi nesne odaklı bağlantılı liste yapısını oluşturmak için hazırlanan sınıflar hakkında doğru değildir?
Seçenekler
A
Bağlantılı liste oluşturmak için kullanılan düğüm, üç alandan oluşur.
B
Farklı türde verilerin kullanılabilmesi için veri object türünde olmalıdır.
C
Link türü düğüm olarak düzenlenir.
D
Düğüm oluşturulurken hem Öge, hemde Link null olarak atanmalıdır.
E
Listeyi başlatan bir yapıcı metoduna ihtiyaç vardır.
Açıklama:
zorluk derecesi: orta
Bağlantılı liste oluşturmak için kullanılan düğüm, iki alandan oluşur.
Bağlantılı liste oluşturmak için kullanılan düğüm, iki alandan oluşur.
Soru 6
1000 elemandan oluşan bir listede iken 999. ögeye gelmenin maliyetini azaltan ve bu işlemi kolaylaştıran tasarım aşağıdakilerden hangisidir?
Seçenekler
A
Tek yönlü Bağlantılı Liste
B
Çift Yönlü Bağlantılı Liste
C
Tek yönlü Bağlantılı Düğüm
D
Çift Yönlü Bağlantılı Düğüm
E
null.list
Açıklama:
zorluk seviyesi: kolay
1000. elemanda iken 999. ögeye gelmek oldukça maliyetli bir işlemdir. Bu gibi ihtiyaçlar için çift bağlantılı liste (doubly linked list) tasarımı geliştirilmiştir
1000. elemanda iken 999. ögeye gelmek oldukça maliyetli bir işlemdir. Bu gibi ihtiyaçlar için çift bağlantılı liste (doubly linked list) tasarımı geliştirilmiştir
Soru 7
I. Bir düğüm kolayca silinmez.
II. Bellekte daha fazla alan kaplar.
III. Ögelere rastgele erişim imkânı yoktur.
IV. Diğer çeşitli veri yapılarının uygulanması zordur.
Yukarıdakilerden hangileri çift bağlantılı liste yapıları ile ilgili olarak doğrudur?
II. Bellekte daha fazla alan kaplar.
III. Ögelere rastgele erişim imkânı yoktur.
IV. Diğer çeşitli veri yapılarının uygulanması zordur.
Yukarıdakilerden hangileri çift bağlantılı liste yapıları ile ilgili olarak doğrudur?
Seçenekler
A
I ve II
B
I ve III
C
II ve III
D
III ve IV
E
II ve IV
Açıklama:
zorluk derecesi: orta
I. Bir düğüm kolayca silinebilir.
IV. Diğer çeşitli veri yapılarının uygulanması kolaydır.
I. Bir düğüm kolayca silinebilir.
IV. Diğer çeşitli veri yapılarının uygulanması kolaydır.
Soru 8
Bağlantılı listenin son elemanının ilk düğümü işaret ettiği liste yapısı aşağıdakilerden hangisidir?
Seçenekler
A
Tek yönlü Bağlantılı Liste
B
Çift Yönlü Bağlantılı Liste
C
Tek Yönlü Bağlantılı Düğüm
D
Dairesel Bağlantılı Liste
E
Çift Yönlü Bağlantılı Düğüm
Açıklama:
zorluk derecesi: kolay
Bağlantılı listelerle ilgili inceleyeceğimiz ikinci tasarım ise bağlantılı listenin son elemanının ilk düğümü işaret ettiği Dairesel Bağlantılı Liste’dir.
Bağlantılı listelerle ilgili inceleyeceğimiz ikinci tasarım ise bağlantılı listenin son elemanının ilk düğümü işaret ettiği Dairesel Bağlantılı Liste’dir.
Soru 9
Dairesel bağlantılı listenin sonunu kontrol etmek için aşağıdakilerden hangisi kontrol edilir?
Seçenekler
A
Başlık düğümü
B
Link alanı
C
Veri seti
D
Null düğümü
E
Private düğümü
Açıklama:
zorluk derecesi: kolay
Bağlantılı listenin sonunu kontrol etmek için son düğümün
Link alanının boş olması değil, başlık düğümünü gösterip göstermediği kontrol edilir.
Bağlantılı listenin sonunu kontrol etmek için son düğümün
Link alanının boş olması değil, başlık düğümünü gösterip göstermediği kontrol edilir.
Soru 10
Dairesel bağlantılı listeler için aşağıdakilerden hangisi yanlıştır?
Seçenekler
A
Kodda NULL(boş) atamasına gerek yoktur.
B
Tek yönlü bağlantılı listelere göre daha basit bir yapıdadır.
C
Dikkatli kodlama yapılmadığı takdirde program sonsuz döngüye girer.
D
Dairesel bağlantılı listeyi tersine çevirmek, diğer yapılara göre daha zordur.
E
Listenin sonunu ve döngü kontrolünü bulmak daha zordur.
Açıklama:
zorluk derecesi: orta
Tek yönlü bağlantılı listelere göre daha komplekstir.
Tek yönlü bağlantılı listelere göre daha komplekstir.
Soru 11
I. Dizide sıralı eleman eklemek için birçok elemanı kaydırmak gerekebilir.
II. n elemanlı dizide ortadaki elemanın diziden çıkarılması için çıkarılan elemandan sonraki tüm ögelerin taşınması gerekir.
III. Verileri bağlantılı listelerde tutmak, ekleme ve çıkarma işlemlerinin maliyetlerini artırır.
IV. İhtiyaca göre farklı veri yapıları kullanmak, yeni başlayan program geliştiricileri için genellikle kolaydır.
Yukarıdaki ifadelerden hangileri yanlıştır?
II. n elemanlı dizide ortadaki elemanın diziden çıkarılması için çıkarılan elemandan sonraki tüm ögelerin taşınması gerekir.
III. Verileri bağlantılı listelerde tutmak, ekleme ve çıkarma işlemlerinin maliyetlerini artırır.
IV. İhtiyaca göre farklı veri yapıları kullanmak, yeni başlayan program geliştiricileri için genellikle kolaydır.
Yukarıdaki ifadelerden hangileri yanlıştır?
Seçenekler
A
I ve II
B
I ve III
C
II ve III
D
II ve IV
E
III ve IV
Açıklama:
zorluk derecesi: orta
III. Verileri bağlantılı listelerde tutmak, ekleme ve çıkarma işlemlerinin maliyetlerini azaltır.
IV. İhtiyaca göre farklı veri yapıları kullanmak, yeni başlayan program geliştiricileri için genellikle zordur. Uzman yazılımcılar için kolaydır.
III. Verileri bağlantılı listelerde tutmak, ekleme ve çıkarma işlemlerinin maliyetlerini azaltır.
IV. İhtiyaca göre farklı veri yapıları kullanmak, yeni başlayan program geliştiricileri için genellikle zordur. Uzman yazılımcılar için kolaydır.
Soru 12
Aşağıdakilerden hangisi bağlantılı liste yapılarının avantajlarından biri değildir?
Seçenekler
A
Ekleme ve silmeler, dizi yapılarına göre daha az maliyetle yapılabilir.
B
Büyük kayıtlarda, yapıdaki elemanları taşımak veya yer değiştirmek birçok işlem gerektirir. Bunun yerine ögelerin işaretçilerini taşımak çok daha az maliyetlidir.
C
Bağlantılı listelerde, liste boyutu ihtiyaç oldukça arttırılır. Önceden bellek ayırmaya gerek yoktur. Gereksiz bellek kullanımını azaltır.
D
Yığın, kuyruk gibi veri yapıları; bağlantılı listeler ile kolaylıkla uygulanabilir.
E
Listeyi oluşturan düğümler arasında dolaşmak, dizi yapılarına göre daha zordur.
Açıklama:
zorluk derecesi: kolay
Listeyi oluşturan düğümler arasında dolaşmak, dizi yapılarına göre daha zordur. seçeneği Bağlantılı liste yapılarının sınırlılıkları arasında yer alır.
Listeyi oluşturan düğümler arasında dolaşmak, dizi yapılarına göre daha zordur. seçeneği Bağlantılı liste yapılarının sınırlılıkları arasında yer alır.
Soru 13
I. Her düğüm, bir sonraki düğümün referans adresini tutar.
II. Düğümlerin referans noktaları ile birleştirilmesi bağlantı olarak adlandırılır.
III. Bağlantılı liste, nokta adı verilen sınıf nesnelerinin oluşturduğu bir yapıdır.
IV. Düğümler, verileri tutacakları alanlardan ve referans için ayrılan bölümlerden oluşur.
Yukarıdaki ifadelerden hangileri bağlantılı liste yapıları için doğrudur?
II. Düğümlerin referans noktaları ile birleştirilmesi bağlantı olarak adlandırılır.
III. Bağlantılı liste, nokta adı verilen sınıf nesnelerinin oluşturduğu bir yapıdır.
IV. Düğümler, verileri tutacakları alanlardan ve referans için ayrılan bölümlerden oluşur.
Yukarıdaki ifadelerden hangileri bağlantılı liste yapıları için doğrudur?
Seçenekler
A
I ve II
B
I ve II
C
II ve III
D
III ve IV
E
I, II ve IV
Açıklama:
zorluk derecesi: kolay
III. Bağlantılı liste, düğüm adı verilen sınıf nesnelerinin oluşturduğu bir yapıdır
III. Bağlantılı liste, düğüm adı verilen sınıf nesnelerinin oluşturduğu bir yapıdır
Soru 14

Aşağıdaki ifadelerden hangisi yukarıda yer alan bağlantılı liste yapısı için doğru değildir?
Seçenekler
A
Bağlantılı liste elemanları birbirine eklenerek tutulur.
B
Veri 20’ye ulaşmak için öncelikle Veri 10’un olduğu düğüme ulaşılması gerekir.
C
Bağlantılı listenin sonundaki düğüm ise Son Düğüm olarak adlandırılır.
D
Bağlantılı liste yapısında yeni veri eklenmesi, dizi yapısına göre daha fazla maliyetli bir işlemdir.
E
Son düğümün bir ardıl düğümü gösterecek Sonraki alanı boş(null) olarak atanmalıdır.
Açıklama:
zorluk derecesi: orta
Bağlantılı liste yapısında yeni veri eklenmesi, dizi yapısına göre daha az maliyetli bir işlemdir.
Bağlantılı liste yapısında yeni veri eklenmesi, dizi yapısına göre daha az maliyetli bir işlemdir.
Soru 15
Bir bağlantılı listede, farklı türde verilerin kullanılabilmesi için veri ...... türünde olmalıdır.
Yukarıda yer alan boşluğa gelebilecek en doğru seçenek aşağıdakilerden hangisidir?
Yukarıda yer alan boşluğa gelebilecek en doğru seçenek aşağıdakilerden hangisidir?
Seçenekler
A
Oge
B
Object
C
Nokta
D
Düğüm
E
Link
Açıklama:
zorluk derecesi: orta
Farklı türde verilerin kullanılabilmesi için veri object türünde olmalıdır.
Farklı türde verilerin kullanılabilmesi için veri object türünde olmalıdır.
Soru 16
Bağlantılı listeler ile ilgilli olarak aşağıda verilenlerden hangisi yanlıştır?
Seçenekler
A
BagliListe sınıfı, bağlantılı listenin düğümleri arasındaki bağlantıyı kırmak için kullanılır.
B
Başlık düğümü, Link alanı boş ayarlanmış olarak başlar.
C
Listeye ilk düğüm eklendiğinde, başlık düğümünün Link alanına yeni düğümün referansı atanır.
D
Bul metodu, listede ögeleri taramaya başlarken ilk olarak boş bir düğüm oluşturur ve bu düğüme başlık düğümünü atar.
E
Bağlantılı listeden düğüm kaldırmak için, kaldırılmak istenilen düğümden önceki düğümü bulunup,
sonraki düğüm referans olarak gösterilmelidir.
sonraki düğüm referans olarak gösterilmelidir.
Açıklama:
zorluk derecesi: orta
BagliListe sınıfı, bağlantılı listemizin düğümleri arasındaki bağlantıyı oluşturmak için kullanılır.
BagliListe sınıfı, bağlantılı listemizin düğümleri arasındaki bağlantıyı oluşturmak için kullanılır.
Soru 17
Aşağıdakilerden hangisi çift bağlantılı liste kullanımının avantajlarından biri değildir?
Seçenekler
A
Her iki yönde gezinmeye imkân sağlar.
B
Ters çevirmek kolaydır.
C
Dinamik olarak büyüyebilir veya küçülebilir.
D
Diğer çeşitli veri yapılarının uygulanmasında kullanışlıdır.
E
Bu tasarımda da ögelere rastgele erişim imkânı yoktur.
Açıklama:
zorluk derecesi: kolay
Bu tasarımda da ögelere rastgele erişim imkânı yoktur. ifadesi çift bağlantılı liste kullanımınınsınırlılığı ile ilişkilidir.
Bu tasarımda da ögelere rastgele erişim imkânı yoktur. ifadesi çift bağlantılı liste kullanımınınsınırlılığı ile ilişkilidir.
Soru 18
I. İşlemler daha fazla zaman gerektirir.
II. Ters çevirmek kolaydır.
III. Her düğüm fazladan bir referans alanına sahiptir.
IV. Bir önceki düğüme erişim olduğu için bir düğüm kolayca silinebilir.
Yukarıdaki ifadelerden hangileri çift bağlantılı liste kullanımının dezavantajları arasında yer alır?
II. Ters çevirmek kolaydır.
III. Her düğüm fazladan bir referans alanına sahiptir.
IV. Bir önceki düğüme erişim olduğu için bir düğüm kolayca silinebilir.
Yukarıdaki ifadelerden hangileri çift bağlantılı liste kullanımının dezavantajları arasında yer alır?
Seçenekler
A
I ve II
B
I ve III
C
II ve III
D
II ve IV
E
III ve IV
Açıklama:
zorluk derecesi: orta
II. Ters çevirmek kolaydır.
IV. Bir önceki düğüme erişim olduğu için bir düğüm kolayca silinebilir.
Bu ifadeler avantajları ile ilgilidir.
II. Ters çevirmek kolaydır.
IV. Bir önceki düğüme erişim olduğu için bir düğüm kolayca silinebilir.
Bu ifadeler avantajları ile ilgilidir.
Soru 19
| I. Bu veri yapısında her düğüm, bir önceki düğümü işaret eder. II. Listenin son düğümü ilk düğümü işaret eder. III. Dairesel bağlantılı listelerin bir sonu yoktur. IV. Gezinme yapıldığında sürekli sona gidilir. Yukarıdaki ifadelerden hangileri dairesel bağlantılı liste kullanımı ile ilgili olarak doğrudur? |
Seçenekler
A
I ve II
B
I ve III
C
II ve III
D
II ve IV
E
III ve IV
Açıklama:
zorluk derecesi: orta
I. Bu veri yapısında her düğüm, bir sonraki düğümü işaret eder.
IV. Gezinme yapıldığında sürekli başa dönülür.
I. Bu veri yapısında her düğüm, bir sonraki düğümü işaret eder.
IV. Gezinme yapıldığında sürekli başa dönülür.
Soru 20
| I. Kodda NULL(boş) atamasına gerek yoktur. II. Tek yönlü bağlantılı listelere göre daha komplekstir. III. Dairesel bir listede herhangi bir düğüm, başlangıç noktası olabilir. IV. Dairesel bağlantılı listeyi tersine çevirmek, diğer yapılara göre daha zordur. Yukarıdaki ifadelerden hangileri dairesel bağlantılı listelerin avantajları arasında yer alır? |
Seçenekler
A
I ve II
B
I ve III
C
II ve III
D
II ve IV
E
III ve IV
Açıklama:
zorluk derecesi: kolay
| II. Tek yönlü bağlantılı listelere göre daha komplekstir. IV. Dairesel bağlantılı listeyi tersine çevirmek, diğer yapılara göre daha zordur. bu ifadeler dairesel bağlantılı listelerin dezavantajları arasında yer alır? |
Ünite 7
Soru 1
Bilgisayar bilimlerinde ağaç; verilerin düğümlerde tutulduğu, düğümlerin birbirlerine kenarlar ile bağlandığı doğrusal olmayan bir veri yapısıdır. Bu ağaçların ilk düğümüne ne ad verilir?
Seçenekler
A
Kök
B
Kenar
C
Yaprak
D
Dal
E
İlmek
Açıklama:
Ağaçların ilk düğümüne kök (root) adı verilir.
Soru 2
Kök düğüme başka bir düğüm bağlanması durumunda hangi adı alır?
Seçenekler
A
Ebeveyn düğüm
B
İlk düğüm
C
Çocuk düğüm
D
Sıralı düğüm
E
Son düğüm
Açıklama:
Kök, düğüme başka bir düğüm bağlanırsa kök düğüm ebeveyn düğüm (parent node) olarak; bağlanan düğüm ise çocuk düğüm (child node) olarak adlandırılır.
Soru 3
Hiyerarşik yapı üzerinde hiçbir kısıtlaması olmayan ağaç veri yapısına ne ad verilir?
Seçenekler
A
Genel ağaç
B
İkili ağaç
C
İkili arama ağacı
D
Yaylı ağaç
E
B ağacı
Açıklama:
Genel ağaç, hiyerarşik yapı üzerinde hiçbir kısıtlaması olmayan bir tür ağaç veri yapısıdır. Genel bir ağaçta her düğümün sonsuz sayıda çocuğu olabilir.
Soru 4
Diğer ağaç veri yapılarından farklı olarak yönetim ve karmaşık algoritmalar gerektirmeyen kendi kendini organize eden yapıdaki ağaç aşağıdakilerden hangisidir?
Seçenekler
A
Treap
B
Yaylı
C
Kırmızı-siyah
D
AVL
E
İkili
Açıklama:
Diğer ağaç veri yapılarından farklı olarak treap, yönetim ve karmaşık algoritmalar gerektirmeyen kendi kendini organize eden bir yapıdır.
Soru 5
Tüm düğümlerin çocuk sayısı iki veya sıfır olan ikili ağaçlara ne ad verilir?
Seçenekler
A
Tam
B
Mükemmel
C
Eksiksiz
D
Çarpık
E
Dengeli
Açıklama:
Tüm düğümlerin çocuk sayısı, iki veya sıfır olan ağaçlara tam ikili ağaç denir..
Soru 6
Tüm düğümlerin yalnızca bir çocuğu olduğu veya hiç çocuğu olmadığı tür ikili ağaçlara ne ad verilir?
Seçenekler
A
Çarpık
B
Dengeli
C
Tam
D
Dejenere
E
Mükemmel
Açıklama:
Çarpık ikili ağaç, tüm düğümlerin yalnızca bir çocuğu olduğu veya hiç çocuğu olmadığı bir tür ikili ağaçtır
Soru 7
İkili arama ağacı yapısından en kolay çıkartılabilen, hiç çocuk düğüme sahip olmayan düğümler aşağıdakilerden hangisidir?
Seçenekler
A
Yaprak
B
Ana
C
Kök
D
İkinci
E
Çift
Açıklama:
İkili arama ağacı yapısından en kolay çıkartılacak düğüm, hiç çocuk düğüme sahip olmayan yaprak düğümlerdir.
Soru 8
Kökün çocuklar içinde gösterildiği kök türü aşağıdakilerden hangisiyle anılır?
Seçenekler
A
İç
B
Sonra
C
Önce
D
İkili
E
Çift
Açıklama:
Kökün çocuklar içinde gösterildiği İç Kök (infix) olarak da adlandırılır.
Soru 9
Tüm düğümlerin yalnızca bir çocuğu olduğu veya hiç çocuğu olmadığı ve tüm çocuk düğümlerin aynı taraftan eklendiği ikili ağaç türü aşağıdakilerden hangisidir?
Seçenekler
A
Çarpık
B
Dengeli
C
Mükemmel
D
Dejenere
E
Rassal
Açıklama:
Çarpık ikili ağaç, tüm düğümlerin yalnızca bir çocuğu olduğu veya hiç çocuğu olmadığı bir tür ikili ağaçtır.
Soru 10
İki çocuk düğümü de dolu olan ögeleri kaldırmak, daha önceki kaldırma yöntemlerine göre biraz daha farklıdır. Öge kaldırıldıktan sonra yerine atanacak ...... düğümün belirlenmesi gerekir.
Yukarıdaki metinde boş bırakılan yere aşağıdaki kavramlardan hangisi gelmelidir?
Yukarıdaki metinde boş bırakılan yere aşağıdaki kavramlardan hangisi gelmelidir?
Seçenekler
A
varis
B
dugum
C
kök
D
yaprak
E
sonsal
Açıklama:
İki çocuk düğümü de dolu olan ögeleri kaldırmak, daha önceki kaldırma yöntemlerine göre biraz daha farklıdır. Öge kaldırıldıktan sonra yerine atanacak varis düğümün belirlenmesi gerekir.
Soru 11
Bir ikili arama ağacına sırasıyla 17, 7, 25, 2, 10, 33, 1, 3, 8, 13, 29, 35 sayıları eklenirse, 8 sayısını bulmak için kaç adım gerekir?
Seçenekler
A
2
B
4
C
6
D
8
E
10
Açıklama:
Ağaç yapısı oluşturulduğunda 17 → 7 → 10 → 8 yolunu izleriz. Bu 4 adımda hedefe ulaşıldığını gösterir.
Soru 12
Aşağıdakilerden hangisi bir ikili ağacın eksiksiz ikili ağaç olduğunu göstermeye yeterlidir?
Seçenekler
A
Tüm yaprak düğümler aynı seviyededir.
B
Her düğümün iki çocuğu vardır.
C
Yalnızca sağa doğru dallanma vardır.
D
Hiçbir yaprak düğüm yoktur.
E
Tüm seviyeler tamamen doludur, en alt seviye sola yaslıdır.
Açıklama:
Eksiksiz ikili ağaçta tüm seviyeler tam olarak doludur, en alt seviye ise düğümler sola yaslanacak şekilde doldurulur. “Sağa yaslı olamaz” ifadesiyle de bu desteklenir.
Soru 13
- Veri türü
- Ağacın yüksekliği
- Ağacın şekli
- Düğüm isimleri
Seçenekler
A
I ve II
B
II ve III
C
III ve IV
D
I, II ve IV
E
II, III ve IV
Açıklama:
Bir ikili arama ağacı (binary search tree - BST) oluşturulurken, verilerin eklenme sırası çok önemlidir. Çünkü:
Buna göre doğru cevap B seçeneğidir.
- Her yeni düğüm, önceki düğümlere göre konumlandırılır (küçükse sola, büyükse sağa).
- Dolayısıyla aynı veriler farklı sıralarda eklendiğinde, ağacın şekli değişir.
- Bu da doğrudan ağacın yüksekliğini etkiler. Bazı sıralamalar dengeli bir yapı oluştururken, bazıları ağacı sarkaç gibi tek tarafa yatık yapabilir.
Buna göre doğru cevap B seçeneğidir.
Soru 14
Aşağıdakilerden hangisi Kırmızı-Siyah Ağaçlar için doğru bir özelliktir?
Seçenekler
A
Her düğüm yalnızca siyah renkte olabilir.
B
Tüm yaprak düğümler farklı seviyelerde bulunur.
C
Bir düğümden yaprak düğüme kadar giden her yol aynı sayıda kırmızı düğüm içerir.
D
Her düğümün yalnızca bir çocuğu olabilir.
E
Kırmızı-Siyah Ağaçlarda kök düğüm daima siyahtır.
Açıklama:
Kırmızı-Siyah Ağaçlarda denge kurallarından biri, kök düğümün mutlaka siyah olması gerektiğidir. Bu kural, ağacın ilk yapısal sabitidir ve ekleme/silme işlemleri sırasında da korunur.
"Her düğüm yalnızca siyah renkte olabilir" - Bu yanlış, çünkü düğümler ya kırmızı ya da siyah olabilir.
"Tüm yaprak düğümler farklı seviyelerde bulunur" - Bu yanlış, çünkü yapraklar (null düğümler) aynı seviyededir.
"Bir düğümden yaprak düğüme kadar giden her yol aynı sayıda kırmızı düğüm içerir" - Bu yanlış, çünkü yolların siyah düğüm sayısı aynıdır; kırmızı sayısı değil.
"Her düğümün yalnızca bir çocuğu olabilir" - Bu yanlış; çoğu ikili ağaç gibi, kırmızı-siyah ağaçlarda düğümlerin iki çocuğu olabiliyor.
Buna göre doğru cevap E seçeneğidir.
"Her düğüm yalnızca siyah renkte olabilir" - Bu yanlış, çünkü düğümler ya kırmızı ya da siyah olabilir.
"Tüm yaprak düğümler farklı seviyelerde bulunur" - Bu yanlış, çünkü yapraklar (null düğümler) aynı seviyededir.
"Bir düğümden yaprak düğüme kadar giden her yol aynı sayıda kırmızı düğüm içerir" - Bu yanlış, çünkü yolların siyah düğüm sayısı aynıdır; kırmızı sayısı değil.
"Her düğümün yalnızca bir çocuğu olabilir" - Bu yanlış; çoğu ikili ağaç gibi, kırmızı-siyah ağaçlarda düğümlerin iki çocuğu olabiliyor.
Buna göre doğru cevap E seçeneğidir.
Soru 15
Bir BST sınıfında kök düğüm null değilse, Ekle() metodunda veri hangi adımda ağaca yerleştirilir?
Seçenekler
A
Verinin okunmasından hemen sonra
B
Rastgele bir konuma
C
Kök düğüme atandıktan sonra
D
Boş bir konum bulunana kadar karşılaştırmalar yapıldıktan sonra
E
Sol çocuk düğüme geçmeden önce
Açıklama:
Bir ikili arama ağacı (BST)'na veri eklerken, ekleme işlemi karşılaştırmalar yapılarak uygun bir konumda yapılır. Bu süreç şu şekilde işler:
Verinin okunmasından hemen sonra: Verinin hemen okunması yeterli değildir; karşılaştırmalar yapılarak doğru konuma yerleştirilmelidir.
Rastgele bir konuma: Ekleme işlemi rastgele bir konumda yapılmaz, her veri doğru yerinde sıralı bir şekilde yerleştirilir.
Kök düğüme atandıktan sonra: Kök düğümden başladıktan sonra karşılaştırmalar yapılır, ancak kök düğüme yerleştirmek yeterli değildir.
Sol çocuk düğüme geçmeden önce: Sol ya da sağ çocuklara geçilmeden önce, karşılaştırmalar sonucunda boş bir düğüm bulunmalıdır.
Ekleme işlemi, verinin doğru konumda yerleştirilmesi için karşılaştırmaların yapılması sonucu uygun boş konumda gerçekleştirilir, bu yüzden doğru cevap D seçeneğidir.
- Kök düğüm'den başlanır ve her bir düğüm ile karşılaştırmalar yapılır.
- Ekleme işlemi, yeni verinin mevcut düğüm ile karşılaştırılarak sol ya da sağ alt ağaçlara doğru ilerlenmesiyle gerçekleşir.
- Bu karşılaştırmalar sonucunda, uygun boş konum (sol ya da sağ çocukta) bulunur.
- Verinin bu boş konumda, belirlenen yere yerleştirilmesi sağlanır.
Verinin okunmasından hemen sonra: Verinin hemen okunması yeterli değildir; karşılaştırmalar yapılarak doğru konuma yerleştirilmelidir.
Rastgele bir konuma: Ekleme işlemi rastgele bir konumda yapılmaz, her veri doğru yerinde sıralı bir şekilde yerleştirilir.
Kök düğüme atandıktan sonra: Kök düğümden başladıktan sonra karşılaştırmalar yapılır, ancak kök düğüme yerleştirmek yeterli değildir.
Sol çocuk düğüme geçmeden önce: Sol ya da sağ çocuklara geçilmeden önce, karşılaştırmalar sonucunda boş bir düğüm bulunmalıdır.
Ekleme işlemi, verinin doğru konumda yerleştirilmesi için karşılaştırmaların yapılması sonucu uygun boş konumda gerçekleştirilir, bu yüzden doğru cevap D seçeneğidir.
Soru 16
Bir ikili ağacın yüksekliği arttıkça aşağıdaki ifadelerden hangisi doğrudur?
Seçenekler
A
Arama süresi azalır.
B
Ağacın dengesi artar.
C
Düğümlerin derinliği azalır.
D
Arama süresi uzar.
E
Yaprak sayısı azalır.
Açıklama:
İkili arama ağaçlarında, bir düğüme ulaşmak için izlenen yolun uzunluğu ağacın yüksekliğiyle doğrudan ilişkilidir.
Yükseklik arttıkça, kökten hedef düğüme kadar geçilecek adım sayısı da artar. Bu da arama işlemlerinin daha uzun sürmesine yol açar.
Özellikle dengesiz ağaçlarda (örneğin sağa eğik yapılar) bu durum verimsizliğe neden olabilir.
Zaman karmaşıklığı da bu nedenle O(h) (h = yükseklik) olarak ifade edilir.
Yükseklik arttıkça, kökten hedef düğüme kadar geçilecek adım sayısı da artar. Bu da arama işlemlerinin daha uzun sürmesine yol açar.
Özellikle dengesiz ağaçlarda (örneğin sağa eğik yapılar) bu durum verimsizliğe neden olabilir.
Zaman karmaşıklığı da bu nedenle O(h) (h = yükseklik) olarak ifade edilir.
Soru 17
Bir ikili arama ağacına ardışık olarak 5, 10, 15, 20, 25 değerleri eklenirse oluşan ağaç yapısı aşağıdakilerden hangisine örnek olur?
Seçenekler
A
Sağa eğik ikili ağaç
B
Sola eğik ikili ağaç
C
Tam ikili ağaç
D
Dengeli ikili ağaç
E
Eksiksiz ikili ağaç
Açıklama:
Bu tür eklemelerde her yeni sayı bir öncekinden büyük olduğu için, her yeni düğüm sağ çocuk olarak eklenir.
Bu durum ağacı sağa eğik çarpık ağaç (Right Skewed Binary Tree) haline getirir.
Bu yapı dengeli değildir ve neredeyse tek taraflı bir liste gibi davranır.
Bu durum ağacı sağa eğik çarpık ağaç (Right Skewed Binary Tree) haline getirir.
Bu yapı dengeli değildir ve neredeyse tek taraflı bir liste gibi davranır.
Soru 18
Bir ikili arama ağacında en küçük değeri bulmak için hangi algoritmik strateji izlenir?
Seçenekler
A
Sol → Sol → Sol
B
Sağ → Sağ → Sağ
C
Kök → Sağ → Sol
D
Rastgele dallara gidilir
E
Önce kök yöntemiyle aranır
Açıklama:
İkili arama ağaçlarında her düğümde küçük değerler sol çocuklara, büyük değerler ise sağ çocuklara yerleştirilir.
Bu nedenle, en küçük değer, ağacın en solunda yer alır.
Bu değeri bulmak için kökten başlanır ve her adımda sol çocuğa gidilerek Sol → Sol → Sol şeklinde ilerlenir.
Bu nedenle, en küçük değer, ağacın en solunda yer alır.
Bu değeri bulmak için kökten başlanır ve her adımda sol çocuğa gidilerek Sol → Sol → Sol şeklinde ilerlenir.
Soru 19
İkili arama ağaçlarında verilerin artan sırayla sıralanmasını sağlayan gezinme yöntemi aşağıdakilerden hangisidir?
Seçenekler
A
Ters İç Kök
B
Önce Kök
C
İç Kök
D
Sonra Kök
E
Ters Önce Kök
Açıklama:
İç Kök (Sol-Kök-Sağ) (infix / inorder) gezinme yöntemiyle, ikili arama ağacında veriler küçükten büyüğe sıralı şekilde elde edilir. Bu yöntem sıralama işlemleri için en ideal gezinti yöntemidir.
Ters İç Kök (Sağ-Kök-Sol); Inorder’ın tam tersi. Önce sağ alt ağaç → sonra kök → sonra sol alt ağaç. Verileri azalan sırada elde etmek istiyorsan kullanılır. Sıralama yapar ama azalan (büyükten küçüğe) şekilde.
Önce Kök (Kök-Sol-Sağ); İlk olarak kök düğüm ziyaret edilir. Daha sonra sol ve sağ alt ağaçlar sırasıyla gezilir. Ağacın önce yapısı, sonra içeriği önemlidir. Genellikle ağaç yapısını dosyaya yazmak veya kopyalamak için kullanılır. Verileri artan sırayla sıralamaz. Çünkü kök düğüm, sol çocuklardan önce yazıldığından sıralama özelliği bozulur.
Sonra Kök (Sol-Sağ-Kök); İlk olarak sol ve sağ alt ağaçlar tamamen gezilir, en son kök düğüm ziyaret edilir. Ağaç yapısını silme gibi işlemlerde kullanılır (önce çocukları temizle, sonra kökü). Verileri sıralı biçimde vermez.
Ters Önce Kök (Kök-Sağ-Sol); Preorder’ın tersidir. Önce kök → sağ çocuk → sol çocuk. Nadir durumlarda veya bazı özel yazdırma işlemlerinde tercih edilebilir. Artan sıralama sağlamaz.
İlk olarak sol alt ağaç,
sonra kök düğüm,
en son sağ alt ağaç gezilir.
Ters İç Kök (Sağ-Kök-Sol); Inorder’ın tam tersi. Önce sağ alt ağaç → sonra kök → sonra sol alt ağaç. Verileri azalan sırada elde etmek istiyorsan kullanılır. Sıralama yapar ama azalan (büyükten küçüğe) şekilde.
Önce Kök (Kök-Sol-Sağ); İlk olarak kök düğüm ziyaret edilir. Daha sonra sol ve sağ alt ağaçlar sırasıyla gezilir. Ağacın önce yapısı, sonra içeriği önemlidir. Genellikle ağaç yapısını dosyaya yazmak veya kopyalamak için kullanılır. Verileri artan sırayla sıralamaz. Çünkü kök düğüm, sol çocuklardan önce yazıldığından sıralama özelliği bozulur.
Sonra Kök (Sol-Sağ-Kök); İlk olarak sol ve sağ alt ağaçlar tamamen gezilir, en son kök düğüm ziyaret edilir. Ağaç yapısını silme gibi işlemlerde kullanılır (önce çocukları temizle, sonra kökü). Verileri sıralı biçimde vermez.
Ters Önce Kök (Kök-Sağ-Sol); Preorder’ın tersidir. Önce kök → sağ çocuk → sol çocuk. Nadir durumlarda veya bazı özel yazdırma işlemlerinde tercih edilebilir. Artan sıralama sağlamaz.
Soru 20
Aşağıdaki ifadelerden hangisi AVL ağaçları için yanlıştır?
Seçenekler
A
AVL ağaçları, her düğümde denge faktörünü kontrol eder.
B
AVL ağaçlarında denge faktörü, sağ ve sol alt ağaçların yükseklik farkıdır.
C
AVL ağacı, her düğümde tam iki çocuk barındırmalıdır.
D
Denge faktörü −1, 0 veya 1 olabilir.
E
AVL ağaçları, arama süresini dengeleyerek iyileştirir.
Açıklama:
AVL ağaçlarında önemli olan her düğümün iki çocuğa sahip olması değil, alt ağaçlarının yükseklik farkının en fazla 1 olmasıdır. Her düğümün iki çocuğu olması zorunlu değildir. Bu, AVL'nin "dengeli" olmasını sağlar ama "tam" olması gerekmez.
Ünite 8
Soru 1
Verilen bir G grafı üzerinde tanımlı di ve dj iki düğüm, kenar kümesinde tanımlı bir kenar ile ilişkilendiriliyorsa bu iki düğüm ------- düğümlerdir?
Yukarıdaki cümlede boş bırakılan yeri aşağıdakilerden hangisi doğru olarak tamamlar?
Yukarıdaki cümlede boş bırakılan yeri aşağıdakilerden hangisi doğru olarak tamamlar?
Seçenekler
A
Komşu
B
Yakın
C
Sıralı
D
Ardışık
E
Boşluklu
Açıklama:
Verilen bir G grafı üzerinde tanımlı di ve dj iki düğüm, kenar kümesinde tanımlı bir kenar ile ilişkilendiriliyorsa bu iki düğüm, komşu (adjacent) düğümlerdir.
Soru 2
Düğümler arasındaki kenarlara yönlendirme atanan graflar aşağıdakilerden hangisidir?
Seçenekler
A
Yönlü
B
Yönsüz
C
Özel
D
Ağırlıklı
E
Ağırlıksız
Açıklama:
Düğümler arasındaki kenarlara yönlendirme atanan graflara yönlü graf adı verilir.
Soru 3

Yukarıdaki garf örneğinde düğümleri kişiler olarak düşündüğümüzde aşağıdaki ifadelerden hangisi yanlıştır?
Seçenekler
A
A kişisi ile E kişisi tanışmaktadır.
B
A kişisi ile B kişisi tanışmaktadır.
C
B kişisi ile E kişisi tanışmaktadır.
D
D kişisi ile E kişisi tanışmaktadır.
E
C kişisi ile B kişisi tanışmaktadır.
Açıklama:
A kişisi ile E kişisi tanışmamaktadır.
A kişisi ile E kişisi tanışmaMAKTADIR.
A kişisi ile E kişisi tanışmaMAKTADIR.
Soru 4

Yukarıdaki graf örneğinde düğümlerin her biri bir havalimanını temsil etmektedir. Buna göre aşağıdaki ifadelerden hangisi yanlıştır?
Seçenekler
A
C'den A'ya yalnızca iki aktarma ile gidilebilir.
B
D'den E'ye direkt uçuş vardır.
C
C'den B, E ve D'ye direkt uçuş bulunmaktadır.
D
D'den A'ya gitmek için iki aktarma yapılması gerekmektedir.
E
B'den A'ya direkt uçuş vardır.
Açıklama:
C'den A'ya gidiş için birden fazla seçenek bulunmaktadır.
Soru 5

Yukarıdaki grafın kenarlar kümesinin matematiksel gösterimi aşağıdaki seçeneklerden hangisinde doğru olarak verilmiştir?
Seçenekler
A
K = { (a, b), (b, c), (c, d), (e, d), (f, b), (f, e) }
B
K = { (a, b), (b, f), (c, d), (e, d), (f, b), (f, d) }
C
K = { (a, b), (b, f), (c, d), (e, g), (f, b), (f, e) }
D
K = { (a, b), (b, c), (c, d), (e, g), (f, b), (f, e) }
E
K = { (a, b), (a, c), (c, d), (e, d), (f, d), (f, e) }
Açıklama:
K = { (a, b), (b, c), (c, d), (e, d), (f, b), (f, e) }
Soru 6
Sadece iki düğümün bağlı olup olmamasının önemsendiği graflara ne ad verilir?
Seçenekler
A
Ağırlıksız graflar
B
Bitişik graflar
C
Komşu graflar
D
Ağırlıklı graflar
E
Yönsüz graflar
Açıklama:
Sadece iki düğümün bağlı olup olmaması önemseniyorsa böyle bir graf ağırlıksız olarak adlandırılır.
Aralarında bir kenar bulunan düğümler de birbirlerine bitişik veya komşu düğümler olarak isimlendirilmektedir.
Sadece iki düğümün bağlı olup olmaması önemseniyorsa böyle bir graf ağırlıksız olarak adlandırılır. Aralarında bir kenar bulunan düğümler de birbirlerine bitişik veya komşu düğümler olarak isimlendirilmektedir.
Aralarında bir kenar bulunan düğümler de birbirlerine bitişik veya komşu düğümler olarak isimlendirilmektedir.
Sadece iki düğümün bağlı olup olmaması önemseniyorsa böyle bir graf ağırlıksız olarak adlandırılır. Aralarında bir kenar bulunan düğümler de birbirlerine bitişik veya komşu düğümler olarak isimlendirilmektedir.
Soru 7
Bir grafiğin veya ağaç veri yapısının tüm düğümlerini aramak için kullanılan yinelemeli (recursive) bir algoritmadır. Geçiş, bir grafiğin tüm düğümlerini ziyaret etmek anlamına gelmektedir.
Yukarıdaki paragrafta sözü edilen algoritma aşağıdakilerden hangisidir?
Yukarıdaki paragrafta sözü edilen algoritma aşağıdakilerden hangisidir?
Seçenekler
A
Önce Derinlik Araması
B
Önce Genişlik Araması
C
Önce Uzunluk Araması
D
Önce Uzaklık Geçişi
E
Önce Genişlik Geçişi
Açıklama:
Önce Derinlik Araması veya Önce Derinlik Geçişi, bir grafiğin veya ağaç veri yapısının tüm düğümlerini aramak için kullanılan yinelemeli (recursive) bir algoritmadır. Geçiş, bir grafiğin tüm düğümlerini ziyaret etmek anlamına gelmektedir.
Soru 8
BFS Algoritması ile ilgili aşağıdaki ifadelerden hangisi yanlıştır?
Seçenekler
A
Dar ve uzun ağaçlar oluşturmaktadır.
B
Minimum yayılan ağaç (Minimum Spanning Tree) gibi alanlarda kullanılmaktadır.
C
Arama dizinine göre dizin oluşturmak için bir ağda maksimum akışı bulmak amacıyla FordFulkerson algoritmasında kullanılmaktadır.
D
GPS navigasyonu için kullanılmaktadır.
E
Yol bulma algoritmaları için kullanılmaktadır.
Açıklama:
BFS Algoritması;
• Yol bulma algoritmaları için kullanılmaktadır.
• GPS navigasyonu için kullanılmaktadır.
• Arama dizinine göre dizin oluşturmak için bir ağda maksimum akışı bulmak amacıyla FordFulkerson algoritmasında kullanılmaktadır.
• Yönsüz bir grafikte döngü algılama ve Minimum yayılan ağaç (Minimum Spanning Tree) gibi alanlarda kullanılmaktadır.
• Yol bulma algoritmaları için kullanılmaktadır.
• GPS navigasyonu için kullanılmaktadır.
• Arama dizinine göre dizin oluşturmak için bir ağda maksimum akışı bulmak amacıyla FordFulkerson algoritmasında kullanılmaktadır.
• Yönsüz bir grafikte döngü algılama ve Minimum yayılan ağaç (Minimum Spanning Tree) gibi alanlarda kullanılmaktadır.
Soru 9
Aşağıdakilerden hangisi DFS ve BFS algoritmaları arasındaki temel farklardan biridir?
Seçenekler
A
DFS’de bellek alanı daha verimli bir şekilde kullanılırken BFS’de bellek alanının verimli şekilde
kullanımı göz ardı edilmektedir.
kullanımı göz ardı edilmektedir.
B
DFS her düğümü hafızada tutarken BFS keşfedilmemiş düğümler üzerinden tek bir yol bilgisini tutabilmek için doğrusal alan kaplamaktadır.
C
DFS en uygun algoritma iken BFS en uygun değildir.
D
BFS'de yığın veri yapısı veya özyineleme, DFS'de ise kuyruk veri yapısı kullanılmıştır.
E
BFS, kenar tabanlı bir algoritma iken DFS, düğüm tabanlı bir algoritmadır.
Açıklama:
DFS, kenar tabanlı bir algoritma iken BFS, düğüm tabanlı bir algoritma olarak tasarlanmıştır.
• DFS yığın veri yapısı veya özyineleme kullanırken BFS’de kuyruk veri yapısı kullanılmıştır.
• DFS’de bellek alanı daha verimli bir şekilde kullanılırken BFS’de bellek alanının verimli şekilde
kullanımı göz ardı edilmektedir.
• BFS en uygun algoritma iken DFS en uygun değildir.
• DFS, dar ve uzun ağaçlar oluştururken BFS, geniş ve kısa bir ağaç oluşturmaktadır.
BFS ve DFS grafik arama algoritmalarının çalışma süreleri birbirine yakındır fakat algoritmaların kullanıldığı alanlar değişmektedir. BFS her düğümü hafızada tutarken DFS keşfedilmemiş düğümler üzerinden
tek bir yol bilgisini tutabilmek için doğrusal alan kaplamaktadır.
BFS ilk sırada en uygun ve verimli hedefi aradığı için DFS’e göre daha uygun bir tercihtir. DFS ise
derin çözümler sunar ve çözüm yoğun olduğunda daha verimli çalışmaktadır.
DFS, kenar tabanlı bir algoritma iken BFS, düğüm tabanlı bir algoritma olarak tasarlanmıştır.
• DFS yığın veri yapısı veya özyineleme kullanırken BFS’de kuyruk veri yapısı kullanılmıştır.
• DFS’de bellek alanı daha verimli bir şekilde kullanılırken BFS’de bellek alanının verimli şekilde
kullanımı göz ardı edilmektedir.
• BFS en uygun algoritma iken DFS en uygun değildir.
• DFS, dar ve uzun ağaçlar oluştururken BFS, geniş ve kısa bir ağaç oluşturmaktadır.
BFS ve DFS grafik arama algoritmalarının çalışma süreleri birbirine yakındır fakat algoritmaların kullanıldığı alanlar değişmektedir. BFS her düğümü hafızada tutarken DFS keşfedilmemiş düğümler üzerinden tek bir yol bilgisini tutabilmek için doğrusal alan kaplamaktadır.
BFS ilk sırada en uygun ve verimli hedefi aradığı için DFS’e göre daha uygun bir tercihtir. DFS ise
derin çözümler sunar ve çözüm yoğun olduğunda daha verimli çalışmaktadır.
• DFS yığın veri yapısı veya özyineleme kullanırken BFS’de kuyruk veri yapısı kullanılmıştır.
• DFS’de bellek alanı daha verimli bir şekilde kullanılırken BFS’de bellek alanının verimli şekilde
kullanımı göz ardı edilmektedir.
• BFS en uygun algoritma iken DFS en uygun değildir.
• DFS, dar ve uzun ağaçlar oluştururken BFS, geniş ve kısa bir ağaç oluşturmaktadır.
BFS ve DFS grafik arama algoritmalarının çalışma süreleri birbirine yakındır fakat algoritmaların kullanıldığı alanlar değişmektedir. BFS her düğümü hafızada tutarken DFS keşfedilmemiş düğümler üzerinden
tek bir yol bilgisini tutabilmek için doğrusal alan kaplamaktadır.
BFS ilk sırada en uygun ve verimli hedefi aradığı için DFS’e göre daha uygun bir tercihtir. DFS ise
derin çözümler sunar ve çözüm yoğun olduğunda daha verimli çalışmaktadır.
DFS, kenar tabanlı bir algoritma iken BFS, düğüm tabanlı bir algoritma olarak tasarlanmıştır.
• DFS yığın veri yapısı veya özyineleme kullanırken BFS’de kuyruk veri yapısı kullanılmıştır.
• DFS’de bellek alanı daha verimli bir şekilde kullanılırken BFS’de bellek alanının verimli şekilde
kullanımı göz ardı edilmektedir.
• BFS en uygun algoritma iken DFS en uygun değildir.
• DFS, dar ve uzun ağaçlar oluştururken BFS, geniş ve kısa bir ağaç oluşturmaktadır.
BFS ve DFS grafik arama algoritmalarının çalışma süreleri birbirine yakındır fakat algoritmaların kullanıldığı alanlar değişmektedir. BFS her düğümü hafızada tutarken DFS keşfedilmemiş düğümler üzerinden tek bir yol bilgisini tutabilmek için doğrusal alan kaplamaktadır.
BFS ilk sırada en uygun ve verimli hedefi aradığı için DFS’e göre daha uygun bir tercihtir. DFS ise
derin çözümler sunar ve çözüm yoğun olduğunda daha verimli çalışmaktadır.
Soru 10
- Grafiğin düğümlerinden herhangi birini bir yığına (stack) ekleyerek başlayın.
- Grafın düğümlerinden herhangi birini kuyruğun sonuna ekleyerek başlayın.
- Kuyruğun ilk ögesini alın ve ziyaret edilenler listesine ekleyin.
- Yığının en üst ögesini alın ve ziyaret edilenler listesine ekleyin.
- Bu düğümün bitişik düğümlerinin bir listesini oluşturun. Ziyaret edilenler listesinde olmayanları sıranın en arkasına ekleyin.
- Bu düğümün bitişik düğümlerinin bir listesini oluşturun. Ziyaret edilenler listesinde olmayanları yığının en üstüne ekleyin.
Yukarıdaki ifadelerden hangileri DFS algoritmasının çalışma mantığına uygundur?
Seçenekler
A
I, III ve V
B
I, IV ve V
C
I, IV ve VI
D
I, II, IV ve VI
E
I, III, IV, V ve VI
Açıklama:
BFS algoritmasının çalışma mantığı;
1. Grafın düğümlerinden herhangi birini kuyruğun sonuna ekleyerek başlayın.
2. Kuyruğun ilk ögesini alın ve ziyaret edilenler listesine ekleyin.
3. Bu düğümün bitişik düğümlerinin bir listesini oluşturun. Ziyaret edilenler listesinde olmayanları sıranın en arkasına ekleyin.
4. Kuyruk boşalana kadar 2. ve 3. adımları tekrarlamaya devam edin.
DFS algoritmasının çalışma mantığı;
1. Grafiğin düğümlerinden herhangi birini bir yığına (stack) ekleyerek başlayın.
2. Yığının en üst ögesini alın ve ziyaret edilenler listesine ekleyin.
3. Bu düğümün bitişik düğümlerinin bir listesini oluşturun. Ziyaret edilenler listesinde olmayanları
yığının en üstüne ekleyin.
4. Yığın boşalana kadar 2. ve 3. adımları tekrarlamaya devam edin.
1. Grafın düğümlerinden herhangi birini kuyruğun sonuna ekleyerek başlayın.
2. Kuyruğun ilk ögesini alın ve ziyaret edilenler listesine ekleyin.
3. Bu düğümün bitişik düğümlerinin bir listesini oluşturun. Ziyaret edilenler listesinde olmayanları sıranın en arkasına ekleyin.
4. Kuyruk boşalana kadar 2. ve 3. adımları tekrarlamaya devam edin.
DFS algoritmasının çalışma mantığı;
1. Grafiğin düğümlerinden herhangi birini bir yığına (stack) ekleyerek başlayın.
2. Yığının en üst ögesini alın ve ziyaret edilenler listesine ekleyin.
3. Bu düğümün bitişik düğümlerinin bir listesini oluşturun. Ziyaret edilenler listesinde olmayanları
yığının en üstüne ekleyin.
4. Yığın boşalana kadar 2. ve 3. adımları tekrarlamaya devam edin.
Soru 11
I. Graflar düğümler ve kenarlardan oluşan bir kümedir.
II. Düğümler arasındaki ilişkiler ise kenarlarda gösterilmektedir.
III. Graf yapılarında asıl varlıklar kenarlardır.
IV. Düğümler arasındaki bağlantılara yönlendirmeler atanamamaktadır.
Yukarıdakilerden hangileri graf veri modeli için doğrudur?
II. Düğümler arasındaki ilişkiler ise kenarlarda gösterilmektedir.
III. Graf yapılarında asıl varlıklar kenarlardır.
IV. Düğümler arasındaki bağlantılara yönlendirmeler atanamamaktadır.
Yukarıdakilerden hangileri graf veri modeli için doğrudur?
Seçenekler
A
I ve II
B
I ve III
C
II ve III
D
II ve IV
E
III ve IV
Açıklama:
zorluk derecesi: kolay
III. Graf yapılarında asıl varlıklar düğümlerdir.
IV. Düğümler arasındaki bağlantılara yönlendirmeler atanabilmektedir.
III. Graf yapılarında asıl varlıklar düğümlerdir.
IV. Düğümler arasındaki bağlantılara yönlendirmeler atanabilmektedir.
Soru 12
Grafikte düğümler arasındaki yönlendirme olmaması durumu hangi graf türünü ifade eder?
Seçenekler
A
Yönlü graf
B
Ağırlıklı graf
C
Yönsüz graf
D
Çoklu graf
E
Komple graf
Açıklama:
zorluk derecesi kolay
Yönsüz graf
Yönsüz graf
Soru 13
Aşağıdakilerden hangisi yönlendirilmiş (directed) bir kenarın özelliğidir?
Seçenekler
A
Başlangıç ve bitiş düğümü yoktur.
B
Her iki yönde de geçiş yapılabilir.
C
Tek yönlüdür ve ok ile gösterilir.
D
Kenarların ağırlığı yoktur.
E
Her kenarın ikiz bağlantısı vardır
Açıklama:
zorluk derecesi: orta
Tek yönlüdür ve ok ile gösterilir.
Tek yönlüdür ve ok ile gösterilir.
Soru 14
Bir grafın çapı aşağıdakilerden hangisini ifade eder?
Seçenekler
A
Grafın en kısa yolunu
B
Grafın düğüm sayısını
C
Grafın çevresini
D
Tüm düğümler arası maksimum mesafeyi
E
Grafın merkez düğümünü
Açıklama:
Zorluk derecesi: orta
Tüm düğümler arası maksimum mesafeyi ifade eder.
Tüm düğümler arası maksimum mesafeyi ifade eder.
Soru 15
DFS (Derinlik Öncelikli Arama) algoritmasında hangi veri yapısı kullanılmaktadır?
Seçenekler
A
Kuyruk (Queue)
B
Yığın (Stack)
C
Bağlantılı liste (Linked list)
D
Matris (Matrix)
E
Hash tablosu
Açıklama:
zorluk derecesi: zor
Yığın (Stack) kullanılır.
Yığın (Stack) kullanılır.
Soru 16
Aşağıdakilerden hangisi BFS (Önce Genişlik Araması) algoritmasının kullanım alanlarından biri değildir?
Seçenekler
A
Yol bulma
B
GPS navigasyonu
C
Döngü algılama
D
Minimum yayılan ağaç bulma
E
Düğüm derecesi hesaplama
Açıklama:
zorluk derecesi: orta
Düğüm derecesi hesaplama BFS (Önce Genişlik Araması) algoritmasının kullanım alanlarından biri değildir.
Düğüm derecesi hesaplama BFS (Önce Genişlik Araması) algoritmasının kullanım alanlarından biri değildir.
Soru 17
Grafikte, iki düğüm arasında bir kenar varsa bu düğümlere ne ad verilir?
Seçenekler
A
Bağlı düğüm
B
Alt düğüm
C
Komşu düğüm
D
Merkezi düğüm
E
Döngü düğümü
Açıklama:
zorluk derecesi: orta
Komşu düğüm
Komşu düğüm
Soru 18
Bir grafın ........., tüm düğümlerden maksimum eksantriklik değerlerinin minimumudur.
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Yukarıdaki boşluğa aşağıdakilerden hangisi gelmelidir?
Seçenekler
A
Çapı
B
Merkezi
C
Derecesi
D
Yarıçapı
E
Uzunuğu
Açıklama:
zorluk derecesi: orta
Bir grafın yarıçapı, tüm düğümlerden maksimum eksantriklik değerlerinin minimumudur.
Bir grafın yarıçapı, tüm düğümlerden maksimum eksantriklik değerlerinin minimumudur.
Soru 19
I. DFS, yığın veri yapısı kullanır.
II. BFS, kuyruk veri yapısı kullanır.
III. DFS, düğüm tabanlıdır.
IV. BFS, kenar tabanlıdır.
Yukarıda verilenlerden hangileri doğrudur?
II. BFS, kuyruk veri yapısı kullanır.
III. DFS, düğüm tabanlıdır.
IV. BFS, kenar tabanlıdır.
Yukarıda verilenlerden hangileri doğrudur?
Seçenekler
A
I ve II
B
I ve III
C
II ve III
D
III ve IV
E
I, II ve IV
Açıklama:
zorluk derecesi: orta
I. DFS, yığın veri yapısı kullanır.
II. BFS, kuyruk veri yapısı kullanır.
öncülleri doğrudur.
III. Yanlış (DFS kenar tabanlıdır, düğüm tabanlı değildir).
IV. Yanlış (BFS düğüm tabanlıdır, kenar tabanlı değildir).
I. DFS, yığın veri yapısı kullanır.
II. BFS, kuyruk veri yapısı kullanır.
öncülleri doğrudur.
III. Yanlış (DFS kenar tabanlıdır, düğüm tabanlı değildir).
IV. Yanlış (BFS düğüm tabanlıdır, kenar tabanlı değildir).
Soru 20
I. Yönlendirilmiş graflarda ok işareti ile yön belirtilir.
II. Ağırlıksız graflarda kenarlara sayısal değer atanmaz.
III. Komple graflarda tüm düğümler birbirine bağlıdır.
IV. Alt graflar, üst grafın tüm düğüm ve kenarlarını içerir.
Yukarıda verilenlerden hangileri doğrudur?
II. Ağırlıksız graflarda kenarlara sayısal değer atanmaz.
III. Komple graflarda tüm düğümler birbirine bağlıdır.
IV. Alt graflar, üst grafın tüm düğüm ve kenarlarını içerir.
Yukarıda verilenlerden hangileri doğrudur?
Seçenekler
A
I ve II
B
I ve III
C
I, II ve III
D
II ve IV
E
III ve IV
Açıklama:
zorluk derecesi: zor
I. Doğru (Yönlendirilmiş graflarda ok yönü vardır).
II. Doğru (Ağırlıksız graflarda değer atanmaz).
III. Doğru (Komple graflarda tüm düğümler birbirine bağlıdır).
IV. Yanlış (Alt graflar, üst grafın alt kümesidir; tümünü içermez).
I. Doğru (Yönlendirilmiş graflarda ok yönü vardır).
II. Doğru (Ağırlıksız graflarda değer atanmaz).
III. Doğru (Komple graflarda tüm düğümler birbirine bağlıdır).
IV. Yanlış (Alt graflar, üst grafın alt kümesidir; tümünü içermez).