Изменения

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

Пересечение множества отрезков

51 байт убрано, 21:27, 29 января 2014
Пофиксил псевдокод
'''if''' <tex> \vert L(p) \cup C(p) \cup U(p) \vert > 1</tex>
report(p, <tex>L(p) \cup C(p) \cup U(p)</tex>) // сообщить о p как о точки пересечения отрезков <tex>L(p) \cup C(p) \cup U(p)</tex>
T.remove(<tex>L(p) \cup C(p)</tex>) T.insert(<tex>C(p) \cup U(p)</tex>) // отрезки должны быть вставлены в порядке, // в котором они пересекают горизонтальную линию, // лежащую немного ниже заметающей прямой // (при удалении-вставке отрезков из C(p) - те поменяют порядок на обратный '''if''' <tex>C(p) \cup U(p) = \emptyset</tex> s_l = левый сосед p в T s_r = правый сосед p в T findIntersection(s_l, s_r, p) '''else''' s1 = самый левый отрезок из <tex>C(p) \cup U(p)</tex> в T s_l = левый сосед s1 в T findIntersection(s_l, s1, p) s2 = самый правый отрезок из <tex>C(p) \cup U(p)</tex> в T s_r = правый сосед s2 в T findIntersection(s2, s_r, p)
findIntersection(s_l, s_r, p)
170
правок

Навигация