当前位置: 首页 > news >正文

AcWing 1640:堆 ← 判断堆类型?

【题目来源】
https://www.acwing.com/problem/content/1642/

【题目描述】
在计算机科学中,堆是一种的基于树的专用数据结构,它具有堆属性:
如果 P 是 C 的父结点,则在大顶堆中 P 结点的权值大于或等于 C 结点的权值,在小顶堆中 P 结点的权值小于或等于 C 结点的权值。
一种堆的常见实现是二叉堆,它是由完全二叉树来实现的。
你的任务是判断给定的完全二叉树是否是堆。

【输入格式】
第一行包含两个整数 M 和 N,分别表示给定完全二叉树的数量以及每个完全二叉树包含的结点数量。
接下来 M 行,每行包含 N 个不同的整数(都在 int 范围内),表示一个完全二叉树的层序遍历序列。

【输出格式】
对于每个给定的二叉树,首先输出一行对它是否是堆的判断结论。
如果是大顶堆,则输出 Max Heap,如果是小顶堆,则输出 Min Heap,如果不是堆,则输出 Not Heap。
然后,再输出一行它的后序遍历序列。
同行数字用空格隔开,行首行尾不得有多余空格。

【输入样例】
3 8
98 72 86 60 65 12 23 50
8 38 25 58 52 82 70 60
10 28 15 12 34 9 8 56

【输出样例】
Max Heap
50 60 65 72 12 23 86 98
Min Heap
60 58 52 38 82 70 25 8
Not Heap
56 12 34 28 9 8 15 10​​​​​​​

【数据范围】
1≤M≤100,
1<N≤1000

【算法分析】
● 代码中的 dfs 函数,实现了二叉树的后序遍历。
● 通常,二叉树的输入顺序是“按层从左到右‌依次输入”‌,二叉树的层序遍历规则是“按层从左到右访问”,因此两者顺序相同。​​​​​​​

【算法代码】

#include <bits/stdc++.h>
using namespace std;const int maxn=1e3+5;
int a[maxn];
int m,n;void dfs(int u) {if(u>n) return;dfs(u*2);dfs(u*2+1);cout<<a[u]<<" ";
}int main() {cin>>m>>n;while(m--) {for(int i=1; i<=n; i++) cin>>a[i];int bih=0; //big heapint smh=0; //small heapfor(int i=1; i<=n; i++) {for(int j=0; j<2; j++) {if(i*2+j>n) continue;if(a[i]>=a[i*2+j]) bih=1;if(a[i]<=a[i*2+j]) smh=1;}}if(smh && bih) cout<<"Not Heap\n";else if(bih) cout<<"Max Heap\n";else cout<<"Min Heap\n";dfs(1);cout<<endl;}return 0;
}/*
in:
3 8
98 72 86 60 65 12 23 50
8 38 25 58 52 82 70 60
10 28 15 12 34 9 8 56out:
Max Heap
50 60 65 72 12 23 86 98
Min Heap
60 58 52 38 82 70 25 8
Not Heap
56 12 34 28 9 8 15 10
*/





【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/146358448
https://blog.csdn.net/hnjzsyjyj/article/details/146352473
https://www.acwing.com/solution/content/153656/


 

http://www.jsqmd.com/news/39879/

相关文章:

  • 2025运动地板实力厂家怎么选
  • 2025年靠谱的散货船年度行业风向榜
  • 2025轴承包胶轮厂商推荐
  • 实用指南:51单片机基础-直流电机控制
  • 2025年水平式包装机供货商最新排行榜
  • 2025尼龙地毯批发厂家排行榜单
  • 记一类有限制的图论问题
  • 2025国内电子万能试验机公司推荐榜
  • 2025年口碑好的船用安全绳优质厂家推荐榜单
  • 2025年风管机优质厂家哪家好
  • 2025年电脑维修常见故障渠道口碑排行榜单
  • 2025聚氨酯AB料冷库保温优质厂家排行榜
  • 如何从 WPF 控件 DataGrid 中删除多余的列 - 指南
  • 2025年靠谱的耐磨安全绳实力厂家TOP推荐榜
  • 2025外墙聚氨酯保温制造厂怎么选
  • SQL Server 2025数据库引擎新特性汇总
  • nats-account-server nats 的accout服务
  • 2025亚沟粘豆包供应商怎么选购
  • 从零开始学java--二叉树和哈希表
  • 2025年EGUOO心脑血管营养包:深度解析四重循环防护科学边界
  • 2025年EGUOO营养包价格贵:权威拆解高端膳食补充剂成本真相
  • 2025年比较好的速降安全带高评价厂家推荐榜
  • 2025年EGUOO营养包:深度解析科研配方与人群适配逻辑
  • 开关箱端子统计开发随笔
  • 2025年EGUOO心脑血管营养包:深度解析四重循环防护的科学边界
  • 2025年热门的隐藏珠宝柜滑轨最新TOP厂家排名
  • 2025年EGUOO心脑大礼包:权威深度解析心脑协同养护科研链
  • 2025年口碑好的阻尼珠宝柜滑轨厂家最新推荐权威榜
  • Spring AI 1.0 GA 深度解析:Java生态的AI革命已来
  • 2025年EGUOO五合一深度解析:协同配方如何重构多效养护范式