树
策马奔腾向前冲
这个作者很懒,什么都没留下…
展开
-
构造最大生成树
P1967 货车运输AC代码:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#include <cmath>using namespace std;const int N...原创 2020-04-16 09:02:07 · 454 阅读 · 0 评论 -
哈夫曼树
概念:给定一些带有权值的结点。要构造一棵二叉树,使得这些结点作为二叉树的叶子结点。若树上带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树。直观来看,哈夫曼树中权值较大的结点离根较近。举例:下图中,左树可以被称作哈夫曼树。应用:哈夫曼编码,可以用于数据的无损压缩。不能让其中一个编码串是另一个编码串的前缀P2168 [NOI2015]荷马史诗题目描述追逐影子的人,自...原创 2020-01-31 16:46:50 · 218 阅读 · 0 评论 -
n层满k叉树节点总数
n层2叉树对应公式为(2^n-1)/1n层3叉树对应公式为(3^n-1)/2n层4叉树 对应公式为(4^n-1)/3...n层k叉树,对应公式为(k^n-1)/(k-1)原创 2020-01-31 11:41:53 · 3486 阅读 · 0 评论 -
AVL自平衡(1123 Is It a Complete AVL Tree (30分))
AVL树的插入操作(分4种情况):AC代码:#include <bits/stdc++.h>using namespace std;struct node{ int x; struct node *lchild,*rchild;};node* LL(node* root){ node *t=root->lchild; ro...原创 2019-07-12 22:45:48 · 146 阅读 · 0 评论 -
遍历两棵树中是否有相同的节点
比较两棵树中相同深度是否有相同的节点说白了这就是一道遍历树的题目,dad和mom分别是当前节点的左孩子和右孩子,判断分别以当前节点为根节点的两棵子树中是否有相同的左孩子或右孩子。因为题目中说无乱伦和隔辈成婚现象,所以只需要对两棵子树中对应深度的节点进行两两判断就可以。并且迭代的深度不超过4。题目中还有一个坑,当读入当前节点的信息时,如果其dad或mom节点不为-1,就将其dad或mom...原创 2019-08-09 14:05:31 · 912 阅读 · 0 评论 -
LCA in a Binary Tree
给出一棵树,求两个节点的最近公共祖先。每次让两个点中深度大的点向上跳,直到两个点相交。很明显,当数据是一条链时,每次询问的时间复杂度可达到O(n)。对于此题是采用的lca算法。对于一棵普通的二叉树The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has b...原创 2019-08-17 23:03:17 · 200 阅读 · 0 评论