之前实现过二叉树的创建,非递归遍历和递归遍历。现在添加一些其他的操作,包括:销毁一棵树计算树的深度(高度).计算叶子节点的个数计算所有节点的个数复制二叉树具体见代码:#include<stdio.h>
#include<stdlib.h>
typedefstructNode
{
intdata;
structNode*lch..
分类:
其他好文 时间:
2016-07-13 06:58:32
阅读次数:
219
http://blog.csdn.net/zitong_ccnu/article/details/11097663# ...
分类:
编程语言 时间:
2016-06-13 13:14:13
阅读次数:
135
二叉树是一种非常重要的数据结构,它是分支结构的基础,今天本人将写一篇博客来叙述一下其相关的算法以及二叉树的创建过程!
1:二叉树的创建:
主要有 先序,中序,后序,层序创建几种方式,其中前三种建立在二叉树遍历方式的基础上的。
(1):先序创建
先序创建就是先创建根节点,随后依次创建其左子树和右子树,我们可以采用递归的方法来实现,因为二叉树本身就是建立在递归算法的基础上的。
(2...
分类:
编程语言 时间:
2016-05-30 14:54:22
阅读次数:
201
AVL树写的不耐烦了,索性一次性代码贴上。。。
/**
2 * AVL树(C语言): C语言实现的AVL树。
3 *
4 * @author skywang
5 * @date 2013/11/07
6 */
#include
#include
#define HEIGHT(p) ( (p==NULL) ? -1 : (((Node *)(...
分类:
其他好文 时间:
2016-05-12 19:51:55
阅读次数:
222
二叉树先序遍历;(1)先序访问根节点(2)先序访问左子树(3)先序访问右子树二叉树中序遍历;(1)中序访问根节点(2)中序访问左子树(3)中序访问右子树二叉树后序遍历;(1)后序访问根节点(2)后序访问左子树(3)后序访问右子树测试用例:inta[10]={‘1‘,‘2‘,‘3‘,‘#‘,‘#..
分类:
其他好文 时间:
2016-05-12 00:04:26
阅读次数:
332
今天初步了解了二叉树的定义和创建及遍历方法,总结一下 #include <iostream>#include <stdio.h>#include <string.h>using namespace std;//二叉树结点的定义typedef struct BTNode{char data;struc ...
分类:
其他好文 时间:
2016-04-20 18:05:49
阅读次数:
132
输入AB#D##C##回车,或者按照规则自己去输入, 规则就是按前序遍历的方式输入, ...
分类:
其他好文 时间:
2016-04-19 17:27:31
阅读次数:
142
二叉树的创建、非递归与递归前中后遍历、层次遍历、求节点数目、深度、叶子节点个数、查找某一节点#include<iostream>
#include<queue>
#include<stack>
usingnamespacestd;
template<classT>
structBinaryTreeNode
{
BinaryTreeNode(constT&x)
..
分类:
其他好文 时间:
2016-03-28 19:02:11
阅读次数:
220
操作包括二叉搜索树的创建,插入,搜索,寻找前驱后继,删除,左右旋转,插入元素为根结点,以及两棵二叉树的合并。二叉树的创建很简单,只需要设置 value, left child, right child 即可。插入的时候递归插入树中合适的位置,通过比较插入元素的值与根结点元素的值,如果小于则递归插入到...
分类:
其他好文 时间:
2015-12-30 23:45:03
阅读次数:
309