冒泡排序是交换排序的一种,其思想是从序列头部开始逐步往后遍历,每次遍历比较相邻两个元素,如果顺序不对则交换,n-1次遍历之后序列就完成了排序。...
分类:
编程语言 时间:
2015-08-18 11:54:34
阅读次数:
397
类似编程之美中寻找最大的k个数解法一:题目没有要求最小的k个数有序,也没要求最后n-k个数有序。既然如此,就没有必要对所有元素进行排序。这时,咱们想到了用选择或交换排序,即: 1、遍历n个数,把最先遍历到的k个数存入到大小为k的数组中,假设它们即是最小的k个数; 2、对这k个数,利用选择或交换...
分类:
其他好文 时间:
2015-08-11 17:36:36
阅读次数:
139
一、综述
快速排序是交换排序中的一种,平均算法复杂度是O(nlogn),最坏O(n*n)。下面用Java实现一个快速排序,并用注释的方式解释了思想和原理。
二、Java实现堆排序
{CSDN:CODE:869950}
三、结果检验
{CSDN:CODE:869983}...
分类:
编程语言 时间:
2015-08-08 00:01:10
阅读次数:
375
排序分内排序和外排序。内排序:指在排序期间数据对象全部存放在内存的排序。外排序:指在排序期间全部对象个数太多,不能同时存放在内存,必须根据排序过程的要求,不断在内、外存之间移动的排序。内排序的方法有许多种,按所用策略不同,可归纳为五类:插入排序、选择排序、交换排序、归并排序、分配排序和计数排序。插入排序主要包括直接插入排序,折半插入排序和希尔排序两种;选择排序主要包括直接选择排序和堆排序;交换排序...
分类:
编程语言 时间:
2015-08-03 22:53:18
阅读次数:
251
package exchange_sort;
import java.util.Random;
/*各类交换排序
* ------数据存储范围1~s.length-1 ------
*主要包括
*冒泡排序
*快排
*/
public class Sort {
/*
* 冒泡排序 稳定
*/
private static void bubbleSort(int[] ...
分类:
编程语言 时间:
2015-07-28 06:46:04
阅读次数:
135
头文件/************************* 交换排序**************************///冒泡排序void BubbleSort(vector &v,int begin,int end);//快速排序void QuickSort(vector & v...
分类:
编程语言 时间:
2015-07-27 18:10:09
阅读次数:
150
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。
该方法的基本思想是:
1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右区间重复第二步,直到各区间只有一个数...
分类:
编程语言 时间:
2015-07-23 12:01:29
阅读次数:
150
针对现实中的排序问题,算法有七把利剑可以助你马道成功。
首先排序分为四种:
交换排序: 包括冒泡排序,快速排序。
选择排序: 包括直接选择排序,堆排序。
插入排序: 包括直接插入排序,希尔排序。
合并排序: 合并排序。
冒泡排序简单来说就是利用两个for循环来进行排序,由前一个数据和后一个数据比较,如果前一个大于后一个则交...
分类:
编程语言 时间:
2015-07-23 10:43:10
阅读次数:
112
根据排序过程中借助的主要操作,我们将内排序分为四类: 插入排序类 直接插入排序 希尔排序 选择排序类 简单选择排序 堆排序 交换排序类 冒泡排序 快速排序 归并排序类 归并排序从算法的简单性来看,我们将7种算法分为两类:简单算法:冒泡排序、简单选择排序、直接插入排序改进...
分类:
编程语言 时间:
2015-07-18 16:47:34
阅读次数:
142
头文件#include "StdAfx.h"/************************* 交换排序**************************///冒泡排序void BubbleSort(vector &v,int begin,int end);//快速排序void Q...
分类:
编程语言 时间:
2015-07-17 00:14:50
阅读次数:
222