Обход дерева

Оглавление1 Обход дерева1.1 Основы обхода дерева1.2 Реализация обхода1.3 Обход по порядку Морриса1.4 Обход в ширину1.5 Бесконечные деревья1.6 Рекомендации2 Обход дерева […]

Обход дерева

  • Основы обхода дерева

    • Обход дерева – это процесс последовательного посещения всех его узлов. 
    • Существуют различные типы обходов: предварительный, последующий, предварительный обход по порядку и другие. 
    • Обход используется для создания копий дерева, генерации постфиксных представлений и удаления дерева. 
  • Реализация обхода

    • Существуют реализации обхода в глубину, последующий обход и обход по порядку. 
    • Для обходов без изменения направления средняя сложность составляет O(1), а худшая сложность – O(h), где h – высота дерева. 
    • Для всех реализаций требуется пространство, пропорциональное высоте дерева. 
  • Обход по порядку Морриса

    • Моррис использует потоковую передачу для обхода дерева без рекурсии. 
    • Преимущества: избегает рекурсии, сохраняет родительские указатели, недостатки: сложное дерево, только один обход за раз. 
  • Обход в ширину

    • Псевдокод для обхода уровней на основе очередей, требует места, пропорционального количеству узлов на заданной глубине. 
    • Итеративный поиск с углублением в глубину может быть более экономичным. 
  • Бесконечные деревья

    • Обход по порядку или последующий обход не всегда охватывают все узлы бесконечных деревьев. 
    • Гибридные методы могут пересекать любое бесконечное дерево. 
  • Рекомендации

    • Ссылки на книги и ресурсы для изучения структур данных и алгоритмов. 

Полный текст статьи:

Обход дерева — Википедия

Оставьте комментарий

Прокрутить вверх