C++编程《第12课 堆的应用》教学课件.pptx

C++编程《第12课 堆的应用》教学课件.pptx

第12课堆的应用

学习目标1、了解数据结构堆的优势和用途2、熟练操作堆来排序和维护最大/最小值3、学习在实际问题中利用堆来优化时间复杂度

课堂练习

1、堆排序【题目描述】假设n个数存放在A[1..n]中,我们可以利用堆将它们从小到大进行排序,这种排序方法,称为“堆排序”。输入两行,第1行为n,第2行为n个整数,每个数之间用1个空格隔开。输出1行,为从小到大排好序的n个数,每个数之间也用1个空格隔开。【问题分析】输入时建立最小堆,然后依次输出并删除堆顶即可;堆是一种完全二叉树,每次加入元素,时间复杂度为O(logN),删除堆顶的时间复杂度也为O(lo

文档评论(0)

1亿VIP精品文档

相关文档