Структуры и алгоритмы обработки данных

Сортировка с прохождением бинарного дерева


В качестве примера использования прохождения бинарного дерева можно привести один из способов сортировки. Допустим, мы имеем некоторый массив и пытаемся упорядочить его элементы по возрастанию. Сама сортировка при этом распадается на две фазы

  • построение дерева
  • прохождение дерева

    Дерево строится по следующим принципам. В качестве корня создается узел, в который записывается первый элемент массива. Для каждого очередного элемента создается новый лист. Если элемент меньше значения в текущем узле, то для него выбирается левое поддерево, если больше или равен v правое.

    Рис.4.9. Сортировка по возрастанию с прохождением бинарного дерева

    Для создания очередного узла происходят сравнения элемента со значениями существующих узлов, начиная с корня.

    Во время второй фазы происходит прохождение дерева в симметричном порядке. Результатом сортировки является последовательность значений элементов, извлекаемых их пройденных узлов.

    Для того чтобы сделать сортировку по убыванию, необходимо изменить только условия выбора поддерева при создании нового узла во время построения дерева.



    Содержание раздела