1、定义:树是一种非线性结构,是一种一对多的数据结构。
分析树的结构,我们用递归的方法,根结点下面又可以看做是子树。
2、树的存储结构:
我们一般用孩子兄弟法存储。也就是把一个结点的左边第一个孩子放在此结点的左边孩子,把此结点的右兄弟放在此结点的右边孩子。
这样就产生了二叉树。
二叉树和树可以相互对应。
3、二叉树及其性质
总之二叉树有很多特殊的性质,直接研究树会有些麻烦,所以我们通...
分类:
其他好文 时间:
2015-06-22 12:29:02
阅读次数:
116
作者:xiabodan 出处:http://blog.csdn.net/xiabodan 二叉树二叉树的申明:struct node
{
int data;
struct node *left;
struct node *right;
};新建一个节点/* newNode() allocates a new node with the given data and NULL l...
分类:
编程语言 时间:
2015-06-06 16:40:57
阅读次数:
148
故障树是一种特殊的倒立树状逻辑因果关系图,它用事件符号、逻辑门符号和转移符号描述系统中各种事件之间的因果关系。逻辑门的输入事件是输出事件的"因",逻辑门的输出事件是输入事件的"果"。故障树图 ( 或者负分析树)是一种逻辑因果关系图,它根据元部件状态(基本事件)来显示系统的状态(顶事件)总的说来,故障...
分类:
其他好文 时间:
2015-05-17 18:30:02
阅读次数:
230
题意:有n个房间结构可看成一棵树,有m个士兵,从1号房间开始让士兵向相邻的房间出发,每个房间有一定的敌人,每个士兵可以对抗20个敌人,士兵在某个房间对抗敌人使无法走开,同时有一个价值,问你花费这m个士兵可以得到的最大价值是多少分析:树形dp,对于点u,dp[u][j]表示以u为根的树消耗j个士兵得到...
分类:
其他好文 时间:
2015-05-11 01:21:48
阅读次数:
196
一、概述
给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
二、适用性
当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象语法树时,可使 用解释器模式。而当存在以下情况时该模式效果最好:
1.该文法简单对于复杂的文法,文法的类层次变得庞大而无法管理。
2.效率不是一个关键问题最高效的解释器通常不是通过直接解释语法分析树实...
分类:
编程语言 时间:
2015-05-09 11:46:39
阅读次数:
134
分析:k_d树的模版题,参考了别人的写的;划分的时候采用坐标跨度作为分割依据的效率略比采用树的深度作为划分依据的高;nth_element函数比sort函数的效率高;全部采用getchar和putchar效率也能提高一些。
#include
#include
using namespace std;
struct POINT
{
int x,y;
};
struct K_D_Node
{...
分类:
其他好文 时间:
2015-05-08 13:07:52
阅读次数:
119
题目:poj1949Rebuilding Roads
题意:给出一棵树,问现在要得到一颗有p个节点的子树,需要最少减掉几条边?分析:
首先可以明确是一个树形dp题目,状态也很好定义:
dp【root】【j】:以root为根节点的子树,得到 j 个节点的子树需要最少减掉的边数,注意子树中必须保留root节点。否则无法dp
那么很明显的边界条件dp【root】【1】 = num(儿子的个数),因...
分类:
其他好文 时间:
2015-04-30 20:09:00
阅读次数:
135
import hjzgg.analysistable.AnalysisTable;import hjzgg.first.First;import hjzgg.follow.Follow;import hjzgg.treenode.TreeNode;import java.awt.BorderLayo...
分类:
编程语言 时间:
2015-04-24 22:42:42
阅读次数:
236
CPython编译器设计1. 概述在2.4版本以前,从源码编译到字节码的过程主要分为两步:1)分析源码生成分析树(Parse/pgen.c)。2)从分析树生成字节码(Python/compile.c)。这是以往使用的编译过程,因而这不是一个标准的编译器工作流程。通常标准的编译流程是这样:1)分析源码生成分析树(Parser/pgen.c)。2)转换分析树为抽象语法树(Python/ast.c)。3...
分类:
编程语言 时间:
2015-04-17 18:16:28
阅读次数:
1576
用Java写java的编译器和jvm为什么用java,java的结构最便于理解,其丰富的设计模式能使编译器的结构十分鲜明一个编译器的前端模型源代码–词法分析器-(词法单元)-语法分析器-(语法分析树)-中间代码生成器–三地址代码再加上一个符号表连接所有的结构 文法定义一个上下文无关方法由四个元素组成
1.一个终结符号集合,也就是“词法单元”终结符号是该文法定义的语言的基本符号的集合
2.一个非终...
分类:
其他好文 时间:
2015-04-11 22:34:36
阅读次数:
281