什么是分治?

在计算机科学与技术领域中,(Divide and Conquer) 是一种常见的算法思想。分治法的理解其实很简单,直接按照字面的意思理解就可以:“分而治之”。(divide)是将一个大的问题分解成一些小的问题分别求解,(conquer)则是将分解的问题答案合并在一起,整个过程则是分而治之。这个算法技巧是很多算法的基础,我们之前学过的快速排序,其中就有分治思想的应用。
摘要由CSDN通过智能技术生成

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!

作者| 慕课网精英讲师 JdreamZhang

在计算机科学与技术领域中,分治法(Divide and Conquer) 是一种常见的算法思想。

分治法的理解其实很简单,直接按照字面的意思理解就可以:“分而治之”。(divide)是将一个大的问题分解成一些小的问题分别求解, (conquer)则是将分解的问题答案合并在一起,整个过程则是分而治之。这个算法技巧是很多算法的基础,我们之前学过的快速排序,其中就有分治思想的应用。

简单来说,分治法就是将一个复杂的大问题分解成两个或者更多相同或者相似的子问题,再把子问题继续拆分成更小的子问题,直到子问题可以直接求解,然后原问题的解就是子问题的解的合并。

1. 分治法的基本思想及实现策略

主要思想:分治法将一个规模较大的问题,拆分成一些规模较小的相同问题,小问题各个求解,再合并成大问题的解。这个是分值算法的主要思想。

实现策略:分治算法对于一个规模较大 的问题(假设其规模为 n ),如果当规模 n 的问题很容易解决则直接解决;否则就将这个规模为 n 的大问题拆分为几个规模为 k (规模 k 小于规模 n ) 的子问题,这些子问题与原问题的形式相同,则可以递归地求解这

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值