当前位置:   article > 正文

python:分治算法求解数组最大最小值的两种方法_分治算法最小值问题python

分治算法最小值问题python

分治算法分治算法:分--治--合并,先将问题分成一个个小问题,然后逐个击破即可。常与其他算法结合.

此例中不断将数组从中间分组,直至分到子数组中只有两个数或一个数。

方法一:遍历方法

  1. def F(n):
  2. for i in range(len(n)):
  3. for j in range(i+1,len(n)):
  4. if n[i]>=n[j]:
  5. d=n[i]
  6. return d
  7. print(F([1,7,9,2,3,4]))

方法二:分治算法

  1. #分治算法
  2. def F(n):
  3. if len(n)==1 :
  4. return n[0]
  5. if len(n)==2:
  6. if n[0]>=n[1]:
  7. return n[0]
  8. return n[1]
  9. middle=int(len(n)/2)
  10. m1=n[:middle]
  11. m2=n[middle:]
  12. x1=F(m1)
  13. x2=F(m2)
  14. if x1>=x2:
  15. return x1
  16. return x2
  17. print(F([1,2,9,8,24,6,99]))


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/81993
推荐阅读
相关标签
  

闽ICP备14008679号