深度优先遍历从某个顶点出发,首先访问这个顶点,然后找出刚访问这个结点的第一个未被访问的邻结点,然后再以此邻结点为顶点,继续找它的下一个新的顶点进行访问,重复此步骤,直到所有结点都被访问完为止。广度优先遍历从某个顶点出发,首先访问这个顶点,然后找出这个结点的所有未被访问的邻接点,访问完后再访问这些结点...
分类:
其他好文 时间:
2015-05-11 17:39:50
阅读次数:
188
Given preorder and inorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the tree.
基本思路:
从前序和中序遍历结果,构造出一个二叉树。
前序遍历为: 根 {左子树的所有结点} {右子树所有...
分类:
其他好文 时间:
2015-05-07 18:59:06
阅读次数:
114
原创作品,转载请注明出处:点我二叉查找树(Binary Search Tree,BST),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的...
分类:
编程语言 时间:
2015-05-03 15:56:24
阅读次数:
211
开始的地方先放上关于二叉树的定义二叉树:是n(n>=0)个结点的有限集合,它或者是空树(n=0),或者是由一个根结点及两颗互不相交的、分别称为左子树和右子树的二叉树所组成。满二叉树:一颗深度为k且有2^k-1个结点的二叉树称为满二叉树。除叶子结点外的所有结点均有两个子结点。节点数达到最大值。所有叶子...
分类:
其他好文 时间:
2015-04-27 19:40:27
阅读次数:
130
二叉树的遍历是指从根结点开始,按照某种次序依次访问二叉树中的所有结点,每个结点只能被访问一次。
遍历的意义在于把树中的结点变成某种有意义的线性序列。
前序遍历:
算法思想:
二叉树为空,则操作返回
不为空,则
? 访问结点数据,并打印出来
? 先序遍历左子树
? 后序遍历右子树
实现代码:
void pre_order_...
分类:
其他好文 时间:
2015-04-25 18:27:29
阅读次数:
195
B树即二叉查找树(二叉排序树 或 二叉搜索树):1.所有非叶子结点至多拥有两个儿子(Left和Right);2.所有结点存储一个关键字;3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;如:B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果...
分类:
其他好文 时间:
2015-04-24 23:55:00
阅读次数:
128
声明:本文只是介绍了这几种树的定义和相互之间的比较介绍。并没有涉及到它们的插入、删除、分裂、整合等操作。这些会在后面的文章中有介绍。B 树即二叉搜索树: 1.所有非叶子结点至多拥有两儿子(Left和Right);
2.所有结点存储一个关键字;
3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;
如:B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等...
分类:
其他好文 时间:
2015-04-22 18:21:24
阅读次数:
131
反转二叉树,即交换所有结点的左右子树,但不能使用递归方法。
解析:既然不能使用递归那么可以使用栈,代码如下:
#include
#include
#include
#include
#include
using namespace std;
typedef struct BinaryTreeNode
{
int m_nValue;
Bin...
分类:
其他好文 时间:
2015-04-22 11:49:04
阅读次数:
216
二叉查找树(Binary Search Tree)也称二叉搜索树、有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树:若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若任意节点的右子树不空...
分类:
其他好文 时间:
2015-04-11 17:47:51
阅读次数:
121
1.题目描述:点击打开链接
2.解题思路:本题要求每个点发出的两条路的方向都要相同,如果这样的路径不完整,需要添加尽量少的一些边使得满足该条件。实际上本题考查的就是欧拉回路,而且欧拉回路必须是偶数条路径。而欧拉回路存在的一个条件是度数为奇数的结点不能超过两个,但本题肯定不能存在度数为奇数的点,否则不可能满足题意。
因此所有结点的度数必须为偶数,如果发现有两个点的度数均为奇数,那么就把他们连起来...
分类:
其他好文 时间:
2015-04-09 08:53:30
阅读次数:
140