B-tree di Factorio
(razberry.substack.com)Mempelajari B-tree
-
Binary Search Tree (BST): setiap node memiliki kunci; node di kiri memiliki nilai kunci yang lebih rendah, dan node di kanan memiliki nilai kunci yang lebih tinggi.
-
BST hanya berfungsi ketika kunci dapat diurutkan, dan jika nilai hanya ditambahkan ke satu sisi, keseimbangannya rusak sehingga efisiensinya menurun.
-
BST yang tidak seimbang dapat diperbaiki melalui pivoting, tetapi tidak cocok untuk penyimpanan berbasis disk (karena perlu sering diseimbangkan ulang, dan node yang berdekatan bisa tersimpan di halaman yang berbeda).
-
B-tree: terdiri dari node dengan lebih banyak kunci dan pointer dibanding pohon biner.
-
Setiap node memiliki beberapa kunci, dan berdasarkan setiap kunci memiliki beberapa pointer (misalnya, node dengan kunci 17 dan 24 memiliki pointer ke node dengan kunci lebih kecil dari 17, node dengan kunci di antara 17 dan 24, dan node dengan kunci lebih besar dari 24).
Implementasi B-tree di Factorio
- Implementasi binary search tree sederhana di Factorio (game pembangunan pabrik): setiap node terdiri dari peti kayu (kunci) dan dua jalur (pointer).
- Karena tidak ada cara untuk membandingkan nilai material, urutan arbitrer diberikan dan dibandingkan menggunakan lengan filter.
- Implementasi B-tree lebih kompleks: setiap node memiliki tiga kunci dan empat pointer ke node anak.
- B-tree dapat menyimpan lebih banyak informasi, dan alih-alih menyortir item secara manual, pohonnya dibiarkan kosong sampai ditemukan cara representasi yang lebih baik nanti.
Opini GN⁺
- Hal terpenting dari tulisan ini adalah memahami konsep B-tree dan pendekatan kreatif untuk mengimplementasikannya di dalam game Factorio.
- Yang menarik bagi pembaca adalah bahwa ini memberi kesempatan untuk memahami struktur data ilmu komputer yang kompleks secara visual dan intuitif melalui game.
- Pendekatan seperti ini membuat pembelajaran lebih menyenangkan dan menarik, serta menawarkan cara baru untuk mengeksplorasi konsep dasar rekayasa perangkat lunak melalui media nontradisional seperti game.
1 komentar
Komentar Hacker News