数据结构-算法-完全二叉树的权值
试题描述:
思路:
用数组表示完全二叉树,用先序遍历的方式遍历每一层的节点,用一个数组储存每一层的和,因为数据规模小于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
blog
数据结构+算法-堆排序
数据结构与算法
4946
堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。以最小堆为例下沉操
weblog
6156
什么是二叉树的前驱节点和后继节点?某节点的前驱节点的val值小于该节点的val值并且值是最大的那个节点。某节点的后继节点的val值大于该节点的val值并且值是最小的那个节点。下面给出一个二叉树节点类
数据结构与算法
1764
prim(普里姆)算法求出。对于任何一个数据结构或算法,理解和实现只是一个方面,更重要的是要明白它的应用范围或应用场景,最小生成树算法的应用非常广泛,例如:假设要在n个城市之间建立通信联络网,则连接n个
blog
二叉树的遍历-(递归法)和(非递归法)
数据结构与算法
5309
整理二叉树的遍历-(递归法)和(非递归法)-笔记先序遍历、中序遍历、后续遍历、层级遍历。1.节点信息:packagetree;publicclassNodeE{ privateEe;//数据域
blog
程序员必须掌握的数据结构和算法
数据结构与算法
2170
原文链接:https://www.zhihu.com/question/23148377?sort=created算法基础 时间复杂度 空间复杂度基础数据结构 线性表 列表(必学) 链表(必学
ofc
二叉树中的列表
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
加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。