采用二叉链表存储方式的二叉树,非递归中序遍历C语言实现...
分类:
编程语言 时间:
2014-10-08 13:40:45
阅读次数:
164
给定一个二叉树,求它的最大深度。最大深度是沿从根节点,到叶节点最长的路径。...
分类:
其他好文 时间:
2014-10-04 01:10:05
阅读次数:
186
把三个二叉树遍历的题放在一起了。递归写法太简单,就不再实现了,每题实现了两种非递归算法。一种是利用栈,时间和空间复杂度都是O(n)。另一种是借助线索二叉树,也叫Morris遍历,充分利用树中节点的空指针域。先序:Binary Tree Preorder TraversalGiven a binary...
分类:
其他好文 时间:
2014-10-03 23:07:55
阅读次数:
341
首先明白两个概念:
1. 深度遍历包括前中后序遍历三种;
2. 广度优先遍历就是层次遍历。
PS:
前中后序遍历,如果使用递归遍历,都很简单易理解;
如果使用非递归方式,首先想到的就应该是使用栈结构来控制整个过程,因为递归也是利用栈来实现的;
前中后序遍历的非递归方式中,后序遍历的非递归方式相比较而言,略复杂。...
分类:
其他好文 时间:
2014-10-02 12:39:03
阅读次数:
301
二叉树是另一中树型结构,它的特点是每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。...
分类:
其他好文 时间:
2014-09-26 00:48:48
阅读次数:
244
最近使用了二叉树,除了想起能用递归遍历外,其它的方式却想不通。痛恨自己对事情一知半解,查阅资料,总结一下,方便理解。一、各遍历顺序: 先序遍历:根->左子树->右子树 中序遍历:左子树->根->右子树 后序遍历: 左子树->右子树->根二、代码实现 1 #include 2 #inc...
分类:
其他好文 时间:
2014-09-26 00:01:08
阅读次数:
200
这里实现了二叉树的先序遍历、中序遍历、后序遍历的递归和非递归两种形式的遍历以及对二叉树的层次遍历。
很基础,适合数据结构初学者参考。...
分类:
其他好文 时间:
2014-09-25 17:21:49
阅读次数:
223
算法网上很多,这里只是我手写的可执行的代码,备份用。#include<iostream>
#include<vector>
#include<queue>
usingnamespacestd;
structnode{
charelement;
structnode*left;
structnode*right;
//structnode*parent;
node(chara){
element=a;
}..
分类:
其他好文 时间:
2014-09-22 12:28:43
阅读次数:
229