假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,哈夫曼树的构造规则为: 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点); 在森林中选出根结点的权值最小的两棵树进行合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值 ...
分类:
其他好文 时间:
2020-06-13 15:45:17
阅读次数:
101
找树根和孩子 时间限制:1秒 内存限制:128M 题目描述 给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子。 输入描述 第一行:n(结点个数≤100),m(边数≤200)。以下m行:每行两个结点x和y,表示y是x的孩子(x,y≤100)。 输出描述 第一行:树根:root;第二行: ...
分类:
其他好文 时间:
2020-06-10 20:52:33
阅读次数:
49
复原二叉树 http://codeup.cn/problem.php?cid=100000611&pid=0 题目简述: 给你一棵二叉树的前序遍历和中序遍历,要求输出这棵二叉树的后序遍历 输入无限组,没有停止要求(文件读入) 补充知识: 既然做到了这道题,那就补充一下关于还原二叉树及二叉树遍历的知识 ...
分类:
其他好文 时间:
2020-06-09 14:28:44
阅读次数:
71
UOJ题目页面传送门 有一棵大小为$n$的树,根为$1$,节点$i$有一个权值$a_i$。支持$3$种$q$次操作: \(\texttt1\ x\ y\ v\):令所有在路径$x\to y$上的点的权值增加$v$,保证$v=\pm1$; \(\texttt2\ x\ y\):求路径$x\to y$上 ...
分类:
其他好文 时间:
2020-06-06 17:00:31
阅读次数:
53
1. 基本概念 max_heap,min_heap是一颗堆树。其定义如下: (1) 堆树是一颗完全二叉树; (2) 根节点的值大于子节点(max_heap);对于·min_heap,根节点的值小于子节点; (3) 左右子树也是一颗堆树。 比如下面的完全二叉树,就是一个max_heap: 回想完全二叉 ...
分类:
其他好文 时间:
2020-06-05 00:32:23
阅读次数:
80
1、求二叉树的最大深度。
2、判断一个二叉树是否是高度平衡的二叉树。
3、根据一棵树的前序遍历与中序遍历构造二叉树
分类:
其他好文 时间:
2020-06-04 11:59:21
阅读次数:
58
一、易懂的形象理解 其实从名字就可以很好的理解这三种遍历,我在第二点时候说,但是估计能翻到我的文的同学们之前肯定看过好多类似的了,那咱们换个思路~ 先用我想的一种简单易懂的形象思维理解一下前序、中序、后序 +层序! 1、先序遍历 先序遍历可以想象成,小人从树根开始绕着整棵树的外围转一圈,经过结点的顺 ...
分类:
其他好文 时间:
2020-06-02 16:09:08
阅读次数:
556
##本期 判断树的子结构 && 树的镜像 #题目 判断树的子结构 给两个二叉树,判断后一颗是否是前一颗的子树 方法:判断二叉树的树根和子树的树根是否相同, 若相同则继续判断左右孩子; 若不相同则二叉树的左右孩子作为树根继续做出上述的比较。 public boolean hasSubTree(tree ...
分类:
其他好文 时间:
2020-06-01 20:59:14
阅读次数:
70
实例:机器人运动范围 一:BFS算法 队列实现 当图或树根节点满足条件就入队,若子节点满足条件,子节点入队,根节点出队,重复操作。 在机器人运动中,计算满足条件的数量,BFS算法只需考虑向右(x+!,y)或向下(x,y+1) 1 class Solution {//广度优先遍历 2 public: ...
分类:
编程语言 时间:
2020-05-27 12:19:57
阅读次数:
71
堆(heap) 定义 堆是一种比较特殊的数据结构,它是利用完全二叉树的结构来维护一组数据,可以看做是一棵树的数组对象,说白了,堆就是用数组实现的二叉树。根据根节点的值还分为大根堆和小根堆。在最大堆中,父节点的值比每一个子节点的值都要大。在最小堆中,父节点的值比每一个子节点的值都要小。例如下图就是一个 ...
分类:
其他好文 时间:
2020-05-24 15:13:48
阅读次数:
71