周期 新增代码行 学习时长 发布博客量 学习目标 知识总结 改进措施 第八周 70 6 2 对二叉树操作熟练 二叉树的遍历 逻辑需要再理清 第九周 90 5 1 线索二叉树 遍历结点的前去或后继结点的地址 多做题去熟练 第十周 90 7 1 树、森林和二叉树的关系 三种表示法及三者之间互相转换 需要 ...
分类:
其他好文 时间:
2020-06-09 17:00:41
阅读次数:
68
前序遍历NLR:前序遍历(PreorderTraversal)又叫先序遍历。遍历顺序为:根节点—>左子树—>右子树,所以上图前序遍历的结果为ABDECFG代码实现:publicvoidprevOrder(TreeNoderoot){//递归方式if(root==null){return;}System.out.print(root.val);prevOrder(root.left);p
分类:
其他好文 时间:
2020-06-09 09:34:36
阅读次数:
55
一、易懂的形象理解 其实从名字就可以很好的理解这三种遍历,我在第二点时候说,但是估计能翻到我的文的同学们之前肯定看过好多类似的了,那咱们换个思路~ 先用我想的一种简单易懂的形象思维理解一下前序、中序、后序 +层序! 1、先序遍历 先序遍历可以想象成,小人从树根开始绕着整棵树的外围转一圈,经过结点的顺 ...
分类:
其他好文 时间:
2020-06-02 16:09:08
阅读次数:
556
继续练习二叉树,原题目链接:把二叉树打印成多行。 题目描述: 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 解题思路: 从上到下打印,从左到右输出;实质是要考察二叉树的遍历,不同于三种常用的遍历。 首先从根节点开始遍历;遍历到每个结点,就把该结点的左右结点一起存起来;由于需要返回 ...
分类:
其他好文 时间:
2020-06-01 14:06:37
阅读次数:
51
本章学习的内容为树 定义:树是一个n(n>=0)个结点的有序合集 结点:指树中的一个元素; 结点的度:指结点拥有的子树的个数,二叉树的度不大于2; 数的度:指树中的最大结点度数; 叶子:度为0的结点,也称为终端结点; 高度:叶子节点的高度为1,根节点高度最高; 层:根在第一层,以此类推; 二叉树的定 ...
分类:
其他好文 时间:
2020-06-01 01:10:47
阅读次数:
65
1.二叉树的遍历以及哈夫曼树是本章的重点。通过PTA和小组讨论,让我更能想清楚二叉树在存储的时候的模样,也能利用链式和顺序结构操作二叉树,总结如下;哈夫曼树比较清晰,主要是构造(要点是先取权值最小的树作为左右子树构造一棵新的二叉树)与计算WPL=(该结点的权值*对应的结点的路径长度)的求和。 2 / ...
分类:
其他好文 时间:
2020-05-31 21:22:57
阅读次数:
59
本章学习了树和二叉树(树的结构定义是一个递归的定义,即在树的定义中又用到树的定义) 1.树的定义:有且只有一个根节点,其余节点分为n个有限集,每个集合为根的子树,若只有根节点,称为只有根节点的树(分等级的分类方案都可由一个树结构来表示) 2.度与深度:节点的度:该节点拥有几个子树,就为几 树的度:最 ...
分类:
其他好文 时间:
2020-05-31 13:19:05
阅读次数:
74
思路: 通常我们进行二叉树的遍历(前序遍历、中序遍历和后序遍历)时,不考虑空节点。但有时需要我们将空节点也放入遍历序列中。 由于考虑了空节点,不能再用是否为空作为递归结束的条件。容易想到,只要一个节点非空,并且它的左右叶节点不同时为空,则其左右叶节点均要被遍历。这样我们就得到了考虑空节点的遍历。 以 ...
分类:
其他好文 时间:
2020-05-31 13:09:56
阅读次数:
116
学习进度表 周数 学习内容 新增代码 知识总结 第9周 队列的定义与存储 50 知道了队列的定义 第10周 树的基本概念 二叉树的遍历 60 了解了二叉树的遍历方式 及代码运用 第11周 哈夫曼树编码 0 哈夫曼树编码构造过程 第12周 图的基本概念与存储 65 图的存储结构及代码运用 ...
分类:
其他好文 时间:
2020-05-17 19:12:50
阅读次数:
47
递归实现结构很好记,上来写两递归,递归左子树,递归右子树。 前序遍历,访问节点(打印节点)在两个递归前面——中、左、右; 中序遍历,访问放递归中间——左中右; 后序遍历,先两递归,最后才访问——左、中、右。 1)先序遍历void preorder(BiTree T){ if (T != NULL) ...
分类:
其他好文 时间:
2020-05-14 15:51:55
阅读次数:
66