左式堆 斜堆 buildHeap

《数据结构与算法分析——c语言描述》 练习6.22  6.26 答案


代码会写,复杂度不会算。。。

相同的代码


PriorityQueue buildHeap(ElementType * arr, int n) {
	std::queue<PriorityQueue> q;
	for (int i = 0; i < n; i++) {
		q.push(insert(arr[i], NULL));
	}
	while (q.size() > 1) {
		PriorityQueue h1 = q.front();
		q.pop();
		PriorityQueue h2 = q.front();
		q.pop();
		q.push(merge(h1, h2));
	}
	return q.front();
}


你可能感兴趣的:(左式堆 斜堆 buildHeap)