Геометричний пошук, Детальна інформація
Геометричний пошук
for кожне ребро з e do W(e) \xF0AC\xF0201; /* ініціалізація */
for i \xF0AC\xF0202 to N - 1 do
begin
WIN (vi) \xF0AC\xF020сума ваг ребер, що входять у vi;
d1 \xF0AC\xF020крайнє зліва ребро, що виходить з vi;
if (WIN (vi) > vOUT (vi)) then W(d1) \xF0AC\xF020WIN (vi) - vOUT (vi) + 1;
end; /* перший прохід */
for i \xF0AC\xF020N - 1 downto 2 do
begin
WOUT (vi) \xF0AC\xF020сума ваг ребер, що виходять з vi;
d2 \xF0AC\xF020крайнє зліва ребро, що входить у vi;
if (WOUT (vi) > WIN (vi)) then W(d2) \xF0AC\xF020WOUT (vi) - WIN (vi) + W(d2);
end; /* другий прохід */
end.
нумерація вершин та ініціалізація ребер перший прохід
другий прохід повна множина ланцюгів
Приклад.
Перший прохід. Нехай i = 6 (ваги всіх ребер, що виходять з k - ої (k < 6) вершини, вже розставлені). WIN (v6) = 4 (вхідними є ребра: 36 – вага 1, 46 – вага 1, 56 – вага 2). Ребра, що виходять з v6: 67, 69. d1 = 69 (крайнє зліва ребро). vOUT (v6) = 2, WIN (v6) > vOUT (v6), тому що 4> 2. W(69) = 4 - 2 + 1 = 3.
Другий прохід. Нехай i = 3. WOUT (v3) = 3. Ребра, що входять у v3: 13. d2 = 13 (крайнє зліва ребро). W(13) = 1. WIN (v3) = 1. WOUT (v3) > WIN (v3), тому що 3 > 1. W(13) = 3 - 1 + 1 = 3.
Теорема. Довільний планарний граф можна перетворити в регулярний.
Доведення. Нехай v – нерегулярна вершина графа G. Припустимо, що з неї не виходить жодного ребра. Горизонтальна пряма, що проходить через v, протикає в загальному випадку пару ребер e1 та e2 графа G, найближчих до v зліва та справа. Оскільки v не є крайньою вершиною, то один з цих проколів повинен існувати. Нехай vi – верхня вершина ребер ei (i = 1, 2), а v* – та з вершин vi, що має найменшу ординату (наприклад, v2). Тоді відрізок vv* не перетинає ребер G (в загальному випадку це не вірно і тоді алгоритм регуляризації слід змінити) і може бути доданим до ребер планарного графу, регуляризуючи вершину v.
Використуючи алгоритм плоского замітання, замітаємо граф згори вниз регуляризуючі вершини, які не мають вихідних ребер, а потім знизу вгору для регуляризації вершин іншого типу.
регуляризований планарний граф
Теорема. N вершинний планарний граф можна регуляризувати за час O(N * log N) з витратами пам’яті O(N).
Теорема. Локалізацію точки в N вершинному планарному підрозбитті можна реалізувати за час O(log2 N) з використанням O(N) пам’яті при затраті часу O(N * log N) на передобробку.
Метод деталізації триангуляції Кіркпатріка
Нехай задана N вершинна триангуляція G. Побудуємо послідовність триангуляцій S1, S2, ..., Sh(N), де S1 = G, а Si отримується з Si-1 за наступними правилами:
Крок 1. Видалимо деяку множину незалежних (несуміжних) неграничних вершин Si-1 та інцидентні їм ребра.
Крок 2. Будуємо триангуляцію утворених многокутників.
for i \xF0AC\xF0202 to N - 1 do
begin
WIN (vi) \xF0AC\xF020сума ваг ребер, що входять у vi;
d1 \xF0AC\xF020крайнє зліва ребро, що виходить з vi;
if (WIN (vi) > vOUT (vi)) then W(d1) \xF0AC\xF020WIN (vi) - vOUT (vi) + 1;
end; /* перший прохід */
for i \xF0AC\xF020N - 1 downto 2 do
begin
WOUT (vi) \xF0AC\xF020сума ваг ребер, що виходять з vi;
d2 \xF0AC\xF020крайнє зліва ребро, що входить у vi;
if (WOUT (vi) > WIN (vi)) then W(d2) \xF0AC\xF020WOUT (vi) - WIN (vi) + W(d2);
end; /* другий прохід */
end.
нумерація вершин та ініціалізація ребер перший прохід
другий прохід повна множина ланцюгів
Приклад.
Перший прохід. Нехай i = 6 (ваги всіх ребер, що виходять з k - ої (k < 6) вершини, вже розставлені). WIN (v6) = 4 (вхідними є ребра: 36 – вага 1, 46 – вага 1, 56 – вага 2). Ребра, що виходять з v6: 67, 69. d1 = 69 (крайнє зліва ребро). vOUT (v6) = 2, WIN (v6) > vOUT (v6), тому що 4> 2. W(69) = 4 - 2 + 1 = 3.
Другий прохід. Нехай i = 3. WOUT (v3) = 3. Ребра, що входять у v3: 13. d2 = 13 (крайнє зліва ребро). W(13) = 1. WIN (v3) = 1. WOUT (v3) > WIN (v3), тому що 3 > 1. W(13) = 3 - 1 + 1 = 3.
Теорема. Довільний планарний граф можна перетворити в регулярний.
Доведення. Нехай v – нерегулярна вершина графа G. Припустимо, що з неї не виходить жодного ребра. Горизонтальна пряма, що проходить через v, протикає в загальному випадку пару ребер e1 та e2 графа G, найближчих до v зліва та справа. Оскільки v не є крайньою вершиною, то один з цих проколів повинен існувати. Нехай vi – верхня вершина ребер ei (i = 1, 2), а v* – та з вершин vi, що має найменшу ординату (наприклад, v2). Тоді відрізок vv* не перетинає ребер G (в загальному випадку це не вірно і тоді алгоритм регуляризації слід змінити) і може бути доданим до ребер планарного графу, регуляризуючи вершину v.
Використуючи алгоритм плоского замітання, замітаємо граф згори вниз регуляризуючі вершини, які не мають вихідних ребер, а потім знизу вгору для регуляризації вершин іншого типу.
регуляризований планарний граф
Теорема. N вершинний планарний граф можна регуляризувати за час O(N * log N) з витратами пам’яті O(N).
Теорема. Локалізацію точки в N вершинному планарному підрозбитті можна реалізувати за час O(log2 N) з використанням O(N) пам’яті при затраті часу O(N * log N) на передобробку.
Метод деталізації триангуляції Кіркпатріка
Нехай задана N вершинна триангуляція G. Побудуємо послідовність триангуляцій S1, S2, ..., Sh(N), де S1 = G, а Si отримується з Si-1 за наступними правилами:
Крок 1. Видалимо деяку множину незалежних (несуміжних) неграничних вершин Si-1 та інцидентні їм ребра.
Крок 2. Будуємо триангуляцію утворених многокутників.
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021