Сегодня я слушал лекцию о ветвях деревьев (двоичные индексированные деревья), и учитель говорит, что это дерево является обобщением деревьев интервалов и сегментов, но мои реализации этих трех структур данных различны. Действительно ли это утверждение? и почему?Являются ли интервалы, сегменты, ветвящиеся деревья одинаковыми?
ответ
Я никогда не слышал binary indexed trees, называемый обобщением чего-либо. Это, конечно, не обобщение interval trees и segment trees. Я предлагаю вам следовать ссылкам, чтобы убедить себя в этом.
, чем это дерево является обобщением интервальных и сегментных деревьев
Если под «это дерево» ваш учитель имел в виду «бинарное дерево» индексированный, то он ошибается.
но мои реализации этих трех структур данных отличаются
Конечно, они разные, ваш учитель никогда не говорил, что они не должны быть. Он просто сказал, что один из них является обобщением другого (что неверно, но все же). В любом случае, реализации должны быть разными.
Что бы иметь такую же реализацию двоичная индексируется дерево и Фенвик дерево, потому что те являются то же самое.
Я видел статью topcoder, и многие запросы в BIT похожи на деревья интервалов. – Luiguis
Они могут быть похожими, но это не значит, что вы можете сказать, что одна структура данных происходит от другой. Узел в дереве интервалов содержит одну половину интервала, который выполняет его родительский узел, а узел в BIT имеет интервал, заданный двоичным представлением числа. – IVlad
Следующая классификация кажется разумной, хотя разные люди обязаны смешивать эти термины.
Фенвик дерево/Binary индексированного дереваlink
Тот, где вы используете один массив и операции на двоичном представлении для хранения префикса суммы (также называемые кумулятивными суммы). Элементы могут быть членами моноида.
Диапазон дереваlink
Семейство деревьев, где каждый узел представляет собой поддиапазон в заданном диапазоне, скажем, [0, N]. Используется для вычисления ассоциативных операций с интервалами.
Interval деревоlink
Деревья, на которых хранятся фактические интервалы. Чаще всего вы берете среднюю точку, сохраняете пересекающиеся интервалы в узле и повторяете процесс для интервалов слева и справа от точки.
Сегмент дереваlink
Подобно дереву диапазона, где листья элементарные интервалы в пространстве, возможно, непрерывного, а не дискретные и высшие узлы объединения элементарных интервалов. Используется для проверки включения точки.
- 1. Большие ветвящиеся деревья в java?
- 2. Являются ли ** и * [] одинаковыми?
- 3. Являются ли деревья AVL злыми?
- 4. Являются ли деревья выражений потокобезопасными?
- 5. Являются ли следующие структуры одинаковыми?
- 6. Являются ли эти запросы одинаковыми?
- 7. Являются ли эти JQuery одинаковыми?
- 8. Являются ли эти уравнения одинаковыми?
- 9. Являются ли сегменты gdt игнорируемыми CPU?
- 10. Являются ли деревья выражений LINQ завершенными?
- 11. Являются ли деревья выражения LINQ правильными деревьями?
- 12. Ветвящиеся стратегии
- 13. VB.net Как проверить, являются ли две кисти одинаковыми или одинаковыми?
- 14. Являются ли эти 2 утверждения одинаковыми?
- 15. Как проверить, являются ли элементы массива одинаковыми
- 16. Являются ли следующие два утверждения семантически одинаковыми?
- 17. Проверка того, являются ли 4 значения одинаковыми
- 18. Являются ли символы и символы одинаковыми?
- 19. Java: Являются ли эти 2 кода одинаковыми?
- 20. Являются ли UNIX_TIMESTAMP() и time() одинаковыми
- 21. Являются ли getCacheFiles() и getLocalCacheFiles() одинаковыми?
- 22. Являются ли удаленные и локальные ветви одинаковыми?
- 23. ruby: проверьте, являются ли две переменные одинаковыми.
- 24. Регулярно проверяйте, являются ли части одинаковыми.
- 25. Являются ли семантика и синтаксис одинаковыми?
- 26. Являются ли эти 2 заголовка мыла одинаковыми?
- 27. Являются ли эти 2 утверждения одинаковыми?
- 28. Являются ли следующие две версии одинаковыми?
- 29. Являются ли эти два сравнительных выражения одинаковыми?
- 30. Являются ли @InjectParam и @Autowired одинаковыми?
Существует различие между утверждением, что «A является обобщением B» и «A является таким же, как B.» –