分治法查找数组最大最小值

  一直以来,在编程的道路上,只注重寻求问题的解决方法,很少注重效率算法之类的东西,自然算法是比较薄弱的地方,刚看到有人在论坛问分治法的东西,到google搜索了下,把百度百科的分治法看了遍(话说google真比baidu厚道,很多时候搜东西,百度百科都是第一条显示),自己把那个小例子写了遍,打算以后尽量多学习学习算法之类的知识.

大致说明下程序流程,调用Find函数后,将判断是否为最小子结构,如果不是则将它2分继续判断,如果是最小子结构,则把最小子结构的元素与全局最大最小值做比较.

这里假设数据元素个数为8时,该程序走的流程应该是

0-7分解为0-3->

0-3分解为0-1满足最小子结构做完比较后return->

继续0-3分解的2-3满足最小子结构做完比较后return->

继续0-7分解的4-7->

4-7分解为4-5满足最小子结构做完比较后return->

继续4-7分解的6-7满足满足最小子结构做完比较后return,此时后面没有操作可做将一直return出第一次调用Find的位置,分治到处结束.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值