Изменения

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

Skip quadtree: определение, время работы

419 байт добавлено, 20:04, 6 октября 2014
Псевдокод
'''else if''' (n is not critical)
'''node''' q // некритическая вершина на максимальном уровне i, соответствующая n
level = 0 // текущий уровень, на котором вершина q некритическая
for i = k - 1 .. 0 // k - количество уровней в skip quadtree
node <tex>n_i</tex> = n from <tex>Q_i</tex> // вершина, соответствующая n в дереве <tex>Q_i</tex>
if (<tex>n_i</tex> != null '''and''' <tex>n_i</tex> is critical)
q = <tex>n_i</tex>
level = i
break
'''while''' (true)
'''if''' (q is not critical)
q node qc = ребенок q, содержащий ту же область E, что и q '''if''' (qc is not leaf '''or''' level == 0) q = qc '''else if''' (level > 0) level-- q = q from <tex>Q_{level}</tex> '''else if''' (i level != 0) level-- q = такая же вершина на уровень нижеq from <tex>Q_{level}</tex>
'''else'''
'''break'''
Анонимный участник

Навигация