数据结构-算法-完全二叉树的权值

硅谷探秘者 5928 0 0

试题描述:

image.png

image.png


思路:

        用数组表示完全二叉树,用先序遍历的方式遍历每一层的节点,用一个数组储存每一层的和,因为数据规模小于100000

所以用一个容量为17的数组即可。计算完每一层的和,再比较层数最小之和最大的那一层。

代码:

package club.test;

public class TestMain12 {
	/**
	 * 输入n
	 */
	static int a[]=new int[100000];
	/**
	 * 十万个数据二叉树最深也就17层吧
	 */
	static int m[]=new int[20];
	/**
	 * def遍历时二叉树的深度
	 */
	static int def=0;
	public static void main(String[] args) {
		for(int i=0;i<99999;i++) {
			a[i]=i;
		}
		dfs(1);
		int max=0;
		int c=0;
		for(int i=m.length-1;i>0;i--) {
			if(m[i]>max) {
				max=m[i];
				c=i;
			}
		}
		System.out.println(c);
	}
	/**
	 * 先序遍历二叉树
	 * @param index
	 */
	public static void dfs(int index){
		def++;
		if(index>=a.length) {
			return;
		}
		m[def]+=a[index];
		/**
		 * 向左节点遍历
		 */
		dfs(index<<1);
		def--;
		/**
		 * 向右节点遍历
		 */
		dfs((index<<1)+1);
		def--;
	}
}




评论区
请写下您的评论...
暂无评论...
猜你喜欢
数据结构与算法 7666 题目:判断下方两棵右方是否为左方例1:||/-----------10(10)------\/-------10(10)------\||||/-------5(5
数据结构与算法 8385 )java代码实现importjava.util.LinkedList;/***点类*@author硅谷探秘者(jia)*/classNode{ publicintdata; publicNodele
数据结构与算法 4946 堆排序(英语:Heapsort)是指利用堆这种所设计一种排序。堆是一个近似,并同时满足堆积性质:即子或索引总是小于(或者大于)它父节点。以最小堆为例下沉操
weblog 6156 什么是前驱节点和后继节点?某节点前驱节点val小于该节点val并且是最大那个节点。某节点后继节点val大于该节点val并且是最小那个节点。下面给出一个节点类
数据结构与算法 1764 prim(普里姆)求出。对于任何一个,理解和实现只是一个方面,更重要是要明白它应用范围或应用场景,最小生成应用非常广泛,例如:假设要在n个城市之间建立通信联络网,则连接n个
数据结构与算法 5309 整理遍历-(递归)和(非递归)-笔记先序遍历、中序遍历、后续遍历、层级遍历。1.节点信息:packagetree;publicclassNodeE{ privateEe;//
数据结构与算法 2170 原文链接:https://www.zhihu.com/question/23148377?sort=created基础 时间复杂度 空间复杂度基础 线性表 列表(必学) 链表(必学
official 1364 和一个head为第一个节点链表。如果在中,存在一条一直向下路径,且每个点恰好一一对应以head为首链表中每个节点,那么请你返回True,否则返回False。一直向下路径意思
归档
2018-11  12 2018-12  33 2019-01  28 2019-02  28 2019-03  32 2019-04  27 2019-05  33 2019-06  6 2019-07  12 2019-08  12 2019-09  21 2019-10  8 2019-11  15 2019-12  25 2020-01  9 2020-02  5 2020-03  16 2020-04  4 2020-06  1 2020-07  7 2020-08  13 2020-09  9 2020-10  5 2020-12  3 2021-01  1 2021-02  5 2021-03  7 2021-04  4 2021-05  4 2021-06  1 2021-07  7 2021-08  2 2021-09  8 2021-10  9 2021-11  16 2021-12  14 2022-01  7 2022-05  1 2022-08  3 2022-09  2 2022-10  2 2022-12  5 2023-01  3 2023-02  1 2023-03  4 2023-04  2 2023-06  3 2023-07  4 2023-08  1 2023-10  1 2024-02  1 2024-03  1 2024-04  1 2024-08  1
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议 无聊的知识 jenkins springboot mqtt协议 keepalived minio mysql ensp 网络基础 xxl-job rabbitmq haproxy srs 音视频 webrtc javascript 加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。