主要的学习内容 在本章中,主要学习了二叉树的实现以及各种遍历的方法。着重介绍了前序、中序、后序三种遍历方法的递归实现,同时也描述了前序中序遍历的迭代方法。 教材的主要内容 教材是以哈夫曼编码树为主要脉络,进行介绍的。这部分还未看完。 心得 感觉这章还偏基础,简单一些。更多的是讲述一些遍历这种基础操作 ...
分类:
其他好文 时间:
2018-05-17 21:13:39
阅读次数:
155
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二 ...
分类:
其他好文 时间:
2018-05-17 16:53:56
阅读次数:
126
前序 在程序代码中出现的简单的模块要数函数了 函数的特点: 1、代码重复利用 2、便于修改和维护 3、控制执行时机 缺点:污染全局变量,模块成员之间没什么关系 例如:闭包模块化案例 利用面向对象思想,并使用立即执行函数,实现闭包,避免了变量污染,同时同一模块内的成员变量也没有了关系,在模块外部无法修 ...
分类:
其他好文 时间:
2018-05-16 19:39:24
阅读次数:
167
递归算法底层的实现使用的是栈存储结构,所以可以直接使用栈写出相应的非递归算法。 先序遍历的非递归算法 从树的根结点出发,遍历左孩子的同时,先将每个结点的右孩子压栈。当遇到结点没有左孩子的时候,取栈顶的右孩子。重复以上过程。实现代码函数: // 先序遍历非递归算法 void PreOrderTrave ...
分类:
其他好文 时间:
2018-05-16 10:53:36
阅读次数:
182
1 #include 2 #include 3 4 typedef enum 5 { 6 Link, 7 Tread 8 }PointerTag; 9 10 typedef char TElemType; 11 12 typedef struct TreeNode 13 { 14 TElemType... ...
分类:
其他好文 时间:
2018-05-15 22:43:24
阅读次数:
228
#include #include #define ERROR 0 #define OK 1 typedef enum{Link, Thread} PointerTag; //link = 0表示指向左右孩子指针 //Thread = 1表示指向前驱或后继的线索 typedef st... ...
分类:
其他好文 时间:
2018-05-15 21:06:38
阅读次数:
198
/** * 先前序遍历这棵树的每个结点,如果遍历到的结点有子结点, * 就交换它的两个子结点,当交换完所有的非叶子结点的左右结点之后,就得到了树的镜像。 */ package javabasic.nowcoder; /* * 操作给定的二叉树,将其变换为源二叉树的镜像。 * 二叉树的镜像定义:源二叉... ...
分类:
其他好文 时间:
2018-05-13 11:48:52
阅读次数:
94
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文: "知名互联网公司校招 Java 开发岗面试知识点解析" ,来好好的对 Java 知识点进行复习和学习一番,大部分内容参照自这一篇文章,有一些自己补充的,也算是重新学习一下 Java 吧。 前序文章链接: ...
分类:
编程语言 时间:
2018-05-10 21:42:56
阅读次数:
173
//题目描述// 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。// 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。// 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},// 则重建二叉树并返回。public class t ...
分类:
其他好文 时间:
2018-05-03 15:28:45
阅读次数:
141
1.二叉树的序列化 序列化:如图,按前序进行序列化可得到字符串1!2!3!4!-1!-1!5!-1!-1!3!-1!-1!,其中!表示一个值的结束,-1表示该节点为空。 反序列化:序列化的逆操作。 附代码 2.二叉树的分层遍历 1.维护last和nlast指针。 2.开始时last=root 3.队 ...
分类:
其他好文 时间:
2018-05-03 13:28:57
阅读次数:
208