扫码关注公众号

排序算法之快速排序
10-16
309观看
01

设有5000个待排序的记录的关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列哪个方法可以达到此目的()

正确答案:B首先,这个题的宗旨是以最短的时间达到局部有序!所以应用堆排序这样处理:1.取出10个数先进行堆排序。2.依次遍历剩下的5000-

来自:排序算法-高级排序(快排、堆排等)
02

以下哪种不是非稳定排序算法

正确答案是A(1)冒泡排序冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果

来自:排序算法-简单排序(冒泡、简单选择等)
03

string = "192.0.0.1?!289.0.0.1!0.0.0.0!192.163.10.28?192.0.0.1"
要求:

importres="192.0.0.1?!289.0.0.1!0.0.0.0!192.163.10.20?192.0.0.1"ips=re.split(r"\?!|!|\?",s)deflastOne(i):returni.split('.')[-1]ips.sort(key=lastOne)print(ips)

来自:排序算法-高级排序(快排、堆排等)
04

快速排序的基本思想是什么?

该思想可以概括为:挖坑填数+分治法。1、从要排序的数据中取一个数为“基准数”。2、通过一趟排序将要排序的数据分割成独立的两部分,其中左边的数据都比“基准数”小,右边的数据都比“基准数”大。3、然后再按步骤2对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

来自:排序算法-高级排序(快排、堆排等)
课程
专栏
算法-排序算法-高级排序(快排、堆排等)
3专栏
1课程
4 试题
热门专题