Алгоритм сортировки мультимножеств - PullRequest
1 голос
/ 12 октября 2010

Я ищу алгоритм (желательно на C / C ++ / Java или аналогичный) для сортировки мультимножества.Исследуя Интернет, я пришел к выводу, что смогу сделать это за O (n log h) раз.При этом h - это число различных элементов, а n - общее количество элементов.Однако я не смог найти алгоритм, который бы использовал тот факт, что мультимножество может содержать повторяющиеся элементы для более быстрой сортировки.

С наилучшими пожеланиями!

1 Ответ

2 голосов
/ 12 октября 2010

Используйте сбалансированное двоичное дерево.

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

В конце выполните обход в порядке. Счет подсчитывает, сколько раз повторяется узел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...