天梯题集——关于堆的判断(小顶堆模板题、模拟构造过程)

堆是一种常用的树形结构,是一种特殊的完全二叉树,当且仅当满足所有节点的值总是不大于或不小于其父节点的值的完全二叉树被称之为堆。
堆的这一特性称之为堆序性。因此,在一个堆中,根节点是最大(或最小)节点。如果根节点最小,称之为小顶堆(或小根堆),如果根节点最大,称之为大顶堆(或大根堆)。
注意:堆的左右孩子没有大小的顺序。

关于堆的判断

题目


这道题目完全可以看成一道堆的模板题,只要构建出小顶堆其他都好说。

解题思路
①、构建小顶堆

小顶堆是构成原理:
(1)插入第一个节点
1
(2)插入第二个节点(不符合小顶堆原则,需替换)
在这里插入图片描述
(3)节点互换
在这里插入图片描述

(4)最终小顶堆结果
5

//构建小顶堆
void creat(int w){
   
	pile[++cnt] = w;
	int t = cnt;
	while(t>1&&pile[t/2]>pile[t]){
   
		pile[t] = pile[t/2];
		pile[t/2] &#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值