原文:经典算法题每日演练——第二十三题 鸡尾酒排序 这篇我们继续扯淡一下鸡尾酒排序,为了知道为啥取名为鸡尾酒,特意看了下百科,见框框的话,也只能勉强这么说了。 要是文艺点的话,可以说是搅拌排序,通俗易懂点的话,就叫“双向冒泡排序”,我想作为码农的话,不可能不知道冒泡排序,
冒泡是一个单向的从小到大或...
分类:
编程语言 时间:
2015-01-16 12:42:40
阅读次数:
199
原文:经典算法题每日演练——第二十四题 梳排序 这篇再看看一个经典的排序,梳排序,为什么取名为梳,可能每个梳都有自己的gap吧,大梳子gap大一点,小梳子gap小一点。
上一篇我们看到鸡尾酒排序是在冒泡排序上做了一些优化,将单向的比较变成了双向,同样这里的梳排序也是在冒泡排序上做了一些优化。
冒泡排...
分类:
编程语言 时间:
2015-01-16 12:41:40
阅读次数:
179
原文:算法系列15天速成——第二天 七大经典排序【中】首先感谢朋友们对第一篇文章的鼎力支持,感动中....... 今天说的是选择排序,包括“直接选择排序”和“堆排序”。 话说上次“冒泡排序”被快排虐了,而且“快排”赢得了内库的重用,众兄弟自然眼红,非要找快排一比高下。
这不今天就来了两兄弟找快排算账...
分类:
编程语言 时间:
2015-01-16 09:59:33
阅读次数:
158
原文:算法系列15天速成——第一天 七大经典排序【上】今天是开篇,得要吹一下算法,算法就好比程序开发中的利剑,所到之处,刀起头落。 针对现实中的排序问题,算法有七把利剑可以助你马道成功。 首先排序分为四种: 交换排序: 包括冒泡排序,快速排序。 选择排序: 包括直接选择排序,堆排序。 插入排序: 包...
分类:
编程语言 时间:
2015-01-16 09:53:39
阅读次数:
185
冒泡排序:每一次排序,最大或最小的数像气泡一样升到最上面。也就是每次遍历都是比较相邻的俩个数,如果第i个数大于第i+1个数,则将俩个数交互位置,再继续比较相邻的俩个数。俩个循环,里面那个循环是比较相邻俩个数用的。里面那个循环走完,也就是说最大的数已经排到最后面了。外面那个循环+1,则继续选择第二大的...
分类:
编程语言 时间:
2015-01-15 23:20:01
阅读次数:
194
这是一位师弟问的问题,一段用链表写的冒泡排序。[1] 为什么要多用一个空的表头?这是由链表结构造成的,如果要交换p1和p2两个节点,则需要p1的前趋的指针,举例,设原链表为{3,2,1}如果我们要交换3和2,由于3是表头节点,所以需要一个指向3的指针节点,因此这里我们设置了一个空的头节点p1,第一个...
分类:
编程语言 时间:
2015-01-15 17:41:19
阅读次数:
256
冒泡排序 1 public static void main(String[] args) { 2 int[] nums = {1,2,88,7,1,20,30,18,92}; 3 int temp = 0; 4 int N = nums.length...
分类:
编程语言 时间:
2015-01-13 21:21:59
阅读次数:
135
题目链接:http://www.patest.cn/contests/mooc-ds/07-1题目分析:本题旨在测试各种不同的排序算法在各种数据情况下的表现。因此没有标准答案。本帖旨在给出各种排序算法的C++实现形式,并将结果进行比较、总结。希望能给大家带来帮助。各种排序算法的代码:1. 冒泡排序:...
分类:
编程语言 时间:
2015-01-13 19:45:15
阅读次数:
411
1. 交换排序的基本思想两两比较key值,如果发生逆序(排列的顺序与期望的顺序相反)就交换,知道所有对象都排序完毕!常见的3种交换排序算法:冒泡排序,shaker排序和快速排序。2. 冒泡排序设待排序列中有 n 个对象, 首先比较对象v[n-1]和v[n-2], 如果v[n-1] 4 #incl.....
分类:
编程语言 时间:
2015-01-13 19:40:14
阅读次数:
206
1、冒泡排序 Bubble Sort最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如...
分类:
编程语言 时间:
2015-01-13 17:30:37
阅读次数:
150