自顶向下,逐步求精
2017-11-28 17:06
525 查看
一、基本概念
在计算机科学中,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。
二、基本思想及策略
分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。
分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。
三、基本步骤
step1 分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;
step2 解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题
step3 合并:将各个子问题的解合并为原问题的解。
四.洗衣机例子
1.用户输入参数(水位和洗衣的模式)
2.当关闭洗衣机门后进行灌水,直到指定的水位停止。
3.根据用户所输入的洗衣模式来控制洗衣的时间,以及转动的速度
4.当时间到后,打开排水开关,直到水排干后进入脱水模式
5.脱水模式进行至指定的时间。
伪代码:
scanf(水位,洗衣模式)
while(当前水位<指定水位)
加水;
while(运行时间<指定洗衣模式时间)
洗衣机来回转动;
while(水位=0)
进入脱水模式;
while(脱水时间=指定时间)
exit;
在计算机科学中,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。
二、基本思想及策略
分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。
分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。
三、基本步骤
step1 分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;
step2 解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题
step3 合并:将各个子问题的解合并为原问题的解。
四.洗衣机例子
1.用户输入参数(水位和洗衣的模式)
2.当关闭洗衣机门后进行灌水,直到指定的水位停止。
3.根据用户所输入的洗衣模式来控制洗衣的时间,以及转动的速度
4.当时间到后,打开排水开关,直到水排干后进入脱水模式
5.脱水模式进行至指定的时间。
伪代码:
scanf(水位,洗衣模式)
while(当前水位<指定水位)
加水;
while(运行时间<指定洗衣模式时间)
洗衣机来回转动;
while(水位=0)
进入脱水模式;
while(脱水时间=指定时间)
exit;
相关文章推荐
- 【实践+科普】自顶向下,逐步求精——面向过程程序设计方法
- 自顶向下,逐步求精--软件工程导论
- “自顶向下,逐步求精”——面向程序设计
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- C++程序设计实践学材系列(23)——1.5.3 体会“自顶向下,逐步求精”思想
- “自顶向下, 逐步求精”的程序设计方法。
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下 逐步求精”的方法
- 浅谈“自顶向下,逐步求精”
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下逐步求精的程序设计方法
- 自顶向下 逐步求精
- 自顶向下,逐步求精的程序设计方法。