堆栈与递归是相辅相成的。
比如Fibnacci数列就是递归定义:
Fib(n) = Fib(n-1) + Fib(n-2) (n>=2) Fib(0) = 0 Fib(1) = 1
Fibnacci数列:1, 1, 2, 3, 5, 8, 13, 21, ….
说到这里再写个Fibnacci的通项公公式:
然后再一个例子是书上的Ackerman函数:
转回经典的汉诺塔问题:假设有三个命名为X,Y[......]
堆栈与递归是相辅相成的。
比如Fibnacci数列就是递归定义:
Fib(n) = Fib(n-1) + Fib(n-2) (n>=2) Fib(0) = 0 Fib(1) = 1
Fibnacci数列:1, 1, 2, 3, 5, 8, 13, 21, ….
说到这里再写个Fibnacci的通项公公式:
然后再一个例子是书上的Ackerman函数:
转回经典的汉诺塔问题:假设有三个命名为X,Y[......]
Set实现
[cpp]
/********************************************
CopyRight 2007 北京交通大学 计科0601 李赫元
工程名称: 子集
文件名: Set.h
修改日期: 2007-4-30 20:19:59
描述: 定义并实现了集合的封装,子集的输出,全排列的输出
********************************************/
#include &[......]
比起第一个顺序非循环队列,这个是浪费空间,节约时间版本~
Queue.h:定义了队列的基本操作
#include <iostream>
enum {OK=0,WRONG=-1};
enum {QIS=10,QI=2};
typedef int Elem;
typedef int Status;
typedef struct
{
Elem *base;
int front;
int rear;
int qsize;
}Q[......]
迷宫问题问题描述:把一只小白鼠放入一个迷宫,问能否找到一条路让小白鼠出来。迷宫用数组表示。能通过则给出图……
不同于上次用栈实现,这里的“栈”自动地由系统分配,So……
#include <iostream>
struct Pos
{
int x;
int y;
};
int map[7][7]={{0,0,0,0,0,0,0},{0,1,0,1,1,1,0}[......]
