选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。简单的可以理解为:将整个数组视为虚拟的有序...
分类:
编程语言 时间:
2015-01-26 15:01:49
阅读次数:
230
Sort a linked list inO(nlogn) time using constant space complexity.常见排序方法有很多,插入排序,选择排序,堆排序,快速排序,冒泡排序,归并排序,桶排序等等。。它们的时间复杂度不尽相同,而这里题目限定了时间必须为O(nlgn),符合要...
分类:
编程语言 时间:
2015-01-26 13:23:44
阅读次数:
194
Java中与数组相关的算法,常用的有:冒泡排序、选择排序、和反转排序。
【冒泡排序】
1. 基本思想
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有必要交换为止,也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名之。
2. 算法
因此冒泡排序总的平均时间复杂度为 .
3. 算法实现...
分类:
编程语言 时间:
2015-01-26 00:07:50
阅读次数:
227
转自:http://blog.chinaunix.net/uid-20773165-id-1847742.html1.稳定性比较插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的选择排序、希尔排序、快速排序、堆排序是不稳定的2.时间复杂性比较插入排序、冒泡排序、选择排序的时间复杂性为...
分类:
编程语言 时间:
2015-01-25 19:38:46
阅读次数:
263
1、冒泡排序1)原理说明:反复遍历要排序的数列,一次比較两个元素,假设他们的顺序错误就把他们交换过来。走訪数列的工作是反复地进行直到没有再须要交换,也就是说该数列已经排序完毕。2)代码实现:package com.test.sort;public class BubbleSort{ publi...
分类:
编程语言 时间:
2015-01-25 12:25:51
阅读次数:
182
常见经典排序算法1.希尔排序2.二分插入法3.直接插入法4.带哨兵的直接排序法5.冒泡排序6.选择排序7.快速排序8.堆排序排序算法对比一.希尔(Shell)排序法(又称宿小增量排序,是1959年由D.L.Shell提出来的)/* Shell 排序法 */#include void sort(int...
分类:
编程语言 时间:
2015-01-24 12:53:51
阅读次数:
219
在C#中常用的数组排序的方法有:选择排序法、冒泡排序法、插入排序法和希尔排序法等。一、选择排序法using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Test{ clas...
分类:
编程语言 时间:
2015-01-22 17:01:04
阅读次数:
212
背景:1Y
思路:类似于选择排序的思想,用一个ans来记录最小值,搜索所有可能值中的最小值。
学习:
1.strcmp(a,b)的返回值是a相对于b的字典序,大则返回1,小则返回-1,等则返回0.
2.一个线性的链要成环的话,就%n。
#include
#include
int main(void){
int t;
char DNA[105],ans[105];
s...
分类:
其他好文 时间:
2015-01-21 11:45:37
阅读次数:
133
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。
分类:
编程语言 时间:
2015-01-18 22:29:37
阅读次数:
220
花了点时间一次性实现9个基本排序算法,
其中包括:
【冒泡排序】,【直接选择排序】,【直接插入排序】,
【希尔排序】,【折半插入排序】,【快速排序】,
【堆排序】,【锦标赛排序】,【归并排序】。
储存方式是用数组,元素可以是支持重载运算符的自定义类型,
有在数组中直接复制的,也有在中间过程中用索引记录的,
但最终都结果都保存在原数组中,废话不多说了,直接上代码!...
分类:
编程语言 时间:
2015-01-17 19:31:03
阅读次数:
226