1.Kolay
Statik dizi ile dinamik dizi arasındaki temel fark nedir?
- ADinamik dizi elemanlarını bağlı düğümlerde saklar, bu yüzden birer birer büyüyebilir
- BStatik dizi daha yavaş indeks erişimine izin verir
- CStatik dizi yalnızca sayı saklayabilir
- DDinamik dizi daha büyük bir bellek bloğuna taşınarak büyüyebilir
2.Kolay
Hangi veri yapısı "son giren ilk çıkar" (LIFO) ilkesine göre çalışır?
- AKuyruk
- BKarma tablosu
- CYığın (stack)
- DBağlı liste
3.Kolay
n düğümlü bir ağacın kaç kenarı vardır?
- An + 1
- B2n
- Cn
- Dn − 1
4.Orta
Bir kuyruk iki yığınla gerçekleştiriliyor: "in" yığınına push edilir, "out" yığınından pop edilir ve "out" boşaldığında "in"den doldurulur. İşlem başına amortize maliyet nedir?
- AO(n²)
- BO(n)
- CO(1)
- DO(log n)
5.Orta
Anahtarlar sıralı biçimde eklenirse, n düğümlü bir ikili arama ağacının en kötü durumdaki yüksekliği nedir?
- A√n
- Bn (ağaç bir bağlı listeye dönüşür)
- Clog₂ n
- D1
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
- BDiziler değerleri karşılaştırmak için daha az komut kullanır
- CBağlı listeler elemanları her zaman diskte saklar
- DDizi dolaşımı toplamda O(1), bağlı liste dolaşımı O(n)'dir
7.Zor
n sayılık bir akıştan en küçük k değeri O(k) bellek kullanarak tutmanız gerekiyor. Hangi yaklaşım O(n log k) sürede çalışır?
- An değerin tamamını tutan bir min-heap; en küçük k değer sonunda çıkarılır
- BSon k değerden oluşan bir FIFO kuyruğu
- Ck boyutlu bir max-heap; daha küçük bir değer geldiğinde kökü değiştirilir
- Dn değerin tamamından oluşan sıralı bir dizi
8.Zor
İkili arama ağacından iki çocuğu olan bir düğümü silmek genellikle nasıl yapılır?
- AAltındaki alt ağacı baştan yeniden kurup içerdiği her anahtarı yeniden eklemek
- BDüğüm kökle yer değiştirilir
- CDüğüm in-order ardılı (veya öncülü) ile değiştirilir ve o düğüm silinir
- DTüm alt ağaç kaldırılır
Cevap anahtarı
- 1. D · Dinamik dizi daha büyük bir bellek bloğuna taşınarak büyüyebilir
- 2. C · Yığın (stack)
- 3. D · n − 1
- 4. C · O(1)
- 5. B · n (ağaç bir bağlı listeye dönüşür)
- 6. A · Dizi elemanları bitişik olduğu için CPU önbelleğini iyi kullanırlar
- 7. C · k boyutlu bir max-heap; daha küçük bir değer geldiğinde kökü değiştirilir
- 8. C · Düğüm in-order ardılı (veya öncülü) ile değiştirilir ve o düğüm silinir
Tam adım adım çözümler: bu konuyu examproblems.com’da çalışın.