/ / Undirected Graph: Minimum Spanning Tree z kilkoma czerwonymi krawędziami, jak to możliwe - algorytm, wykres

Niekodowany wykres: Minimalne drzewo opinające z kilkoma czerwonymi krawędziami - algorytm, wykres

Nie wiem, jak postępować z tym problemem.

Biorąc pod uwagę graf nieskierowany z każdą krawędziąkolor czerwony lub niebieski. Jak mogę znaleźć minimalne drzewo rozpinające, które zawiera kilka czerwonych krawędzi, jak to możliwe, w złożoności czasowej (O (m + n) log n). Gdzie m wierzchołków i n to krawędzie.

Każda pomoc zostanie bardzo doceniona.

Odpowiedzi:

1 dla odpowiedzi № 1

O ile widzę, myślę, że odpowiedziałeś na własne pytanie. Przez przypisanie wagi do krawędzi, czerwone wagi 1 i niebieskie wagi 0, problem staje się klasycznym odkryciem minimalne drzewo opinające, który ma złożoność czasową O((m + n) log n).


0 dla odpowiedzi nr 2

Zacznij od znalezienia wszystkich minimalnych drzew rozpinających. Następnie policz krawędzie każdego drzewa i wybierz drzewo z najmniejszą liczbą czerwonych. Chodzi o modyfikację algorytmu znajdowania minimalnych drzew rozpinających i powinieneś znaleźć przykłady.

Jeśli źle zrozumiałem pytanie i celpolega na zminimalizowaniu czerwonych krawędzi, aby znalezione drzewo rozpinające nie mogło być już minimum: zacznij od znalezienia wszystkich możliwych drzew rozpinających. Następnie wybierz drzewo z najmniejszą liczbą czerwonych krawędzi.