当前位置:鱼C工作室 >带你学C带你飞 > 查看文章

第一季:语法基础 – 快速排序 | 带你学C带你飞S1E36

快速排序

 

让编程改变世界

Change the world by program


 

快速排序

 

我们知道所谓排序就是将一对零零散散的数据排成从大到小或从小到大的序列。排序算法在日常生活中应用很广,比如说期末考试,老师要给所有同学的成绩进行排序;或者打开招聘网站,经常就是会有限考虑待遇高的职位,那么你应该让薪酬从高到低进行排序;又或者你去某宝买一件化妆品孝敬老婆大人,但不知道哪一款合适,所以你点击按销量进行排序……

 

排序的算法有很多,比如大家耳熟能详的冒泡排序、插入排序、希尔排序、选择排序等等,不过这些排序算法我不打算在《带你学C带你飞》里边讲解,大家如果有兴趣的话可以看下小甲鱼的另一个系列教程《数据结构和算法》,我在【扩展阅读】里也给大家提供了文字版的教学,有兴趣的童鞋可以看看。

 

这一节课我们就讲一个快速排序,因为它也是递归的典型应用。快速排序,你看这名字起得这么嚣张,恐怕效率也不会差到哪里去。没错,它可是二十世纪十大算法之一,是由图灵奖得主东尼·霍尔提出的。

 

快速排序算法的基本思想是:通过一趟排序将待排序数据分割成独立的两部分,其中一部分的所有元素均比另一部分的元素小,然后分别对这两部分继续进行排序,重复上述步骤直到排序完成。

 

…… 此处省略N多内容,具体请看视频讲解 ……

 

【课后作业】S1E36:快速排序 | 课后测试题及答案

【知识点备忘】S1E36:快速排序


为您推荐

报歉!评论已关闭.