1.顺序栈头文件 # include<iostream> using namespace std; struct items{ int x,y; char* dir; }; class SeqStack{ /…
标签:递归算法
排列问题(递归算法)
问题描述:对n个元素进行全排列,列出所有情况,例如1,2,3三个数字会得到1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1这6中情况 思路:设n为元素个数,元素集合为R(r1,r2,r3……
中序遍历二叉树(非递归算法 c语言)
#include “stdio.h” #include “string.h” #include “malloc.h” #define NULL 0 …
分治法的递归算法时间复杂度分析
最近看分治法,那我们就一起研究下分治法的时间复杂度吧。 分治法是将问题分解为语言问题等价的规模相等的子问题进行求解的过程。因此根据定义可知,如果原问题为A该问题被分解为K个子问题,则子问题应该为A/k。同时当子问题被解决…
不需要栈的二叉树遍历的非递归算法
talk is cheap, show you the code … #include<stdio.h> #include<stdlib.h> struct tNode { int d…
Findmaxmin递归算法实现
#include <stdio.h> int Findmax(int *a,int left ,int right){ if(left==right) return a[left];//递归终止条件 int …
马踏棋盘(递归算法)
#include <iostream.h> int board [8][8]={0}; int Htry1[8]={-2,-1,1,2,2,1,-1,-2}; int Htry2[8]={1,2,2,1,-1…
二叉树(9)----打印二叉树中第K层的第M个节点,非递归算法
1、二叉树定义: typedef struct BTreeNodeElement_t_ { void *data; } BTreeNodeElement_t; typedef struct BTreeNode_t_ { …
递归算法:猴子吃桃
public class MonkeyAndPeach { /** * 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 * 第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃了前一天…
递归算法之台阶问题
问题:某人要上一节楼梯,该楼梯有n阶台阶,现在知道此人迈步最大可以达到3阶台阶,最小1阶台阶,现在问题是此人上楼梯的方法有多少种! 算法思想: 此人有三种步伐为1、2、3。现在要上n阶台阶,可以将大问题化解。用F(n)代…
二叉树的递归算法
(一)问题描述 1.求二叉树的层次(高度) 2.求二叉树的叶子个数 3.求二叉树的总结点个数 4.求二叉树的度为1的结点个数 5.求二叉树的度为2的结点个数 6.复制二叉树 7.交换二叉树的左右子树 8.利用先序和中序序…
Java十进制转二进制,递归算法
用递归算法求一个int的二进制字符串; 思路是:递归最简单情况(递归出口)是0和1;其余的是先调用递归算出n/2的二进制字符串,然后加上n时的位数(n % 2)。 import java.util.Scanner; pu…