Если вам нужны преимущества более чем одной структуры данных, вы можете использовать их в состав .
Например, если вам нужны преимущества очереди приоритетов и бинарного дерева поиска, выполните необходимые действия для них обоих.
Если это insert
, вставьте элемент в них обоих.
Если это find
, то вы можете найти элемент, используя двоичное дерево поиска, и, если он был найден, продолжить поиск его в очереди с приоритетами.
Если это min
, то сначала удалите его из очереди приоритетов, и теперь, когда вы знаете, какой это элемент, вы можете удалить его из дерева двоичного поиска.
если это del
, то сначала найдите его в дереве двоичного поиска и удалите, затем продолжите находить его в очереди приоритетов и тоже удалите его.
Предполагается, что узлы двоичного дерева и узлы приоритетной очереди являются указателями на ваши элементы.