二叉树的创建。这里采用最简单的情况,创建完全二叉树,用数组来保存: 1 struct TreeNode 2 { 3 int val; 4 TreeNode *left, *right; 5 TreeNode(int x): val(x), left(NULL), right(...
分类:
其他好文 时间:
2014-08-18 01:30:03
阅读次数:
332
谜题45:令人疲惫不堪的测验 收获:(1)递归调用的先序便利二叉树,以后在理解递归时可以做出书上所示的递归二叉树。这个图的好处是,指出了递归的深度+递归叶子层+调用的顺序(通过在每条线加上调用序号)。(2)JVM的栈深度默认是1024;这也就导致本题的线序遍历二叉树边数过多,永远不会抛出stack....
分类:
编程语言 时间:
2014-08-17 21:09:43
阅读次数:
231
1 /* 2 * 二叉树 3 * 4 * (将完全二叉树的数组形式改为链表形式) 5 * 6 * 1 7 * 2 3 8 * ...
分类:
其他好文 时间:
2014-08-17 11:39:16
阅读次数:
345
二叉树的二叉树节点的描述publicclassBiTNode{chardata;BiTNodelc,rc;}下面我们分别用递归和非递归实现前、中、后序遍历,以及使用了两种方法来进行层次遍历二叉树,一种方法就是使用STL中的queue,另外一种方法就是定义了一个数组队列,分别使用了front和rear两个数组的下标来..
分类:
其他好文 时间:
2014-08-16 01:11:30
阅读次数:
203
问题描述:层遍历二叉树,同一层从左往右打印。定义二元查找树的结点为:typedef struct BSTreeNode { int data; BSTreeNode *left; BSTreeNode *right;} Node;例如输入二叉树:6/ \4 12/ \ / \25...
分类:
其他好文 时间:
2014-08-11 14:40:32
阅读次数:
173
最近复习数据结构中的二叉树的相关问题,在这里整理一下
这里包括:
1、二叉树的先序创建
2、二叉树的递归先序遍历
3、二叉树的非递归先序遍历
4、二叉树的递归中序遍历
5、二叉树的非递归中序遍历
6、二叉树的递归后序遍历
7、二叉树的非递归后序遍历
8、二叉树的层次遍历
这里感谢博客http://blog.csdn.net/skylinesky/article/details/...
分类:
编程语言 时间:
2014-08-10 18:46:10
阅读次数:
456
给出借助栈数据结构,遍历二叉树的非递归方法。文中以中序遍历为例子,但前序遍历和后序遍历,只需要对循环中三个代码块做一些顺序上的调整,即可得到。
分类:
其他好文 时间:
2014-08-09 18:37:58
阅读次数:
276
题目描述:
输入一个二叉树,输出其镜像。
九度OJ的测试很蛋疼啊~
这里,我先写一个求二叉树镜像的代码,使用自己的测试代码:
思路很简单:先判断是否左右孩子都为空,如果不是,则交换,然后递归左右子树。其实是先序遍历。
/*
二叉树镜像
by Rowandjj
2014/8/1
*/
#include
using namespace std;
typedef str...
分类:
其他好文 时间:
2014-08-01 19:47:22
阅读次数:
266
思路:
即二叉树的层序遍历。可以使用一个辅助队列,首先将二叉树的根节点入队,然后打印根结点的值,接着判断根结点
是否有左右孩子,如果有,将左右孩子入队。如此循环直到队列为空。
代码:
/*
从上到下遍历二叉树
by Rowandjj
2014/8/1
*/
#include
using namespace std;
typedef struct _BNODE_
{
i...
分类:
其他好文 时间:
2014-08-01 19:40:02
阅读次数:
245
二叉树主要有三种遍历方式:前序遍历、中序遍历和后序遍历,每种方式都有递归和非递归两种方法。递归的方法简单明了,但是会比较耗时,非递归的方法效率相对较高,但是算法也比较晦涩。本文就这三种遍历方式做简单的介绍。...
分类:
其他好文 时间:
2014-08-01 13:47:41
阅读次数:
223