系列文章:数据结构与算法系列——从菜鸟到入门 层次遍历 二叉树的层次遍历是指,从二叉树的第一层(根结点)开始,从上至下逐层遍历,在同一层中从左至右依次遍历。 按层打印 按层打印要求,在不同的层打印后加上换行。问题的关键就是如何知道该换行了。只需要两个 node 类型的变量 last 和 nlast ...
分类:
其他好文 时间:
2017-03-18 20:32:36
阅读次数:
157
简述 二叉树的遍历分为先序遍历、中序遍历和后序遍历。如下图所示: 递归遍历 递归遍历实现比较简单,递归利用函数栈来保存信息。 非递归遍历 非递归需要额外 先序遍历: 1.申请一个栈 stack。然后将头结点head压入 stack 中。 2.从 stack 中弹出栈顶结点,记为 cur,然后打印 c ...
分类:
其他好文 时间:
2017-03-17 23:33:45
阅读次数:
165
直播写题这刺激233 原题: 著名游戏设计师vfleaking,最近迷上了Nim。普通的Nim游戏为:两个人进行游戏,N堆石子,每回合可以取其中某一堆的任意多个,可以取完,但不可以不取。谁不能取谁输。这个游戏是有必胜策略的。于是vfleaking决定写一个玩Nim游戏的平台来坑玩家。为了设计漂亮一点 ...
分类:
其他好文 时间:
2017-03-14 22:36:21
阅读次数:
223
看到二叉搜索树,就会回想到当年在大学课堂学习数据结构的情景,真的是悠悠岁月,欲说当年好困惑。 二叉树的可以参考的资料繁多,这里就不多说了,非要说的话,请看算法导论第12章吧。 下面是代码,包含了一点点C++11的特性。 1、二叉树遍历,没有比递归实现更优雅简洁直观的了,非要说非递归就是好的话我也赞成 ...
分类:
其他好文 时间:
2017-03-12 01:09:21
阅读次数:
147
1 #include 2 #include 3 4 using namespace std; 5 struct TreeNode 6 { 7 int data; 8 TreeNode *Left, *Right; 9 }; 10 11 TreeNode *root; 12 13 //中序遍历 14 ... ...
分类:
其他好文 时间:
2017-03-10 16:35:17
阅读次数:
270
题目1078:二叉树遍历 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5326 解决:3174 题目描述: 二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树; 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树; ...
分类:
其他好文 时间:
2017-02-20 13:33:58
阅读次数:
248
# include <stdio.h># include <stdlib.h># include <conio.h># define STACK_MAX_SIZE 20# define NULL 0struct BTreeNode{char data;struct BTreeNode *left;s ...
分类:
其他好文 时间:
2017-02-15 12:11:23
阅读次数:
226
关键:数组、定时器、初始化 重点:1、CSS:子类默认背景色继承父级背景色 2、二叉树遍历:初始化(数组清空,clearinterval(timer)) 二叉树遍历 改变颜色 ...
分类:
其他好文 时间:
2017-02-06 15:55:19
阅读次数:
140
AC代码: 题目来源: http://www.lintcode.com/zh-cn/problem/binary-tree-preorder-traversal/ AC代码: 题目来源: http://www.lintcode.com/zh-cn/problem/binary-tree-inorde ...
分类:
其他好文 时间:
2017-02-03 00:30:11
阅读次数:
304
二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍历即我们平常所说的层次遍历。因为树的定...
分类:
其他好文 时间:
2017-01-31 10:41:03
阅读次数:
347