排序,是每一本数据结构的书都绕不开的重要部分。 排序的算法也是琳琅满目、五花八门。 每一个算法的背后都是智慧的结晶,思想精华的沉淀。 个人觉得排序算法没有绝对的孰优孰劣,用对了场景,就是最有的排序算法。 当然,撇开这些业务场景,排序算法本身有一些自己的衡量指标,比如我们经常提到的复杂度分析 ...
独白: 第一次接触算法排序, 充满了好奇并且渴望了解其中原理,今天先学习了三种排序的方法,分别是 冒泡排序 选择排序 插入排序。学完以后发现数学知识真的很重要,越牛逼的算法要求知识越多,越精。虽说刚接触有些不容易接受,但我相信凭着不断的主动学习和练习是可以攻克的。最重要的事情 我有兴趣去学习 enjoy 一 冒泡排序 英语: Bubble Sort : 是一种简单的排序算法。它重复地遍历要排序的数 ...
2017-11-17 11:25 0 1926 推荐指数:
排序,是每一本数据结构的书都绕不开的重要部分。 排序的算法也是琳琅满目、五花八门。 每一个算法的背后都是智慧的结晶,思想精华的沉淀。 个人觉得排序算法没有绝对的孰优孰劣,用对了场景,就是最有的排序算法。 当然,撇开这些业务场景,排序算法本身有一些自己的衡量指标,比如我们经常提到的复杂度分析 ...
目录 排序 冒泡排序(Bubble Sort) 插入排序(Insertion Sort) 二分法插入排序 希尔排序(O(n^1.3)) 选择排序(Selection Sort ...
我们都说程序就是数据加算法,即数据和对数据进行操作的流程。 而对计算机中所存储的数据进行的最普遍的两种操作就是排序和查找。 现在我们就使用C#语言实现三种基础的排序算法——冒泡排序、选择排序、插入排序。 首先我们定义一个能够支持我们创建自定义排序规则的数据结构 ...
的集中排序方式,并并给出相应的时间复杂度。本篇博客我们将会详细的介绍冒泡排序、插入排序、希尔排序以及选择 ...
1、冒泡排序 (英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端 ...
如何分析一个排序算法? 分析一个排序算法的三要素:排序算法的执行效率、排序算法的内存消耗以及排序算法的稳定性。 排序算法的执行效率 对于排序算法执行效率的分析,一般是从以下三个方面来衡量: 最好情况、最坏情况、平均情况时间复杂度 时间复杂度的系数、常数、低阶 比较次数和交换 ...
上一篇博客我们实现的数组结构是无序的,也就是纯粹按照插入顺序进行排列,那么如何进行元素排序,本篇博客我们介绍几种简单的排序算法。 1、冒泡排序 这个名词的由来很好理解,一般河水中的冒泡,水底刚冒出来的时候是比较小的,随着慢慢向水面浮起会逐渐增大,这物理规律我不作过多解释,大家只需要 ...
将数组剩下的最大值找出来放到数组的后面。冒泡排序的时间复杂度O(n2)。 2、选择排序 选择排序与 ...