题意:
给出一个二叉树,叶子结点上有权值;
共有n个叶子结点,权值分别为1-n;
现可将所有结点的左右儿子交换,求最小的逆序对数;
2
题解:
这题读入有点鬼畜,但是写起来还是比较优雅的;
考虑到一个结点的子树具体形态与它是否和它的兄弟交换是无关的;
所以我们可以像分治一样,先计算子树之间的最小逆序对数;
然后将所有的权值扔到一个线段树中,向它的父亲传递;
它的父亲是没...
分类:
其他好文 时间:
2015-09-30 13:08:06
阅读次数:
210
第一步,插[url=http://www.2ppt.cn]金色的脚印课件[/url]入一张树叶图片将其放置于画布外,选中树叶,为其添加“陀螺旋”(此动画在“强调”组中)。双击动画窗格中的“陀螺旋”,为其设置参数,如下图所示。 ...
分类:
其他好文 时间:
2015-09-16 16:12:24
阅读次数:
447
贪婪算法分阶段的工作。在每一个阶段,就认为在这个阶段所做的决定是最好的。该算法终止的时候,我们希望局部最优就是全局最优。 NP完全的意思是算法的复杂度可以用多项式来表示。 哈弗曼编码: tri树 前缀码,如果一个字符放在非树叶结点上,那就不再额能够保证译码没有二义性。
分类:
编程语言 时间:
2015-09-03 12:41:26
阅读次数:
157
今天做了一题求二叉树节点的最大距离,顺便写了下二叉树的建立,遍历的过程。
我觉得这题的主要思想是深度遍历+动态规划,我们在深度遍历的过程中,对于某一个子树,求出左右子树叶子节点到根节点的最大距离,进而求出经过根节点的最大距离。 最后求出所有子树经过根节点的最大距离。就是这个题目的最终结果。代码如下:
//二叉树的建立,以及遍历
//16 14 8 2 -1 -1 4 -1 -1 7 1 -...
分类:
其他好文 时间:
2015-08-27 13:24:15
阅读次数:
227
题意:给一棵满二叉树,叶子节点赋予权值,0或者1,对于每个查询输出叶子节点的权值,每个查询0代表往左走,1代表往右走,这题坑的地方是层的访问顺序,如第二组测试,由上到下依次是x3,x1,x2,假如给一个查询110,则从上到下的顺序是011,对应第3个叶子节点。二进制数转变成十进制数对应的叶子的权值,...
分类:
其他好文 时间:
2015-08-19 22:37:32
阅读次数:
155
二叉树表达式树的树叶是操作数(operand),比如常数或变量,而其他的节点为操作符(operator)。这里限定操作符只能为+,-,*,/四个操作符。把后缀表达式转变成表达式树:程序://expression_tree.hstructTreeNode;
typedefstructTreeNode*PtrToNode;
typedefPtrToNodeTree;
type..
分类:
编程语言 时间:
2015-08-18 12:19:02
阅读次数:
221
合成模式
合成模式把部分和整体关系用树结构表示,是属于对象的结构模式。合成模式要对组合的对象进行管理,所以在一定位置给予对象的相关管理方法,如:add(),remove()等.合成模式中对象的管理有两种方案。
1.安全方式:此方式只允许树枝构件有对象的管理方法。
2.透明方式:此方式只允许树枝和树叶都有对象的管理方法,但树叶对象中的管理方法无实际意义。
一.UML示意图
...
分类:
编程语言 时间:
2015-08-16 10:51:48
阅读次数:
156
抽象类 C#同意把类和方法声明为abstract,即抽象类和抽象方法。抽象类通常代表一个抽象概念,它提供一个继承的出发点,当设计一个新的对象类时,一定是用来继承的,所以,在一个以继承关系形成的等级结构里面,树叶节点应当是详细类,而树枝节点均应当是抽象类。抽象类拥有尽可能多的共同代码,拥有尽可能少的....
创建树,前序遍历,中序遍历,后序遍历,查找二叉树结点个数,查找二叉树叶子结点个数,查找二叉树度数为1的结点的个数
#include "iostream"
using namespace std;
struct tree
{
int data;
tree *left,*right;
};
class Tree
{
static int n;
st...
分类:
其他好文 时间:
2015-08-02 23:26:40
阅读次数:
176
编号数据挖掘技术应用算法优势劣势1决策树(Decision Tree)用户划分、行为预测、规则梳理CHAIDCARTID3、C4.5、C5.01、决策树的构造不需要任何领域的知识,很适合探索式的知识发掘,并且可以处理高维度的数据2、决策树所产生的一系列从树根到树枝(或树叶)的规则,可以很容易地被分析...
分类:
其他好文 时间:
2015-08-02 11:38:27
阅读次数:
115