Mam nieskoordynowany połączony wykres z nieważonymi krawędziami. Jak zbudować drzewo opinające (rozwiązanie może nie być unikalne), tak aby zminimalizować sumę głębokości wszystkich węzłów? Nie jest to oczywiście znalezienie minimalnego drzewa opinającego, ponieważ "waga" krawędzi faktycznie różni się w zależności od głębokości dziecka.Wyszukiwanie drzewa opinającego, które minimalizuje sumę głębokości węzłów.
Myślę, że biorąc pod uwagę wyznaczony katalog główny, drzewo z minimalną sumą głębokości może zostać utworzone przez chciwie łączące wszystko, co można połączyć jako potomstwo, z każdym węzłem w kolejności wszerz. Dlatego zamierzam znaleźć drzewo o minimalnej całkowitej głębokości, stosując tę samą procedurę N razy, wyznaczając każdy z N węzłów jako root i wybierając minimalną spośród N kandydatów. Czy to jest prawidłowy algorytm? Proszę wskazać, czy jest źle, lub czy istnieje coś bardziej wydajnego.
Interesujące podejście. 'O (n^2)' jest całkiem niezłe, jeśli algorytm jest prawidłowy. –
Wydaje mi się to uzasadnione. Wielki algorytm –
Drzewo opinające naprawdę nie ma węzła głównego, więc pojęcie głębi węzła nie jest dla mnie jasne. Być może według głębokości węzła masz na myśli średnicę drzewa lub głębokość, jeśli jest on ukorzeniony w pierwszym węźle, który odwiedziłeś w algorytmie Prim? –