A Двоичное дерево поиска всегда упорядочено и всегда будет оставаться в порядке, если будут вставлены новые элементы.
Основным преимуществом деревьев двоичного поиска перед другими структурами данных является то, что связанные алгоритмы сортировки и алгоритмы поиска, такие как обход по порядку, могут быть очень эффективными.
Иэто ваша приоритетная очередь.В возможной реализации элементы с наименьшим приоритетом получат наибольшее число, а элементы с наивысшим приоритетом получат наименьшее число.Если эти элементы вставлены в BST и вы прочитали его inorder
, то у вас есть порядок, в котором очередь должна обрабатываться.
Чтобы обработать очередь, вы «выталкиваете» первый элемент вдерево и все остальное будет автоматически упорядочено BST.
Единственное, о чем вам нужно позаботиться, это правильная вставка новых элементов в дерево и что произойдет, если удаляется первый элемент.
Ваши методы будут сопоставлены с операциями дерева, add
вставит новый элемент в правильное место и при необходимости модифицирует дерево, например, size
возвращает размер дерева, inorder
будет проходить черезtree.
Надеюсь, это немного прояснило.