Прежде всего, обратите внимание, что лучшая сложность решения этой проблемы - O (nlogn), в противном случае можно будет отсортировать массив меньше, чем O (nlogn), создав это дерево и выполнив порядок (а это невозможно). Кроме того, более полезно создать сбалансированное дерево, чтобы операции, которые вы могли выполнять с деревом позже, были бы быстрыми. Хотя принятый ответ работает, он O (n ^ 2) и дерево не сбалансировано.
алгоритм:
1) Сортировать массив.
2) Создать пустое сбалансированное дерево размером n.
3) Заполните это дерево значениями из отсортированного массива, используя порядок.
сложность: O (nlogn)