1.Kolay
Bir dizinin elemanları bellekte nasıl saklanır?
- ATek bir bitişik blokta, art arda
- BBir bellek sayfaları ağacında
- CDağınık olarak, işaretçilerle birbirine bağlı
- DBir karma fonksiyonunun seçtiği rastgele konumlarda
2.Kolay
Bir metin düzenleyicideki "geri al" (undo) özelliği için en uygun veri yapısı hangisidir?
- AGraf
- BYığın (stack)
- CKuyruk
- DKarma kümesi
3.Kolay
Bir grafın komşuluk listesi gösteriminde her köşe için ne saklanır?
- AKomşu köşelerinin bir listesi
- BV adet Boole değerinden oluşan bir satır
- CGraftaki toplam kenar sayısı
- DDiğer her köşeye olan en kısa yol
4.Orta
Bir listenin ortasındaki bir düğüme referansınız var. Hangi listede onu O(1)'de çıkarabilirsiniz?
- AÇift yönlü bağlı listede
- BSıralı bir dizide
- CTek yönlü bağlı listede
- DDinamik bir dizide
5.Orta
Bağlı listede bir nöbetçi (sentinel, kukla) düğümün amacı nedir?
- AEleman sayısını saklamak
- BBaştaki veya sondaki özel durumları kaldırarak kodu basitleştirmek
- CListeyi sıralı hâle getirmek
- DListenin sabit bir en fazla düğüm sayısının ötesine büyümesini engellemek
6.Orta
Bir diziyi dolaşmak, aynı uzunluktaki bir bağlı listeyi dolaşmaktan pratikte neden çoğu zaman çok daha hızlıdır?
- ADizi elemanları bitişik olduğu için CPU önbelleğini iyi kullanırlar
- BBağlı listeler elemanları her zaman diskte saklar
- CDizi dolaşımı toplamda O(1), bağlı liste dolaşımı O(n)'dir
- DDiziler değerleri karşılaştırmak için daha az komut kullanır
7.Zor
Tek yönlü bağlı bir listenin döngü içerip içermediğini O(1) ek bellekle nasıl tespit edebilirsiniz?
- AListeyi sıralayıp tekrarları arayarak
- BBir işaretçiyi birer adım, diğerini ikişer adım ilerletip karşılaşıp karşılaşmadıklarını kontrol ederek
- CSayı liste uzunluğu alanını aşana kadar düğümleri sayarak
- DZiyaret edilen her düğümü bir karma kümesinde saklayarak
8.Zor
Kruskal'ın minimum kapsayan ağaç algoritmasında union-find yapısı ne için kullanılır?
- AArama sırasında her köşenin kaynağa olan güncel uzaklığını saklamak için
- BBir kenarın iki uç noktasının zaten bağlı olup olmadığını kontrol etmek için
- CBaşlangıç köşesini seçmek için
- DKenarları ağırlığa göre sıralamak için
Cevap anahtarı
- 1. A · Tek bir bitişik blokta, art arda
- 2. B · Yığın (stack)
- 3. A · Komşu köşelerinin bir listesi
- 4. A · Çift yönlü bağlı listede
- 5. B · Baştaki veya sondaki özel durumları kaldırarak kodu basitleştirmek
- 6. A · Dizi elemanları bitişik olduğu için CPU önbelleğini iyi kullanırlar
- 7. B · Bir işaretçiyi birer adım, diğerini ikişer adım ilerletip karşılaşıp karşılaşmadıklarını kontrol ederek
- 8. B · Bir kenarın iki uç noktasının zaten bağlı olup olmadığını kontrol etmek için
Tam adım adım çözümler: bu konuyu examproblems.com’da çalışın.