数据结构-二叉树
leoxry
天道酬勤,拼搏一个最好的自己送给未来的自己,每天开开心心敲代码就是一种幸福,不计得失,回归刚开始学习时内心的单纯
展开
-
数据结构实验之二叉树的建立与遍历
sdut原题链接 数据结构实验之二叉树的建立与遍历 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。Input 输入一个长度小于50个字符的原创 2017-02-07 11:24:21 · 437 阅读 · 0 评论 -
数据结构实验之二叉树一:树的同构
sdut原题链接数据结构实验之二叉树一:树的同构 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2原创 2017-02-08 22:00:20 · 391 阅读 · 0 评论 -
树-堆结构练习——合并果子之哈夫曼树
think: 1这个题目作为树—堆结构练习的习题,感觉将树—堆知识点高度囊括,今天整整做了一天,终于在今天晚上8点正式AC此题,内心跌宕起伏,久久无法平息,呜呜呜,终于AC了,咳咳,正式一点啦,这个题将最小堆的建立,最小堆元素插入,最小堆删除,最小堆的建立优化(先用静态数组建立一颗完全二叉树,再从最后一个有儿子的结点以及其他前面的各结点逐一进行向下过滤操作,知道根结点过滤完毕,最小堆就建立起来了)原创 2017-02-09 20:17:08 · 361 阅读 · 0 评论 -
数据结构实验之二叉树六:哈夫曼编码
sdut原题链接 sdut原题代码链接 数据结构实验之二叉树六:哈夫曼编码 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 字符的编码方式有多种,除了大家熟悉的ASCII编码,哈夫曼编码(Huffman Coding)也是一种编码方式,它是可变字长编码。该方法完全依据字符出现概率来构造出平均长度最短的编码,称之为最优编码原创 2017-02-09 21:59:11 · 460 阅读 · 0 评论 -
线段树—数组计算机
think: 1 下午在学习线段树,感觉内心一直波动起伏,静不下心来,线段树相对于前面的字典树等,感觉更多侧重于解决动态区间问题,比如求和/最大值/最小值等,多思考,多练习。 2 关于数组计算机的题目,自己有疑问就是学哥建议开数组时候开最大值的4倍,???。sdut原题链接数组计算机 Time Limit: 1000MS Memory Limit: 65536KBProblem Descrip原创 2017-02-12 17:52:58 · 459 阅读 · 1 评论 -
5-12 修理牧场 (25分)——最小堆->哈夫曼树+快速排序
think: 1通过最小堆生成哈夫曼树+快速排序5-12 修理牧场 (25分)农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要NNN块木头,每块木头长度为整数LiL_iLi个长度单位,于是他购买了一条很长的、能锯成NNN块的木头,即该木头的长度是LiL_iLi的总和。 但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要原创 2017-03-19 21:29:54 · 1595 阅读 · 0 评论 -
根据后序和中序遍历输出先序遍历
think: 1自己或许应该转变思想,自己一直将树的部分当做一种结构来记忆使用,但基本经常出现错误,或许树的知识点也应该作为一种解决问题的思想来理解,而不是一再的死记硬背模板,要学会灵活的变通和变化模板,使其具有生气,自己关于树的遍历部分可能因为自己不自信因此死记模板而不知道灵活变通,导致很多题目很容易犯错误,再次打击自信,所以形成了现在一种看见树就畏惧不自信的心态,自己应该战胜自己,失败并不可怕原创 2017-03-07 22:12:21 · 5117 阅读 · 0 评论 -
算术表达式的转换——算术表达树
Think: 1知识感悟:算术表达式的转换可以思考通过后缀表达式建树,然后分别进行前序遍历,中序遍历,后序遍历即可得到前缀表达式,中缀表达式,后缀表达式SDUT题目链接 建议参考博客算术表达式的转换 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 小明在学习了数据结构之后,突然想起了以前没有解决的算术表达式转化成后缀式的原创 2017-06-19 17:46:34 · 1623 阅读 · 0 评论 -
【判断两棵二叉排序树是否相同】数据结构实验之查找一:二叉排序树
Think: 1知识点:判断两棵二叉排序树是否相同 2判断依据: (1):根节点相同 (2):(rt1的左子树 == rt2的左子树 且 rt1的右子树 == rt2的右子树) || (rt1的左子树 == rt2的右子树 且 rt1的右子树 == rt2 的左子树) 3反思: (1):相同元素而插入顺序不同的二叉排序树中序遍历有序唯一,故不能通过判断元素插入顺序不同的两棵二叉排序树是否原创 2017-12-13 15:50:33 · 1392 阅读 · 0 评论 -
数据结构实验之查找二:平衡二叉树
think: 1 今天学习了平衡二叉树的知识,感觉还是不理解,自己照着部分模板敲了代码,但是也不知道自己的学习方法对不对,不知道自己是不是有点拔苗助长的滋味,数据结构树的部分,从最开始的二叉树的遍历,到搜索二叉树,再到现在的平衡二叉树,感觉自己有很多细节并没有理解,很多时候感觉可能只会用一些模板,而对其深刻的思想却领悟的并不透彻,数据结构从开始的线性表,感觉自己并没有脚踏实地的一步一步走坚固,或许原创 2017-02-12 15:25:03 · 599 阅读 · 0 评论 -
二叉搜索树+前序遍历 -> 后序遍历
sdut原题链接迷失の搜索树 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 小璐在机缘巧合之下获得了一个二叉搜索树,这个二叉搜索树恰好有n个节点,每个节点有一个权值,每个节点的权值都在[1,n]这个区间内,并且两两不相同,真是优美的性质啊 但是命运的不公又让她失去了这个二叉搜索树 幸运的是,她还记得自己丢失的二叉搜索树原创 2017-02-08 18:33:02 · 1115 阅读 · 0 评论 -
排序二叉树的建立注意重复元素
think: 1建立排序二叉树时 注意重复元素 sdut原题链接 树结构练习——排序二叉树的中序遍历 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 在树结构中,有一种特殊的二叉树叫做排序二叉树,直观的理解就是——(1).每个节点中包含有一个关键值 (2).任意一个节点的左子树(如果存在的话)的关键值小于该节点的关键值原创 2017-02-08 17:08:34 · 8117 阅读 · 0 评论 -
二叉排序树
sdut原题链接 二叉排序树 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 今天我们要判断两原创 2017-02-08 16:44:34 · 576 阅读 · 0 评论 -
数据结构实验之二叉树三:统计叶子数
sdut原题链接数据结构实验之二叉树三:统计叶子数 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并求二叉树的叶子结点个数。Input 连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。Output原创 2017-02-07 11:59:28 · 447 阅读 · 0 评论 -
数据结构实验之二叉树七:叶子问题(二叉树+队列)
sdut原题链接数据结构实验之二叉树七:叶子问题 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立该二叉树并按从上到下从左到右的顺序输出该二叉树的所有叶子结点。Input 输入数据有多行,每一行是一个长度小于50个字符的字符串。原创 2017-02-07 16:21:54 · 427 阅读 · 0 评论 -
数据结构上机测试4.1:二叉树的遍历与应用1
sdut原题链接数据结构上机测试4.1:二叉树的遍历与应用1 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 输入二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列。Input 第一行输入二叉树的先序遍历序列; 第二行输入二叉树的中序遍历序列。Output 输出该二叉树的后序遍历序列。Example Inp原创 2017-02-07 17:38:34 · 421 阅读 · 0 评论 -
数据结构实验之二叉树四:还原二叉树
sdut原题链接数据结构实验之二叉树四:还原二叉树 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。Input 输入数据有多组,每组数据第一行输入1个正整数N(1 <= N <= 50)为树中结点总数,随后2行先后给出先序和中序遍历序列,均是长度为N的不包原创 2017-02-07 19:36:31 · 480 阅读 · 0 评论 -
求二叉树的深度
sdut原题链接求二叉树的深度 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 已知一颗二叉树的中序遍历序列和后序遍历序列,求二叉树的深度。Input 输入数据有多组,输入T,代表有T组数据。每组数据包括两个长度小于50的字符串,第一个字符串表示二叉树的中序遍历,第二个表示二叉树的后序遍历。Output 输出二叉树的深度原创 2017-02-07 21:11:40 · 508 阅读 · 0 评论 -
数据结构实验之二叉树五:层序遍历(二叉树+队列)
sdut原题链接数据结构实验之二叉树五:层序遍历 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立二叉树并求二叉树的层次遍历序列。Input 输入数据有多行,第一行是一个整数t (t<1000),代表有t行测试数据。每行是一个长度小原创 2017-02-07 21:48:22 · 546 阅读 · 0 评论 -
求二叉树的层次遍历
think: 1 通过中序遍历和后序遍历还原二叉树 2 二叉树的层序遍历 sdut原题链接 求二叉树的层次遍历 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 已知一颗二叉树的前序遍历和中序遍历,求二叉树的层次遍历。Input 输入数据有多组,输入T,代表有T组测试数据。每组数据有两个长度小于50的字符串,第一个字原创 2017-02-08 08:55:42 · 694 阅读 · 0 评论 -
数据结构实验之求二叉树后序遍历和层次遍历
think: 1通过前序遍历和中序遍历还原二叉树以及后序遍历 2 通过已还原的二叉树进行层序遍历 sdut原题链接 数据结构实验之求二叉树后序遍历和层次遍历 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历和层序遍历。Input 输入数据有多组,第一行是一个原创 2017-02-08 09:28:06 · 395 阅读 · 0 评论 -
数据结构实验之查找一:二叉排序树
think: 1 判断两个二叉搜索树是否相同的函数中注意判断二叉搜索树rt1和二叉搜索树rt2是否为空sdut原题链接数据结构实验之查找一:二叉排序树 Time Limit: 400MS Memory Limit: 65536KBProblem Description 对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,原创 2017-02-08 14:58:23 · 704 阅读 · 0 评论 -
【二叉树】二叉树学习小结1
一、主干功能部分代码分享 1.存储定义struct Tree{ char data;/*数据域*/ struct Tree *left;/*指针域-指向左子树*/ struct Tree *right;/*指针域-指向右子树*/};2.按先序遍历输入的字符序列建立二叉树,如abc,,de,g,,f,,, (其中,表示空结点)#include #include #in原创 2019-08-07 17:37:58 · 217 阅读 · 0 评论