- 博客(7)
- 资源 (17)
- 收藏
- 关注
原创 二叉排序树转化为有序双向链表
题目:给出一棵排序二叉树根节点,将二叉树转化为有序的双向链表,只修改指针指向显然这是个经典的题目,难点也不多,重在好好理解排序二叉树的特性和二叉树的递归性质。解法:思路:排序二叉树既有特殊性left所以,将left和right子树分别转化完成后,root节点放在中间即可。当需要转化left子树的时候a)left == null,那么无需转化,head
2013-05-10 21:07:27 1716
原创 排序二叉树常规操作(搜索,插入,删除,最大节点,最小节点)
感谢参考http://www.cnblogs.com/zhuyf87/archive/2012/11/09/2763113.htmlhttp://www.cnblogs.com/GoAhead/archive/2012/10/26/2741508.html名字:二叉排序树又称为二叉搜索树和二叉查找树概念:以下情况可以定义一棵二叉排序树 a)空树
2013-05-09 21:12:55 1893
原创 在二叉树中查找两个节点的最近的公共祖先节点(有回溯指针)(NCA--nearest common ancestor)
这个题目有两个变种:有回溯指针的二叉树和无回溯指针的二叉树题目:给出两个节点node1,node2和二叉树根节点root,查找node1和node2的最近的公共祖先节点;特殊值(简易)之处在于每个节点都有一个指向父节点的回溯指针解法一:最常规的解法--依次轮询思路:使用回溯指针可以找到node1和node2到root的路径,在这两条路径上总有一个汇聚点,通过
2013-05-08 20:55:22 1070
原创 在二叉树中查找两个节点的最近的公共祖先节点(无回溯指针)(NCA--nearest common ancestor)
这个题目有两个变种:有回溯指针的二叉树和无回溯指针的二叉树题目:给出两个节点node1,node2和二叉树根节点root,查找node1和node2的最近的公共祖先节点解法一:最常规的解法思路:仍然是递归性质(我们可以这样理解递归:左子树和右子树在形式上都等同于根树,这就形成了递归的条件)。试想把一棵树分为三个部分:root,left,right那么no
2013-05-08 19:20:55 1211
原创 最大连续子数组
题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。解法一:最基本的轮询思路:找出所有的连续子数组,求和
2013-05-07 18:08:54 885
原创 短字符串a中的字母是否都包含在长字符串b中
感谢参考http://kb.cnblogs.com/page/150578/按照笔记本的分类,我们应该先说题目聊算法。题目:假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字母数相对少一些。从算法上讲,什么方法能最快的查出所有小字符串里的字母在大字符串里都有?举例:比如,如果是下面两个字符串:String 1: ABCDEF
2013-05-07 15:34:19 1051
原创 二叉树遍历(前中后层序/非递归)
感谢参考如下http://www.cnblogs.com/kekec/archive/2011/10/11/2207671.htmlhttp://kb.cnblogs.com/page/150578/一:前中后序递归实现/*前中后序的递归实现理解起来最为简单,要点在于visit(node)的位置。*//*前中后序递归实现*///前序遍历void BT_PreOrder
2013-05-07 12:01:58 1120
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人