树查找练习

题目描述

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

输入描述:
输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。
输出描述:
输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。
输入例子:
41 2 3 42
输出例子:
2 3

代码:
import java.util.Scanner;

public class 树查找 {

    public static void main(String[] args) {
        Scanner in =new Scanner(System.in);
        while(in.hasNext()){
            int count =in.nextInt();
            int[] num=new int[count];
            for(int i=0;i<count;i++){
                num[i]=in.nextInt();
            }
            int flag=in.nextInt();
            int minAt=0,maxAt=0;
            for(int a=1;a<=flag;a++){
                if(a<flag)
                    minAt+=Math.pow(2, a-1);
                maxAt+=Math.pow(2, a-1);
            }
            if(minAt>count-1)
                System.out.print("EMPTY");
            else if(maxAt>count-1)
                maxAt=count;
            for(int j=minAt;j<maxAt;j++){
                System.out.print(num[j]);
                if(j<maxAt-1)
                    System.out.print(" ");
            }
        }
        in.close();

    }

}

利用了完全二叉树的层次的规律,2的几次方相加那种。

				
时间: 2025-01-02 03:25:43

树查找练习的相关文章

九度OJ 1176 树查找

题目1176:树查找 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3979 解决:1700 题目描述: 有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY.该树是完全二叉树. 输入: 输入有多组数据. 每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度. 输出: 输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格. 样例输入: 4 1 2 3 4 2 样例输出: 2 3 来源: 2010年北京邮电大学

海量路由表可以使用HASH表存储吗-HASH查找和TRIE树查找

千万别!很多人这样说,也包括我.Linux内核早就把HASH路由表去掉了,现在就只剩下TRIE了,不过我还是希望就这两种数据结构展开一些形而上的讨论. 1.hash和trie/radix hash 和tire其实是可以统一在一起的.具有相同hash值的多个项具有一个共同的特征,这个特征怎么提取呢?无疑这就是hash函数的工作.而trie树 (或者radix树,管它呢)的一棵子树也有共同的特征,这个特征怎么提取呢?无疑这就是该子树根节点的父节点指示的某些bits在这棵子树的每一个节点 都具有相同的

9-11-Trie树/字典树/前缀树-查找-第9章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分 第9章  查找 - Trie树/字典树/前缀树(键树) ——<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑        本源码引入的文件  链接? Status.h.Scanf.c        相关测试数据

9-9-B+树-查找-第9章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分 第9章  查找 - B+树 ——<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑        本源码引入的文件  链接? Base.c        相关测试数据下载  链接? 数据包       文档中源码及

9-10-双链树-查找-第9章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分 第9章  查找 - 双链树(键树) ——<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑        本源码引入的文件  链接? Status.h.Scanf.c        相关测试数据下载  链接? 数据

trie树查找和hash查找比较(大量数据)

trie树代码 #include<iostream> #include<stdio.h> #include<iostream> #include<string> #include<stdlib.h> #include<fstream> #include<sstream> #include<vector> #include<string> #include<time.h> using na

题目1176:树查找

时间限制:1 秒 内存限制:32 兆 题目描述: 有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY.该树是完全二叉树. 输入: 输入有多组数据.每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度. 输出: 输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格. 样例输入: 4 1 2 3 4 2 样例输出: 2 3 #include <iostream> #include<string.h>

9-8-B树-查找-第9章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分 第9章  查找 - B树 ——<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑        本源码引入的文件  链接? Base.c        相关测试数据下载  链接? 数据包       文档中源码及测

9-5-次优查找树-查找-第9章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分 第9章  查找 - 次优查找树 ——<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑        本源码引入的文件  链接? Base.c.BinaryTree.c        相关测试数据下载  链接? 数