2.5. Âû÷èñëèòåëüíàÿ ãåîìåòðèÿ íà ïëîñêîñòè 1. Óðàâíåíèÿ òî÷åê, ïðÿìûõ, îêðóæíîñòåé Åâêëèäîâî ïðîñòðàíñòâî ðàçìåðíîñòè k E k ïðîñòðàíñòâî êîðòåæåé âèäà (x1, . . . , xk ) âåùåñòâåííûõ ÷èñåë xi, 1 6 i 6 k. Îïðåäåëåíèå 1. p1 = (x1 , . . . , xk ) Ðàññòîÿíèå ìåæäó äâóìÿ òî÷êàìè d(p1 , p2 ) = è k X p2 = (y1 , . . . , yk ) ðàâíî !1/2 |yi − xi |2 i=1 Ïóñòü p, q - òî÷êè íà ïðÿìîé, n - íîðìàëü ê ïðÿìîé, d - íàïðàâëÿþùèé âåêòîð ïðÿìîé. Ðàññìîòðèì îñíîâíûå ñïîñîáû çàäàíèÿ ïðÿìûõ íà ïëîñêîñòè. 1. (1 − α)p + αq, α ∈ R, èëè p + αd, ãäå d = q − p. Ýòîò ñïîñîá ÿâëÿåòñÿ îñíîâíûì ñðåäñòâîì ïðåäñòàâëåíèÿ ïðÿìûõ â òðåõìåðíîì ïðîñòðàíñòâå. Íà ïëîñêîñòè óäîáåí äëÿ ïîèñêà ïåðåñå÷åíèé ïðÿìîé ñ äðóãèìè îáúåêòàìè.  ýòîì ñëó÷àå 2. y = kx + b. Çäåñü k n = (dy , −dx ). - òàíãåíñ óãëà íàêëîíà, b - ïåðåñå÷åíèå ïðÿìîé ñ îñüþ îðäèíàò. Èñïîëüçóåòñÿ â íåêî- òîðûõ ãåîìåòðè÷åñêèõ ïðåîáðàçîâàíèÿõ äâîéñòâåííîñòè. Ñóùåñòâåííûé íåäîñòàòîê íåâîçìîæíîñòü ïðåäñòàâèòü â òàêîì âèäå âåðòèêàëüíûå ïðÿìûå. 3. n · p = −C . Åñëè n = (A, B), òî óðàâíåíèå ìîæíî çàïèñàòü â âèäå Apx + Bpy + C = 0. Íåðàâåíñòâà Apx + Bpy + C 6 0 è Apx + Bpy + C > 0 çàäàþò ïîëóïëîñêîñòè, íà êîòîðûå ïðÿìàÿ äåëèò ïëîñêîñòü êîîðäèíàò. Ðàññòîÿíèå îò íà÷àëà êîîðäèíàò äî ïðÿìîé ðàâíî |C/knk|. Ðàññòîÿíèå îò òî÷êè q äî ïðÿìîé (n · q + C)/knk. Òî÷êè p, ïðèíàäëåæàùèå îêðóæíîñòè íà ïëîñêîñòè ñ öåíòðîì â òî÷êå c è d(p, c) 6 r, ÷òî ìîæíî çàïèñàòü â ôîðìå (px − cx )2 + (py − cy )2 6 r2 . ðàäèóñîì r, óäîâëåòâîðÿþò óðàâíåíèþ 2. Âûïóêëûå îáîëî÷êè, àëãîðèòìû ïîñòðîåíèÿ Îïðåäåëåíèå 2. Ìíîãîóãîëüíèê íàçûâàåòñÿ âûïóêëûì, åñëè îòðåçîê, ñîåäèíÿþùèé ëþáûå åãî äâå òî÷êè, ïðèíàäëåæèò ìíîãîóãîëüíèêó. Îïðåäåëåíèå 3. Òî÷êà ïðèíàäëåæèò ãðàíèöå ìíîãîóãîëüíèêà, åñëè ëþáàÿ å¼ îêðåñòíîñòü ñîäåðæèò òî÷êè, êàê ïðèíàäëåæàùèå, òàê è íå ïðèíàäëåæàùèå ìíîãîóãîëüíèêó. Îïðåäåëåíèå 4. Ïóñòü â n-ìåðíîì ïðîñòðàíñòâå çàäàíî k ðàçëè÷íûõ òî÷åê p1 , . . . , pk . Ìíîæåñòâî òî÷åê p, òàêèõ, ÷òî: p = a1 p1 + a2 p2 + . . . + ak pk , ãäå aj ∈ R, aj > 0 , a1 + a2 + . . . ak = 1 íàçûâàåòñÿ âûïóêëûì ìíîæåñòâîì, ïîðîæäåííûì òî÷êàìè p1, . . . , pk , à p íàçûâàåòñÿ âûïóêëîé êîìáèíàöèåé òî÷åê p1, . . . , pk . Îïðåäåëåíèå 5. Âûïóêëîé îáîëî÷êîé (convex hull) ìíîæåñòâà M òî÷åê n-ìåðíîãî ïðîñòðàíñòâà íàçûâàåòñÿ íàèìåíüøåå âûïóêëîå ìíîæåñòâî, ñîäåðæàùåå M, è îáîçíà÷àåòñÿ conv(M). Îïèøåì êëàññè÷åñêèå àëãîðèòìû ïîñòðîåíèÿ âûïóêëîé îáîëî÷êè ìíîæåñòâà òî÷åê. Àëãîðèòì 1. Ìåòîä îáõîäà Äæàðâèñà (çàâîðà÷èâàíèå ïîäàðêà). 1. Âûáèðàåì ñàìóþ ëåâóþ òî÷êó ìíîæåñòâà p0 . Ýòà òî÷êà çàâåäîìî ÿâëÿåòñÿ âåðøèíîé âûïóêëîé îáîëî÷- êè. 2. Íàõîäèì òî÷êó ìíîæåñòâà òî÷êè p0 3. Íàõîäèì òî÷êó ìíîæåñòâà òî÷êè p1 p1 , èìåþùóþ íàèìåíüøèé ïîëîæèòåëüíûé ïîëÿðíûé óãîë îòíîñèòåëüíî êàê íà÷àëà êîîðäèíàò. p2 , èìåþùóþ íàèìåíüøèé ïîëîæèòåëüíûé ïîëÿðíûé óãîë îòíîñèòåëüíî êàê íà÷àëà êîîðäèíàò. 4. È ò. ä., ïîêà íå äîñòèãíåì òî÷êè p0 . 1 Êîððåêòíîñòü àëãîðèòìà î÷åâèäíà. Êàæäàÿ íîâàÿ âåðøèíà îïðåäåëÿåòñÿ çà âñå n òî÷åê ëåæàò íà âûïóêëîé îáîëî÷êå, ñëîæíîñòü àëãîðèòìà îáîëî÷êè, òî ñëîæíîñòü àëãîðèòìà O(n2 ). Åñëè O(n).  õóäøåì ñëó÷àå, êîãäà h ÷èñëî âåðøèí âûïóêëîé O(hn). Àëãîðèòì 2. Àëãîðèòì îáõîäà Ãðýõåìà. 1. Íàéòè ñàìóþ ëåâóþ íèæíþþ òî÷êó 2. Èñïîëüçóÿ q q ìíîæåñòâà èñõîäíûõ òî÷åê. êàê íà÷àëî êîîðäèíàò, óïîðÿäî÷èòü òî÷êè ìíîæåñòâà ëåêñèêîãðàôè÷åñêè: â ñîîòâåòñòâèè ñ ïîëÿðíûì óãëîì è ðàññòîÿíèåì îò 3. Îáõîä òî÷åê. Õðàíèòñÿ ñòåê òî÷åê q. {pi1 , . . . , pik }, ïðîñìîòðåííûõ ê íàñòîÿùåìó âðåìåíèè. Âñå òðîéêè ñîñåäíèõ âåðøèí â ñòåêå îáðàçóþò ëåâûé ïîâîðîò. Ïðè ðàññìîòðåíèè î÷åðåäíîé òî÷êè èç ñëåäóþùèõ ñèòóàöèé. Åñëè âåðøèíó ñòåêà è èíäåêñ i pik−1 , pik , pi îáðàçóþò ëåâûé ïîâîðîò, òî òî÷êà óâåëè÷èâàåòñÿ íà 1. Åñëè pik−1 , pik , pi áûòü êðàéíåé òî÷êîé, òàê êàê îíà ÿâëÿåòñÿ âíóòðåííåé òî÷êîé âåðøèíó p ik pi pi âîçìîæíà îäíà ïðîñòî äîáàâëÿåòñÿ íà îáðàçóþò ïðàâûé ïîâîðîò, pik íå ìîæåò 4qpik−1 pi .  ýòîì ñëó÷àå íóæíî óäàëèòü èç ñòåêà è ïåðåéòè ê íà÷àëó øàãà. 4. Ïîñëå îêîí÷àíèÿ îáõîäà â ñòåêå áóäóò õðàíèòüñÿ âåðøèíû âûïóêëîé îáîëî÷êè â ïîðÿäêå îáõîäà ïðîòèâ ÷àñîâîé ñòðåëêè.  ïðîöåññå îáõîäà ïîñëå êàæäîé ïðîâåðêè óãëà ïðîèñõîäèò ëèáî óäàëåíèå òî÷êè è âîçâðàò íà îäíó òî÷êó, ëèáî ïðîäâèæåíèå âïåðåä íà îäíó òî÷êó. Òàê êàê ìíîæåñòâî ñîäåðæèò ëèøü íå ìîæåò ïðîèñõîäèòü áîëåå n ðàç, êàê íå ìîæåò áûòü óäàëåíî è áîëåå âûïîëíÿåòñÿ çà ëèíåéíîå âðåìÿ. Ñîðòèðîâêà òðåáóåò âðåìåíè n n òî÷åê, òî ïðîäâèæåíèå âïåðåä òî÷åê. Òàêèì îáðàçîì, îáõîä òî÷åê O(n log n), ïîýòîìó îáùàÿ ñëîæíîñòü àëãîðèòìà O(n log n). Çàäà÷à ñîðòèðîâêè ñâîäèìà çà ëèíåéíîå âðåìÿ ê çàäà÷å ïîñòðîåíèÿ âûïóêëîé îáîëî÷êè, è, ñëåäîâàòåëüíî, äëÿ íàõîæäåíèÿ óïîðÿäî÷åííîé âûïóêëîé îáîëî÷êè n òî÷åê íà ïëîñêîñòè òðåáóåòñÿ âðåìÿ O(n log n). Òåîðåìà 1. ×òîáû äîêàçàòü òåîðåìó, ñîïîñòàâèì êàæäîìó èç çàäàííûõ n ïîëîæèòåëüíûõ ÷èñåë x1 , . . . , xn òî÷êó (xi , x2i ). Âñå ýòè òî÷êè ëåæàò íà ïàðàáîëå y = x2 . Âûïóêëàÿ îáîëî÷êà ïîëó÷åííîãî ìíîæåñòâà áóäåò ñîñòîÿòü èç ñïèñêà âñåõ òî÷åê ýòîãî ìíîæåñòâà, óïîðÿäî÷åííûõ ïî çíà÷åíèþ àáñöèññû. Ïîýòîìó åñëè áû âûïóêëóþ îáîëî÷êó ìîæíî áûëî íàéòè áûñòðåå ÷åì çà Ω(n log n), òî è çàäà÷à ñîðòèðîâêè ðåøàëàñü áû áûñòðåå, ÷òî íåâåðíî. Ìîæíî ïîêàçàòü, ÷òî òî÷íàÿ íèæíÿÿ îöåíêà âðåìåíè ïîñòðîåíèÿ âûïóêëîé îáîëî÷êè ìíîæåñòâà òî÷åê O(n log h). 3. Èçâåñòíû àëãîðèòìû, ðàáîòàþùèå çà ýòî âðåìÿ ýòî àëãîðèòìû Kirkpatrick-Seidel'ÿ è Chan'à. Àëãîðèòìû òðèàíãóëÿöèè Îïðåäåëåíèå 6. òðåóãîëüíèêàìè. Òðèàíãóëÿöèåé íàçûâàåòñÿ ïëàíàðíûé ãðàô, âñå âíóòðåííèå îáëàñòè êîòîðîãî ÿâëÿþòñÿ Çàäà÷åé ïîñòðîåíèÿ òðèàíãóëÿöèè ïî çàäàííîìó íàáîðó äâóìåðíûõ òî÷åê íàçûâàåòñÿ çàäà÷à ñîåäèíåíèÿ çàäàííûõ òî÷åê íåïåðåñåêàþùèìèñÿ îòðåçêàìè òàê, ÷òîáû îáðàçîâàëàñü òðèàíãóëÿöèÿ. Îïðåäåëåíèå 7. Çàäà÷à ïîñòðîåíèÿ òðèàíãóëÿöèè ïî èñõîäíîìó íàáîðó òî÷åê ÿâëÿåòñÿ íåîäíîçíà÷íîé, ïîýòîìó âîçíèêàåò âîïðîñ, êàêàÿ èç äâóõ ðàçëè÷íûõ òðèàíãóëÿöèé ëó÷øå. Òðèàíãóëÿöèÿ íàçûâàåòñÿ îïòèìàëüíîé, åñëè ñóììà äëèí âñåõ ð¼áåð ìèíèìàëüíà ñðåäè âñåõ âîçìîæíûõ òðèàíãóëÿöèé, ïîñòðîåííûõ íà òåõ æå èñõîäíûõ òî÷êàõ. Îïðåäåëåíèå 8. Çàäà÷à ïîñòðîåíèÿ îïòèìàëüíîé òðèàíãóëÿöèè ÿâëÿåòñÿ NP-ïîëíîé. Ïîýòîìó äëÿ áîëüøèíñòâà ðåàëüíûõ çàäà÷ ñóùåñòâóþùèå àëãîðèòìû ïîñòðîåíèÿ îïòèìàëüíîé òðèàíãóëÿöèè íåïðèåìëåìû ââèäó ñëèøêîì âûñîêîé òðóäî¼ìêîñòè. Ïðè íåîáõîäèìîñòè íà ïðàêòèêå ïðèìåíÿþò ïðèáëèæåííûå àëãîðèòìû. Îäíèì èç ïåðâûõ áûë ïðåäëîæåí ñëåäóþùèé àëãîðèòì ïîñòðîåíèÿ òðèàíãóëÿöèè. Àëãîðèòì 3. Æàäíûé àëãîðèòì ïîñòðîåíèÿ òðèàíãóëÿöèè. 1. Ãåíåðèðóåòñÿ ñïèñîê âñåõ âîçìîæíûõ îòðåçêîâ, ñîåäèíÿþùèõ ïàðû èñõîäíûõ òî÷åê, è îí ñîðòèðóåòñÿ ïî äëèíàì îòðåçêîâ. 2 B B C A C A D (à) Ðèñ. 1: Ôëèï ïðè ïîñòðîåíèè òðèàíãóëÿöèè Äåëîíå. çàìåíà ðåáðà AC íà BD D (á) D ïðèíàäëåæèò îïèñàííîé îêðóæíîñòè 4ABC , ïîýòîìó ïîçâîëÿåò óëó÷øèòü òðèàíãóëÿöèþ. 2. Íà÷èíàÿ ñ ñàìîãî êîðîòêîãî, ïîñëåäîâàòåëüíî âûïîëíÿåòñÿ âñòàâêà îòðåçêîâ â òðèàíãóëÿöèþ. Åñëè îòðåçîê íå ïåðåñåêàåòñÿ ñ äðóãèìè ðàíåå âñòàâëåííûìè îòðåçêàìè, òî îí âñòàâëÿåòñÿ, èíà÷å îí îòáðàñûâàåòñÿ. Çàìåòèì, ÷òî åñëè âñå âîçìîæíûå îòðåçêè èìåþò ðàçíóþ äëèíó, òî ðåçóëüòàò ðàáîòû ýòîãî àëãîðèòìà îäíîçíà÷åí, èíà÷å îí çàâèñèò îò ïîðÿäêà âñòàâêè îòðåçêîâ îäèíàêîâîé äëèíû. Îïðåäåëåíèå 9. Òðèàíãóëÿöèÿ íàçûâàåòñÿ æàäíîé, åñëè îíà ïîñòðîåíà æàäíûì àëãîðèòìîì. Òðóäîåìêîñòü ðàáîòû æàäíîãî àëãîðèòìà ïðè íåêîòîðûõ åãî óëó÷- øåíèÿõ ñîñòàâëÿåò O(n2 log n).  ñâÿçè ñî ñòîëü áîëüøîé òðóäîåìêîñòüþ íà ïðàêòèêå îí ïî÷òè íå ïðèìåíÿåòñÿ. Êðîìå îïòèìàëüíîé è æàäíîé òðèàíãóëÿöèè, òàêæå øèðîêî èçâåñòíà òðèàíãóëÿöèÿ Äåëîíå, îáëàäàþùàÿ ðÿäîì ïðàêòè÷åñêè âàæíûõ ñâîéñòâ. Ãîâîðÿò, ÷òî òðèàíãóëÿöèÿ óäîâëåòâîðÿåò óñëîâèþ Äåëîíå, åñëè âíóòðü îêðóæíîñòè, îïèñàííîé âîêðóã ëþáîãî ïîñòðîåííîã òðåóãîëüíèêà, íå ïîïàäàåò íè îäíà èç çàäàííûõ òî÷åê òðèàíãóëÿöèè. Îïðåäåëåíèå 11. Òðèàíãóëÿöèÿ íàçûâàåòñÿ òðèàíãóëÿöèåé Äåëîíå, åñ ëè îíà ÿâëÿåòñÿ âûïóêëîé è óäîâëåòâîðÿåò óñëîâèþ Äåëîíå. Îïðåäåëåíèå 10. Ìíîãèå àëãîðèòìû ïîñòðîåíèÿ òðèàíãóëÿöèè Äåëîíå èñïîëüçóþò ñëåäóþùóþ òåîðåìó. Òðèàíãóëÿöèþ Äåëîíå ìîæíî ïîëó÷èòü èç ëþáîé äðóãîé òðèàíãóëÿöèè ïî òîé æå ñèñòåìå òî÷åê, ïîñëåäîâàòåëüíî ïåðåñòðàèâàÿ ïàðû ñîñåäíèõ òðåóãîëüíèêîâ 4ABC è 4BCD, íå óäîâëåòâîðÿþùèõ óñëîâèþ Äåëîíå, â ïàðû òðåóãîëüíèêîâ 4ABD è 4ACD. Òàêàÿ îïåðàöèÿ ïåðåñòðîåíèÿ òàêæå ÷àñòî íàçûâàåòñÿ ôëèïîì (ñì. ðèñ. 1). Òåîðåìà 2. Äàííàÿ òåîðåìà ïîçâîëÿåò ñòðîèòü òðèàíãóëÿöèþ Äåëîíå ïîñëåäîâàòåëüíî, ïîñòðîèâ âíà÷àëå íåêîòîðóþ òðèàíãóëÿöèþ, à ïîòîì ïîñëåäîâàòåëüíî óëó÷øàÿ å¼ äî âûïîëíåíèÿ óñëîâèÿ Äåëîíå. Òðèàíãóëÿöèÿ Äåëîíå îáëàäàåò ìàêñèìàëüíîé ñóììîé ìèíèìàëüíûõ óãëîâ âñåõ ñâîèõ òðåóãîëüíèêîâ ñðåäè âñåõ âîçìîæíûõ òðè- àíãóëÿöèé. Òåîðåìà 4. Òðèàíãóëÿöèÿ Äåëîíå îáëàäàåò ìèíèìàëüíîé ñóììîé ðàäèóñîâ îêðóæíîñòåé, îïèñàííûõ îêîëî òðåóãîëüíèêîâ, ñðåäè âñåõ âîçìîæíûõ òðèàíãóëÿöèé. Òåîðåìà 3. Íàèáîëåå ðàñïðîñòðàíåííûé àëãîðèòì òðèàíãóëÿöèè Äåëîíå èíêðåìåíòàëüíûé, ò. å. òî÷êè äîáàâëÿþòñÿ â òðèàíãóëÿöèþ ïîñëåäîâàòåëüíî, ìîäèôèöèðóÿ òåêóùóþ òðèàíãóëÿöèþ. Àëãîðèòì 4. Àëãîðèòì âñòàâêè íîâîé òî÷êè â òðèàíãóëÿöèþ Äåëîíå 1. Ëîêàëèçàöèÿ òî÷êè, òî åñòü îïðåäåëåíèå ñóùåñòâóþùåãî òðåóãîëüíèêà â òðèàíãóëÿöèè, êîòîðîìó ïðèíàäëåæèò íîâàÿ òî÷êà. Ïðè èñïîëüçîâàíèè èåðàðõèè òðèàíãóëÿöèé ìîæåò áûòü îñóùåñòâëåí çà âðåìÿ O(log n). 3 Ðèñ. 2: Òðèàíãóëÿöèÿ Äåëîíå ñ îãðàíè÷åíèÿìè. 2. Ôëèï ðåáåð. Êàæäîå íîâîå ðåáðî áóäåò èìåòü íîâóþ òî÷êó â êà÷åñòâå îäíîãî èç ñâîèõ êîíöîâ, ïîýòîìó, O(d), ãäå d ñòåïåíü íîâîé âåðøèíû òðèàíãóëÿöèè. E(d) = O(1). òðåáóåìîå äëÿ ïåðåñòðîåíèÿ òðåóãîëüíèêîâ, ðàâíî Òàê êàê òðèàíãóëÿöèÿ ïëàíàðíûé ãðàô, òî Òàêèì îáðàçîì, âðåìÿ ðàáîòû èíêðåìåíòàëüíîãî àëãîðèòìà ïîñòðîåíèÿ òðèàíãóëÿöèè Äåëîíå O(n log n). Âîçìîæíî çàäàíèå íàáîðà ðåáåð, êîòîðûå äîëæíû âõîäèòü â òðèàíãóëÿöèþ ìíîæåñòâà òî÷åê.  òàêîì ñëó÷àå ãîâîðÿò î çàäà÷å òðèàíãóëÿöèè ñ îãðàíè÷åíèÿìè. Ïðèìåð òðèàíãóëÿöèè Äåëîíå ñ îãðàíè÷åíèÿìè ïðèâåäåí íà ðèñ. 2. Îïðåäåëåíèå 12. Ïðîñòûì ìíîãîóãîëüíèêîì íàçûâàåòñÿ ñàìîíåïåðåñåêàþùàÿñÿ çàìêíóòàÿ ëîìàííàÿ. Òðèàíãóëÿöèÿ ïðîñòîãî òðåóãîëüíèêà ìîæåò áûòü ïîñòðîåíà àëãîðèòìîì òðèàíãóëÿöèè Äåëîíå ñ îãðàíè÷åíèÿìè, îäíàêî ñóùåñòâóþò áîëåå ïðîñòûå àëãîðèòìû òðèàíãóëÿöèè, íå ãàðàíòèðóþùèå âûïîëíåíèÿ óñëîâèÿ Äåëîíå. Àëãîðèòì 5. Òðèàíãóëÿöèÿ ïðîñòîãî ìíîãîóãîëüíèêà çà O(n2 ) 1. Íàéòè äèàãîíàëü ìíîãîóãîëüíèêà. Ýòî ìîæåò áûòü ñäåëàíî çà ëèíåéíîå âðåìÿ ñëåäóþùèì ñïîñîáîì. Ðàññìîòðèì ìíîãîóãîëüíèê pk−1 , pk+1 {p1 , . . . , pn }. Ïóñòü pk åãî âûïóêëàÿ âåðøèíà. Òîãäà åñëè îòðåçîê íå ïåðåñåêàåò íè îäíîé èç ñòîðîí ìíîãîóãîëüíèêà, òî îí èñêîìàÿ äèàãîíàëü. Èíà÷å äèà- ãîíàëüþ ÿâëÿåòñÿ îòðåçîê pk , q , ãäå q îäíà èç âåðøèí èñõîäíîãî ìíîãîóãîëüíèêà, ïðèíàäëåæàùàÿ 4pk−1 pk pk+1 . 2. Ðàçáèòü ìíîãîóãîëüíèê íàéäåííîé äèàãîíàëüþ íà äâà íîâûõ ìíîãîóãîëüíèêà è ðåêóðñèâíî òðèàíãóëèðîâàòü êàæäûé èç íèõ. Òðèàíãóëÿöèþ ïðîñòîãî ìíîãîóãîëüíèêà çà On log n) ìîæíî îñóùåñòâèòü, ðàçáèâ åãî íà ìîíîòîííûå ìíî- ãîóãîëüíèêè, à çàòåì òðèàíãóëèðîâàâ çà ëèíåéíîå âðåìÿ êàæäûé èç íèõ. Äëÿ çàäà÷è òðèàíãóëÿöèè ïðîñòîãî ìíîãîóãîëüíèêà èçâåñòåí àëãîðèòì, ðàáîòàþùèé çà âðåìÿ ïðèìåíÿåòñÿ íà ïðàêòèêå. 4 O(n), îäíàêî îí èìååò áîëüøóþ êîíñòàíòó è íå Ðèñ. 3: 4. 2d-äåðåâî Çàäà÷è ðåãèîíàëüíîãî ïîèñêà Çàäà÷àìè ðåãèîíàëüíîãî ïîèñêà íàçûâàþò çàäà÷è èçâëå÷åíèÿ èëè ïîäñ÷åòà ãåîìåòðè÷åñêèõ îáúåêòîâ (íà- ïðèìåð, òî÷åê, îòðåçêîâ, ïðÿìîóãîëüíèêîâ), êîòîðûå ïîïàäàþò âíóòðü ðåãèîíà-çàïðîñà, ïðåäñòàâëÿþùåãî ñîáîé ñòàíäàðòíóþ ãåîìåòðè÷åñêóþ ôèãóðó, ïðîèçâîëüíî ïåðåìåùàåìóþ â ïðîñòðàíñòâå. Êàê ïðàâèëî, äëÿ çàäàííûõ ãåîìåòðè÷åñêèõ îáúåêòîâ íà ýòàïå ïðåäîáðàáîòêè ñòðîèòñÿ êàêàÿ-ëèáî ñòðóêòóðà äàííûõ, ïîçâîëÿþùàÿ áûñòðî îòâå÷àòü íà çàïðîñû. Ðàññìîòðèì íåêîòîðûå ïðèìåðû çàäà÷ ðåãèîíàëüíîãî ïîèñêà. Ñòðóêòóðà äàííûõ k -ìåðíîì ïîèñêà òî÷åê â ïîëüçîâàíèå ñëóæèò äëÿ 2d-äåðåâà. Àëãîðèòì 6. Ïîñòðîåíèå P = {p}, 1. Åñëè kd-äåðåâî ïðîñòðàíñòâå, ïîïàäàþùèõ â çàäàííûé ïðÿìîóãîëüíèê. Îïèøåì ïîñòðîåíèå è èñ- 2d-äåðåâà äëÿ ìíîæåñòâà òî÷åê P . òî âåðíóòü íîâûé ëèñò äåðåâà ñ òî÷êîé 2. Ðàçáèòü ìíîæåñòâî P íà äâà ïîäìíîæåñòâà P1 è P2 . p. Åñëè ãëóáèíà òåêóùåãî óçëà äåðåâà íå÷åòíà, òî ðàçáèåíèå ïðîèçâîäèòñÿ âåðòèêàëüíîé ïðÿìîé ñ àáñöèññîé, ðàâíîé ìåäèàíå àáñöèññ òî÷åê èç P.  ïðî- òèâíîì ñëó÷àå ðàçáèåíèå ïðîèâçîäèòñÿ ãîðèçîíòàëüíîé ïðÿìîé ñ îðäèíàòîé, ðàâíîé ìåäèàíå îðäèíàò òî÷åê P. 3. Ðåêóðñèâíî ïîñòðîèòü äåðåâî äëÿ P1 è P2 . 4. Âåðíóòü óçåë, ñîäåðæàùèé ïðÿìóþ ðàçäåëåíèÿ, ñûíîâüÿìè êîòîðîãî ÿâëÿþòñÿ äåðåâüÿ äëÿ Ïðèìåð 2d-äåðåâà Òåîðåìà 5. O(n) P1 è P2 . ìîæíî ïîñìîòðåòü íà ðèñ. 3. -äåðåâî äëÿ ìíîæåñòâà èç n òî÷åê ìîæåò áûòü ïîñòðîåíî çà âðåìÿ O(n log n), èñïîëüçóÿ 2d ïàìÿòè. Çàïðîñ òî÷åê ïî ïðÿìîóãîëüíèêó ñòâóåò îáëàñòü R, Q îñóùåñòâëÿåòñÿ ñïóñêîì ïî äåðåâó. Êàæäîìó óçëó äåðåâà ñîîòâåò- êîòîðóþ îí ïîêðûâàåò âìåñòå ñî ñâîèìè äåòüìè. Åñëè Q ïåðåñåêàåòñÿ ñ R, òî íåîáõîäèìî ñäåëàòü çàïðîñ äëÿ îáîèõ ñûíîâåé ýòîãî óçëà è îáúåäèíèòü ðåçóëüòàòû. Òåîðåìà 6. Ïîèñê òî÷åê, ïîïàäàþùèõ â èçîîðèåíòèðîâàííûé ïðÿìîóãîëüíèê Q, âûïîëíÿåòñÿ äëÿ 2d-äåðåâà ìíîæåñòâà P , ñîäåðæàùåãî n òî÷åê, çà âðåìÿ O(√n + k), ãäå k êîëè÷åñòâî òî÷åê èç ìíîæåñòâà P , ïðèíàäëåæàùèõ Q. Áîëåå ëó÷øèé ðåçóëüòàò ïî âðåìåíè çàïðîñà, íî õóäøèé ïî ïàìÿòè, äàþò òàê íàçûâàåìûå äåðåâüÿ ðåãèîíîâ. Îíè ïðåäñòàâëÿþò ñîáîé ñáàëàíñèðîâàííûå äåðåâüÿ ïîèñêó ïî àáñöèññàì çàäàííîãî íàáîðà òî÷åê, â êàæäîì óçëå ïîääåðåâó Q êîòîðîãî ñîäåðæèòñÿ ñáàëàíñèðîâàííîå äåðåâî ïîèñêà ïî îðäèíàòàì òî÷åê, ïðèíàäëåæàùèõ Q. Äåðåâî ðåãèîíîâ äëÿ ìíîæåñòâà èç n òî÷åê ìîæåò áûòü ïîñòðîåíî çà âðåìÿ O(nlogn), èñïîëüçóÿ O(nlogn) ïàìÿòè. Âðåìÿ çàïðîñà ïî ïðÿìîóãîëüíèêó ïðè ýòîì ñîñòàâëÿåò O(log n + k). Òåîðåìà 7. 5