自顶向下,逐步求精
来源:互联网 发布:网络用语粗鄙化原因 编辑:程序博客网 时间:2024/06/05 16:11
是什么
定义
所谓自顶向下
就是将问题分解成一套子问题。这一过程一直持续到每一个子问题足够基础,不需要进一步分解为止。
所谓逐步求精
就是将每一个子问题细化解决,制定策略。当所有子问题都解决后,这个问题也便解决了。图像分析
从树状图来看:第0层即要解决的问题,第1层,将问题分为了3个子问题,第二层和第三层继续将问题细分,直到不能继续细分位置。从中可以看出:自顶向下,也就是从抽象到具体的过程。- 作用
自顶向下,逐步求精
的思想到底有什么作用呢?其实,在我们的日常生活中,已经不知不觉用到了这种方法。比如:我们要邀请好友来聚会,我们可以这样子分析:
这便是该思想的实际应用,我们将举办聚会这个抽象的问题分层了好几个问题,这便实现了具体化,决解聚会问题,只需把这些子问题解决便可以了。
实例
在此,我们用自顶向下,逐步求精的方法来分析洗衣机洗衣服的过程,假设洗衣机有以下功能:
water_in_switch(open_close) // open 打开上水开关, close关闭water_out_switch(open_close) // open 打开排水开关, close关闭get_water_volume() //返回洗衣机内部水的高度motor_run(direction) // 电机转动。 left左转, right右转, stop停time_counter() // 返回当前时间计数,以秒为单位halt(returncode) //停机, success 成功 failure 失败
- 分析
- 伪代码
//设置模式,水位read mode,waterlevel//注水water_in_switch(open)while (get_water_volume()<waterlevel) ;water_in_switch(close);//浸泡start_time=time_counter();while (time_counter()-start_time <= time_setting_soak[mode]) ;//洗衣start_time=time_counter();while (time_counter()-start_time <= time_setting_wash[mode]) motor_run(left); motor_run(stop); motor_run(left); motor_run(stop); motor_run(left); motor_run(stop); motor_run(right); motor_run(stop); motor_run(right); motor_run(stop); motor_run(right); motor_run(stop);//排水,脱水water_out_switch(open);start_time=time_counter();motor_run(right);while (time_counter()-start_time <= time_setting_drain[mode]) ;motor_run(stop);water_out_switch(close);//结束halt(success);
从以上分析中,我们已经介绍了 自顶向下,逐步求精思想的概念和应用,要想真正掌握,还需多加训练。
阅读全文
0 0
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- “自顶向下,逐步求精”
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精方法
- 自顶向下 逐步求精
- 自顶向下 逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- Java MD5加密方法
- zookeeper(一)
- 判断某一年天数的问题
- [mysql终极优化]之主从复制与读写分离详细设置教程
- EditText方框验证码
- 自顶向下,逐步求精
- 带来高收入的三大竞争力技巧,可以涨到40W了!
- 欢迎使用CSDN-markdown编辑器
- Mysql中的函数
- Java集合之ArrayList源码解析
- C语言动态申请三维数组的三种方法
- 强制转换数据库类型
- JS类型转换
- IDEA开发JavaWeb项目的.gitignore配置