自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (2)
  • 收藏
  • 关注

原创 根据先序和中序遍历重建二叉树

思路: 关键在每次读取两个数组的范围问题:in(中序遍历数组)的边界比较好确定:有左子树时为[start2,i-1]; 有右子树时为[i+1,end2]pre(先序遍历数组)的边界要根据in确定:有左子树时根据aft和i求出左子树节点个数为:i-start2。所以pre的边界就要包括接下来的i-start2个节点,即:从start1+1到start1+(i-start2)此

2013-09-04 10:04:43 503

原创 根据后序和中序遍历重建二叉树

思路:与已知前序遍历的区别在于后序序列要从后向前的顺序建立。因为前序遍历根节点在其所有子树的前面,而后序遍历的根节点在其所有字数的后面。关键在边界问题:1) in的边界比较好确定: 有左子树时为[start2,i-1];有右子树时为[i+1,end2]2) aft的边界要根据aft确定: 有左子树时根据aft和i求出左子树节点个数为:i-start2。所以pre的边界就

2013-09-04 01:18:18 622

原创 二叉树两个结点的最低公共祖先

问题:求一个普通二叉树中两个节点的公共祖先。解决办法基于先序遍历,需要一个辅助栈存储两个节点的所有公共祖先。函数传入的两个节点参数为节点值,也可根据需要改为节点指针(需要预先判断是否为空),不影响整个过程。结果会包括以下特殊情况:(1)给出的二叉树为空;(2)给出的两个节点至少有一个不在二叉树中;(3)其中一个节点为另一个节点的孩子节点,此时公共祖先为后者的父节点;(4)两个节

2013-08-14 23:13:27 542

原创 《编程之美》——求二叉树中节点的最大距离(非递归)

这里给出书中扩展问题提出的非递归解法。就像书中总结的时候给出的叶先生博客中关于本题的解法,这里同样不需要在节点中嵌入nMaxLeft、nMaxRight等额外数据。主要原理是基于非递归后续遍历二叉树。额外需要两个栈:一个用于遍历二叉树,另一个用于临时存储以当前节点为根节点的子树的最大深度。当然也可以采取改变结点值来存储最大深度,不过这样虽然简单但并不实用。下面是代码请您感受下:

2013-08-14 16:48:37 709

原创 《编程之美》——中国象棋将帅问题

即将面临找工作,最近在看《编程之美》这本书。自己能力有限所以觉得有些题目难度不小,但仍觉受益匪浅,有时间一定再读几遍。下面是关于“中国象棋将帅问题”的一些心得:             书中给出的算法的精妙之处这里不再赘述,给出自己的想法:原理与书中给出算法相同,通过循环实现。对其中的任意一个位置k,其余8个位置都可以用k与1到8这8个数字的和对9取模来表示(其中和为0的情况要特殊处理)。

2013-07-15 16:43:22 719

简明python教程+python基础教程(第2版)+python基础教程(第2版)英文版

经典python入门教程包括简明python教程和python基础教程(中英文版)

2014-02-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除