package com.charles.algorithm; import java.util.LinkedList;import java.util.Queue; public class Tree { private Queue<TreeNode> elements = new LinkedLi ...
分类:
其他好文 时间:
2017-07-18 00:05:43
阅读次数:
137
题意: 给定一颗树, 按层次遍历输出。 分析: 用数组模拟二叉树, bfs即可实现层次遍历 ...
分类:
其他好文 时间:
2017-07-15 11:24:24
阅读次数:
163
Given a non-empty binary tree, return the average value of the nodes on each level in the form of an array. Example 1: 思路: 层次遍历。 ...
分类:
其他好文 时间:
2017-07-09 13:57:22
阅读次数:
195
题目见这里 (分析) 分四步进行: 1)根据给定的结点情况建二叉树 2)对输入的键值排序(asending) 3)对二叉树中序遍历,同时对应赋key值 4)层次遍历(队列应用) 题目并不困难,但是我误入了trick,错误假定了结点按先序遍历是按顺序编号的(当然是受样例的影响),所以有了下面22分(满 ...
分类:
其他好文 时间:
2017-07-08 00:19:46
阅读次数:
260
与树的前中后序遍历的DFS思想不同,层次遍历用到的是BFS思想。一般DFS用递归去实现(也可以用栈实现),BFS需要用队列去实现。 层次遍历的步骤是: 1.对于不为空的结点,先把该结点加入到队列中 2.从队中拿出结点,如果该结点的左右结点不为空,就分别把左右结点加入到队列中 3.重复以上操作直到队列 ...
分类:
编程语言 时间:
2017-07-03 11:55:11
阅读次数:
288
//层次遍历 void LevelOrder(BiTree T) ///////MDMDMD 这里是BiTree 不是BTNode { //管他啥linkedlist还是什么list,类型出现的地方很少,queue容器装入的是指针类型 queue queue; queue.push(T); //算法... ...
分类:
编程语言 时间:
2017-06-25 17:01:13
阅读次数:
155
二叉树的遍历有前序遍历、中序遍历、后序遍历、层次遍历等,笔者在这里总结一下各种遍历的实现。 一.前序遍历。 前序遍历访问节点顺序为:根节点->左子节点->右子节点。 递归实现如下: 非递归实现(使用栈)如下: 对于任一结点P: ①访问结点P,并将结点P入栈; ②判断结点P的左孩子是否为空,若为空,则 ...
分类:
其他好文 时间:
2017-06-24 17:20:22
阅读次数:
137
二叉树的遍历有前序遍历、中序遍历、后序遍历、层次遍历等,笔者在这里总结一下各种遍历的实现。 一.前序遍历。 前序遍历访问节点顺序为:根节点->左子节点->右子节点。 递归实现如下: 非递归实现(使用栈)如下: 对于任一结点P: ①访问结点P,并将结点P入栈; ②判断结点P的左孩子是否为空,若为空,则 ...
分类:
其他好文 时间:
2017-06-24 13:20:43
阅读次数:
147
//代码进过测试,直接可以拿来用#include #include #include #include #include # define MaxSize 100 using namespace std; //二叉树结点 typedef struct BTNode{ char data; struc... ...
分类:
编程语言 时间:
2017-06-23 20:56:04
阅读次数:
272
//代码经过测试,赋值粘贴即可用#include #include #include #include #include using namespace std; //二叉树结点 typedef struct BTNode{ char data; struct BTNode *lchild; str... ...
分类:
编程语言 时间:
2017-06-23 20:48:53
阅读次数:
113