** 近来在巩固数据结构和算法的知识, 动动手操作操作. **
能讲出来是真的懂了, 分享是件快乐的事
第一. 先来一张算法的
网上下载的图片
网上有一个排序算法的动画演示,非常有趣。大家可以参考一下;
第二. 那些专有名词的计算方法
时间复杂度定义
计算方法
如: 计算函数的时间
等于多少呢? 答案是 , 觉得函数中的第二个, 对吧?
按照上面的规则:
明白了吧
第三. 本文的主题: 快速排序
快速排序是 C.R.A.Hoare 于 1962 年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为
分治法的基本思想
快速排序的整体思想
快速排序的动画演示:
1170656-aa523ec3ba9a2909.gif
参考这本书, 整理自己的理解;
1.待排序数组
待排序
左右开工
Paste_Image.png
从右向左, 从左向右依次执行, 如下图所示
Paste_Image.png
用标准的OC代码来实现一下
**Demo也有的, 请看Github, Demo都会加上不少的注释滴 **
多动手, 多思考, 多写多画,
可能每种语言都有类似的API, OC中有 的 -_-
领取专属 10元无门槛券
私享最新 技术干货