#include
#include
#include
#include
#include
using namespace std;
char s1[100],s2[100],ans[100];
typedef struct BiTNode
{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void build(BiTr...
分类:
其他好文 时间:
2014-10-23 16:29:25
阅读次数:
332
一、基本概念每个结点最多有两棵子树,左子树和右子树,次序不可以颠倒。性质:1、非空二叉树的第n层上至多有2^(n-1)个元素。2、深度为h的二叉树至多有2^h-1个结点。满二叉树:所有终端都在同一层次,且非终端结点的度数为2。在满二叉树中若其深度为h,则其所包含的结点数必为2^h-1。完全二叉树:除...
分类:
其他好文 时间:
2014-10-11 18:15:15
阅读次数:
247
数据结构实验之求二叉树后序遍历和层次遍历
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历。
输入
输入数据有多组,第一行是一个整数t (t
输出
每组第一行输出二叉树的后序遍历序列,第二行输出二叉树的层次遍历序列
示例输入
2
ab...
分类:
其他好文 时间:
2014-10-10 10:52:04
阅读次数:
244
对于二叉树的创建我是利用先序遍历的序列进行创建能够对于树节点的内容我定义为char型变量 '0'为空,即此处的节点不存在头文件 Tree.h//链式二叉树的头文件#pragma once#include#includeusing namespace std;class BinaryTreeNode{...
分类:
其他好文 时间:
2014-10-09 01:22:27
阅读次数:
360
理论:深度优先搜索(Depth_Fisrst Search)遍历类似于树的先根遍历,是树的先根遍历的推广:广度优先搜索(Breadth_First Search) 遍历类似于树的按层次遍历的过程:java实现Vertex.javapackage 图;public class Vertex{ S...
分类:
其他好文 时间:
2014-10-04 21:27:27
阅读次数:
432
首先明白两个概念:
1. 深度遍历包括前中后序遍历三种;
2. 广度优先遍历就是层次遍历。
PS:
前中后序遍历,如果使用递归遍历,都很简单易理解;
如果使用非递归方式,首先想到的就应该是使用栈结构来控制整个过程,因为递归也是利用栈来实现的;
前中后序遍历的非递归方式中,后序遍历的非递归方式相比较而言,略复杂。...
分类:
其他好文 时间:
2014-10-02 12:39:03
阅读次数:
301
完全二叉树:一棵具有N个节点的二叉树的结构与满二叉树的前N个节点的结构相同
如何判断一个树是完全二叉树
可以使用层序遍历,只需2个步骤
第一步:如果遍历到一个节点只有右子树没有左子树,则不是完全二叉树
第二部:如果遍历到一个节点只有左子树,那么后面遍历到的节点必须是叶子节点,否则也不是完全二叉树
排除以上两种情况,则树是完全二叉树
核心代码:
//层序遍历
int L...
分类:
其他好文 时间:
2014-09-27 21:59:03
阅读次数:
401
这里实现了二叉树的先序遍历、中序遍历、后序遍历的递归和非递归两种形式的遍历以及对二叉树的层次遍历。
很基础,适合数据结构初学者参考。...
分类:
其他好文 时间:
2014-09-25 17:21:49
阅读次数:
223
题意 建树并层次遍历输出 (data,pos) pos表示改节点位置 L代表左儿子 R代表右儿子
建树很简单 开始在根节点 遇到L往左走遇到R往右走 节点不存在就新建 走完了就保存改节点的值 输出直接bfs就行了了
#include
#include
#include
using namespace std;
const int maxn = 300;
char...
分类:
其他好文 时间:
2014-09-23 12:28:54
阅读次数:
234