Size: a a a

2021 July 05

@N

@urandon Nikita Khom... in pro.algorithms
Не, код не нужен. Просто нужно, чтобы читатель понимал, почему это вообще работает и как, и где можно подкрутить
источник

q

qwerty in pro.algorithms
https://habr.com/ru/post/566248/
Рано ее опубликовали, к сожалению, нужно было немного доработать(
источник

V

Vuniverse in pro.algorithms
И то крутяк
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
А какая будет сложность в наихудшем случае для запроса в таком дереве? Тоже O(N)?
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
То есть главный метод по поиску количества точек выглядит как-то так, но я не совсем понимаю, насколько здесь возможно получить O(N).

Тип мы уходим в две ветки, тогда когда наш круг пересекает текущий прямоугольник, но насколько возможно, что мы так будем разветвлятся на каждой ноде...
источник

DP

Defragmented Panda in pro.algorithms
сбалансированное дерево без пересечений O(log N)

иначе O(N)

можешь позаботится чтобы при каждом добавлении или удалении ноды дерево балансировалось и пересечения убирались
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
удаления и добавления нету - я строю по медиане. Множество точек известно наперёд
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
без пересечений это хз как - нужно загуглить
источник

DP

Defragmented Panda in pro.algorithms
строй добавляя по 1 элементу за раз.
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Это чтобы избежать пересечений?
источник

DP

Defragmented Panda in pro.algorithms
да
источник

DP

Defragmented Panda in pro.algorithms
а, у тебя кубы а не точки?
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
точки
источник

DP

Defragmented Panda in pro.algorithms
точки можно хранить без пересечений
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Ну то есть я храню в каждой ноде дополнительно прямоугольник, который она покрывает, что ускорять запрос на поиск количества точек в заданном круге центром и радиусом.
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
"Тип мы уходим в две ветки, тогда когда наш круг пересекает текущий ограничивающий прямоугольник, но насколько возможно, что мы так будем разветвлятся на каждой ноде..."

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

 P

 ‌‌Gleb Pilipets... in pro.algorithms
То есть там же не будет всегда O(log(N)) из-за этого.
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Вообще вот, если интересно - https://leetcode.com/problems/queries-on-number-of-points-inside-a-circle/discuss/1182879/Optimized-K-D-tree-Solution-from-the-follow-up-STL-C++

Я ещё тогда написал пост, но просто сейчас затригерили вопросом про complexity, и я подумал, гарантируется ли там всё-таки O(log(N)) worst case...
источник

VK

Vyacheslav Koval in pro.algorithms
Всем привет! Можете подсказать алгоритм поиска всех комбинаций подстрок в строке. Например, есть строка
abc
результат будет 6:
a
b
c
ab
bc
abc

Есть ли какая формула для расчета или алгоритм какой?
источник

q

qwerty in pro.algorithms
При строке 'ааа' какой вывод?
источник