树
m714星云
渣渣
展开
-
利用线段树查询一段区间内的最大值(值,下标)
题目举例:小明要组织一台晚会,总共准备了 n 个节目。然后晚会的时间有限,他只能最终选择其中的 m 个节目。这 n 个节目是按照小明设想的顺序给定的,顺序不能改变。小明发现,观众对于晚会的喜欢程度与前几个节目的好看程度有非常大的关系,他希望选出的第一个节目尽可能好看,在此前提下希望第二个节目尽可能好看,依次类推。小明给每个节目定义了一个好看值,请你帮助小明选择出 m 个节目,满足他的要求。...原创 2020-04-06 17:22:42 · 1230 阅读 · 0 评论 -
二叉树
最常见的问题知道两个遍历的顺序,求另一个遍历的顺序二叉树的遍历层序遍历先序遍历中序遍历后序遍历练习 1710 Binary Tree Travesals(先序,中序求后序)...原创 2019-12-06 21:09:19 · 82 阅读 · 0 评论 -
并查集
合并优化通过记录高度,高度相同两者中取一个当作根节点,然后高度加1。高度不相同的,将高度矮的加到高度高的上面去,高树的高度不变。void unions(int x,int y){ x=find(x); y=find(y); if(height[x]==height[y]){ s[x]=y; height[y]+=1; }else{...原创 2019-12-06 10:57:13 · 137 阅读 · 1 评论 -
AVL树
1. 结点类定义data 用来存结点的值height 用来存节点的高度,用来计算BF因子left和right为其左右子树struct node{ int data; int height; node *left,*right;};typedef node* Avltree;2. 计算每个结点的高度—>(继而算出BF)采用递归求解树的高度,取左右子...原创 2019-11-16 11:39:00 · 83 阅读 · 0 评论