1、冒泡排序冒泡排序是排序算法中最基本的一种排序方法,该方法逐次比较两个相邻数据的大小并交换位置来完成对数据排序,每次比较的结果都找出了这次比较中数据的最大项,因为是逐次比较,所以效率是O(N^2)的。[java]view plaincopypublicvoidbubbleSort(){intout...
分类:
其他好文 时间:
2014-08-19 16:06:24
阅读次数:
258
冒泡排序是两两比较相邻记录关键字,如果反序则交换。很奇怪,总有人写错,比如我寝室的zdc,曾几何时,他还很得意地和我说写出了冒泡~~ package my_algorithm; public class MyBubbleSort { public static void...
分类:
其他好文 时间:
2014-08-19 14:46:25
阅读次数:
115
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 本文将依次介绍上述八大排序算法。算.....
分类:
其他好文 时间:
2014-08-19 14:31:04
阅读次数:
280
// int array[] = {3, 2, 6, 9, 8, 5, 7, 1, 4}; // int count = sizeof(array) / sizeof(array[0]); // int flag = 1; // for (int i = 0; i array[j ...
分类:
其他好文 时间:
2014-08-19 00:54:43
阅读次数:
186
排序算法—冒泡排序排序算法—冒泡排序Table of Contents1 问题描述2 冒泡排序(Bubble)2.1 冒泡排序(一)2.2 冒泡排序(二)2.3 冒泡排序(三)2.4 冒泡排序(四)3 阅读参考1 问题描述引子 排序是数据结构中十分重要的一章,排序算法有很多种,一直没时间整理而且很多...
分类:
其他好文 时间:
2014-08-18 21:45:02
阅读次数:
366
冒泡排序算法是思路最简单、最直接的排序方法之一。每遍历一遍,则将最大(或者最小)的一个数冒泡出来。预先定义的排序类型。由于只是为了验证排序方法是否正确,所以此处只是简单的对10个元素进行排序检测。如下所示:#define MAXSIZE 10typedef struct { int r[MAXSI....
分类:
其他好文 时间:
2014-08-18 20:27:32
阅读次数:
210
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。
本文将依次介绍上述八大排序算法。
算法一:插入排序
插入排序示意图
插入排序是一种最简单直观的排序算法,它的工作原理是...
分类:
其他好文 时间:
2014-08-18 14:37:12
阅读次数:
255
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。算法一:插...
分类:
其他好文 时间:
2014-08-18 14:20:12
阅读次数:
259
今天说的仍然是一中简单排序——冒泡排序,时间复杂度O(n^2)。 其基本思想是: 通过相邻元素之间的比较和交换使较小的元素逐渐从后向前移动,就像水底的气泡一样逐渐向上冒。 具体过程如下: 首先比较d[n]和d[n-1],若d[n]<d[n-1],则交换,使较小的元素前移,较大的元素后移;接着比较.....
分类:
其他好文 时间:
2014-08-17 11:38:12
阅读次数:
149
关于冒泡排序时间复杂性,大家都知道最坏情况下为O(n^2)为什么最好情况下为O(n),很多人有疑问,下面我们就来分析一下:
首先大家看看下面两种冒泡排序的方法:
方法一:
//冒泡排序
template class T>
void Bubble(T a[],int n)
{
//把数组a[0:n-1]中最大的元素冒泡移到右边
for(int i=...
分类:
其他好文 时间:
2014-08-17 09:11:52
阅读次数:
199