Я недавно читал документы и коды на R-дереве и его вариантах: линейный, квадратичный, R * -tree, а также упаковка дерева R (STR). Мне кажется, что разные методы отличаются во времени сложностями создания деревьев, поиска диапазона и поиска knn. Дерево STR выглядит лучше других. Тем не менее, бумаги были из прошлого века. Мне просто интересно после почти 20 лет, каков наилучший вариант R-дерева в настоящее время?Каков наилучший вариант дерева R
ответ
R * -trees доказали свою эффективность и продолжают оставаться подходящим вариантом.
Нагрузочные методы, такие как STR, являются отличным дополнением к исходному начальному дереву быстрее (и лучше) вместо того, чтобы вставлять объекты по одному.
Как правило, вам понадобится R * -tree с нагрузкой STR.
Еще одно новое дерево - это X-tree (также основано на R-Tree).
Если вы ищете общую пространственную индексацию, а не только R-деревья, я могу рекомендовать PH-Tree. Он может легко конкурировать с вариантами R-Tree для прямоугольников или диапазонов запросов, имеет неплохую поддержку kNN-запросов (всего на 50% медленнее, чем Cover-Tree для 21 размера), он очень хорошо масштабируется с большими и/или кластерными наборами данных и достаточно эффективное пространство. Лучше всего, наверное, что он имеет отличную производительность обновления, вставка/перемещение/удаление занимает чуть больше времени, чем поиск. Другим преимуществом является то, что он не требует перебалансировки, а это означает, что любое обновление влияет не более чем на два узла.
Недостатки:
- Осуществление является довольно сложным, но если вы хорошо с реализацией Java, here is mine (ограниченные до 60 размеров).
- Я бы не рекомендовал его для небольших наборов данных, я бы предложил его для записи не менее 100 тыс., Лучше миллион или более.
- В основном он предпочитает кластеризованные данные, но производительность по-прежнему сохраняется с более равномерно распределенными данными.
- 1. Каков наилучший вариант в моем случае?
- 2. Каков наилучший вариант использования данных Neo4j Spring?
- 3. Каков наилучший вариант для встраивания контента
- 4. Каков наилучший вариант для этой функции?
- 5. Каков наилучший вариант для настройки пакета Expiration?
- 6. Каков наилучший вариант для нитки в пауке?
- 7. Каков наилучший способ представления дерева с XML?
- 8. Каков наилучший способ создания компактного дерева папок?
- 9. Каков наилучший способ проверки соответствия в r
- 10. R Каков наилучший способ преобразования нескольких переменных?
- 11. Каков наилучший способ управления метаданными в R?
- 12. Каков наилучший вариант для многоуровневого кэша в процессе?
- 13. Каков наилучший вариант для построения плагиновой системы для приложения Moose?
- 14. Каков наилучший вариант для поиска в Ruby on Rails?
- 15. Каков наилучший вариант для загрузки веб-контента в UIWebView?
- 16. Каков наилучший вариант для структурированного клонирования объекта запроса API Fetch?
- 17. Каков наилучший вариант для непрерывного фонового потока в Android?
- 18. Каков наилучший вариант нейтрального метода развертывания базы данных SQL Server?
- 19. Каков наилучший вариант для общего хранилища ec2 для IIS
- 20. Каков наилучший вариант для расширения избыточности приложения SaaS?
- 21. Каков наилучший вариант для рамки-агностики библиотеки рабочего стола Ruby?
- 22. Каков наилучший вариант для переноса EMC Isilon на облако AWS?
- 23. «org.json.JSONArray реализует Serializable»: Каков наилучший вариант для достижения этого?
- 24. Каков наилучший вариант, блокировка транзакций для распределенных систем?
- 25. Каков наилучший вариант для чтения файлов свойств Java?
- 26. Каков наилучший вариант для изменения контента внутри div?
- 27. Каков наилучший вариант для добавления новой строки в текстовый файл?
- 28. Каков наилучший вариант реализации NestedSet (MPTT) в Zend Framework Zend_Db?
- 29. Каков наилучший способ извлечения данных структуры дерева/иерархии из Oracle
- 30. Каков наилучший способ группировки и агрегирования и суммирования данных дерева?
Спасибо! Создает ли дерево, созданное навальной загрузкой STR, лучшую производительность KNN/Rangesearch (временную сложность), чем исходный R *? – daydayup
Да, загруженные навалом деревья обычно используют дисковое пространство лучше. Но будьте осторожны, реализация имеет большое значение. Я видел очень медленные R-деревья «STR». –
еще раз спасибо! – daydayup