博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断一组序列数据是否是堆
阅读量:5118 次
发布时间:2019-06-13

本文共 307 字,大约阅读时间需要 1 分钟。

判断一组序列数据是否是堆:

把序列看成数组型的二叉树,如果根节点是i,左子树是2*i,右子树是2*i+1

最大堆:所有父节点都比左子树、右子树大
最小堆:所有父节点都比左子树、右子树小
如果这组序列式符合最大堆或最小堆,则是堆,否则不是

EG:

判断一下序列是否为堆
A(10,50,80,30,60,20,15,18)
B(10,18,15,20,50,80,30,60)
C(10,15,18,50,80,30,60,20)
D(10,30,60,20,15,18,50,80)
将ABCD看成二叉树为:

转载于:https://www.cnblogs.com/Mr-Wenyan/p/8675921.html

你可能感兴趣的文章
Azure 托管镜像和非托管镜像对比
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
前端监控
查看>>
clipboard.js使用方法
查看>>
移动开发平台-应用之星app制作教程
查看>>
leetcode 459. 重复的子字符串(Repeated Substring Pattern)
查看>>
伪类与超链接
查看>>
centos 7 redis-4.0.11 主从
查看>>
博弈论 从懵逼到入门 详解
查看>>
永远的动漫,梦想在,就有远方
查看>>
springboot No Identifier specified for entity的解决办法
查看>>
慵懒中长大的人,只会挨生活留下的耳光
查看>>
"远程桌面连接--“发生身份验证错误。要求的函数不受支持
查看>>
【BZOJ1565】 植物大战僵尸
查看>>
VALSE2019总结(4)-主题报告
查看>>
浅谈 unix, linux, ios, android 区别和联系
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
中国烧鹅系列:利用烧鹅自动执行SD卡上的自定义程序(含视频)
查看>>