Sistem bilangan
- Nilai tempat
- biner 2k, oktal 8k, heksadesimal 16k
- Ke desimal
- Σ dk·bk
- Dari desimal
- bagi dengan basis, baca sisanya dari bawah ke atas
- Heksadesimal ↔ biner
- satu digit heksadesimal = 4 bit
- Komplemen dua
- balik bitnya lalu tambahkan 1
Lembar rumus, langkah-langkah metode utama untuk setiap topik, dan 20 soal latihan, dengan pembahasan lengkap di bagian belakang.
Atur bit sehingga menyimpan −5 dalam komplemen dua 8-bit. Dibaca sebagai bilangan tak bertanda, berapa nilai pola U?
Atur bit menjadi hasil 8-bit dari 1101 1011 >> 1. Berapa nilai hasil R dalam desimal?
Pada berapa dari 8 baris tabel kebenarannya (c ∧ a) ∧ (b ∧ a) bernilai benar? Sebut bilangan ini N.
Pernyataan mana yang ekuivalen dengan ¬∀x (P(x) → Q(x)), dengan negasi dipindahkan sampai ke dalam? Klik pernyataan itu.
Pakai peta Karnaugh untuk mencari bentuk hasil kali dari jumlah (POS) minimal dari F(A, B, C, D) = Σm(0, 2, 3, 7, 8, 11, 12). Berapa suku jumlah (faktor) N yang dimilikinya?
Sebuah pencacah mod-5 sinkron menghitung 0, 1, …, 4 lalu kembali ke 0. Pencacah dimulai dari 4. Berapa hitungan Q (dalam desimal) yang ditunjukkannya setelah 19 pulsa clock?
Carilah fungsi totien Euler φ(55), banyaknya bilangan bulat dari 1 sampai 55 yang saling prima dengan 55.
71 adalah bilangan prima. Pakai teorema kecil Fermat untuk mencari 562074 mod 71.
Pemrograman dinamis (dynamic programming) berguna ketika suatu masalah memiliki:
Untuk varian knapsack mana aturan greedy "ambil item berdasarkan urutan nilai per berat" selalu memberikan jawaban optimal?
Anda memiliki referensi ke sebuah node di tengah list. Pada list mana Anda dapat menghapusnya dalam O(1)?
Menyisipkan kunci ke AVL tree membuat subpohon kiri suatu node terlalu tinggi, dan kunci baru masuk ke subpohon kiri dari anak kirinya (kasus left-left). Perbaikan apa yang diterapkan?
Sebuah pohon memiliki 2 simpul berderajat 3, 4 simpul berderajat 5, 4 simpul berderajat 2, dan semua simpul lainnya adalah daun (derajat 1). Berapa daun L yang dimilikinya?
Pakai algoritma Dijkstra untuk mencari panjang d(F) lintasan terpendek dari A ke F pada graf berbobot.
Mengapa indeks dibuat pada kolom?
Fitur SQL mana yang paling cocok untuk menemukan setiap karyawan di bawah seorang manajer dalam pohon organisasi yang kedalamannya tidak diketahui?
Subnet mask 255.255.255.0 setara dengan apa dalam notasi CIDR?
Masalah count-to-infinity terjadi pada jenis protokol routing apa, dan apa yang membantu mengatasinya?
Sebuah subnet memakai mask 255.255.252.0. Berapa alamat host yang dapat dipakai H?
Sebuah host memiliki alamat 10.20.131.22/25. Berapa oktet keempat x dari alamat host terakhir yang dapat dipakai di subnetnya?
Jawaban: U = 251
Mengatur bit: setiap bit bernilai pangkat dua (128, 64, …, 1). Satu digit heksa tepat empat bit, dan pada komplemen dua 8-bit bit paling kiri bernilai −128. Operasi bitwise bekerja pada setiap posisi bit secara terpisah.
Jawaban: R = 109
Mengatur bit: setiap bit bernilai pangkat dua (128, 64, …, 1). Satu digit heksa tepat empat bit, dan pada komplemen dua 8-bit bit paling kiri bernilai −128. Operasi bitwise bekerja pada setiap posisi bit secara terpisah.
Menggeser ke kanan sebanyak 1 memindahkan setiap bit 1 tempat ke kanan; bit yang keluar dari ujung kanan hilang dan nol masuk dari kiri.
Jawaban: N = 1
Tabel kebenaran: rumus dengan n variabel berbeda memiliki 2ⁿ baris, satu untuk setiap kombinasi nilai kebenaran (1 = benar, 0 = salah). Bekerjalah dari dalam ke luar dan beri setiap subformula kolomnya sendiri. ¬a membalik nilainya; a ∧ b bernilai 1 hanya jika keduanya 1; a ∨ b bernilai 0 hanya jika keduanya 0; a → b bernilai 0 hanya jika a = 1 dan b = 0; a ↔ b bernilai 1 jika kedua sisi sama.
Jawaban: ∃x (P(x) ∧ ¬Q(x))
Kuantor dan argumen: ¬∀x P(x) ≡ ∃x ¬P(x) dan ¬∃x P(x) ≡ ∀x ¬P(x). Pindahkan negasi ke dalam, tukar setiap kuantor yang dilewatinya, dan negasikan rumus di dalamnya dengan hukum proposisional, seperti ¬(a → b) ≡ a ∧ ¬b. Sebuah argumen valid jika kesimpulannya bernilai 1 pada setiap baris yang semua premisnya bernilai 1. Satu baris dengan premis benar dan kesimpulan salah adalah contoh penyangkal dan menunjukkan bahwa argumen itu tidak valid.
Pilihan lain mempertahankan kuantor tanpa perubahan, mengubah urutan kuantor, atau menegasikan rumus di dalam dengan salah.
Jawaban: N = 4
Peta Karnaugh: sel-sel diurutkan dalam kode Gray (00, 01, 11, 10), sehingga sel bertetangga, termasuk yang melewati tepi, berbeda tepat pada satu variabel. Kelompokkan angka 1 dalam persegi panjang berisi 1, 2, 4, 8, atau 16 sel, sebesar mungkin dan sesedikit mungkin, sampai setiap angka 1 tercakup. Setiap kelompok adalah satu suku hasil kali: variabel yang tetap konstan di dalamnya. Kelompok 2ᵏ sel kehilangan k variabel. Don’t-care (X) boleh dipakai untuk memperbesar kelompok tetapi tidak harus dicakup. Mengelompokkan angka 0 sebagai gantinya menghasilkan bentuk POS minimal.
Setiap kelompok adalah persegi panjang berisi 2ᵏ sel; sel di tepi bertetangga dengan sel di tepi seberangnya.
Ada pengelompokan lain dengan ukuran sama; banyaknya suku dan literalnya sama.
Jawaban: Q = 3
Flip-flop dan pencacah: flip-flop hanya berubah pada tepi clock aktif. D menyalin masukannya (Q⁺ = D); T berbalik jika T = 1; JK bertahan untuk 00, reset untuk 01, set untuk 10, dan berbalik untuk 11. Pencacah biner n bit memiliki 2ⁿ keadaan dan menghitung modulo 2ⁿ; pencacah mod-N berurutan 0, 1, …, N − 1 lalu kembali ke 0, dan memerlukan flip-flop sebanyak n terkecil dengan 2ⁿ ≥ N. Setiap tahap pencacah ripple membagi dua frekuensi, sehingga keluaran terakhir pencacah mod-N berjalan pada fclk/N. Pencacah Johnson dari n flip-flop memiliki 2n keadaan, pencacah cincin n.
Setiap 5 pulsa mengembalikan pencacah ke keadaan yang sama.
Jawaban: φ(55) = 40
Invers dan kongruensi: a memiliki invers modulo n tepat ketika FPB(a, n) = 1. Algoritma Euclid yang diperluas menuliskan 1 = s·n + t·a, dan kemudian a⁻¹ ≡ t (mod n). Kongruensi a·x ≡ b (mod n) dengan FPB(a, n) = 1 memiliki penyelesaian x ≡ a⁻¹·b. Dua kongruensi x ≡ r₁ (mod m₁) dan x ≡ r₂ (mod m₂) dengan modulus saling prima memiliki satu penyelesaian modulo m₁·m₂ (teorema sisa Cina). φ(n) Euler menghitung bilangan dari 1 sampai n yang saling prima dengan n: φ(n) = n·∏(1 − 1/p).
Jawaban: 562074 mod 71 = 57
Pangkat modular dan RSA: hitung aᵏ mod n dengan pengkuadratan berulang: tulis k dalam biner, kuadratkan, reduksi setelah setiap langkah, dan kalikan pangkat yang bitnya 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) untuk bilangan prima p yang tidak membagi a, sehingga eksponen dapat direduksi modulo p − 1. RSA: pilih bilangan prima p dan q, n = p·q dan φ(n) = (p − 1)(q − 1); eksponen publik e saling prima dengan φ(n), dan eksponen privat adalah d = e⁻¹ mod φ(n). Enkripsi dengan c = mᵉ mod n dan dekripsi dengan m = cᵈ mod n.
Jawaban: D · Submasalah yang tumpang tindih dan substruktur optimal
Menyimpan hasil submasalah yang tumpang tindih (memoisasi atau tabulasi) menghindari pekerjaan berulang, sehingga algoritma eksponensial menjadi polinomial.
Jawaban: C · Fractional knapsack, ketika item boleh dipecah
Ketika item dapat dipecah, rasio terbaik lebih dulu adalah optimal; pada 0/1 knapsack item dengan rasio tinggi dapat menghalangi kombinasi yang lebih baik, sehingga diperlukan dynamic programming.
Jawaban: B · Doubly linked list
Node doubly linked mengetahui pendahulunya, sehingga Anda dapat langsung menyambung ulang prev dan next; singly linked list harus mencari pendahulunya.
Jawaban: D · Satu rotasi kanan pada node yang tidak seimbang
Pada kasus left-left, satu rotasi kanan mengangkat anak kiri dan memulihkan keseimbangan; kasus zig-zag memerlukan rotasi ganda.
Jawaban: L = 16
Euler, Hamilton, dan pohon: graf terhubung memiliki sirkuit Euler (setiap sisi sekali, kembali ke awal) jika setiap simpul berderajat genap, dan lintasan Euler yang bukan sirkuit jika tepat dua simpul berderajat ganjil; lintasan itu berjalan dari satu simpul ganjil ke simpul ganjil lainnya. Sirkuit Hamilton mengunjungi setiap simpul sekali; Kn memiliki (n − 1)!/2 sirkuit seperti itu. Pohon dengan n simpul memiliki n − 1 sisi, dan graf terhubung dengan m sisi masih memiliki pohon rentang setelah m − n + 1 sisi dihapus.
Jalan pintas: L = 2 + Σ (d − 2) atas simpul berderajat d ≥ 3.
Jawaban: d(F) = 18
Lintasan terpendek dan pohon rentang: algoritma Dijkstra menetapkan satu simpul per putaran: simpul belum tetap dengan jarak sementara terkecil. Jaraknya lalu final, dan setiap tetangga v mendapat d(v) = min(d(v), d(u) + w(u, v)). Algoritma Kruskal membangun pohon rentang minimum dengan mengambil sisi dari yang ringan ke berat dan melewati sisi yang akan membentuk siklus; algoritma Prim menumbuhkan satu pohon dari simpul awal dengan selalu menambahkan sisi teringan yang keluar dari pohon. Pohon rentang dengan n simpul memiliki n − 1 sisi.
Setiap baris: simpul yang ditetapkan, jarak finalnya, dan tetangga yang jaraknya membaik.
Jawaban: C · Untuk mempercepat pencarian dan join pada kolom tersebut
Indeks (sering berupa B-tree) mempercepat pencarian, tetapi memakan ruang dan memperlambat insert serta update yang harus memeliharanya.
Jawaban: D · Common table expression rekursif (WITH RECURSIVE)
CTE rekursif dimulai dengan kueri jangkar dan berulang kali menggabungkan hasil sebelumnya dengan tabel, sehingga dapat menangani hierarki sedalam apa pun.
Jawaban: A · /24
Tiga oktet bernilai 255 sama dengan 24 bit 1, jadi 255.255.255.0 = /24.
Jawaban: B · Distance-vector; split horizon dan poison reverse
Setelah terjadi kegagalan, router distance-vector dapat terus saling mengiklankan rute usang, sehingga metriknya naik perlahan. Split horizon, poison reverse, dan batas metrik maksimum membatasi hal ini.
Jawaban: H = 1022
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).
Jawaban: x = 126
Subnetting IPv4: sebuah alamat terdiri dari 32 bit. Prefiks /p menyatakan berapa bit awal yang mengidentifikasi jaringan; sisa 32 − p bit menomori host. Sebuah subnet memiliki 2³²⁻ᵖ alamat, tetapi yang pertama (alamat jaringan) dan terakhir (alamat broadcast) tidak dapat diberikan ke host, sehingga muat 2³²⁻ᵖ − 2 host. Pengecualian: /31 (tautan point-to-point, RFC 3021) memakai kedua alamatnya yang berjumlah 2 untuk host, dan /32 hanya satu alamat (satu host atau loopback).
ExamProblems · examproblems.com/courses/computer-science-fundamentals