Java算法–第三章–排序(1)分治法
一、分治法
1.分治法(divide and conquer, D&C)︰将原问题划分成若干个规模较小而结构与原问题一致的子问题﹔递归地解决这些子问题,然后再合并其结果,就得到原问题的解。
2.容易确定运行时间,是分治算法的优点之一。
3.分治模式在每一层递归上都有三个步骤
(1)分解(Divide) :将原问题分解成一系列子问题;
(2)解决(Conquer):递归地解各子问题。若子问题足够小,则直接有解;
(3)合并(combine):将子问题的结果合并成原问题的解。
二、分治的关键点
1.原问题可以一直分解为形式相同子问题,当子问题规模较小时,可自然求解,如一个元素本身有序
2.子问题的解通过合并可以得到原问题的解
3.子问题的分解以及解的合并一定是比较简单的,否则分解和合并所花的时间可能超出暴力解法,得不偿失
本文详细探讨了分治法在Java算法中的应用,包括分治模式的三个步骤——分解、解决和合并,以及如何确保关键点的正确执行。适合理解递归和高效排序的开发者。
分治法&spm=1001.2101.3001.5002&articleId=115419121&d=1&t=3&u=b4d9ef82dede417eb122801a15198dd2)
1万+

被折叠的 条评论
为什么被折叠?



