栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

1155 Heap Paths 分数 30

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1155 Heap Paths 分数 30

PAT题目目录
判断是非为堆,进一步判断是否为大根堆、小根堆。
1用数组存储这个完全二叉树;
2遍历,找出所有从根节点到叶节点的路径,同时用(bool) gt lt记录是否存在当前节点比前一个结点大或小的情况;
3根据gt lt的状态判断是否为堆、大根堆、小根堆。

#include 
#include 
using namespace std;
const int N=1e3+10;
int n;
vector path;
int h[N];
bool gt,lt;
void dfs(int u){
    path.push_back(h[u]);
    if(u*2>n){
        //叶节点
        cout<
            cout<<' '<path[i-1]) gt=true;
            else if(path[i]
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>h[i];
    }
    dfs(1);//1为序号
    if(gt&<) cout<<"Not Heap";
    else if(gt) cout<<"Min Heap";
    else cout<<"Max Heap";
    return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/983281.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号