- 博客(8)
- 资源 (22)
- 收藏
- 关注
原创 程序9——层序遍历二叉树(从上往下打印二叉树)
从上往下打印二叉树就是层序遍历二叉树。还有一种变形,是逐层打印二叉树,这个的实现,请详见逐层打印二叉树。 如上图所示,则打印结果是:1,2,3,4,5,6,7在这个实现过程中需要用到队列。代码如下:void levelBinaryTree(tree *T) { if(T == null) { return; } queue q; tree *t
2015-12-22 21:42:11 1158
原创 程序10——逐层打印二叉树
逐层打印二叉树与从上往下打印二叉树不同。 逐层打印二叉树的结果为: 1 2,3 4,5,6 7void levelPrintTree(tree *T) { if (T == null) { return; } queue q; tree *t = T; q.push(q); q.push(null); while(!q
2015-12-22 21:39:10 2069 1
原创 程序8——二叉树的镜像
所谓二叉树的镜像,就是二叉树照镜子看到的结构,也就是说,左右子树是相反的。如下图所示: 上图中,第二棵二叉树就是第一棵二叉树的镜像。解决思路: 根节点不变,如果同时有左右结点的话,就交换一下位置。这其实还是一个递归的过程。 代码如下:void binaryTreeMirror(tree *T) { if (T == null) { return; }
2015-12-16 21:57:34 498
原创 程序7——一棵二叉树是不是另外一棵二叉树的子结构
树的子结构是指:在二叉树A中存在二叉树B,也是就是二叉树B是二叉树A的子结构。如下图所示: 基本思路: 首先在二叉树A中查找与二叉树B的根节点的值相同的节点,然后再一次判断该节点的左右孩子节点是不是跟二叉树B的左右孩子节点相同。代码如下:
2015-12-16 10:25:12 393
原创 程序5----判断平衡二叉树
概念所谓平衡二叉树就是, 二叉树的任意结点的左右子树的高度差不超过1. 如下图就是一棵平衡二叉树. 基本思路实现根据定义,可以很容易的想到, 可以求出每个结点的左右子树的高度, 然后比较高度差. 最先需要解决的就是求解二叉树的高度. int treeDepth(tree *T) { if (T == null) return 0;
2015-12-14 10:47:45 820
原创 freemarker简单入门Demo
近日在搞一个关于模板的东西. 基本过程是这样的: 假设是thrift服务吧, thrift从数据库中读取模板, 结合应用后端传过来的Map数据, 将Map数据填到模板中. 使用的框架时freemarker. 这里对freemarker做简单介绍. freemarker说白了就是, 使用数据模型去填充模板, 然后输出文本. Demo如下: pom依赖 <dependency>
2015-12-11 09:57:01 5139
转载 同步 异步 阻塞 非阻塞 IO
这4个名次的组合一般是: 同步阻塞 同步非阻塞 异步非阻塞 没有异步阻塞,因为太讲不通了,请看下文: 下文来自网络。同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non
2015-12-04 15:28:02 431
原创 java多线程同步 synchronized
注:本文内容参考自网络,源头以无法追溯,但是纯手工总结敲打。如有不准确之处,还请各位指教。多线程同步概述提到多线程就不得不提共享资源。当有多个线程去访问同一个共享资源时,会造成错误。比如比较常见的:同时写一个变量i。初始时i = 0,当一个线程读取 i 要对其加一操作时,另一个线程也到来了,读取 i 并对其加一操作,这时最后得到的结果i = 1。但是,理想情况下应该是 i = 2。这就是需要对多线程
2015-12-02 13:05:20 719
keil uvision 3 注册机 带CID的
2013-01-23
hex转coe工具
2013-01-17
数据结构 严蔚敏 C语言版 括号匹配
2013-01-16
数据结构严蔚敏C语言版 迷宫
2013-01-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人