• Nie Znaleziono Wyników

Struktury danych dla zbiorów rozª¡cznych Implementacja  listy

W dokumencie Część 3 (Stron 154-166)

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

Struktury danych dla zbiorów rozª¡cznych

W dokumencie Część 3 (Stron 154-166)

Powiązane dokumenty