导航:首页 > 源码编译 > 排序算法比较

排序算法比较

发布时间:2022-02-06 14:07:47

Ⅰ 各种排序算法的比较

小朋友啊,你这不是问题是作业啊。

Ⅱ 排序算法比较问题

其实最快的是树形选择排序(也叫锦标赛排序),如果没有,则堆排序要好些
因为快速排序和基数排序可以类比地说是批量操作,找出前10名和5000名的时间差别不大
而堆排序建立好初始堆后,只需要最多log2n就可以找到一个

Ⅲ 排序算法比较

有问题Google一下!或网络一下!哈哈

Ⅳ 、题目:各种排序算法实现和比较

给个联系方式。我发给你!!!

Ⅳ 几种排序算法效率的比较

插入排序,选择排序,交换排序(冒泡),数据结构书上有详细的介绍
以下是直接插入排序,选择排序,希尔排序,冒泡排序的算法

/*直接插入排序的基本思想是:顺序地把待排序序
列中的各个记录按其关键字的大小,插入到已排
序的序列的适当位置。
*/

void InsertSort(elemtype x[], int n)
{
int i,j;
elemtype s;

for(i=0;i<n-1;i )
{
s = x[i 1];
j = i;
while(j>-1 && s.key<x[j].key)
{
x[j 1] = x[j];
j--;
}
x[j 1]=s;
}
}

/*选择排序的基本思想是:不断从待排序的序列中
选取关键字最小的记录放到已排序的记录序列的
后面,知道序列中所有记录都已排序为止。
*/
void SelectSort(elemtype x[], int n)
{
int i,j,Small;
elemtype Temp;

for(i=0;i<n-1;i )
{
Small = i;
for(j=i 1;j<n;j )
{
if(x[j].key<x[Small].key)
Small = j;
}

if(Small!=i)
{
Temp = x[i];
x[i] = x[Small];
x[Small] = Temp;
}
}
}

/*希尔排序的基本思想是:不断把待排序的记录分
成若干个小组,对同一组内的记录进行排序,在
分组时,始终保证当前组内的记录个数超过前面
分组排序时组内的记录个数。
*/

void ShellSort(elemtype x[], int n, int d[], int Number)
{
int i, j, k, m, Span;
elemtype s;

for(m=0;m<Number;m )
{
Span = d[m];
for(k=0;k<Span;k )
{
for(i=k;i<n-Span;i =Span)
{
s = x[i Span];
j = i;
while(j>-1 && s.key<x[j].key)
{
x[j Span] = x[j];
j-=Span;
}
x[j Span] = s;
}
}
}
}

/*冒泡排序的基本思想是:将待排序序列中第一个
记录的关键字R1与第二个记录的关键字R2做比较,
如果R1>R2,则交换R1和R2的位置,否则不交换;
然后继续对当前序列中的第二个记录和第三个记
录同样的处理,依此类推。
*/

void BubbleSort(elemtype x[], int n)
{
int i,j,flag=1;
elemtype temp;

for(i=1;i<n && flag==1;i )
{
flag=0;
for(j=0;j<n-i;j )
{
if(x[j].key>x[j 1].key)
{
flag=1;
temp=x[j];
x[j]=x[j 1];
x[j 1]=temp;
}
}
}
}

Ⅵ 排序算法的实现和比较

int main()
{
int i,j,t,a[10];
printf("Please input 10 integers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++) /* 冒泡法排序 */
for(j=0;j<10-i-1;j++)
if(a[j]>a[j+1])
{t=a[j];/* 交换a[i]和a[j] */
a[j]=a[j+1];
a[j+1]=t;

Ⅶ 几种排序算法的效率比较

[内部排序的主要算法及相关可实现程序.rar
] - 内部排序的所有算法,而且有相关可执行例子,包括插入排序,选择排序,希尔排序,快速排序,堆排序,归并排序等,很全,很孀。[排序算法、字典和B-树的C++语言实现.zip
] - 排序算法、字典和B-树的C++语言实现
代码内容 包括以下算法:
qui.c sort: quicksort
qsort.c sort: qsort
ins.c sort: insert sort
shl.c sort: shell sort
has.c dictionary:[几种排序方法的实现.rar
] - 用 插入排序, 希尔排序 ,冒泡, 快速排序 , 选择排序 ,堆排序, 归并排序 实现对任意随机数序列,并比较各种方法的运行快慢和复杂度[paixu.rar] - 内部排序算法比较
] - 一个用VC++6.0做的一个数据库方面的程序,是用来英语学习的,有助于VC数据库编程的学习。[各种排序方法比较.rar
] - 这个程序包括了各种常用内部排序算法在平均排序所需时间上的比较.[实现各种排序算法并分析与比较.rar
] - 本程序实现各种排序算法并分析与比较 直接插入排序, SHELL排序,冒泡排序,快速排序,简单选择排序,堆排序,归并排序[图论算法库 C++ 语言实现.zip
] - 图论算法库 C++ 语言实现
代码内容 图论算法库,包括以下算法:

Ⅷ 排序算法比较研究

杯具~~

Ⅸ 排序算法性能比较(数据结构)C语言程序

这题你只要把每个算法的程序代码看一下,在计算下就行
冒泡排序:两个循环,从1加到N,(1+N)N/2 = 500500,最坏交换情况是每次判断都要交换,既500500*3次
选择排序:也是两个循环,比较次数跟冒泡排序一样500500,但是这个只要底层循环交换,既只需1000*3 = 3000次赋值。
插入排序:循环次数一样500500,但是这个最坏情况是每比较一次就赋值一次,既需500500次赋值
希尔排序:时间复杂度是N^1.3倍,比较次数和赋值应该是1000^1.3次方。
归并排序和快速排序,你去查查它的时间复杂度是怎么算,O(lgN*N),好像有系数,算法导论那本书上有,现在不记得是多少了。
希望能帮到你,

Ⅹ 求各种排序算法的比较

给你一个国家集训队的快排吧,这个应该够用了。
这个是对a数组从小到大排序,把这个添加到任何程序中都很快。这个肯定要比堆排序快。对于插入排序快的快排肯定要较慢。但这个比较稳定,要不国家集训队怎么用它呢!!!!!!
procere qsort(l,r:longint);
var
i,j,x,yy:longint;
begin
i:=l;j:=r;x:=a[(i+j) shr 1];
repeat
while a[i]<x do inc(i);
while a[j]>x do dec(j);
if i<=j then
begin
yy:=a[i];a[i]:=a[j];a[j]:=yy;
inc(i);dec(j);
end;
until i>j;
if i<r then qsort(i,r);
if l<j then qsort(l,j);
end;

阅读全文

与排序算法比较相关的资料

热点内容
51单片机连接adc 浏览:857
python命名变量报错 浏览:116
安卓手机如何换windows系统 浏览:610
python中的类是什么 浏览:627
我的英雄学院用哪个app可以看 浏览:33
excel插入选项卡对象命令 浏览:691
python字符全排列 浏览:499
824页大瓜文件pdf 浏览:219
朔州ios源码 浏览:248
算法逻辑电路 浏览:939
青少年喝酒解压辩论赛 浏览:173
android如何新建activity 浏览:739
ntp支持的认证算法 浏览:712
想做快手主播需要什么app 浏览:923
阿里云服务器如何转账户 浏览:903
编译器和解释器实现技术完全不同 浏览:431
虐杀原形汉化补丁怎么解压 浏览:645
文件夹验证失败 浏览:637
python是用什么软件编程 浏览:251
java并发编程教程 浏览:324