声明:本文涉及的所有排序算法定义功能对输入进行从小到大排序
符号解释:
n:输入数据个数
Θ(n):n的同阶无穷大
一、选择排序
def SelectSort(a):
for i in range(0,len(a)-1):
minIndex=i
for j in range(i+1,len(a)):
i...
分类:
编程语言 时间:
2015-06-15 11:13:27
阅读次数:
144
/*
选择排序:
31625
算法:找出最小值,然后这个最小值和最前面的数据交换位置。
*/
publicclassSelectSort{
publicstaticvoidmain(String[]args){
int[]a={3,1,6,2,5};
//选择排序
for(inti=0;i<a.length-1;i++){
//假设第一个数据是最小值..
分类:
编程语言 时间:
2015-06-14 16:51:19
阅读次数:
109
一、题目描述
通过随机数据比较各排序算法的关键字比较次数和关键字移动次数,以 及执行时间,取得直观感受。
二、设计要求一、需求分析
实现各排序算法,分别进行以下各组比较,并进行总结。
一、各算法在不同规模下的比较。
1)比较范围:直接插入排序、冒泡法排序、简单选择排序、快速排序1(自己实现)、快速排序2(调用STL)、归并排序。
2)比较指标:a)关键字操作次数(比较次数和移动次数...
分类:
编程语言 时间:
2015-06-14 13:52:25
阅读次数:
341
思想:先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,就可以完成整个的排序工作了。可以很清楚的发现,选择排序是固定位置,找元素。相比于插入排序的固定元素找位置,是两种思维方式。不过条条大路通罗马,两者的目的是一样的。理解:在介绍选择排序算法前,我们再回顾下冒泡...
分类:
编程语言 时间:
2015-06-09 23:13:40
阅读次数:
134
假设对n个数据进行排序。第一步:找出a[0]-a[n-1]中最小的数,将它与a[0]交换;第二步:找出a[1]-a[n-2]中最小的数,将它与a[1]交换;..............第n-1步:找出a[n-2]与a[n-1]这两个数中的最小数,并且将它们进行交换;#includeint main(...
分类:
编程语言 时间:
2015-06-09 19:48:27
阅读次数:
173
#include #include using namespace std;int main(){ int a[] ={1,8,45,12,75,466,25,65,14,56,53}; int t; int length; length =sizeof(a)/sizeof(...
分类:
编程语言 时间:
2015-06-08 19:10:59
阅读次数:
173
1 package iYou.neugle.sort; 2 3 public class Select_sort { 4 public static void SelectSort(double[] array) { 5 for (int i = 0; i array[...
分类:
编程语言 时间:
2015-06-08 13:06:36
阅读次数:
117
常见排序算法包括以下七种:选择排序、冒泡排序、插入排序、快速排序、希尔排序、堆排序、归并排序。
在学习具体算法实现并进行比较前,先来学习算法比较的几个维度。
一是稳定性
所谓稳定性,是指值相等的两个元素在排序前后是否会发生位置的交换。如果不会发生交换,则认为是稳定的算法;反之,则认为是不稳定的排序算法。
二是时间复杂度,指执行算法所需的时间长短。简单说就是算法执行的快慢程序。
三是空间复杂...
分类:
编程语言 时间:
2015-06-08 11:40:43
阅读次数:
240
classSelectSort{
publicvoidsort(intarr[]){
inttemp=0;
for(inti=0;i<arr.length-1;i++){
intmin=arr[i];
intminIndex=i;for(intj=i+1;j<arr.length;j++){
if(min>arr[j]){
min=arr[j];
}
}
temp=min;
min=arr[minIndex];
arr[minIndex]=temp;}}}
分类:
编程语言 时间:
2015-06-06 15:08:45
阅读次数:
149