原题地址:http://oj.leetcode.com/problems/binary-tree-postorder-traversal/题意:实现后序遍历。递归实现比较简单,非递归实现。解题思路:这道题的迭代求解比先序遍历和后序遍历要麻烦一些。假设一棵树是这样的:
...
分类:
编程语言 时间:
2014-05-12 08:13:39
阅读次数:
336
题目链接:10253 - Series-Parallel Networks
白书的例题。
这题也是需要把问题进行转化,一个并联可以分为几个串联,然后串联可以分成边。
如此一来,最后叶子结点种数会是n,问题转化为去分配叶子结点,使得总和为n。
书上有两种方法,一种直接去递归,利用组合数学的方式去计算答案。
一种是推出递推式:
设dp[i][j]为一共j个叶子结点的树,子树的叶子最多的为i...
分类:
Web程序 时间:
2014-05-12 06:22:04
阅读次数:
447
public class Perm{ public static void perm(Object[]
a, int k, int m) { if (k == m) for (int i = 0; i =
2,则对首个元素的取可能的所有值,后面n-1个元素进行全排列(递归)。时间...
分类:
编程语言 时间:
2014-05-12 05:09:00
阅读次数:
428
HardFault_Handler栈溢出检查机制,适用于所有CM3芯片,造成主栈(MSP)溢出的原因有很多,如过多的定义局部变量,递归调用,中断嵌套等都有可能会导致主栈溢出,stm32不具备MPU,没有对内存进行保护的硬件机制,而软件检测栈溢出又有其局限性
STM32出现HardFault_H...
分类:
其他好文 时间:
2014-05-11 17:06:41
阅读次数:
586
这道题之前一直没敢做,没想到前天用递归一遍过了。。
当时为什么想着用递归,而不是dp呢,因为我想到达某个位置的情况有很多,即使从当前位置开始的搜索是已知的,但之前的状态是怎样的也无从得知啊,实话实说,我是不会用dp解这个。。
递归的思路就好说多了,从当前点开始,有上下左右四个位置可以探测,如果探测成功的话,要把当前的位置用其他符号标记出来,以免重复访问。实际上就是DFS嘛,只不过入口多一些。
...
分类:
其他好文 时间:
2014-05-11 14:20:56
阅读次数:
321
import java.util.Iterator;
import java.util.Scanner;
public class Stack implements Iterable {
private Node first;// 栈顶
private int N;// 元素数量
// 定义结点的嵌套类
private class Node{
Item item;
Node nex...
分类:
其他好文 时间:
2014-05-11 13:20:22
阅读次数:
257
生成组合数是初中的知识,没有人不知道。组合数学我认为是最有意思的数学分支,室友应该是这方面的专家,他的纸牌问题我听都听不懂。。
不知道你们是什么感觉,我以看到组合数,马上会想到全排列,这可能是因为当时初中的时候,这两部分知识是放在一起讲的,也确实有一些联系。怎样生成全排列算法课在递归的那部分讲过,写的也比较多,很多字符串的问题我都忍不住想用全排列试一下。那能不能用递归的方法来生成组合数呢?
答...
分类:
其他好文 时间:
2014-05-11 13:15:13
阅读次数:
270
通过二叉树的中序和后序遍历序列构造二叉树的非递归实现方法...
分类:
其他好文 时间:
2014-05-11 04:42:17
阅读次数:
305
本文地址:http://blog.csdn.net/a_ran/article/details/25250583
在学习linux系统编程的时候,实现了rmdir命令的特别版本。
因为rmdir只能删除空文件夹,而我实现的功能相当于 rm -rf path...
实现的功能:
递归删除指定文件夹的所有文件
程序说明:
1. my_rmdir(): 即为递归删除动作的自定义函...
分类:
系统相关 时间:
2014-05-11 01:56:33
阅读次数:
538
快速排序是基于分治思想的一种排序算法,就像该方法的名字一样,速度比较快,所以叫做快速排序;它的平均时间复杂度为O(N*logN),最坏时间复杂度为O(n2),由于快速排序在序列元素数量多的时候速度比较快,所以很多语言内置的排序方法也是用快速排序实现的。快速排序也有很多优化的版本,比如在排序时基数的选...
分类:
其他好文 时间:
2014-05-10 23:46:39
阅读次数:
553