Untuk pengajar: gratis untuk dicetak, disalin, dan dipakai di kelas. Setiap lembar kerja baru punya nilai baru dan kunci jawabannya sendiri. Tautan ke ExamProblems di halaman mata kuliah Anda sangat kami hargai.
Nama: ____________________ Tanggal: ____________
1.Mudah
Apa perbedaan utama antara array statis dan dynamic array?
AArray statis hanya dapat menyimpan bilangan
BDynamic array menyimpan elemennya dalam node yang saling terhubung sehingga dapat membesar satu per satu
CArray statis memiliki akses indeks yang lebih lambat
DDynamic array dapat membesar dengan pindah ke blok memori yang lebih besar
2.Mudah
Struktur data manakah yang bekerja dengan prinsip "terakhir masuk, pertama keluar" (LIFO)?
AHash table (tabel hash)
BQueue (antrean)
CLinked list (senarai berantai)
DStack (tumpukan)
3.Mudah
Hash table menyimpan data dalam bentuk:
AString dengan panjang tetap
BPohon dengan kunci terurut
CHanya daftar terurut
DPasangan kunci–nilai yang dilokasikan dengan fungsi hash
4.Sedang
Bagaimana cara kerja extract-min pada binary min-heap?
AHapus root dan geser semua elemen satu tempat ke kiri
BHapus elemen terakhir array
CPindahkan elemen terakhir ke root dan geser ke bawah (sift down)
DCari minimum baru di semua daun
5.Sedang
Trie (pohon prefiks) sangat efisien untuk:
AMenyimpan matriks
BMencari jalur terpendek
CMengurutkan bilangan
DPencarian prefiks seperti autocomplete
6.Sedang
Struktur data apa yang dipakai program yang sedang berjalan untuk mencatat pemanggilan fungsi yang aktif beserta variabel lokalnya?
ABinary search tree berisi frame
BHash table berisi fungsi
CAntrean memori heap
DCall stack
7.Sulit
Sifat manakah yang harus dipenuhi oleh pohon red-black?
ASetiap node merah harus memiliki anak merah, sehingga node merah selalu membentuk rantai tak terputus sampai daun
BSetiap node harus berwarna merah
CSetiap jalur dari sebuah node ke daun-daun turunannya memiliki jumlah node hitam yang sama
DAkar harus berwarna merah
8.Sulit
Sebuah dynamic array berlipat dua ketika penuh. Mengapa banyak implementasi hanya mengecilkannya ketika terisi seperempat, bukan separuh?
AKarena alokator memori hanya dapat melepaskan memori dalam kelipatan seperempat blok
BUntuk menghindari perubahan ukuran berulang ketika push dan pop bergantian di dekat batas
CUntuk menjaga array tetap terurut
DKarena membagi dua pada separuh akan menghilangkan elemen
Kunci jawaban
1. D · Dynamic array dapat membesar dengan pindah ke blok memori yang lebih besar
2. D · Stack (tumpukan)
3. D · Pasangan kunci–nilai yang dilokasikan dengan fungsi hash
4. C · Pindahkan elemen terakhir ke root dan geser ke bawah (sift down)
5. D · Pencarian prefiks seperti autocomplete
6. D · Call stack
7. C · Setiap jalur dari sebuah node ke daun-daun turunannya memiliki jumlah node hitam yang sama
8. B · Untuk menghindari perubahan ukuran berulang ketika push dan pop bergantian di dekat batas
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.