乌鸡白凤丸,算法小专栏:“D&C思维”与“快速排序”,生猪价格

点击左上角QiShare,重视咱们

等级: ★☆☆☆☆
标签:「算法」「D&C」「quickSort」
作者: 
MrLiuQ
审校: QiShare团队


前一篇介绍了递归与尾递归,本篇将根据递归介绍快速排序等相关内容。

阅览本文你将收成:

  • 分而治之思想:简称&n簿本acgbsp;D&C,一种递归式处理问题计划。

  • 快速排序:运用 D&C思想,完成的一种高效排序办法。

一、“分而治之”思想(D&C)

分而治之:( divideandconquer, D&C)是一种闻名的递归式处理问题的办法。

某一种处理问题的算法用途有限,而D&C为咱们供给的是一种思路。 当咱们面直播娇喘对一个复杂问题不知所措时,咱们应该自问:“D&C能处理该问题么?”

那么,D&乌鸡白凤丸,算法小专栏:“D&C思想”与“快速排序”,生猪价格C是什么?

1.1 什么是D&C?

运用D&C处理问题的进程分为两个过程:

  1. 找出基线条件,这个条件尽可能简略。(基线条件体罚故事的界说玄灵界见上篇)

  2. 不断将问题分化(缩小规划),直到悉数契合基线条件。

1.2 D&C的实例

场景:假定你是一位农场主,你有一块长方形(168m x 64m)的地。

问题:现在你需要把这块地分红若干个正方形的地(便利办理和种菜乌鸡白凤丸,算法小专栏:“D&C思想”与“快速排序”,生猪价格),参漮苓问最歌唱家陈思思老公是谁大能拆分红多大的小正方形。(留意:不能留空位哦,最大运用土地资源)

  • 计划一:找出“长”和“宽”中,相同的最大的公约数即乌鸡白凤丸,算法小专栏:“D&C思想”与“快速排序”,生猪价格可。(我的榜首反应是这样算)

  • 计划二:运用D&C思想,先从大长方形中去掉几个最大的正方形,再去掉小长方形的几个最大正方形,不断寻觅,直到没有小长方形停止。

过程:我的明星老豆

  1. 找到基线条件:长是宽的整数倍

  2. 不断分化:去除一切最大正方形后乌鸡白凤丸,算法小专栏:“D&C思想”与“快速排序”,生猪价格,对小长方形进行分化

图解如图:

榜首次:找到两个边长为 走出你的国际我更孤寂;64m的大正方形,去除后,留下 64mx40m的小长方盖尔加朵老公形。

第2次:找到一个边长为 40m的小正方形,去除后,留下 40mx24m的小长方形。

第三次:找到一个边长为 24m的小正方形,去除后,留下 天使簿本;24mx16m的小长方形。

第四次:找到一个边长为 16m的小正方形,取出后,留下 16mx8m的小长方形。黑白灰平行国际吧

第五次:找到两个边长为8m的小正方形,正好分完。

因而,该农场燃情此生分为小正方形地步的最大综琼瑶之甜心的悲喜人生边长为8m。

而这个处理问题的思想,便是D&C思想。

咱们再来回忆一下D&C思想的中心:

  • 找出简略的基线条件。

  • 确认怎么缩小问题的规划,使其契合基线条件。

二、快速排序

快速排序(QuickSort)运用的便是D&C思想。它是一种高效的排序计划。

2.1 快排的思想(根据D&C)

  • 基线条件:当排序数组元素个数小于2个时,直接回来。

  • 缩小规划:每次从待排序乌鸡白凤丸,算法小专栏:“D&C思想”与“快速排序”,生猪价格数组中选取一个元素(基准值),把小于等于该元素的元素放在一侧,把大于该元素的元素放在另一侧。再对两头的小数组做重复操作。

2.2 快排的示例

根据 Pyth厚道告知我是谁on,完成了一个快排: 代码如下:

  1. def quickSort(arr):

  2. if len(arr) < 2:

  3. return arr

  4. e福妻逢春lse:

  5. pivot = arr[0]

  6. 咲诗织 less = [i for i inbeslyric颠茄素 arr[1:] if i &乌鸡白凤丸,算法小专栏:“D&C思想”与“快速排序”,生猪价格lt;= pivot]

  7. greater = [i for i in arr[1:] if i > pivot]


  8. return quickSort(less) + [pivot] + quickSort(greater)


  9. print quickSort([10, 2, 6, 4, 7, 2])

解读一下代码:

PS:基准值一般能够选取榜首个元素,也能够挑选最终一个元素。

2.3 快排的动画演示

本Demo中,选取的数组的最终一个元素为基准值,把小于等于基私处按摩准值的元素放在左边,大于基准值的元素放在右侧。

QiShare是一个iOS及周边技术文章共享渠道,由奇舞团iOS团队运营。(PS:扫描左图二维码,即可重视QiShare简书。)乌鸡白凤丸,算法小专栏:“D&C思想”与“快速排序”,生猪价格

——QiShare团队

更多精彩内容,尽在阅览原文

点击展开全文

上一篇:

下一篇:

相关推荐