Miklix

Kruskal urang Algoritma Maze generator

Diterbitkeun: 16 Pébruari 2025 jam 18.09.10 UTC
Panungtungan diropéa: 12 Januari 2026 jam 8.59.39 UTC

Generator labirin ngagunakeun algoritma Kruskal pikeun nyieun labirin anu sampurna. Algoritma ieu condong nyieun labirin kalayan koridor anu panjangna sedeng sareng seueur jalan buntu, ogé solusi anu cukup lempeng.

Kaca ieu ditarjamahkeun ku mesin tina basa Inggris supados tiasa diaksés ku saloba-lobana jalma. Hanjakalna, tarjamahan mesin henteu acan janten téknologi anu sampurna, janten kasalahan tiasa lumangsung. Upami anjeun hoyong, anjeun tiasa ningali versi Inggris asli di dieu:

Kruskal's Algorithm Maze Generator

Algoritma Kruskal nyaéta algoritma tangkal rentang minimum anu tiasa diadaptasi pikeun generasi labirin. Ieu hususna efektif pikeun nyiptakeun labirin anu sampurna. Alternatif pikeun algoritma Kruskal nyaéta algoritma Prim, anu ogé mangrupikeun algoritma tangkal rentang minimum, tapi kumargi aranjeunna ngahasilkeun labirin anu idéntik sareng Kruskal ngajalankeun langkung gancang, kuring henteu repot-repot nerapkeun Prim.

Maze sampurna nyaéta Maze dimana aya persis hiji jalur ti titik mana waé dina Maze ka titik séjén. Éta hartina anjeun moal bisa mungkas nepi ka sabudeureun dina bunderan, tapi anjeun bakal mindeng sapatemon dead ends, forcing anjeun ngahurungkeun sabudeureun tur balik.

Peta Maze anu dihasilkeun di dieu kalebet versi standar tanpa posisi awal sareng akhir, ku kituna anjeun tiasa mutuskeun pikeun diri anjeun: bakal aya solusi ti mana waé dina maze ka titik anu sanés. Upami anjeun hoyong inspirasi, anjeun tiasa ngaktipkeun posisi mimiti sareng bérés anu disarankeun - komo ningali solusi antara dua.


Ngahasilkeun maze anyar








Ngeunaan Algoritma Kruskal

Algoritma Kruskal diciptakeun ku Joseph Bernard Kruskal, Jr., saurang ahli matematika, statistikawan, sareng élmuwan komputer Amérika. Anjeunna mimiti ngajelaskeun algoritma ieu dina taun 1956 dina makalahna "On the Shortest Spanning Subtree of a Graph and the Traveling Salesman Problem.

Algoritma ieu dirancang pikeun milarian tangkal rentang minimum (MST) tina hiji grafik, mastikeun yén sadaya simpul nyambung kalayan beurat sisi total minimal anu mungkin bari nyingkahan siklus.

Kumaha Algoritma Kruskal Gawéna pikeun Generasi Labirin

Léngkah 1: Inisialisasi

  • Anggap unggal sél dina labirin salaku sét anu misah (komponén anu unik).
  • Sebutkeun sadaya témbok antara sél anu padeukeut salaku sisi poténsial.

Léngkah 2: Susun Tembok

  • Kocok atawa urutkeun témbok-témbokna sacara acak. Upami nerapkeunana salaku algoritma Kruskal anu saleresna, urutkeun témbok sacara acak (sabab nyieun labirin teu merlukeun beurat).

Léngkah 3: Témbok Prosés

  • Ngaliwatan témbok-témbok anu dikocok deui.
  • Upami dua sél anu dibagi ku témbok kagolong kana sét anu béda (contona, éta sél tacan nyambung dina labirin), cabut témbokna teras gabungkeun sét-sét éta.
  • Upami aranjeunna parantos aya dina set anu sami, lewati témbok (pikeun nyingkahan siklus).

Léngkah 4: Teraskeun Nepi ka Réngsé

  • Balikan deui prosés ieu dugi ka sadaya sél nyambung, ngabentuk hiji tangkal rentang tunggal.
  • Pamustunganana, unggal sél disambungkeun ka sél séjénna tanpa puteran atawa bagian anu misah.

Kusabab algoritma Kruskal ngandelkeun ngahijikeun set, éta tiasa dioptimalkeun ku ngagunakeun algoritma Union-Find, anu nyayogikeun cara anu efisien pikeun ngalacak sél anu nyambung nalika generasi labirin. Anjeun tiasa ningali implementasi PHP kuring ngeunaan algoritma Union-Find di dieu: Tautan

Bacaan salajengna

Upami anjeun resep kana tulisan ieu, anjeun ogé tiasa resep saran ieu:


Bagikeun on BlueskyBagikeun dina FacebookBagikeun on LinkedInBagikeun dina TumblrBagikeun harga XBagikeun on LinkedInPin on Pinterest

Mikkel Christensen

Ngeunaan Pangarang

Mikkel Christensen
Mikkel mangrupikeun panyipta sareng pamilik miklix.com. Anjeunna gaduh pangalaman langkung ti 20 taun salaku programmer komputer / pamekar software profésional sareng ayeuna padamelan full-time pikeun korporasi IT Éropa anu ageung. Nalika henteu ngeblog, anjeunna nyéépkeun waktos luangna dina sajumlah ageung minat, hobi, sareng kagiatan, anu tiasa ditingali dina rupa-rupa topik anu aya dina halaman wéb ieu.