有人能告诉我维基百科中展示的Heap算法的时间复杂度到底是什么吗?https://en.wikipedia.org/wiki/Heap%27s_algorithm
我搜索了几个网站,答案都含糊不清,有些说时间复杂度是O(N!),有些则说是O(NlogN)。哪一个才是正确的答案?为什么?
谢谢。
有人能告诉我维基百科中展示的Heap算法的时间复杂度到底是什么吗?https://en.wikipedia.org/wiki/Heap%27s_algorithm
我搜索了几个网站,答案都含糊不清,有些说时间复杂度是O(N!),有些则说是O(NlogN)。哪一个才是正确的答案?为什么?
谢谢。
我觉得你混淆了Heap算法和堆排序算法或堆数据结构。后两者的排序复杂度为O(NlogN)。
你提到的算法是用于生成所有排列的,因为每个N元素数组有N!个排列,所以其复杂度为O(N!)。