先序遍历,中序遍历,后序遍历 ,区别在于三条核心语句的位置层序遍历 采用队列的遍历操作第一次访问根,在访问根的左孩子,接着访问根的有孩子,然后下一层自左向右一一访问同层的结点# 先序遍历 # 访问结点,遍历左子树,如果左子树为空,则遍历右子树, # 如果右子树为空,则向上...
分类:
编程语言 时间:
2015-07-31 23:11:36
阅读次数:
247
求二叉树中的节点个数
求二叉树中叶子节点的个数
求二叉树的深度
求二叉树第K层的节点个数
递归遍历前序中序后序
非递归遍历前序中序后序层序
1 前序遍历
2 中序遍历
3 后序遍历
4 层序遍历
将二叉查找树变为有序的双向链表
判断两棵二叉树是否结构相同
判断二叉树是不是平衡二叉树
判断二叉树是否是搜索二叉树
求二叉树中两个节点的最低公共祖先节点
求二叉树中节点的最大距离
由前序遍历序列和中序遍历序列重建二叉树...
分类:
其他好文 时间:
2015-07-26 12:41:58
阅读次数:
186
1 #include 2 using namespace std; 3 struct squeue 4 { 5 int data; 6 squeue *next; 7 }; 8 struct link 9 {10 squeue* front;11 squeue ...
分类:
其他好文 时间:
2015-07-23 17:28:15
阅读次数:
160
编程判断一个字符序列是否是回文。回文是指一个字符序列以中间字符为基准两边字符完全相同,即顺着看和倒着看是相同的字符序列。如字符序列“ABCDCBA”就是回文,而字符序列“ABCBCAB”,就不是回文。#include//包含输出函数
#include//包含退出函数
#include//包含字符串长度函数
#include//包含内存分配函数
typedef char DataType;//类型定...
分类:
其他好文 时间:
2015-07-20 13:07:04
阅读次数:
148
思想:根据完全二叉树的定义,对完全二叉树按照从上到下、从左到右的层次遍历,应该满足一下两条要求:
●某节点没有左孩子,则一定无右孩子
●若某节点缺左或右孩子,则其所有后继一定无孩子
若不满足上述任何一条,均不为完全二叉树。
算法思路:采用层序遍历算法,用cm变量值表示迄今为止二叉树为完全二叉树(其初值为1,一旦发现不满足上述条件之一,则置cm为0),bj变量值表示迄今为止所有节点均...
分类:
编程语言 时间:
2015-07-08 02:07:38
阅读次数:
298
#include "stdio.h"#include "stdlib.h"#include "math.h"#include "time.h"#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 /* 存...
分类:
其他好文 时间:
2015-07-07 12:43:41
阅读次数:
84
思想:采用基于层序遍历的方法。用level扫描各层节点,若某一层的节点出队后,rear指向该层中最右节点,则将rear赋值给last(对于第一层,last=1).在出队时,若front=last,表示这一层处理完毕,让层号level增1,并置last为下一层最右节点。那么如何求一层的最右节点呢?这是因为第一层只有一个节点,它就是最右节点。对于其他层,上一层最右节点最后进队的孩子一定是该层的最右节点...
分类:
编程语言 时间:
2015-07-06 10:19:59
阅读次数:
281
1,堆是什么? 堆的逻辑结构是一颗完全二叉树,但物理结构是顺序表(一维数组)。同时,此处的堆不要与JAVA内存分配中的堆内存混淆。这里讨论的是数据结构中的堆。 参考:计算机中的堆是什么? 2,数组实现堆的优势及特点 由于堆从逻辑上看是一颗完全二叉树,因此可以按照层序遍历的顺序将元素放入一维数组中。注...
分类:
其他好文 时间:
2015-07-05 18:32:32
阅读次数:
125
第一部分:顺序循环队列的实现 1 //循环队列的实现 2 #define OK 1 3 #define MAXSIZE_Q 10 4 //#define OVERFLOW -2 5 #define ERROR 0 6 7 typedef int Status; 8 typedef int QEle....
分类:
其他好文 时间:
2015-06-28 18:47:21
阅读次数:
161