菜鸟教程选择排序
终极管理员 知识笔记 237阅读
什么是选择排序?
答:选择排序是一种简单直观的排序算法,无论什么数据进去都是 O (n²) 的时间复杂度。
什么是快速排序?
答:快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。 快速排序又是一种分而治之思想在排序算法上的典型应用。 本质上来看,快速排序应该算是在冒泡排序基础上的递归分治法。 快速排序的名字起的是简单粗暴,因为一听到这个名字你就知道它存在的意义,就是快,而且效率高! 它是处理大数据最快的排序算法之一了。 虽然 Worst Case 的时间复杂度达到了 O (n²),但是人家就是优秀,在大多数情况下都比平均时间复杂度为 O (n logn) 的排序算法表现要更好,可是这是为什么呢,我也不知道。 好在我的强迫症又犯了,查了 N 多资料终于在《算法艺术与信息学竞赛》上找到了满意的答案:
什么是排序算法?
答:排序算法是《数据结构与算法》中最基本的算法之一。. 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。. 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。. 用一张图概括:.