19. 二叉树的镜像(递归)即:交换所有节点的左右子树。从下往上 或 从上往下
都可以。#include #include using namespace std;struct BTNode{ int v; // default
positive Integer. BTNode *pLeft; B....
分类:
其他好文 时间:
2014-05-01 12:41:11
阅读次数:
416
这道题需要注意的地方有以下一些:1.
求从子树中的某节点到当前节点的最大路径不能采用递归方法,因为这个部分会被反复的调用,如果用递归,会使得之前已经计算过的节点被重复计算,使得时间复杂度特别高;2.
树中有节点的值是负数的。下面是AC代码。(我发现AC并不代表代码真的完全正确!!) 1 /** 2 ...
分类:
其他好文 时间:
2014-05-01 12:10:52
阅读次数:
274
日本程序员norahiko,写了一个排序算法的动画演示,非常有趣。这个周末,我就用它当做教材,好好学习了一下各种排序算法。排序算法(Sorting
algorithm)是计算机科学最古老、最基本的课题之一。要想成为合格的程序员,就必须理解和掌握各种排序算法。目前,最常见的排序算法大概有七八种,其中"...
分类:
编程语言 时间:
2014-05-01 11:33:13
阅读次数:
595
r排列生成: gen 递归层数d表示正在生成第d个元素。 vis记录是否出现过。
#include#include#includeusing namespace std;int n, r;int A[50],
vis[50];//记录第i个元素是否生成过int cnt;int rer;void ou...
分类:
其他好文 时间:
2014-05-01 11:12:38
阅读次数:
280
思路很简单,就是存储之前运算的结果,然后递归class Solution {public: int**
dp; int get_min_sum(vector > &grid, int m, int n) { if (dp[m][n] != -1)
...
分类:
其他好文 时间:
2014-05-01 07:54:47
阅读次数:
330
package algorithm.sort;public class QuickSort {
public static void main(String[] args) { int[] a = new int[] {5, 3, 7, 2, 1, 4,
9, 8, 6, 1}; sort(a); ...
分类:
其他好文 时间:
2014-05-01 03:33:20
阅读次数:
330
λ演算(Lambda-calculus)是一套用于研究函数定义、应用和递归的形式系统。它由阿兰佐·丘奇(Alonzo
Church)和史蒂芬·科尔·克林(Stephen Cole
Kleene)在20世纪三十年代引入。丘奇运用λ演算在1936年给出“判定性问题”(Entscheidungs prob...
分类:
其他好文 时间:
2014-05-01 03:07:43
阅读次数:
343
小米面试
我:
一面:
数据结构+算法:
斐波那契数列:非递归-迭代
1MB内存,外存-100W整数,排序,O(1)-位图法
设计模式:
代理模式:OO
C++:虚函数表
二面:
数据结构+算法:
快排
二叉树遍历
设计模式:
单例模式-多线程:
关系数据库的特性
进程和线程的区别
三面:
数据结构+算法:...
分类:
移动开发 时间:
2014-04-29 13:17:19
阅读次数:
606
原题链接: http://oj.leetcode.com/problems/restore-ip-addresses/
这道题的解法非常接近于NP问题,也是采用递归的解法。基本思路就是取出一个合法的数字,作为IP地址的一项,然后递归处理剩下的项。可以想象出一颗树,每个结点有三个可能的分支(因为范围是0-255,所以可以由一位两位或者三位组成)。并且这里树的层数不会超过四层,因为IP地址由四段组...
分类:
其他好文 时间:
2014-04-29 13:16:22
阅读次数:
313
了解了数据结构--栈(基础知识)
下面简单整理了下有关栈的几个应用。
递归
把一个直接调用自己,或间接调用自己的函数,成为递归函数。
这里有一个比较好的例子,看下面一组数:
你是否发现了这组数的规律呢,没错你会发现从第三个数开始,每个数都是前面两个数的之合。
现在我们通过程序来实现这个算法,如下java代码:
public class Test {
private ...
分类:
其他好文 时间:
2014-04-27 22:37:30
阅读次数:
404