2024/4/15小于 1 分钟
- 设计模式149
- 设计组件38
- 设计高频34
- 设计模型23
- 设计Python19
- 设计原理13
- Java12
- 设计规范9
- 设计思想5
- 设计框架4
- 应用相关3
- 介绍3
- 设计算法2
- 设计注意2
- 设计基础2
- 必读2
- Python1
- 公告1
- 快速上手1
- 基础知识1
- 设计综合1
1、递归与分治
1.1 递归算法:直接或者间接不断反复调用自身来达到解决问题的方法。这就要求原始问题可以分解成相同问题的子问题。
示例:阶乘、斐波纳契数列、汉诺塔问题
斐波纳契数列:又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F1=1,F2=1,Fn=F(n-1)+F(n-2)(n>
2,n∈N*))。
1.2 分治算法:待解决复杂的问题能够简化为几个若干个小规模相同的问题,然后逐步划分,达到易于解决的程度。
- 1、将原问题分解为n个规模较小的子问题,各子问题间独立存在,并且与原问题形式相同
- 2、递归的解决各个子问题
- 3、将各个子问题的解合并得到原问题的解
2023/11/10大约 5 分钟