Buku

Perancangan dan Analisis Algoritma

Dari Prinsip Dasar hingga Program yang Terbukti Benar — Ada satu jenis hening tertentu di ruang kelas, yaitu saat seorang mahasiswa baru saja mengerti sesuatu. Bukan hening karena bingung — hening yang itu terasa berat.

A416 BabBI · ENC++1.556 halaman
Profitina Perancangan dan Analisis Algoritma
Unduh Buku Lengkap (PDF) Unduh Semua Materi Kuliah (PDF) Unduh Source Code (ZIP)

Ringkasan

Bab 1 sampai 3 membangun fondasi: apa itu algoritma, bagaimana membuktikan sebuah algoritma benar, model RAM, notasi asimtotik, rekurensi, dan Teorema Master. Bab 5 sampai 7 membahas pengurutan, pohon pencarian seimbang, bagi dan kuasai, serta pemrograman dinamis. Bab 9 sampai 11 beralih ke algoritma greedy dan ke graf — cara menelusurinya, dan cara merentangnya. Bab 13 sampai 15 membahas lintasan terpendek, analisis amortisasi, dan persoalan semua pasangan.

Bab 4, 8, 12, dan 16 berbeda sifatnya. Masing-masing adalah bab Evaluasi dan Pembahasan yang menutup seperempat bagian buku. Di sana tidak ada materi baru; sebaliknya, materi tiga bab sebelumnya dipakai untuk menyelesaikan persoalan utuh secara tuntas: setiap persoalan dinyatakan ulang dengan kata-kata sederhana, setiap langkah penalaran dituliskan, hitungannya ditunjukkan, jalan pintas yang menggoda tetapi keliru disebutkan dan dibongkar, cara kedua diberikan di mana pun cara itu ada, dan disertai program lengkap yang sudah dikompilasi dan dijalankan. Setiap persoalan ditutup dengan varian “uji diri”, agar Anda dapat memeriksa apakah metodenya sudah benar-benar menjadi milik Anda.

Setiap program dalam buku ini utuh, dapat dikompilasi dengan kompilator C++17 standar, dan sudah dijalankan sebelum keluarannya dicetak di sini. Tidak ada satu pun keluaran di halaman-halaman ini yang tidak dihasilkan oleh mesin. Program-program yang sama dikumpulkan, bab demi bab, dalam folder Code yang menyertai buku ini, masing-masing dengan README yang menjelaskan cara mengompilasi dan menjalankannya di Windows, macOS, dan Linux.

Isi Buku

  1. Fondasi, Kerangka Kerja, dan Persoalan Pertama
  2. Memulai: Model RAM, Insertion Sort, dan Pencarian
  3. Notasi Asimtotik, Rekurensi, dan Teorema Master
  4. Evaluasi dan Pembahasan I: Fondasi, Analisis, dan Problem Pertama
  5. Pengurutan dalam Praktik: Heapsort dan Quicksort
  6. Pohon Pencarian Biner dan Pohon AVL
  7. Dari Divide and Conquer ke Dynamic Programming
  8. Evaluasi dan Pembahasan II: Pengurutan, Pohon Pencarian, dan Pemrograman Dinamis
  9. Algoritma Rakus
  10. Algoritma Graf Dasar: Penelusuran Melebar dan Penelusuran Mendalam
  11. Pohon Merentang Minimum, DAG, dan Pengurutan Topologis
  12. Evaluasi dan Pembahasan III: Algoritma Greedy dan Graf
  13. Lintasan Terpendek Sumber Tunggal
  14. Analisis Amortisasi
  15. Lintasan Terpendek Semua Pasangan
  16. Evaluasi dan Pembahasan IV: Lintasan Terpendek, Analisis Amortisasi, dan Keseluruhan Buku
Untuk siapa buku ini: Anda dianggap belum tahu apa-apa. Bukan “belum tahu soal algoritma” — belum tahu apa-apa. Jika Anda belum pernah membuktikan apa pun, belum pernah menulis satu baris C++ pun, belum pernah melihat logaritma dipakai sungguh-sungguh, Andalah pembaca yang dibayangkan saat buku ini ditulis. Setiap lambang diperkenalkan dengan kata-kata sebelum dipakai. Setiap rumus diturunkan, bukan diumumkan. Setiap contoh dikerjakan dengan tangan, satu langkah satu baris, lengkap dengan hitungannya — sebab di hitungan itulah pemahaman benar-benar terjadi, atau diam-diam gagal terjadi.

Profitina · profitina.com

💬 Diskusi Komunitas