MakeSet(x) stworzenie nowej listy o jedynym skªadniku x. Zªo»ono±¢: O(1).
FindSet(x) zwrócenie wska¹nika od x do reprezentanta zbioru. Zªo»ono±¢: O(1).
Union(x, y) doª¡czenie listy Ly z elementem y na koniec listy Lx z elementem x.
Reprezentantem nowego zbioru jest element b¦d¡cy wcze±niej reprezentantem zbioru zawieraj¡cego x.
Trzeba uaktualni¢ wska¹nik do reprezentanta we wszystkich skªadnikach znajduj¡cych si¦ pierwotnie na li±cie Ly.
Zªo»ono±¢: O(s), gdzie s = |Ly|(gdy mamy dost¦p do ostatniego elementu Lx).
48 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw
Struktury danych dla zbiorów rozª¡cznych
Implementacja listy.MakeSet(x) stworzenie nowej listy o jedynym skªadniku x. Zªo»ono±¢: O(1).
FindSet(x) zwrócenie wska¹nika od x do reprezentanta zbioru. Zªo»ono±¢: O(1).
Union(x, y) doª¡czenie listy Ly z elementem y na koniec listy Lx z elementem x.
Reprezentantem nowego zbioru jest element b¦d¡cy wcze±niej reprezentantem zbioru zawieraj¡cego x.
Trzeba uaktualni¢ wska¹nik do reprezentanta we wszystkich skªadnikach znajduj¡cych si¦ pierwotnie na li±cie Ly.
Zªo»ono±¢: O(s), gdzie s = |Ly|(gdy mamy dost¦p do ostatniego elementu Lx).
48 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw
Struktury danych dla zbiorów rozª¡cznych
Implementacja listy.MakeSet(x) stworzenie nowej listy o jedynym skªadniku x. Zªo»ono±¢: O(1).
FindSet(x) zwrócenie wska¹nika od x do reprezentanta zbioru. Zªo»ono±¢: O(1).
Union(x, y) doª¡czenie listy Ly z elementem y na koniec listy Lx
z elementem x.
Reprezentantem nowego zbioru jest element b¦d¡cy wcze±niej reprezentantem zbioru zawieraj¡cego x.
Trzeba uaktualni¢ wska¹nik do reprezentanta we wszystkich skªadnikach znajduj¡cych si¦ pierwotnie na li±cie Ly.
Zªo»ono±¢: O(s), gdzie s = |Ly|(gdy mamy dost¦p do ostatniego elementu Lx).
48 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw
Struktury danych dla zbiorów rozª¡cznych
Implementacja listy.MakeSet(x) stworzenie nowej listy o jedynym skªadniku x. Zªo»ono±¢: O(1).
FindSet(x) zwrócenie wska¹nika od x do reprezentanta zbioru. Zªo»ono±¢: O(1).
Union(x, y) doª¡czenie listy Ly z elementem y na koniec listy Lx
z elementem x.
Reprezentantem nowego zbioru jest element b¦d¡cy wcze±niej reprezentantem zbioru zawieraj¡cego x.
Trzeba uaktualni¢ wska¹nik do reprezentanta we wszystkich skªadnikach znajduj¡cych si¦ pierwotnie na li±cie Ly.
Zªo»ono±¢: O(s), gdzie s = |Ly|(gdy mamy dost¦p do ostatniego elementu Lx).
48 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw
Struktury danych dla zbiorów rozª¡cznych
Implementacja listy.MakeSet(x) stworzenie nowej listy o jedynym skªadniku x. Zªo»ono±¢: O(1).
FindSet(x) zwrócenie wska¹nika od x do reprezentanta zbioru. Zªo»ono±¢: O(1).
Union(x, y) doª¡czenie listy Ly z elementem y na koniec listy Lx
z elementem x.
Reprezentantem nowego zbioru jest element b¦d¡cy wcze±niej reprezentantem zbioru zawieraj¡cego x.
Trzeba uaktualni¢ wska¹nik do reprezentanta we wszystkich skªadnikach znajduj¡cych si¦ pierwotnie na li±cie Ly.
Zªo»ono±¢: O(s), gdzie s = |Ly|(gdy mamy dost¦p do ostatniego elementu Lx).
48 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw
Struktury danych dla zbiorów rozª¡cznych
Implementacja listy.MakeSet(x) stworzenie nowej listy o jedynym skªadniku x. Zªo»ono±¢: O(1).
FindSet(x) zwrócenie wska¹nika od x do reprezentanta zbioru. Zªo»ono±¢: O(1).
Union(x, y) doª¡czenie listy Ly z elementem y na koniec listy Lx
z elementem x.
Reprezentantem nowego zbioru jest element b¦d¡cy wcze±niej reprezentantem zbioru zawieraj¡cego x.
Trzeba uaktualni¢ wska¹nik do reprezentanta we wszystkich skªadnikach znajduj¡cych si¦ pierwotnie na li±cie Ly.
Zªo»ono±¢: O(s), gdzie s = |Ly|(gdy mamy dost¦p do ostatniego elementu Lx).
48 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw
Struktury danych dla zbiorów rozª¡cznych
Implementacja listy.Usprawnienie: heurystyka ª¡czenia z wywa»aniem.
Zawsze doª¡czamy krótsz¡ list¦ do dªu»szej.
Trzeba przechowywa¢ (np. w reprezentancie) i uaktualnia¢ rozmiar listy.
Asymptotyczna zªo»ono±¢ pojedynczej operacji Union pozostaje taka sama, lecz koszt zamortyzowany jest mniejszy.
Wykonanie ci¡gu m operacji MakeSet, Union i FindSet, spo±ród których n to MakeSet zajmuje przy wywa»aniu czas O(m + nlog n). Bez wywa»ania: O(m2).
49 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw
Struktury danych dla zbiorów rozª¡cznych
Implementacja listy.Usprawnienie: heurystyka ª¡czenia z wywa»aniem.
Zawsze doª¡czamy krótsz¡ list¦ do dªu»szej.
Trzeba przechowywa¢ (np. w reprezentancie) i uaktualnia¢ rozmiar listy.
Asymptotyczna zªo»ono±¢ pojedynczej operacji Union pozostaje taka sama, lecz koszt zamortyzowany jest mniejszy.
Wykonanie ci¡gu m operacji MakeSet, Union i FindSet, spo±ród których n to MakeSet zajmuje przy wywa»aniu czas O(m + nlog n). Bez wywa»ania: O(m2).
49 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw
Struktury danych dla zbiorów rozª¡cznych
Implementacja listy.Usprawnienie: heurystyka ª¡czenia z wywa»aniem.
Zawsze doª¡czamy krótsz¡ list¦ do dªu»szej.
Trzeba przechowywa¢ (np. w reprezentancie) i uaktualnia¢ rozmiar listy.
Asymptotyczna zªo»ono±¢ pojedynczej operacji Union pozostaje taka sama, lecz koszt zamortyzowany jest mniejszy.
Wykonanie ci¡gu m operacji MakeSet, Union i FindSet, spo±ród których n to MakeSet zajmuje przy wywa»aniu czas O(m + nlog n). Bez wywa»ania: O(m2).
49 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw
Struktury danych dla zbiorów rozª¡cznych
Implementacja listy.Usprawnienie: heurystyka ª¡czenia z wywa»aniem.
Zawsze doª¡czamy krótsz¡ list¦ do dªu»szej.
Trzeba przechowywa¢ (np. w reprezentancie) i uaktualnia¢ rozmiar listy.
Asymptotyczna zªo»ono±¢ pojedynczej operacji Union pozostaje taka sama, lecz koszt zamortyzowany jest mniejszy.
Wykonanie ci¡gu m operacji MakeSet, Union i FindSet, spo±ród których n to MakeSet zajmuje przy wywa»aniu czas O(m + nlog n). Bez wywa»ania: O(m2).
49 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw
Struktury danych dla zbiorów rozª¡cznych
Implementacja listy.Usprawnienie: heurystyka ª¡czenia z wywa»aniem.
Zawsze doª¡czamy krótsz¡ list¦ do dªu»szej.
Trzeba przechowywa¢ (np. w reprezentancie) i uaktualnia¢ rozmiar listy.
Asymptotyczna zªo»ono±¢ pojedynczej operacji Union pozostaje taka sama, lecz koszt zamortyzowany jest mniejszy.
Wykonanie ci¡gu m operacji MakeSet, Union i FindSet, spo±ród których n to MakeSet zajmuje przy wywa»aniu czas O(m + nlog n).
Bez wywa»ania: O(m2).
49 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw
Struktury danych dla zbiorów rozª¡cznych
Implementacja listy.Usprawnienie: heurystyka ª¡czenia z wywa»aniem.
Zawsze doª¡czamy krótsz¡ list¦ do dªu»szej.
Trzeba przechowywa¢ (np. w reprezentancie) i uaktualnia¢ rozmiar listy.
Asymptotyczna zªo»ono±¢ pojedynczej operacji Union pozostaje taka sama, lecz koszt zamortyzowany jest mniejszy.
Wykonanie ci¡gu m operacji MakeSet, Union i FindSet, spo±ród których n to MakeSet zajmuje przy wywa»aniu czas O(m + nlog n). Bez wywa»ania: O(m2).
49 / 88
A. Mróz, WMiI, UMK
Przeszukiwanie grafu Najkrótsze drogi Zbiory rozª¡czne MST Maksymalny przepªyw