数据结构的堆(一)

本文探讨了最坏情况下的三种常见排序算法(插入排序、快速排序和归并排序)的时间复杂度,并揭示了堆和栈的区别,包括申请方式、大小限制、空间管理和堆的特性。同时,深入解析了堆在数据结构中的应用,如优先队列和排序算法。筛选法建堆示例和堆的形状也进行了说明。
摘要由CSDN通过智能技术生成

1.最坏情况下 insert sort, quick sort ,merge sort 的复杂度分别是多少?

//插入排序 快速排序 归并排序

O(n*n),O(nlogn),O(n*n)
O(n*n),O(n*n),O(nlogn)
O(n*n),O(nlogn),O(nlogn)
O(nlogn),O(nlogn),O(nlogn)

2.下列关于堆和栈的区别描述错误的有?

申请方式的不同,堆是系统自动分配,栈是自己申请
栈的大小是固定的,堆的大小受限于系统中有效的虚拟内存
栈的空间由系统决定何时释放,堆需要自己决定何时去释放
堆的使用容易产生碎片,但是用起来最方便

解析:堆是自己做饭自己吃,可以吃不完剩下;但是栈是公司食堂,公司分配食物,严格遵守公司食堂。

3.关于堆数据结构,下面描述中正确的有()

可以用堆实现优先队列(priority_queue)
使用堆可以实现排序算法,复杂度为N * log N
从M个元素中查找最小的N个元素时,使用大顶堆的效率比使用小顶堆更高
在大顶堆中,第N层中的所有元素比第N+1层中的所有元素都要大
堆数据结构可以用数组方式存储,存储的是一棵完全二叉树

//在大顶锥中,第N层不一定比N+1层大,因为有好几个节点啊。

4.对于序列( 12 , 13 , 11 , 18 , 60 , 15 , 7 , 19 , 25 , 100 ),用筛选法建堆,必须从值为 ________ 的数据开始建初始堆

100
12
60
15

解析:筛选法建堆,先写成堆的形式,在看堆找数。

方法:从下到上,从右往左,寻找第一个非叶子结点的结点,所以是60

5.堆的形状是一棵(A)。

完全二叉树
满二叉树
二叉排序树
平衡二叉树

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值