全排列问题在公司笔试的时候很常见,这里介绍其递归与非递归实现。
递归算法
1、算法简述
简单地说:就是第一个数分别以后面的数进行交换
E.g:E = (a , b , c),则 prem(E)= a.perm(b,c)+ b.perm(a,c)+ c.perm(a,b)
然后a.perm(b,c)= ab.perm(c)+ ac.perm(b)= abc + acb.依次...
分类:
其他好文 时间:
2014-06-20 13:36:14
阅读次数:
206
前序和中序构建二叉树后序和中序构建二叉树二叉树遍历大总结:先序、中序、后序 、层次
(递归、非递归、Morris)
分类:
其他好文 时间:
2014-06-07 10:26:39
阅读次数:
229
package com.shiyeqiang.tree;
import java.util.Stack;
public class BiTree {
public static void main(String[] args) {
// 首先构造叶子节点
BiTree leafA1 = new BiTree(4);
BiTree leafA2 = new BiTree(5);...
分类:
其他好文 时间:
2014-06-04 13:54:31
阅读次数:
374
议题:快速排序实现之五(非递归实现,短序列优先处理,减少递归栈大小)分析:算法原理:此算法实现适用于系统栈空间不足够快速排序递归调用的需求,从而使用非递归实现快速排序算法;使用显示下推栈存储快速排序中的每一次划分结果
(将left和right都压入堆栈),并且首先处理划分序列较短的子序列(也就是在得...
分类:
其他好文 时间:
2014-06-03 08:23:29
阅读次数:
367
图论-深度优先和广度优先(均非递归)
不使用递归的原因我这在这不重复。因此如何替代递归呢?请接着看: 深度优先:使用Stack(栈)替代 广度优先:使用Queue(队列)替代 C++代码献上: 1
#include 2 #include 3 #include 4 #incl...
分类:
其他好文 时间:
2014-06-02 09:40:48
阅读次数:
198
今天总结一下二叉树,要考离散了,求不挂!二叉树最重要的就是 建立、4种遍历方式,简单应用
二叉树分为 :1、完全二叉树 2、满二叉树
结构性质:
1).满二叉树 高度为h ,节点数则为 2^h - 1,且叶子节点全在最下层,且叶子节点数为2^(n-1)个{n代表二叉树层数,也叫深度}
2).n个节点的 完全二叉树 深度为 int(log2n)(以2为底n的对数...
分类:
其他好文 时间:
2014-06-01 17:18:03
阅读次数:
549
递归函数具有很好的可读性和可维护性,但是大部分情况下程序效率不如非递归函数,所以在程序设计中一般喜欢先用递归解决问题,在保证方法正确的前提下再转换为非递归函数以提高效率。函数调用时,需要在栈中分配新的帧,将返回地址,调用参数和局部变量入栈。所以递归调用越深,占用的栈空间越多。如果层数过深,肯定会导致...
分类:
其他好文 时间:
2014-05-29 23:14:47
阅读次数:
420
广度优先搜索&深度优先搜索(Breadth First Search &
Depth First
Search)BFS优缺点:同一层的所有节点都会加入队列,所以耗用大量空间;仅能非递归实现;相比DFS较快,空间换时间;适合广度大的图;空间复杂度:邻接矩阵O(N^2);邻接表O(N+E);时间复杂度:...
分类:
其他好文 时间:
2014-05-29 15:33:14
阅读次数:
407
原题地址:https://oj.leetcode.com/problems/n-queens-ii/题意:和N-Queens这道题其实是一样的,只不过这次要求返回的时N皇后的解的个数的问题。解题思路:上道题使用了递归回溯的解法,这道题我们可以使用非递归回溯来解决,因为如果使用递归回溯来解决,那么代码...
分类:
编程语言 时间:
2014-05-26 08:14:55
阅读次数:
288
剑指offer上解决八皇后问题,没有用传统的递归或非递归回溯法,而是用了很巧妙的全排列法。
先说下八皇后问题:在8 X 8的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后不得处于同一行,同一列或者同意对角线上,求出所有符合条件的摆法。
全排列解决八皇后问题的思路如下:
由于8个皇后不能处在同一行,那么肯定每个皇后占据一行,这样可以定义一个数组A[8],数组中第i个数字,即A[i]表示位于第i行的皇后的列号。先把数组A[8]分别用0-7初始化,接下来对该数组做全排列,由于我们...
分类:
其他好文 时间:
2014-05-26 03:22:14
阅读次数:
223