快速排序为什么被称之为快速排序呢?从字面意思上来看肯定是因为它比较快啦。当然实际上也是这样,相比于其他的排序算法,它的平均的时间复杂度为O(nlogn),这可以说是很快的一种排序算法了。当然在某些情况下,也会出现比其他排序算法慢的情形,所以没有什么最好的排序算法,只有最合适的排序算法。所以在平常应用 ...
分类:
编程语言 时间:
2019-11-30 20:46:28
阅读次数:
90
快速排序(Quick Sort)与冒泡排序均为交换类排序。快排是对冒泡排序的一种改进。由于关键字的比较和交换是跳跃进行的,因此,快速排序是一种不稳定的排序方法。 0. 序 1. 冒泡排序 2. 快速排序 2.1 基本思想 2.2 一趟快速排序(一趟划分) 2.3 过程 2.4 实现 2.5 复杂度分 ...
分类:
编程语言 时间:
2019-11-30 11:13:46
阅读次数:
119
原文地址:https://blog.csdn.net/shujuelin/article/details/82423852 假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道 ...
分类:
编程语言 时间:
2019-11-29 12:39:36
阅读次数:
73
一、直接插入排序 直接插入排序 和折半插入排序 ,图示是一样的,但是在进行插入的时候就看出效率 了 。 折半插入排序:采用折半查找插入; 直接插入排序:一次比较插入。(代码中很明显) 数据量大折半插入的效率高点 //直接插入排序//算法思想:每趟将一个待排的关键字按照其值的大小插入到已经排好的部分有 ...
分类:
编程语言 时间:
2019-11-21 17:02:37
阅读次数:
89
冒泡排序: 思路: 1)比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个 2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 3)针对所有的元素重复以上的步骤,除了最后一个 时间复杂度为(O(n^2))选择排序: 思路: 1)在未排序序列中找到最小(大)元素,存放到排序序列 ...
分类:
编程语言 时间:
2019-11-12 19:57:04
阅读次数:
65
快速排序 2019-11-10 11:43:52 by冲冲 1、概念 快速排序(Quick Sort)使用分治法策略。 ① 基本思想是,选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一部分的所有数据都要小。然后,再按此方法对这两部分数据分别进行快速排序,整 ...
分类:
编程语言 时间:
2019-11-10 17:51:56
阅读次数:
93
排序算法系列博客: 直接插入排序 希尔排序 简单选择排序 堆排序 冒泡排序 快速排序 归并排序 计数排序 基数排序 九大排序排序是数据结构体系中最重要的内容之一,这一块必须要非常熟练的掌握,应该做到可以立马写出每个排序的代码,有多种实现方法的必须多种都能很快写出来,当然对各个排序的性能的了解也是基础 ...
分类:
编程语言 时间:
2019-11-04 20:12:41
阅读次数:
133
20182309 2019 2020 1 《数据结构与面向对象程序设计》第8周学习总结 教材学习内容总结 查找 线性查找 二分查找 哈希查找 排序 选择排序 插入排序 冒泡排序 快速排序 归并排序 教材学习中的问题和解决过程 问题1:改进冒泡排序 问题1解决方案:设立以个flag,如果有一次没有交换 ...
分类:
其他好文 时间:
2019-11-04 17:44:56
阅读次数:
88
原文链接:https://www.cnblogs.com/DarrenChan/p/8807112.html 这三个排序的时间复杂度都是O(nlogn),所以这里放到一起说。 回到顶部 1. 快速排序# 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange s ...
分类:
编程语言 时间:
2019-11-02 15:57:28
阅读次数:
116
排序 内部排序 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序 交换排序 冒泡排序 快速排序 直接插入排序 给定一组序列,假定第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依此将当前处理的记录插入到其之前的有序序列中,直到最后一个记录插入到有序 ...
分类:
编程语言 时间:
2019-11-02 00:22:49
阅读次数:
86