//冒泡排序 从小到大对一组数排序function mp($array){ $count =
count($array); if ($count $i; $k--) { if($array[$k] "; } return $...
分类:
Web程序 时间:
2014-05-23 05:39:26
阅读次数:
284
//冒泡排序(Bubble
Sorting)的基本思想是:通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后部移向前部(从下标较大的单元移向下标较小的单元),就象水底下的气泡一样逐渐向上冒。public
static void m...
分类:
编程语言 时间:
2014-05-23 03:41:33
阅读次数:
198
//选择排序(Select
Sorting)也是一种简单的排序方法。它的基本思想是:第一次从R[0]-R[n-1]中选取最小值,与R[0]交换,第二次从R[1]-R[n-1]中选取最小值,与R[1]交换,第三次从R[2]-R[n-1]中选取最小值,与R[2]交换,...,第i次从R[i-1]-R[n...
分类:
编程语言 时间:
2014-05-23 03:20:00
阅读次数:
217
import java.util.Random;
public class NumberSort{
/**
* 私有构造方法,禁止实例化
*/
private NumberSort(){
super();
}
/**
* 冒泡排序
* 比较相邻的元素。如果第一个比第二个大,就叫唤他们两个位置。
* 对每一组相邻的元素作同样的工作,从开始的第一对到结束后的最后一对,这样剩下的...
分类:
编程语言 时间:
2014-05-23 02:13:51
阅读次数:
364
快速排序是一个经常使用的算法,由于每次用的时候,都感觉没有理解清楚,特写一篇文章记录一下。
算法介绍
快速排序有点类似有冒泡排序,冒泡排序从相邻的两个元素比较,小的在左边,大的在右边,这个算法很容易理解。而快速排序它相当于是在一头一尾两边分别排序比较,比较的对象是当前元素值,和一个选定的key值,主题的思想就是通过跟key值比较,把大于key的值放在右边,小于的放在左边这样就完成了...
分类:
其他好文 时间:
2014-05-22 17:06:52
阅读次数:
255
1.写出下列算法的时间复杂度。
(1)冒泡排序;
(2)选择排序;
(3)插入排序;
(4)快速排序;
(5)堆排序;
(6)归并排序;...
分类:
编程语言 时间:
2014-05-22 11:46:43
阅读次数:
321
排序法最差时间分析平均时间复杂度稳定度空间复杂度冒泡排序O(n2)O(n2)稳定O(1)快速排序O(n2)O(n*log2n)不稳定O(log2n)~O(n)选择排序O(n2)O(n2)稳定O(1)二叉树排序O(n2)O(n*log2n)不一定O(n)插入排序O(n2)O(n2)稳定O(1)堆排序O...
分类:
其他好文 时间:
2014-05-21 23:31:35
阅读次数:
310
常见排序算法主要有:插入排序(直接插入排序、希尔排序)选择排序(直接选择排序、堆排序)交换排序(冒泡排序、快速排序)归并排序基数排序外部排序一.直接插入排序算法思想:在一个待排序列中,从第二个元素开始,依次进行排序,每次都将待排序元素从后往前,依次与前面的元素进行比较,从而将带排序元素移动到一个合适...
分类:
其他好文 时间:
2014-05-21 20:03:36
阅读次数:
353
public class ArrayUtils{
/**
* 返回数组最大值
*
* @param a
* @return
*/
public static int max(int[] a){
// 返回数组最大值
int x;
int aa[]=new int[a.leng...
分类:
编程语言 时间:
2014-05-21 13:31:26
阅读次数:
373
昨晚折腾了一个晚上,连这一道题目都没AC,太受打击了!这里倒不是算法的问题,主要是既要考虑输出的字符串按字典序排列,又要去掉重复的字符串。本想直接在不保存所有字符串的前提下,直接按照要求输出字符串,但折腾了一晚上,还是决定放弃了,依然是使用最直接的方法,以空间换取结果,将所有的字符串保存到一个字符串数组中,由于全排列后的字符串数最大为9!=362880,故开辟一个362900大的字符串数组用来保存这些字符串,而后对这些字符串进行排序,先用了选择排序,通过strcpy字符串进行排序,结果争取,但第三组测试用例...
分类:
其他好文 时间:
2014-05-21 13:26:39
阅读次数:
236