首页 > 其他分享 >完全二叉树查找

完全二叉树查找

时间:2024-05-30 18:33:50浏览次数:17  
标签:输出 int 完全 ++ 查找 二叉树 节点 输入

描述

有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。

输入描述

输入有多组数据,遇到0时终止输入。
每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。

输出描述

输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。

用例输入 1

5
1 2 3 4 5 
7
7
1 2 3 4 5 6 7 
2
0

用例输出 1

EMPTY
2 3
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a;
    while (cin>>a)
    {
        if (a==0) break;
        int li[a][a];
        for (int i=0;i<a;i++)
        {
            for (int j=0;j<a;j++)
            {
                li[i][j]=0;
            }
        }        
        int n;
        int h=0,l=0,s=1,k=0;
        for (int i=0;i<a;i++)
        {
            cin>>n;
            if (k==s) 
            {
                h++;
                l=0;
                s*=2;
                k=0;
            }
            li[h][l]=n;
            l++;
            k++;
        }
        int b;
        cin>>b;
        if (b>h) cout<<"EMPTY"<<endl;
        else
        {
            int q=1;
            for (int i=0;i<b-1;i++)
            {
                q*=2;
            }
            for (int i=0;i<q;i++)
            {
                cout<<li[b-1][i]<<" ";
            }
            cout<<endl;
        }
    }
}

标签:输出,int,完全,++,查找,二叉树,节点,输入
From: https://blog.csdn.net/whycthe/article/details/139213162

相关文章

  • Leecode热题100---二分查找--4:寻找两个正序数组的中位数
    题目:给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。解法1、暴力解法(归并)思路:合并nums1,nums2为第三个数组排序第三个数组按下标,找出中位数classSolution{public: doublefindMedianSortedArrays(vec......
  • 二叉树的创建与遍历(附有C++实现详细代码)
    一、引言在计算机科学中,二叉树是一种常见的数据结构,它的每个节点最多有两个子节点,通常称为左子节点和右子节点。二叉树的应用广泛,包括但不限于搜索算法、排序算法、存储结构等。本文将详细讨论二叉树的创建与遍历方法,并通过代码示例进行说明。二、二叉树的基本概念在介......
  • 5.二叉树详解(附习题)
    1.二叉树链式结构的实现1.1 前置说明在学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。本文准备讲述一些二叉树的基础知识,此处手动快速创建一棵简单的二叉树,来快速进入二叉树操作学习,等二叉树结构了解的差不多时,我们反过头再来研究二叉树真正......
  • PTA——数和二叉树
    7-10建立与遍历二叉树以字符串的形式定义一棵二叉树的先序序列,若字符是‘#’,表示该二叉树是空树,否则该字符是相应结点的数据元素。读入相应先序序列,建立二叉链式存储结构的二叉树,然后中序遍历该二叉树并输出结点数据。输入格式:字符串形式的先序序列(即结点的数据类型为单......
  • Linux查找文件内容
    从文件内容查找匹配指定字符串的行:$grep"被查找的字符串"文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件$grep"thermcontact"*/*.in从文件内容查找与正则表达式匹配的行:$grep–e“正则表达式”文件名查找时不区分大小写:$grep–i"......
  • P9 【力扣+知识点】【算法】【二分查找】C++版
    【704】二分查找(模板题)看到复杂度logN,得想到二分给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在......
  • (二刷)代码随想录第17天|● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之
    110.平衡二叉树math.abs指的是绝对值;这棵树的左右子树的高度差小于1的时候,同时该树的左右子树都是平衡二叉树的时候,这棵树才是平衡二叉树;classSolution{publicbooleanisBalanced(TreeNoderoot){returngetHeight(root)!=-1;}privateint......
  • 【Linux】查找和压缩
    一、文件查找 1、命令查找which  2、文件查找、依赖数据库locate 3、文件查找find语法:find  [path]  [options]   [expression]   [action]①按文件名-name按名-iname可不区分大小写②按文件大小+5M:5M以上文件5M:5M文件-5M:5M以下......
  • AI视频换脸!最快的方法,100%成功,完全免费,无需配置、打开即用
    这是一个全新的AI视频换脸工具,它是完全免费的,使用起来非常简单和好用。这款工具的效果出色,可以支持CPU和GPU解码。也就是说,即使你的电脑没有独立的显卡,你也可以通过CPU进行解码。我之前介绍过一些其他的AI视频工具,比如AIC音克隆,AI绘画,AI视频一键趣码等等,这些工具的效果也......
  • 最新扣子(Coze)实战教程:扣子的插件使用,完全免费,快来学习吧~
    ......