#include #include #include #include using namespace std;typedef struct node{ int flag; char value; struct node *lchild; struct node *rchil...
分类:
其他好文 时间:
2015-08-17 00:37:16
阅读次数:
131
#include
#include
#include
#include
#include
using namespace std;struct Node
{
char data;
Node *left;
Node *right;
Node(char d = char()):data...
分类:
其他好文 时间:
2015-08-16 23:11:46
阅读次数:
173
一:前言二叉树的遍历方法分四种:前序,中序,后序以及层次遍历。其中,前中后遍历方法的实现分递归和非递归,非递归遍历的实现需要借助于栈。实际上,递归的调用就是一种栈的实现,所以,非递归遍历就需要人工借助栈结构来实现。而层次遍历需要借助队列。二:前中后序遍历递归遍历:递归遍历的思想和方法很简单,通过调整...
分类:
编程语言 时间:
2015-08-11 00:03:14
阅读次数:
232
??
//建议不会的 自己在纸上模拟一下 就会明白
#include
#include
#include
#include
typedef struct node
{
char x;
struct node *lchild;
struct node *rchild;
}*linklist,tree;
void chu(linklist *head)
{
(...
分类:
其他好文 时间:
2015-08-04 17:20:36
阅读次数:
83
节点结构:1 class TreeNode(){2 3 public String data;4 5 public TreeNode leftChild;6 7 public TreeNode rightChild;8 9 }前序遍历的一种方法: 1 public void levelO...
分类:
其他好文 时间:
2015-08-01 23:23:53
阅读次数:
144
测试环境:windows 7 vs2010
主要实现二叉树的初始化递归和非递归遍历,层次遍历,获取叶子节点的个数,获取树的高度以及镜像树,部分代码也参考了互联网上的相关资料。
源程序:
BinaryTreeNode.h
#ifndef _BINARY_NODE
#define _BINARY_NODE
#include
using namespace std;
template
st...
分类:
编程语言 时间:
2015-07-28 21:11:12
阅读次数:
130
求二叉树中的节点个数
求二叉树中叶子节点的个数
求二叉树的深度
求二叉树第K层的节点个数
递归遍历前序中序后序
非递归遍历前序中序后序层序
1 前序遍历
2 中序遍历
3 后序遍历
4 层序遍历
将二叉查找树变为有序的双向链表
判断两棵二叉树是否结构相同
判断二叉树是不是平衡二叉树
判断二叉树是否是搜索二叉树
求二叉树中两个节点的最低公共祖先节点
求二叉树中节点的最大距离
由前序遍历序列和中序遍历序列重建二叉树...
分类:
其他好文 时间:
2015-07-26 12:41:58
阅读次数:
186
二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序...
分类:
其他好文 时间:
2015-07-25 21:28:11
阅读次数:
133
这几天在复习关于树的各种算法,做了一些题,也搜索了网上各种算法,现在来总结一下树的各种常见算法。本文涵盖:二叉树先中后序遍历(递归&非递归)算法层次遍历(正序&逆序&锯齿形)非递归算法二叉树深度算法结点总数算法1.二叉树先序非递归遍历//先序非递归遍历 public ArrayList pre...
分类:
编程语言 时间:
2015-07-23 23:16:59
阅读次数:
253