![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分治
Jayphone17
这个作者很懒,什么都没留下…
展开
-
分治法——快速排序QuickSort
快速排序 它的基本思想是通过一组排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都要比另一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,最终将所有数据变成一个有序数列。 算法设计 快速排序的基本思想是基于分治策略的,其算法思想如下: 分解:先从数列中取出一个元素作为基准元素。以基准元素为标准,将问题分解为两个子序列,使小于或...原创 2019-09-25 11:11:28 · 1359 阅读 · 0 评论 -
分治法——合并排序MergeSort
合久必分,分久必合——合并排序 在数列排序中,如果只有一个属,本身就是有序的。如果只有两个数字,那么只需要一次就可以简单地排完序。也就是说,数字越少,排序越简单。那么如果有一个有大量数据组成的数列,我们很难完成排序,那该怎么办呢?我们可以考虑将其一直分解,分解直至只剩下一个数字,本身即有序,然后再将这些有序的数组合并在一起,执行一个与分解相反的过程,从而完成整个数列的排序 合并排序就是采用...原创 2019-09-24 21:54:40 · 860 阅读 · 0 评论 -
分治法——二分搜索BinarySearch
猜数游戏 问题描述: 给定一个数字,再给N个数字,要从这N个数找出这个给定的数字,最坏的情况,如果一个一个找,要猜N次才能成功。 其实我们没有必要一个一个猜,因为这些数字是有限的而且是有序的(我们给它们排个序),这是一个典型的二分搜索问题。我们可以用折半查找的策略,每次和中间的元素比较,如果比中间的元素小,那么要查找的数字就在左半部分。反之,如果比中间的元素大,那么要查找的元素就在中...原创 2019-09-24 16:24:44 · 587 阅读 · 0 评论