Grafiğe yeni düğümler / kenarlar eklediğim için, bir grafiğin nispeten dengeli bir yayılma ağacını korumanın yollarını arıyorum.
Tek bir düğüm, "kök" olarak başlayan yönlendirilmemiş bir grafik var.
Her adımda, grafiğe ya yeni bir düğümü ve grafiğe bağlayan bir kenarı ya da sadece iki eski düğümü bağlayan yeni bir kenarı eklerim. Grafiği büyüttüğümde, yayılan bir ağacı koruyorum. Çoğu zaman, bu yeni bir düğüm ve kenar eklediğimde, yeni düğümü bağlandığı eski düğümün alt öğesi olarak ayarladığım anlamına gelir.
Yeni düğümlerin eklendiği düzen üzerinde hiçbir kontrolüm yok, bu yüzden yukarıdaki ağaç oluşturma algoritması açıkça dengesiz yayılan ağaçlara yol açabilir.
Yeniden ağaçlandırmada yapılan iş miktarını en aza indirirken, genişleyen ağacı "nispeten dengeli" tutacak çevrimiçi buluşsal yöntemler bilen var mı? Ağaç yapısı üzerinde tam kontrolüm var. Kontrol edemediğim grafik bağlantısı veya yeni düğümlerin eklendiği sıra.
"Dengeli" "yayılma" ve "ağaç" gibi terimlere verilen standart Google yanıtlarının, ikisi de geçerli olmayan ikili ağaçlar ve B ağaçları gibi göründüğünü unutmayın. Grafik düğümlerimde herhangi bir sayıda komşu olabilir, bu nedenle ağaç düğümlerinde ikili ağaç gibi 2 değil, çok sayıda çocuk olabilir. B-ağaçları bitişiklik listelerini değiştirerek dengeyi korurlar ve grafik bağlantısını değiştiremiyorum.