java冒泡排序法 构造一颗N元素的最小堆最坏的时间复杂度用O表示是多少?
构造一颗N元素的最小堆最坏的时间复杂度用O表示是多少?最坏的情况是,每次将第i个元素放入堆中时,该元素都必须上移logi次,因此构建最小堆的最坏时间复杂度是Log1 log2。。。Logn=Log1*
构造一颗N元素的最小堆最坏的时间复杂度用O表示是多少?
最坏的情况是,每次将第i个元素放入堆中时,该元素都必须上移logi次,因此构建最小堆的最坏时间复杂度是Log1 log2。。。Logn=Log1*2*。。。*n=对数(n!)。根据斯特林公式,n!近似等于((2*pi*n)^(1/2))*((n/E)^n)pi=3.1415926。E=2.718282,为常数。
那么n的阶乘顺序是n^n,也就是说,最坏情况下的时间复杂度是O(log(n^n))=O(nlogn)