排序多重集的算法

时间:2010-10-11 21:17:33

标签: algorithm

我正在寻找一种算法(最好用C / C ++ / Java或类似方法)来排序多重集。通过侦察互联网,我得出结论,我应该能够在O(n log h)时间内完成。 h是不同元素的数量,n是元素的总数。然而,我无法找到利用多重集可能包含重复元素以更快排序的事实的算法。

最诚挚的问候!

1 个答案:

答案 0 :(得分:2)

使用平衡二叉树。

在插入过程中,如果您尝试插入已存在的元素,而不是插入,则更新节点中的计数。

最后,进行有序遍历。计数告诉您节点重复的次数。