因此,在我的数据结构讲座中,我被告知可以将具有k个密钥和n个元素的哈希表转换为以分摊的O(log(k)* k + n)排序的数组。但是,背后没有任何理由。我发现为什么我试图找到一个算法来解决这个问题。
我无法想出一个。我想它必须是一个众所周知的,因为我们只是在没有证据的情况下注意到它,但我无法找到它。你知道这个问题的解决方案吗?
答案 0 :(得分:2)
如果您的意思是按键排序,它的k * log(k)用于对键进行排序,n用于根据排序的键插入元素。因此O(klog(k)+ n)。算法是:
步骤1采用O(klog(k))操作,步骤3采用O(n)。