Підтримка
www.wikidata.uk-ua.nina.az
Sistema neperetinnih mnozhin angl disjoint set union abo DSU takozh vikoristovuyut nazvi angl union find data structure angl merge find set struktura danih yaka dozvolyaye vidstezhuvati mnozhinu elementiv rozbitu na neperetinni pidmnozhini Pri comu kozhnij pidmnozhini priznachayetsya yiyi predstavnik element ciyeyi pidmnozhini Dodani 8 elementiv Pislya dekilkoh operacij ob yednannya deyaki mnozhini zgrupovani Struktura danih nadaye taki mozhlivosti Spochatku ye kilka elementiv kozhen z yakih znahoditsya v okremij svoyij vlasnij mnozhini Za odnu operaciyu mozhna ob yednati dvi bud yaki mnozhini a takozh mozhna zapitati v yakij mnozhini zaraz znahoditsya zaznachenij element U klasichnomu varianti vvoditsya she odna operaciya stvorennya novogo elementa yakij pomishayetsya v okremu mnozhinu singleton Takim chinom bazovij interfejs danoyi strukturi danih skladayetsya vsogo z troh operacij MakeSet dodannya novogo elementa rozmishennya jogo v novu mnozhinu sho skladayetsya z odnogo nogo Union ob yednannya dvoh zaznachenih mnozhin Find povernennya znachennya v yakij mnozhini znahoditsya zaznachenij element Naspravdi pri comu povertayetsya odin z elementiv mnozhini zvanij predstavnikom angl representative abo liderom leader Cej predstavnik vibirayetsya v kozhnij mnozhini samoyu strukturoyu danih i mozhe zminyuvatisya z plinom chasu Napriklad yaksho viklik dlya yakihos dvoh elementiv povernuv odne i te zh znachennya to ce oznachaye sho ci elementi znahodyatsya v odnij i tij zhe mnozhini a v inshomu vipadku v riznih mnozhinah Opisuvana nizhche struktura danih dozvolyaye robiti kozhnu z cih operacij majzhe za O 1 displaystyle O 1 v serednomu bilsh dokladno pro asimptotiku div nizhche pislya opisu algoritmu Takozh v odnomu z pidrozdiliv statti opisanij alternativnij variant realizaciyi DSU sho dozvolyaye domogtisya asimptotiki O log N displaystyle O log N v serednomu na odin zapit Pobudova efektivnoyi strukturi danihViznachimosya spochatku v yakomu viglyadi mi budemo zberigati vsyu informaciyu Mnozhinu elementiv mi budemo zberigati u viglyadi derev odne derevo vidpovidaye odnij mnozhini Korin dereva ce predstavnik lider mnozhini Pri realizaciyi ce oznachaye sho mi zavodimo masiv v yakomu dlya kozhnogo elementa zberigayemo posilannya na jogo predka v derevi Dlya koreniv derev budemo vvazhati sho yih predok voni sami tobto posilannya zaciklyuyetsya v comu misci Nayivna realizaciya Mi vzhe mozhemo napisati pershu realizaciyu sistemi neperetinnih mnozhin Vona bude dosit neefektivnoyu ale potim mi pokrashimo yiyi za dopomogoyu dvoh prijomiv otrimavshi v rezultati majzhe konstantnij chas roboti Otzhe vsya informaciya pro mnozhini elementiv zberigayetsya u nas za dopomogoyu masivu parent Shob stvoriti novij element operaciya make set v mi prosto stvoryuyemo derevo z korenem u vershini zaznachayuchi sho yiyi predok ce vona sama Shob ob yednati dvi mnozhini operaciya union set a b mi spochatku znajdemo lideriv pershoyi i drugoyi mnozhini Yaksho lideri zbiglisya to nichogo ne robimo ce oznachaye sho mnozhini i tak vzhe buli ob yednani V inshomu vipadku mozhna prosto vkazati sho predok pershoyi vershini dorivnyuye drugij abo navpaki tim samim priyednavshi odne derevo do inshogo Realizaciya operaciyi poshuku lidera find set v prosta mi pidnimayemosya po predkam vid vershini poki ne dijdemo do korenya Cyu operaciyu zruchnishe realizuvati rekursivno osoblivo ce bude zruchno piznishe u zv yazku z dodanimi optimizaciyami void make set int v parent v v int find set int v if v parent v return v return find set parent v void union sets int a int b a find set a b find set b if a b parent b a Utim taka realizaciya sistemi neperetinnih mnozhin duzhe neefektivna Legko pobuduvati priklad koli pislya kilkoh ob yednan mnozhin vijde situaciya sho mnozhina ce derevo zvirodnile v dovgij lancyuzhok U rezultati kozhen viklik bude pracyuvati na takomu testi za chas poryadku glibini dereva tobto za O n displaystyle O n Ce duzhe daleko vid tiyeyi asimptotiki yaku mi zbiralisya otrimati konstantnij chas roboti Tomu rozglyanemo dvi optimizaciyi yaki dozvolyat navit zastosovani okremo znachno priskoriti robotu Evristika stisnennya shlyahu Cya evristika priznachena dlya priskorennya roboti find set Vona polyagaye v tomu sho koli pislya vikliku mi znajdemo shukanogo lidera mnozhini to zapam yatayemo sho u vershini v i vsih projdenih po shlyahu vershin same cej lider Najprostishe ce zrobiti perenapravivshi yih parent na cyu vershinu Takim chinom u masivu predkiv parent sens desho zminyuyetsya teper ce stislij masiv predkiv tobto dlya kozhnoyi vershini tam mozhe zberigatisya ne bezposerednij predok a predok predka predok predka predka i t d Z inshogo boku zrozumilo sho ne mozhna zrobiti shob ci pokazhchiki parrent zavzhdi vkazuvali na lidera inakshe pri vikonanni operaciyi dovelosya b onovlyuvati lideriv u elementiv Takim chinom do masivu slid pidhoditi same yak do masivu predkiv mozhlivo chastkovo stisnutogo Nova realizaciya operaciyi maye takij viglyad int find set int v if v parent v return v return parent v find set parent v Taka prosta realizaciya robit vse sho zadumuvalosya spochatku shlyahom rekursivnih viklikiv znahoditsya lidera mnozhini a potim v procesi rozkrutki steka cej lider prisvoyuyetsya parent posilannyami dlya vsih projdenih elementiv Realizuvati cyu operaciyu mozhna i ne rekursivno ale todi dovedetsya zdijsnyuvati dva prohodi po derevu pershij znajde shukanogo lidera drugij prostavit jogo vsim vershin shlyahu Vtim na praktici nerekursivna realizaciya ne daye istotnogo vigrashu Evristika ob yednannya za rangom Rozglyanemo inshu evristiku yaka sama po sobi zdatna priskoriti chas roboti algoritmu a v poyednanni z evristikoyu stisnennya shlyahiv i zovsim zdatna dosyagti praktichno konstantnogo chasu roboti na odin zapit v serednomu Cya evristika polyagaye v nevelikij zmini roboti union set yaksho v nayivnij realizaciyi te yake derevo bude priyednano do yakogo viznachayetsya vipadkovo to teper mi budemo ce robiti na osnovi rangiv Ye dva varianti rangovoyi evristiki v odnomu varianti rangom dereva nazivayetsya kilkist vershin v nomu v inshomu glibina dereva tochnishe verhnya mezha na glibinu dereva oskilki pri odnochasnomu zastosuvanni evristiki stisnennya shlyahiv realna glibina dereva mozhe zmenshuvatisya V oboh variantah sut evristiki odna j ta zh pri vikonanni union set budemo priyednuvati derevo z menshim rangom do dereva z velikim rangom void make set int v parent v v size v 1 void union sets int a int b a find set a b find set b if a b if size a lt size b swap a b parent b a size a size b Navedemo realizaciyu rangovoyi evristiki na osnovi glibini derev void make set int v parent v v rank v 0 void union sets int a int b a find set a b find set b if a b if rank a lt rank b swap a b parent b a if rank a rank b rank a Obidva varianti rangovoyi evristiki ye ekvivalentnimi z tochki zoru asimptotiki tomu na praktici mozhna zastosovuvati bud yaku z nih Ob yednannya evristik stisnennya shlyahu plyus rangova evristika Yak vzhe zgaduvalosya vishe spilne zastosuvannya cih evristik daye osoblivo garnij rezultat u pidsumku dosyagayuchi praktichno konstantnogo chasu roboti Dovedennya asimptotiki tut ne navoditsya cherez yih ob yemnist div napriklad Kormen Lejzerson Rivest Shtajn Vstup do algoritmiv Vpershe ce dovedennya bulo provedeno Tardzhanom 1975 r Ostatochnij rezultat takij pri spilnomu zastosuvanni evristik stisnennya shlyahu ta ob yednannya za rangom chas roboti na odin zapit vihodit O A n displaystyle O A n v serednomu de A n displaystyle A n obernena funkciya Akermana yaka zrostaye duzhe povilno nastilki povilno sho dlya vsih rozumnih obmezhen vona ne perevershuye 4 priblizno dlya n lt 10600 Same tomu pro asimptotiku roboti sistemi neperetinnih mnozhin dorechno govoriti majzhe konstantnij chas roboti Navedemo tut pidsumkovu realizaciyu sistemi neperetinnih mnozhin sho realizuye obidvi vkazani evristiki vikoristovuyetsya rangova evristika shodo glibin derev void make set int v parent v v rank v 0 int find set int v if v parent v return v return parent v find set parent v void union sets int a int b a find set a b find set b if a b if rank a lt rank b swap a b parent b a if rank a rank b rank a Zastosuvannya v zadachah i rizni polipshennyaStrukturi danih neperetinnih mnozhin modelyuyut rozbittya mnozhini Yak vidomo rozbittya mnozhini mozhna zadati za dopomogoyu zadannya na nij vidnoshennya ekvivalentnosti I navpaki kozhnomu vidnoshennyu ekvivalentnosti zadanomu na deyakij mnozhini vidpovidaye rozbittya ciyeyi mnozhini Ce oznachaye sho struktura danih sistema neperetinnih mnozhin shiroko vikoristovuyetsya Napriklad mozhna vidstezhuvati komponenti zv yazanosti neoriyentovanogo grafa Algoritm Union Find vikoristovuyetsya u visokoproduktivnih realizaciyah unifikaciyi U comu rozdili rozglyanuto kilka zastosuvan strukturi danih sistema neperetinnih mnozhin yak trivialnih tak i z vikoristannyam deyakih polipshen strukturi danih Pidtrimka komponent zv yaznosti grafa Ce odna z ochevidnih program strukturi danih sistema neperetinnih mnozhin yaka vochevid i stimulyuvala vivchennya ciyeyi strukturi Formalno zadachu mozhna sformulyuvati takim chinom spochatku zadanij porozhnij graf postupovo v cej graf mozhut dodavatisya vershini i neoriyentovani rebra a takozh nadhodyat zapiti chi v odnakovih komponentah zv yaznosti lezhat vershini i Bezposeredno zastosovuyuchi tut opisanu vishe strukturu danih mi otrimuyemo rishennya yake obroblyaye odin zapit na dodavannya vershini rebra abo zapit na perevirku dvoh vershin za majzhe konstantnij chas u serednomu Vrahovuyuchi sho praktichno take same zavdannya stavitsya pri vikoristanni algoritmu Kruskala znahodzhennya minimalnogo kistyakovogo dereva mi vidrazu zh otrimuyemo polipshenu versiyu cogo algoritmu sho pracyuye praktichno za linijnij chas Inodi na praktici zustrichayetsya invertovana versiya cogo zavdannya spochatku ye graf z yakimis vershinami i rebrami i nadhodyat zapiti na vidalennya reber Yaksho zavdannya dane v oflajn tobto mi zazdalegid mozhemo diznatisya vsi zapiti to virishuvati ce zavdannya mozhna takim chinom perevernemo zavdannya zadom napered budemo vvazhati sho u nas ye porozhnij graf v yakij mozhut dodavatisya rebra spochatku dodamo rebro ostannogo zapitu potim peredostannogo i t d Tim samim u rezultati invertuvannya cogo zavdannya mi prijshli do zvichajnoyi zadachi rishennya yakoyi opisuvalosya vishe Poshuk komponent zv yaznosti na zobrazhenni Div takozh Komponenta zv yaznosti grafa Odne z ochevidnih zastosuvan DSU polyagaye u virishenni takogo zavdannya ye zobrazhennya pikseliv spochatku vse zobrazhennya bile ale potim na nomu malyuyetsya dekilka chornih krapok Potribno viznachiti rozmir kozhnoyi biloyi komponenti zv yaznosti na pidsumkovomu zobrazhenni Dlya rishennya mi prosto perebirayemo vsi bili klitini zobrazhennya dlya kozhnoyi klitini perebirayemo yiyi chotiroh susidiv i yaksho susid tezh bilij to viklikayemo vid cih dvoh vershin Takim chinom u nas bude DSU z vershinami vidpovidnimi pikselyam zobrazhennya Otrimani v rezultati dereva DSU i ye shukani komponenti zv yaznosti Pidtrimka dodatkovoyi informaciyi dlya kozhnoyi mnozhini Sistema neperetinnih mnozhin dozvolyaye legko zberigati bud yaku dodatkovu informaciyu sho vidnositsya do mnozhini Prostij priklad ce rozmiri mnozhin yak yih zberigati bulo skazano pri opisi rangovoyi evristiki informaciya tam zapisuvalasya dlya potochnogo lidera mnozhini Takim chinom razom z liderom kozhnoyi mnozhini mozhna zberigati bud yaku dodatkovu neobhidnu v konkretnomu zavdanni informaciyu Vtim take rishennya za dopomogoyu sistemi neperetinnih mnozhin ne maye zhodnih perevag pered rishennyam z dopomogoyu obhodu v glibinu Zastosuvannya DSU dlya stisnennya stribkiv po vidrizku Zavdannya pro zafarbuvannya pidvidrizkiv v oflajni Odne z poshirenih zastosuvan DSU polyagaye v tomu sho yaksho ye nabir elementiv i z kozhnogo elementa vihodit po odnomu rebru tozh mi mozhemo shvidko za majzhe konstantnij chas znahoditi kincevu tochku v yaku mi potrapimo yaksho budemo ruhatisya vzdovzh reber iz zadanoyi pochatkovoyi tochki Naochnim prikladom cogo zastosuvannya ye zavdannya pro farbuvannya pidvidrizkiv ye vidrizok dovzhini L kozhna klitinka yakogo tobto kozhen shmatochok dovzhini 1 maye nulovij kolir Nadhodyat zapiti vidu l r c perefarbuvati vidrizok l r v kolir c Potribno znajti pidsumkovij kolir kozhnoyi klitinki Zapiti vvazhayutsya vidomimi zazdalegid tobto zavdannya v oflajni Dlya rishennya mi mozhemo zavesti DSU strukturu yaka dlya kozhnoyi klitini bude zberigati posilannya na najblizhchu sprava nepofarbovanu klitinku Takim chinom spochatku kozhna klitinka vkazuye na samu sebe a pislya farbuvannya pershogo pidvidrizka klitinka pered pochatkom pidvidrizka bude vkazuvati na klitinku pislya kincya pidvidrizka Teper shob virishiti zavdannya rozglyadayemo zapiti perefarbovuvannya u zvorotnomu poryadku vid ostannogo do pershogo Dlya vikonannya zapitu kozhnogo razu z dopomogoyu nashogo DSU znahodimo najlivishu nepofarbovanu klitinku vseredini vidrizka perefarbovuyem yiyi i perekidayemo pokazhchik z neyi na nastupnu sprava porozhnyu klitinku Takim chinom tut faktichno vikoristovuyemo DSU z evristikoyu stisnennya shlyahiv ale bez rangovoyi evristiki tomu nam vazhlivo hto stane liderom pislya ob yednannya Otzhe pidsumkova asimptotika sklade O l o g N displaystyle O logN na zapit utim z malenkoyu u porivnyanni z inshimi strukturami danih konstantoyu Realizaciya void init for int i 0 i lt L i make set i void process query int l int r int c for int v l v find set v if v gt r break answer v c parent v v 1 Utim mozhna realizuvati ce rishennya z rangovoyu evristikoyu budemo zberigati dlya kozhnoyi mnozhini v deyakomu masivi end de mnozhina zakinchuyetsya tobto samu pravu tochku Todi mozhna bude ob yednuvati dvi mnozhini v odnu za yih rangovoyu evristikoyu prostavlyayuchi potim otrimanu novu pravu mezhu Pidtrimka vidstanej do lideraInodi v konkretnih programah sistemi neperetinnih mnozhin z yavlyayetsya vimoga pidtrimuvati vidstan do lidera tobto dovzhinu shlyahu v rebrah u derevi vid potochnoyi vershini do korenya dereva Yakbi ne bulo evristiki stisnennya shlyahiv to niyakih skladnoshiv ne vinikalo b vidstan do korenya prosto dorivnyuvalo b chislu rekursivnih viklikiv yaki zrobila funkciya find set Prote v rezultati stisnennya shlyahiv kilka reber shlyahu mogli stisnutisya v odne rebro Takim chinom razom z kozhnoyu vershinoyu dovedetsya zberigati dodatkovu informaciyu dovzhinu potochnogo rebra z vershini v predka Pri realizaciyi zruchno uyavlyati sho masiv parrent i funkciya find set teper povertayut ne odne chislo a paru chisel vershinu lidera i vidstan do neyi void make set int v parent v make pair v 0 rank v 0 pair lt int int gt find set int v if v parent v first int len parent v second parent v find set parent v first parent v second len return parent v void union sets int a int b a find set a first b find set b first if a b if rank a lt rank b swap a b parent b make pair a 1 if rank a rank b rank a Pidtrimka parnosti dovzhini shlyahu i zavdannya pro perevirku dvochastkovogo grafa v onlajn Za analogiyeyu z dovzhinoyu shlyahu do lidera tak samo mozhna pidtrimuvati parnist dovzhini shlyahu do nogo Chomu zh ce zastosuvannya bulo vidileno v okremij punkt Sprava v tomu sho zazvichaj vimoga zberigannya parnosti shlyahu splivaye u zv yazku z nastupnoyu zadacheyu spochatku dan porozhnij graf v nogo mozhut dodavatisya rebra a takozh nadhoditi zapiti vidu chi ye komponenta zv yaznosti sho mistit danu vershinu dvochastkovoyu Dlya virishennya cogo zavdannya mi mozhemo zavesti sistemu neperetinnih mnozhin dlya zberigannya komponent zv yaznosti i zberigati parnist dovzhini shlyahu kozhnoyi vershini do yiyi lidera Tim samim mi mozhemo shvidko pereviryati chi prizvede dodavannya zaznachenogo rebra do porushennya dvochastkovogo grafa chi ni a same yaksho kinci rebra lezhat v odnij i tij zhe komponenti zv yaznosti i pri comu mayut odnakovi parnosti dovzhini shlyahu do lidera to dodavannya cogo rebra prizvede do utvorennya ciklu neparnoyi dovzhini i peretvorennyu potochnoyi komponenti v nedvudolnu Golovna skladnist z yakoyu mi stikayemosya pri comu ce te sho mi povinni akuratno z urahuvannyam parnosti provoditi ob yednannya dvoh derev u funkciyi union sets Yaksho mi dodayemo rebro a b sho pov yazuye dvi komponenti zv yaznosti v odin to pri priyednanni odnogo dereva do inshogo mi povinni vkazati jomu taku parnist shob v rezultati u vershin a i b vihodili b rizni parnosti dovzhini shlyahu Vivedemo formulu za yakoyu povinna vihoditi cya parnist sho vistavlyayetsya lideru odniyeyi mnozhini pri priyednanni jogo do lidera inshoyi Poznachimo cherez x parnist dovzhini shlyahu vid vershini a do lidera yiyi mnozhini cherez y parnist dovzhini shlyahu vid b vershini do lidera yiyi mnozhini a cherez t shukanu parnist yaku mi povinni postaviti priyednuvanomu lideru Yaksho mnozhina z vershinoyu a priyednuyetsya do mnozhini z vershinoyu b stayuchi pidderevom to pislya priyednannya u vershini b yiyi parnist ne zminitsya i zalishitsya rivnoyu y a u vershini a parnist stane rivnoyu a b displaystyle a oplus b simvolom displaystyle oplus tut poznachena operaciya XOR simetrichna riznicya Nam potribno shob ci dvi parnosti rozriznyalisya tobto yih XOR dorivnyuvav odinici Tobto otrimuyemo rivnyannya na t x y t displaystyle x oplus y oplus t virishuyuchi yake znahodimo t x y 1 displaystyle t x oplus y oplus 1 Takim chinom nezalezhno vid togo yaka mnozhina priyednuyetsya do yakoyi treba vikoristovuvati zaznachenu formulu dlya zadannya parnosti rebra provedenogo z odnogo lidera do inshogo Navedemo realizaciyu DSU z pidtrimkoyu parnosti Yak i v poperednomu punkti z metoyu zruchnosti mi vikoristovuyemo pari dlya zberigannya predkiv i rezultatu operaciyi find set Krim togo dlya kozhnoyi mnozhini mi zberigayemo v masivi bipartite chi ye vono vse she dvochastkovim chi ni void make set int v parent v make pair v 0 rank v 0 bipartite v true pair lt int int gt find set int v if v parent v first int parity parent v second parent v find set parent v first parent v second parity return parent v void add edge int a int b pair lt int int gt pa find set a a pa first int x pa second pair lt int int gt pb find set b b pb first int y pb second if a b if x y bipartite a false else if rank a lt rank b swap a b parent b make pair a x y 1 if rank a rank b rank a bool is bipartite int v return bipartite find set v first Algoritm znahodzhennya RMQ minimumu na vidrizku v oflajni Formalno zavdannya stavitsya tak potribno realizuvati strukturu danih yaka pidtrimuye dva vidi zapitiv dodavannya vkazanogo chisla i n s e r t i i 1 n displaystyle insert i i 1 n i poshuk i vityag potochnogo minimalnogo chisla e x t r a c t m i n displaystyle extractmin Budemo vvazhati sho kozhne chislo dodayetsya rivno odin raz Krim togo vvazhayemo sho vsya poslidovnist zapitiv vidoma nam zazdalegid tobto zavdannya v oflajni Ideya rishennya taka Zamist togo shob po cherzi vidpovidati na kozhen zapit pereberemo chislo i 1 n displaystyle i 1 n i viznachimo vidpoviddyu na yakij zapit ce chislo povinne buti Dlya cogo nam treba znajti pershij bez vidpovidi zapit sho jde pislya dodavannya i n s e r t i displaystyle insert i cogo chisla legko zrozumiti sho ce i ye toj zapit vidpoviddyu na yakij ye chislo Takim chinom tut vihodit ideya shozha na zavdannya pro farbuvannya vidrizkiv Mozhna otrimati rishennya za v serednomu O log N displaystyle O log N na zapit yaksho mi vidmovimosya vid rangovoyi evristiki i budemo prosto zberigati v kozhnomu elementi posilannya na najblizhchij sprava zapit e x t r a c t m i n displaystyle extract min i vikoristovuvati stisnennya shlyahiv dlya pidtrimki cih posilan pislya ob yednan Takozh mozhna otrimati rishennya i za O a n displaystyle O a n yaksho mi budemo vikoristovuvati rangovu evristiku i budemo zberigati v kozhnij mnozhini nomer poziciyi de vona zakinchuyetsya te sho v poperednomu varianti rishennya dosyagalosya avtomatichno za rahunok togo sho posilannya zavzhdi jshli tilki vpravo teper treba bude zberigati yavno IstoriyaU toj chas yak ideyi vikoristani v sistemi neperetinnih mnozhin buli davno znajomi Robert Tardzhan buv pershim hto doviv verhnyu mezhu i obmezhenu versiyu nizhnoyi mezhi u terminah zvorotnoyi funkciyi Akkermana u 1975 roci Do cogo najkrashoyu mezheyu na chas roboti za operaciyu buv dovedenij Gopkroftom i Ulmanom O log n displaystyle O log n povtornij logarifm n insha povilno zrostayucha funkciya ale zrostayucha ne tak povilno yak zvorotnya funkciya Akkermana Tardzhan i en takozh rozrobili odnoprohidnij algoritm poshuku yakij ye bilsh efektivnim na praktici zberigayuchi tu zh skladnist u girshomu vipadku U 2007 roci Silven Konshon i Zhan Kristof Filyat rozrobili variant napiv en dlya sistemi neperetinnih mnozhin sho dozvoliv efektivno zberegti poperedni versiyi strukturi ta bulo dovedeno jogo pravilnist za dopomogoyu zasobu dovedennya teorem Coq Div takozhRozbittya mnozhini en en PosilannyaKnight Kevin 1989 Unification A multidisciplinary survey PDF ACM Computing Surveys 21 93 124 doi 10 1145 62029 62030 S2CID 14619034 Efficiency of a Good But Not Linear Set Union Algorithm Journal of the ACM 22 2 215 225 doi 10 1145 321879 321884 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite journal title Shablon Cite journal cite journal a Cite maye pusti nevidomi parametri 1 2 3 ta 4 dovidka Set Merging Algorithms SIAM Journal on Computing 2 4 294 303 doi 10 1137 0202024 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite journal title Shablon Cite journal cite journal a Cite maye pustij nevidomij parametr 1 dovidka Worst case analysis of set union algorithms Journal of the ACM 31 2 1984 245 281 doi 10 1145 62 2160 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Citation title Shablon Citation citation a Cite maye pusti nevidomi parametri 1 ta 2 dovidka A Persistent Union Find Data Structure ACM SIGPLAN Workshop on ML Freiburg Germany a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Citation title Shablon Citation citation a first z propushenim last dovidka Cite maye pusti nevidomi parametri 1 ta 2 dovidka DzherelaTomas Kormen Charlz Lejzerson Ronald Rivest Kliford Stajn 2009 1990 10 Elementarni strukturi danih Vstup do algoritmiv vid 3rd MIT Press i McGraw Hill ISBN 0 262 03384 4 C implementation chastina Boost C bibliotek A Java implementation with an application to color image segmentation Statistical Region Merging SRM IEEE Trans Pattern Anal Mach Intell 26 11 1452 1458 2004 Java applet A Graphical Union Find Implementation vid Rory L P McGuire Wait free Parallel Algorithms for the Union Find Problem stattya 1994 roku vid Richard J Anderson i Heather Woll opisuye rozparalelenu versiyu operacij Union Find yaki ne potrebuyut blokuvannya Realizaciya na pajtoni Vizualne poyasnennya i C kod https www geeksforgeeks org disjoint set data structures
Топ