堆的數(shù)據(jù)結構能夠使得堆頂總是維持最大(對于大根堆)或最泄┏!(對于小根堆),給定一個數(shù)組鸡捐,對這個數(shù)組進行建堆栈暇,則平均復雜度是多少?如果只是用堆的 push 操作闯参,則一個大根堆依次輸入 3,7,2,4,1,5,8 后瞻鹏,得到的堆的結構示意圖是下述圖表中的哪個?()
B.O(n) ,
C.O(logn)
D.O(n),
[解析]
堆是利用完全二叉樹的結構來維護一組數(shù)據(jù)鹿寨,然后進行相關操作新博,一般的操作進行一次的時間復雜度在O(1)~O(logn)之間。采用push的操作實現(xiàn)大根堆脚草,每次輸入后赫悄,為了保證是大根堆,每插入一個元素馏慨,調整一次埂淮。具體過程如下:
所以正確答案為D。