Factorio'da B-ağaçları
(razberry.substack.com)B-ağaçları hakkında öğrenme
-
İkili arama ağaçları (Binary Search Trees, BSTs): Her düğüm bir anahtara sahiptir; sol düğüm daha düşük anahtar değerlerine, sağ düğüm ise daha yüksek anahtar değerlerine sahiptir.
-
BST'ler yalnızca anahtarlar sıralanabildiğinde çalışır ve değerler sadece tek bir tarafa eklenirse denge bozulur, bu da verimliliği düşürür.
-
Dengesi bozulmuş bir BST, pivotlama yoluyla düzeltilebilir; ancak disk tabanlı depolama için uygun değildir (sık yeniden dengeleme gerekir ve bitişik düğümler farklı sayfalarda depolanabilir).
-
B-ağaçları (B-Trees): İkili ağaçlara göre daha fazla anahtar ve işaretçi içeren düğümlerden oluşur.
-
Her düğüm birden fazla anahtar taşır ve her anahtara göre birden fazla işaretçiye sahiptir (örneğin, anahtarları 17 ve 24 olan bir düğüm; 17'den küçük anahtarlara sahip düğümlere, 17 ile 24 arasındaki anahtarlara sahip düğümlere ve 24'ten büyük anahtarlara sahip düğümlere işaretçilere sahip olur).
Factorio'da B-ağacı uygulaması
- Fabrika kurma oyunu Factorio'da basit bir ikili arama ağacı uygulaması: Her düğüm bir ahşap sandıktan (anahtar) ve iki yoldan (işaretçi) oluşur.
- Malzemelerin değerini karşılaştırmanın bir yolu olmadığından, onlara keyfi bir sıra verilir ve karşılaştırma için filtre kolu kullanılır.
- B-ağacı uygulaması daha karmaşıktır: Her düğüm üç anahtar ve dört çocuk düğüme giden işaretçi içerir.
- B-ağaçları daha fazla bilgi depolayabilir ve öğeleri elle sıralamak yerine, daha sonra daha iyi bir gösterim yöntemi bulunana kadar ağaç boş bırakılır.
GN⁺ görüşü
- Bu yazıdaki en önemli nokta, B-ağacı kavramını anlamak ve bunu Factorio oyununda uygulamayı deneyen yaratıcı yaklaşımdır.
- Okurlar için ilginç olan, bilgisayar biliminin karmaşık veri yapılarını oyun aracılığıyla görsel ve sezgisel biçimde anlama fırsatı sunmasıdır.
- Bu yaklaşım, öğrenmeyi daha eğlenceli ve çekici hale getirirken, yazılım mühendisliğinin temel kavramlarını oyun gibi alışılmadık bir araç üzerinden keşfetmenin yeni bir yolunu da önerir.
1 yorum
Hacker News yorumu