树
用来写“树”的学习过程,从零开始挖掘各种“树”
AC它真的很香
看心情写博客 | 健忘小天才
展开
-
FBI树(fbi)
【题目描述】我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。由一个长度为2N的“01”串S可以构造出一棵FBI树T,递归的构造方法如下:T的根结点为R,其类型与串S的类型相同;若串S的长度大于1,将串S从中间分开,分为等长的左右子串S1和S2;由左子串S1构造R的左子树T1,由右子串S2构造R的右子树T2。现在给定一个长度为2N的“01”串,请用上述构造方原创 2020-08-08 09:16:08 · 453 阅读 · 0 评论 -
二叉树建树+遍历
首先需要一个结构体,表示每一个结点typedef struct node { char data; //结点存放的值 struct node* lchild; //指向左子树的指针 struct node* rchild; //指向右子树的指针}BTnode;然后就可以直接建树了代码示例是按前序遍历(关于前序遍历后面有解释)建树void build(BTnode* &T){ char data; cin >> data; T = new BTnode; if原创 2020-07-28 12:45:14 · 387 阅读 · 0 评论 -
树01
/此专栏主要根据《算法竞赛入门经典(第2版)》撰写//核心思想不变,与原题要求的输入格式有略微差别/这一次主要是熟悉左右结点的编号对于一个结点k,其左子结点、右子结点的编号分别是2k和2k+1。这个结论非常重要下面我们看一个例子Dropping,Balls,UVa 679题目大意:有一棵二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从上到下从左到右编号为1,2,3,…,2^D-...原创 2020-03-10 15:30:07 · 161 阅读 · 0 评论