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 nama operasi stack yang menambahkan elemen ke bagian atas?
APop
BPeek
CPush
DEnqueue
2.Mudah
Dalam singly linked list, setiap node berisi:
AData dan sebuah indeks
BHanya data
CData dan referensi ke semua node lainnya
DData dan referensi ke node berikutnya
3.Mudah
Dalam urutan apa traversal preorder pada binary tree mengunjungi node?
ANode, lalu subpohon kiri, lalu subpohon kanan
BSubpohon kiri, lalu subpohon kanan, lalu node
CSubpohon kiri, lalu node, lalu subpohon kanan
DTingkat demi tingkat dari atas
4.Sedang
Dalam binary heap yang disimpan dalam array mulai dari indeks 0, di mana induk dari node pada indeks i?
APada indeks ⌊i / 2⌋ + 1
BPada indeks i − 1
CPada indeks 2i + 1
DPada indeks ⌊(i − 1) / 2⌋
5.Sedang
Berapa banyak node yang dimiliki perfect binary tree dengan tinggi h, dengan tinggi dihitung dalam sisi?
Ah2
B2h + 1
C2h
D2h+1 − 1
6.Sedang
Apa tujuan sentinel (dummy) node dalam linked list?
AMenyederhanakan kode dengan menghilangkan kasus khusus di head atau tail
BMembuat list terurut
CMenyimpan jumlah elemen
DMencegah list membesar melebihi jumlah node maksimum yang tetap
7.Sulit
Dengan simple uniform hashing, berapa waktu yang diharapkan untuk pencarian dalam hash table dengan chaining, n kunci, dan m bucket?
AO(m)
BO(1 + α), dengan α = n / m
CO(n)
DO(log n)
8.Sulit
Sebuah dynamic array berlipat dua ketika penuh. Mengapa banyak implementasi hanya mengecilkannya ketika terisi seperempat, bukan separuh?
AKarena membagi dua pada separuh akan menghilangkan elemen
BUntuk menghindari perubahan ukuran berulang ketika push dan pop bergantian di dekat batas
CUntuk menjaga array tetap terurut
DKarena alokator memori hanya dapat melepaskan memori dalam kelipatan seperempat blok
Kunci jawaban
1. C · Push
2. D · Data dan referensi ke node berikutnya
3. A · Node, lalu subpohon kiri, lalu subpohon kanan
4. D · Pada indeks ⌊(i − 1) / 2⌋
5. D · 2h+1 − 1
6. A · Menyederhanakan kode dengan menghilangkan kasus khusus di head atau tail
7. B · O(1 + α), dengan α = n / m
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.