经典递归算法算法与排序算法
来源:互联网 发布:还有哪些办公软件 编辑:程序博客网 时间:2024/05/16 05:51
#coding:utf-8
#递归算法经典例子
#1,阶乘
def fn(n):
if n==1:
return 1
else:
return n*fn(n-1)
#阶乘递归过程
fn(5)=5*fn(4)
fn(4)=4*fn(3)
fn(3)=3*fn(2)
fn(2)=2*fn(1)
fn(1)=1
fn(2)=2
fn(3)=6
fn(4)=24
fn(5)=5*24
#2,汉诺塔
def move(n,a,buff,c):
if n==1:
print a,'=>',c
move(n-1,a,c,buff)
move(1,a,buff,c)
move(n-1,buff,c,a)
#汉诺塔递归过程
move(3,'a','b','c')=move(2,'a','c','b'),move(1,'a','b','c'),move(2,'b','c','a')
a=>c
move(2,'a','c','b')=move(1,'a','b','c'),move(1,'a','c'.'b'),move(1,'c','b','a')
a=>c a=>b c=>a
move(2,'b','c','a')=move(1,'b','c','a'),move(1,'b','c','a'),move(1,'c','a','b')
b=>c b=>a c=>b
#3,斐波那契数列
def fibo(n):
if n==1 or n==2:
return 1
if n>=3:
return fibo(n-1)+fibo(n-2)
#斐波那契数列递归过程
fibo(4)=fibo(3)+fibo(2)
fibo(3)=fibo(2)+fibo(1)
fibo(2)=1
fibo(1)=1
fibo(3)=2
#递归算法经典例子
#1,阶乘
def fn(n):
if n==1:
return 1
else:
return n*fn(n-1)
#阶乘递归过程
fn(5)=5*fn(4)
fn(4)=4*fn(3)
fn(3)=3*fn(2)
fn(2)=2*fn(1)
fn(1)=1
fn(2)=2
fn(3)=6
fn(4)=24
fn(5)=5*24
#2,汉诺塔
def move(n,a,buff,c):
if n==1:
print a,'=>',c
move(n-1,a,c,buff)
move(1,a,buff,c)
move(n-1,buff,c,a)
#汉诺塔递归过程
move(3,'a','b','c')=move(2,'a','c','b'),move(1,'a','b','c'),move(2,'b','c','a')
a=>c
move(2,'a','c','b')=move(1,'a','b','c'),move(1,'a','c'.'b'),move(1,'c','b','a')
a=>c a=>b c=>a
move(2,'b','c','a')=move(1,'b','c','a'),move(1,'b','c','a'),move(1,'c','a','b')
b=>c b=>a c=>b
#3,斐波那契数列
def fibo(n):
if n==1 or n==2:
return 1
if n>=3:
return fibo(n-1)+fibo(n-2)
#斐波那契数列递归过程
fibo(4)=fibo(3)+fibo(2)
fibo(3)=fibo(2)+fibo(1)
fibo(2)=1
fibo(1)=1
fibo(3)=2
fibo(4)=3
经典排序算法:
点击打开链接
1 0
- 经典递归算法算法与排序算法
- 递归算法经典之快速排序
- TreeView(经典递归算法)
- 递归算法经典列子
- 递归算法经典实例
- 经典递归算法,汉诺塔
- 汉诺塔算法(经典递归)
- 经典汉诺塔递归算法
- 经典递归算法
- 递归算法经典例题
- 排序算法和递归算法
- 快速排序,递归算法
- 快速排序递归算法
- 插入排序递归算法
- 快速排序算法(递归)
- 归并排序递归算法
- 利用递归算法排序
- 递归排序算法
- 下载android源码断后重新开始下载脚本
- 键盘基础
- ccf 2014.12 最优灌溉 裸最小生成树
- Python:ImportError大合集
- jQuery入门与使用
- 经典递归算法算法与排序算法
- CStringA、CStringW、string wstring之间转换
- Feature Pyramid Networks 文章阅读
- 二叉排序树的建立和遍历
- 北邮OJ-89. 统计时间间隔-13网研上机B
- 几百年前的东西
- Java设计模式之单例模式
- Button、EditText控件的一些容易忽略的好用的地方
- Android 仿网易云音乐 + Java socket自建服务器 过程&心得分享