All videos
GraphsMenengahFase D–FE1E5

PRIM MAZE

Pembangkitan labirin berbasis algoritma Prim menumbuhkan lorong mulai dari satu sel benih. Dinding di sekitar sel yang telah dikunjungi ditambahkan ke frontier; algoritma memilih dinding secara acak, dan jika sel di seberangnya belum dikunjungi, dinding tersebut dibuka menjadi lorong dan dinding baru ditambahkan ke frontier. Proses berlanjut hingga seluruh sel terhubung. Visualisasi menampilkan grid dengan lorong yang tumbuh sampai labirin lengkap.

Example use case

Pembangkitan peta labirin acak secara prosedural pada game atau level generator.

Syllabus

Prim menumbuhkan labirin dari satu sel benih, memperluas lorong dengan membuka dinding acak dari daftar frontier.

Objectives
  • ·Memahami konsep frontier sebagai daftar dinding kandidat
  • ·Menjelaskan cara lorong tumbuh dari satu sel awal
  • ·Menerapkan Prim untuk membangkitkan labirin acak
How It Works
  • ·Pilih satu sel benih dan tandai sudah dikunjungi
  • ·Tambahkan dinding di sekitar sel itu ke daftar frontier
  • ·Pilih satu dinding acak dari frontier
  • ·Bila sel di seberangnya belum dikunjungi, buka dinding jadi lorong
  • ·Tambahkan dinding baru ke frontier, ulangi sampai semua sel terhubung
Prerequisites
  • ·Graf
  • ·Grid 2D
Real-World Uses
  • ·Membangkitkan peta labirin acak secara prosedural di game
  • ·Level generator yang bikin stage baru tiap kali main
  • ·Membuat pola maze unik untuk teka-teki di aplikasi

Complexity O(V log V) atau O(E) tergantung struktur frontier