减治思想和分治思想的区别

「减治思想」简介

这里「减」是「减少问题」规模的意思,治是「解决」的意思。「减治思想」从另一个角度说,是「排除法」,意即:每一轮排除掉一定不存在目标元素的区间,在剩下 可能 存在目标元素的区间里继续查找。每一次我们通过一些判断和操作,使得问题的规模逐渐减少。又由于问题的规模是有限的,我们通过有限次的操作,一定可以解决这个问题。

「减治思想」案例

例 1:以前央视二套的《幸运 52》栏目有一个「猜价格」游戏。游戏规则是:给出一个商品,告诉答题者它的价格在多少元(价格为整数)以内,让答题者猜,如果猜出的价格低于真正价格,主持人就说少了,高于真正的价格,就说多了,看谁能在最短的时间内猜中。这个游戏就是应用减治思想完成「猜价格」任务的。主持人说「多了」或这「少了」,就是给参与游戏的人反馈,让游戏者逐渐缩小价格区间,最终猜中价格。

例 2:不知道大家小时候查《新华字典》的时候是怎么查的,我经常不翻目录,直接根据要找的字的拼音,在字典里翻页。例如要找的字是「算」(汉语拼音首字母为 S),如果一开始翻到了 L 开头的页,那么我就会在 L 开头的页后面的页里任意挑一页。如果看到的是 T 开头的页,我就会在 T 开头的页前面的页里任意挑一页,这样的查字典的策略就应用了减治思想。

例 3:相信有不少程序员定位程序中的 bug 的时候,会在程序里打印一些变量的输出语句,逐步定位有问题的代码的行,这样的定位问题的方法也应用了「减治思想」。

「分治思想」简介

可能有的朋友听说过「分治思想」,「分治思想」与「减治思想」的差别就在于,我们把一个问题拆分成若干个子问题以后,应用「减治思想」解决的问题就只在其中一个子问题里寻找答案。「分治思想」我们在下一章会向大家介绍。

内容100%来源:LeetBook-二分查找

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值