我有这个具有最大堆属性的数组.deleteMax的时间复杂度为O(logn).如果下面的代码只迭代7次,那么下面的代码(大O)的时间复杂度是多少?
int heap_size = 15;
int i, value, heap_array[]; // array is in the form of max heap
....
for(i = 0; i < 7; i++){ // iterates seven times
value = deleteMax(heap_array);
printf("%d ", value);
}
Run Code Online (Sandbox Code Playgroud)
我脑子里有两个解决方案.第一:时间复杂度为O(7*logn)或简单为O(logn).
然后第二个是O(1/2*n*logn)或O(nlogn),因为1/2只是一个常数,我假设因为迭代次数是7,这几乎与一半相同heap_size,我可以忽略1/2.因此O(nlogn)
哪一个是正确的?