Algorytm Tarjana znajdowania najniższego wspólnego przodka

Algorytm offline Tarjana znajdowania najniższego wspólnego przodkaalgorytm obliczający najniższego wspólnego przodka dla pary węzłów w drzewie, bazujący na strukturze zbiorów rozłącznych.

Najniższym wspólnym przodkiem dwóch wierzchołków d oraz e w ukorzenionym drzewie T jest taki rodzic wierzchołków d oraz e, którego poziom w drzewie T jest największy. Algorytm nosi nazwę Roberta Tarjana, który wymyślił tę technikę w 1979 roku. Algorytm Tarjana zaliczany jest do klasy algorytmów offline, co oznacza, że w przeciwieństwie do innych algorytmów wyznaczania przodka, wymaga podania przed rozpoczęciem działania wszystkich par wierzchołków dla których będzie obliczany najniższy wspólny przodek.

Najprostsza wersja algorytmu używająca struktury "find union", w przeciwieństwie do innych algorytmów wyszukiwania wspólnego przodka może nie działać w stałym czasie dla każdej operacji, gdy liczba par wierzchołków jest bliska liczbie wierzchołków w drzewie. Ostatnie poprawki[1] przyspieszają czas działania algorytmu do liniowego.

Pseudokod

Poniższy pseudokod wyznacza najniższego wspólnego przodka każdej pary należącej do P. Korzeń drzewa podany jest w zmiennej r, natomiast następniki wierzchołka n znajdują się w zbiorze n.children. Dla poniższego algorytmu offline zbiór P musi być zadany przed rozpoczęciem działania algorytmu. W procedurze używane są procedury MakeSet, Find oraz Union ze zbiorów rozłącznych. MakeSet(u) tworzy singelton z u, Find(u) zwraca reprezentanta zbioru do którego należy u, Union(u,v) łączy zbiory zawierające wierzchołki u oraz v.

TarjanOLCA(r) jest na początku wywoływany z parametrem równych korzeniowi r.

 funkcja TarjanOLCA(u)
     MakeSet(u)
     u.ancestor := u
     dla każdego v należącego do u.children wykonaj
         TarjanOLCA(v)
         Union(u,v)
         Find(u).ancestor := u
     u.color := black;
     dla każdego v takiego, że {u,v} należy do P wykonaj
         if v.colour == black
             zwróć wynik: Find(v).ancestor

Po inicjalizacji każdy wierzchołek jest w kolorze białym i jest kolorowany na czarno w momencie gdy wszystkie jego dzieci zostaną odwiedzone. Najniższy wspólny przodek pary {u,v} może zostać wyznaczony wywołaniem funkcji Find(v).ancestor natychmiast (i tylko wtedy) gdy wierzchołek u jest kolorowany na czarno, a v już został pokolorowany na czarno. W przeciwnym wypadku, będzie dostępny później jako Find(u).ancestor, w momencie pokolorowania v na czarno.

Poniżej znajduje się zoptymalizowana wersja funkcji MakeSet, Find, and Union działających na zbiorach rozłącznych.

 funkcja MakeSet(x)
     x.parent := x
     x.rank   := 0
 
 funkcja Union(x, y)
     xRoot := Find(x)
     yRoot := Find(y)
     if xRoot.rank > yRoot.rank
         yRoot.parent := xRoot
     else if xRoot.rank < yRoot.rank
         xRoot.parent := yRoot
     else if xRoot != yRoot
         yRoot.parent := xRoot
         xRoot.rank := xRoot.rank + 1
  
 funkcja Find(x)
     if x.parent == x
        return x
     else
        x.parent := Find(x.parent)
        return x.parent

Przypisy

  1. H.N. Gabow, R.E. Tarjan A linear-time algorithm for a special case of disjoint set union

Bibliografia

  • H. N. Gabow, R. E. Tarjan. A linear-time algorithm for a special case of disjoint set union. „Proceedings of the 15th ACM Symposium on Theory of Computing (STOC)”, s. 246–251, 1983. DOI: 10.1145/800061.808753. .

Read other articles:

Абрам Самуилович Кассациер Дата рождения 5 (18) сентября 1900(1900-09-18) Место рождения Ржев, Тверская губерния, Российская империя Дата смерти 1965(1965) Место смерти Ленинград, РСФСР, СССР Страна  СССР Научная сфера судостроение Место работы Балтийский завод Альма-матер ЛПИ Извес

 

Gunung ButakRangkaian Pegunungan Butak-Kawi-Panderman. Gunung Butak terletak di tengah dan tertinggi.Titik tertinggiKetinggian2.868 m (9.409 kaki)[1]Koordinat7°55′S 112°27′E / 7.92°S 112.45°E / -7.92; 112.45 GeografiLetakdiantara Kabupaten Malang dan Kabupaten Blitar Jawa Timur, IndonesiaGeologiUsia batuanHoloceneJenis gunungGunung berapi kerucut Gunung Butak adalah sebuah gunung berapi kerucut yang terletak di perbatasan Kabupaten Malan...

 

vde Deputados estaduais do Rio Grande do Sul da 41.ª legislatura (1963–1967) Adolfo Puggina (PDC) Alberto Hoffmann (PRP) Aldo da Silva Fagundes (PTB) Alexandre Machado da Silva (PSD) Álvaro Petracco da Cunha (PTB) Antonino Fornari (PSD) Antônio Setembrino Mesquita (PRP) Antônio Visintainer (PTB) Ariosto Jaeger (PSD) Artur Bachini (UDN) Ary da Silva Delgado (PSD) Ayrton Barnasque (PTB) Beno Orlando Burmann (PTB) Cândido Norberto dos Santos (MTR) Dario Beltrão (PL) Euclides Nicolau Klie...

Лученко Євген Дмитрович Народження 30 липня 1914(1914-07-30)Бахмацький район, УкраїнаСмерть 1998  Київ, УкраїнаЖанр портретДіяльність художникЧлен Національна спілка художників УкраїниНагороди У Вікіпедії є статті про інших людей із прізвищем Лученко. Євген Дмитрович Луче

 

Empasan jenis plunging Gelombang pecah besar Gelombang pecah atau empasan dalam dinamika fluida adalah gelombang yang amplitudonya mencapai level kritis sehingga terjadi beberapa proses tertentu yang mengakibatkan sebagian energi gelombang berubah menjadi energi kinetik turbulen.[1][2] Pada kondisi ini, model fisik sederhana yang mendeskripsikan dinamika gelombang seringkali menjadi tidak valid, terutama pada model yang mengasumsikan kondisi gelombang linear. Bentuk gelombang ...

 

Waterpoort van Gorinchem De oude waterpoort van Gorinchem, rivierzijde Locatie Plaatsnaam Gorinchem Coördinaten 51° 50′ NB, 4° 59′ OL Status en tijdlijn Oorspr. functie Vestingwerk en militair gebouw Bouw gereed tussen 1580 en 1600 Verbouwing 1642 Afgebroken 1893 Bouwinfo Architect Adriaen Anthonisz Erkenning Monumentstatus Rijksmonument Detailkaart Locatie in Zuid-Holland Portaal    Civiele techniek en bouwkunde Beeldhouwwerk in de Waterpoort van Jan de Sterke, ...

Dongfeng EQ2050 EQ2050 milik AD Bangladesh. Jenis * Kendaraan utilitas militer ringan Mobil berperisai Negara asal China Sejarah pemakaian Masa penggunaan 2007 – sekarang Digunakan oleh Lihat di bawah Sejarah produksi Perancang AM General[a] Tahun 2004 Produsen Dongfeng Motor Group Diproduksi 2007 – sekarang Varian Lihat di bawah Spesifikasi Panjang 4.970 mm (196 in) Lebar 2.134 mm (84,0 in) Tinggi 1.960 mm (77 in) Awak 1 (pengemudi) Je...

 

منتخب الكويت لكرة القدم الشاطئية معلومات عامة بلد الرياضة  الكويت الفئة كرة القدم للرجال  رمز الفيفا KUW  الاتحاد الاتحاد الكويتي لكرة القدم كونفدرالية آفك (آسيا) مشاركات الطقم الرسمي الطقم الأساسي الطقم الاحتياطي تعديل مصدري - تعديل   منتخب الكويت لكرة القدم الشا...

 

French footballer (born 1987) Karim Benzema Benzema in 2021Personal informationFull name Karim Mostafa Benzema[1]Date of birth (1987-12-19) 19 December 1987 (age 35)[2]Place of birth Lyon, FranceHeight 1.85 m (6 ft 1 in)[3]Position(s) StrikerTeam informationCurrent team Al-IttihadNumber 9Youth career1993–1996 AS Des Buers Villeurbanne1996–1997 Bron1997–2005 LyonSenior career*Years Team Apps (Gls)2004–2006 Lyon II 20 (15)2004–2009 Lyon 112 ...

El texto que sigue es una traducción defectuosa. Si quieres colaborar con Wikipedia, busca el artículo original y mejora esta traducción.Copia y pega el siguiente código en la página de discusión del autor de este artículo: {{subst:Aviso mal traducido|Operación Pata de Palo}} ~~~~ Operación Pata de Palo Conflicto árabe-israelíParte de conflicto árabe-israelí Fecha 1 de octubre de 1985Lugar Hammam al-Shatt, TúnezCasus belli Ataque terrorista en Larnaca, ChipreBeligerantes Israel ...

 

2014 single by SakanactionSayonara wa EmotionSayonara wa Emotion / Hasu no Hana single cover.Single by SakanactionReleasedOctober 29, 2014 (2014-10-29)Recorded2014GenreRock, folk, electronicaLength4:22LabelVictor EntertainmentSongwriter(s)Ichiro YamaguchiProducer(s)SakanactionSakanaction singles chronology Hasu no Hana (2014) Sayonara wa Emotion (2014) Shin Takarajima (2015) Sayonara wa Emotion (Japanese: さよならはエモーション, Hepburn: Sayonara wa Emōshon, Goodbye...

 

Masonic Shogi gameboard and starting position Masonic shogi is a shogi variant invented by George R. Dekle Sr. in 1987.[1][2] The game is played on a modified shogi board whereby alternating ranks are indented to the right—resembling masonry brickwork. The moves of pieces are adapted to the new geometry; in other respects the game is the same as shogi. Masonic shogi was included in World Game Review No. 10 edited by Michael Keller.[3] Board characteristics Indentatio...

1999 American action-adventure film The MummyTheatrical release posterDirected byStephen SommersScreenplay byStephen SommersStory byStephen SommersLloyd FonvielleKevin JarreBased onThe Mummy (1932 film)1932 film remakeby Karl FreundProduced byJames JacksSean DanielStarring Brendan Fraser Rachel Weisz John Hannah Arnold Vosloo Kevin J. O'Connor Jonathan Hyde CinematographyAdrian BiddleEdited byBob DucsayMusic byJerry GoldsmithProductioncompanyAlphaville Films[1]Distributed byUniversal ...

 

Dayak lug-rigged prahu, called bajak. Bajak is a type of sailing prahu of the Dayak people of Borneo. It is propelled by both sail and oars. The bajak has a sharp but hollow bow, with projection at top. It has large square stern which projects at the sides of the hull and supported by two strong beams. On the side of the vessel are projecting open galleries for oarsmen.[1] Bajak has two mast with lug rig, and a bowsprit which support headsails (fore staysail and jib). The sail of baja...

 

Anak Agung Gde Mayun[[Wakil Bupati Gianyar]] ke-4PetahanaMulai menjabat 20 September 2018PresidenJoko WidodoPendahuluI Made Agus Mahayastra Informasi pribadiLahir6 Oktober 1960 (umur 63) Gianyar, BaliKebangsaanIndonesiaPartai politikPDI-PerjuanganSuami/istriIda Ayu Diana DewiAnak2PekerjaanPolitikusSunting kotak info • L • B Anak Agung Gde Mayun, SH (lahir 6 Oktober 1960), adalah Wakil Bupati Gianyar terpilih periode 2018-2023. Sebelumnya Gde Mayun menjabat sebagai K...

Form of telegraph receiver which converted incoming electrical signals into sounds This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Telegraph sounder – news · newspapers · books · scholar · JSTOR (April 2020) (Learn how and when to remove this template message)Telegraph Sounder A telegraph sounder is an antiq...

 

Estuary and harbor of Massachusetts Bay This article is about Boston Harbor, Massachusetts. For other uses, see Boston Harbor (disambiguation). Topographic map of Boston Harbor USCGC James pulls into Harbor in August 2015. Boston Harbor is a natural harbor and estuary of Massachusetts Bay, and is located adjacent to the city of Boston, Massachusetts. It is home to the Port of Boston, a major shipping facility in the Northeastern United States.[1] History Brig Antelope in Boston Harbor...

 

John Winter Crowfoot CBE (28 July 1873 – 6 December 1959) was a British educational administrator and archaeologist. He worked for 25 years in Egypt and Sudan, serving from 1914 to 1926 as Director of Education in the Sudan, before accepting an invitation to become Director of the British School of Archaeology in Jerusalem. Origins, education and early career John Winter Crowfoot was the eldest of three children, and the only son, of clergyman John Henchman Crowfoot (1841–1927) and his wi...

American railroad products company Progress Rail, A Caterpillar CompanyTypeSubsidiaryIndustryTransportationFoundedAlbertville, Alabama, United States (1982 (1982))FounderBilly AinsworthHeadquartersAlbertville, AlabamaNumber of locationsUnited States - 110Mexico - 28Canada - 4Brazil - 2UK - 5Italy - 1Germany - 1Area servedWorldwideKey peopleJohn Newman, CEOProducts List Remanufactured locomotives and railcars Rail and other track materials Special trackwork Signals and communication produ...

 

Parish Church of Saint Antony of JacobinaIgreja Matriz de Santo António em JacobinaParish Church of Saint Antony of JacobinaReligionAffiliationCatholicRiteRomanPatronSaint AnthonyLocationMunicipalityJacobinaStateBahiaCountryBrazilLocation of the Parish Church of Saint Antony of Jacobina in BrazilGeographic coordinates11°11′00″S 40°30′34″W / 11.18323074566549°S 40.509403874090644°W / -11.18323074566549; -40.509403874090644ArchitectureDate established1759Int...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!