Изменения

Перейти к: навигация, поиск

Алгоритм Фараха

Нет изменений в размере, 17:45, 21 мая 2014
Шаг 5: удаление двойных дуг
* <tex>(1)</tex> расслоение находится на расстоянии два от корня, то есть дуга не расслаивается.
* <tex>(2)</tex> конец является родителем вершин <tex>2</tex>, <tex>7</tex>. Родитель <tex>3></tex>, <tex>8</tex> после слияния дуги <tex>(1)</tex>, находится на глубине <tex>2</tex> символа. Значит дуга <tex>(2)</tex> расслаивается на глубине <tex>3</tex> символа, то есть так же не расслаивается. Дугу <tex>(2)</tex> нужно вычислять после обработки дуги <tex>(1)</tex>, потому что конец дуги <tex>(1)</tex> после обработки может оказаться на разной высоте, в зависимости от того на каком символе она расслоилась.
* <tex>(3)</tex> конец является родителем <tex>2</tex>, <tex>9</tex>. Родитель <tex>3</tex>, <tex>10</tex> находится на расстоянии <tex>3</tex>, а наше расслоение на на расстоянии <tex>4</tex>, то есть сливается первый символ двойной дуги. Дугу <tex>(3)</tex> надо вычислять после дуги <tex>(2)</tex>. Потому что если на дуге <tex>(2)</tex> появится разветвление, то компоненты дуги <tex>(3)</tex> придётся растащить по разным веткам дерева и сравнивать их будет не нужно.
* <tex>(4)</tex> конец является родителем <tex>1</tex>, <tex>4</tex>. Расслаивается на втором символе.
497
правок

Навигация