-\figure{8-geom2_4_pasy_mnohouhelniku.eps}{Mnohoúhelníky rozøezané na pásy.}{2.5in}
-
-Jenom¾e na¹e øe¹ení má jeden háèek: Jak zkonstruovat jednotlivé verze stromu dostateènì rychle? K tomu napomohou {\I èásteènì perzistentní} datové
-struktury. Pod perzistencí se myslí, ¾e struktura umo¾òuje uchovávat svoji historii. Èásteènì perzistentní struktury nemohou svoji historii
-modifikovat.
-
-Popí¹eme si, jak vytvoøit perzistentní strom s pamìtí $\O(\log n)$ na zmìnu. Pokud provádíme operaci na stromì, mìní se jenom malá èást stromu.
-Napøíklad pøi vkládání do stromu se mìní jenom prvky na jedné cestièce z koøene do listu (a pøípadnì rotací i na jejím nejbli¾¹ím okolí). Proto si
-ulo¾íme upravenou cestièku a zbytek stromu budeme sdílet s pøedchozí verzí. Na obrázku je vyznaèena cesta, její¾ vrcholy jsou upravovány. ©edì
-oznaèené podstromy navì¹ené na tuto cestu se nemìní, a proto na nì staèí zkopírovat ukazatele. Mimochodem zmìny ka¾dé operace se slo¾itostí $\O(k)$
-lze zapsat v pamìti $\O(k)$, prostì operace nemá tolik èasu, aby mohla pozmìnit pøíli¹ velikou èást stromu.
+\figure{8-geom2_4_pasy_mnohouhelniku.eps}{Mnohoúhelníky rozøezané na pásy}{2.5in}
+
+Kdybychom si ov¹em uchovávali stavy stromu tak, ¾e bychom si pro ka¾dý pás poøídili kopii celého
+stromu, spotøebovali bychom jenom kopírováním stromù èas i pamì» $\Theta(n^2\log n)$. Místo toho
+si poøídíme {\I èásteènì persistentní} vyhledávací strom -- ten který si pamatuje historii v¹ech
+svých zmìn a umí v~ní vyhledávat. Pøesnìji øeèeno, po~ka¾dé operaci, která mìní stav stromu,
+vznikne nová {\I verze} stromu a operace pro hledání dostanou jako dal¹í parametr identifikátor
+verze, ve~které mají hledat.\foot{Plnì persistentní struktura by na rozdíl od èásteènì persistentní
+umìla star¹í verze i upravovat, èím¾ by se historie rozvìtvila. To pro na¹e úèely není potøeba.}
+
+Popí¹eme jednu z~mo¾ných konstrukcí persistentního stromu. Uva¾ujme obyèejný vyhledávací strom,
+øeknìme AVL strom. Rozhodneme se ale, ¾e jeho vrcholy nikdy nebudeme mìnit, abychom neporu¹ili
+zaznamenanou historii. Místo toho si poøídíme kopii vrcholu a tu zmìníme. Musíme ov¹em zmìnit
+ukazatel na daný vrchol, aby ukazoval na kopii. Proto zkopírujeme i jeho otce a upravíme v~nìm
+ukazatel. Tím pádem musíme upravit i ukazatel na otce, atd., a¾ se dostaneme do koøene. Kopie
+koøene se pak stane identifikátorem nové verze.
+
+Zkopírovali jsme tedy celou cestu mezi koøenem stromu a upravovaným vrcholem. Uchování
+jedné verze nás tedy strojí èas $\O(\log n)$ a prostor takté¾ $\O(\log n)$. Je¹tì nesmíme
+zapomenout, ¾e po ka¾dé operaci následuje vyvá¾ení stromu. To ov¹em upravuje pouze vrcholy,
+které le¾í v~konstantní vzdálenosti od~cesty z~místa úpravy do koøene, tak¾e jejich zkopírováním
+èasovou ani prostorou slo¾itost nezhor¹íme.