问题0: 二叉树的非递归遍历方法问题1: 判断一颗二叉树是否为二叉查找树.问题2: 判断两个二叉树是否相同问题3: 判断一棵树是否为平衡树问题4: 寻找二叉树的最大和最短简单路径长度问题5: 二叉树上简单路径的长度问题解答0: [0.1]前序.使用栈,访问节点后先压入右儿子,再...
分类:
其他好文 时间:
2015-03-13 16:23:09
阅读次数:
131
递归与非递归转换的基础知识是能够正确理解三种树的遍历方法:前序,中序和后序,第一篇就是关于这三种遍历方法的递归和非递归算法。如何用栈实现递归与非递归的转换(一)三种遍历树的算法一.为什么要学习递归与非递归的转换的实现方法?1)并不是每一门语言都支持递归的.2)有助于理解递归的本质.3)有助于理解栈,...
分类:
其他好文 时间:
2015-03-13 12:27:37
阅读次数:
133
这里对这个DP问题做了代码实现,分为递归算法(自顶向下)和非递归算法(自下向上),以及拓展的自下向上算法的实现。递归算法: 1 #include 2 3 using namespace std; 4 5 int size = 10; 6 7 inline int max(int a, int ...
分类:
编程语言 时间:
2015-03-11 23:00:20
阅读次数:
277
全排列算法的递归与非递归实现全排列算法是常见的算法,用于求一个序列的全排列,本文使用C语言分别用递归与非递归两种方法实现,可以接受元素各不相同的输入序列。题目来自leetcode:
Given a collection of numbers, return all possible permutations.
For example,
[1,2,3] have the followi...
分类:
编程语言 时间:
2015-03-11 19:47:45
阅读次数:
146
部分理论和图来自:http://www.cnblogs.com/jingmoxukong/p/4308823.html (侵删)归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即...
分类:
编程语言 时间:
2015-03-09 18:56:30
阅读次数:
158
/*
题目描述:
N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)
输入:
输入包括一个整数N,(1<=N<90)。
输出:
可能有多组测试数据,对于每组数据,
输出当楼梯阶数是N时的上楼方式个数。
样例输入:
4
样例输出:
5
基本思路:
走到第n阶时,可能是从第n-1阶走一步到的,也可能是从n-2阶走两阶到的,设F(n)为走到n阶的种数,则F(n)=F(n-1)...
分类:
其他好文 时间:
2015-03-08 10:30:16
阅读次数:
127
题意:N个点形成一棵树。给出根结点P还有树结构的信息。输出每个点的F[i]。F[i]:以i为根的所有子结点中编号比i小的数的个数。0 G[N];int C[N];int ans[N];stack S;bool vis[N];void Add(int x){ for(int i=x;i0;i-=...
分类:
编程语言 时间:
2015-03-06 14:00:35
阅读次数:
139
今天复习了一下二叉树的前序遍历、中序遍历、后序遍历的递归与非递归算法,顺便记录一下://TreeTest.h#include struct TreeNode{ int value; TreeNode* leftChild; TreeNode* rightChild; void...
分类:
编程语言 时间:
2015-03-06 00:58:18
阅读次数:
210
LeetCode 上不会的Reverse IntegerSingle Number II斐波那契数列 非递归算法Maximum Subarray 维持最大值Integer to RomanSort ColorsPopulating Next Right Pointers in Each Node 怎...
分类:
其他好文 时间:
2015-03-05 12:15:22
阅读次数:
161