社区
新手乐园
帖子详情
排序时间复杂度
fxyuer2004
2005-09-28 08:39:59
1、用C程序实现插入法排序;
2、利用插入排序算法,将用户随机输入的一列数,按递增的顺序排好。
3、输入的数据形式为任何整数,大小不限。
4、输出的形式:数字大小逐个递增,并计算出运行时间。
最重要的是要利用时间函数和随机函数,利用随机函数随机产生4000数字,然后用time()计算出它的运行时间。
5、大侠们。有实力的动手吧!!!!!!!!!!!!
...全文
376
18
打赏
收藏
排序时间复杂度
1、用C程序实现插入法排序; 2、利用插入排序算法,将用户随机输入的一列数,按递增的顺序排好。 3、输入的数据形式为任何整数,大小不限。 4、输出的形式:数字大小逐个递增,并计算出运行时间。 最重要的是要利用时间函数和随机函数,利用随机函数随机产生4000数字,然后用time()计算出它的运行时间。 5、大侠们。有实力的动手吧!!!!!!!!!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
crm2000
2005-09-29
打赏
举报
回复
Hoho,记得include stdlib.h
xiaocai0001
2005-09-28
打赏
举报
回复
没有
楼主还没结帖, 就没算完
antijpn
2005-09-28
打赏
举报
回复
作业贴,转新手乐园
DITQ
2005-09-28
打赏
举报
回复
完了 ??
xiaocai0001
2005-09-28
打赏
举报
回复
谢谢~~
fxyuer2004
2005-09-28
打赏
举报
回复
xiaocai0001,我给你加分 了
fxyuer2004
2005-09-28
打赏
举报
回复
是啊
cdo
2005-09-28
打赏
举报
回复
一看就是作业不会做的.
zhouhuahai
2005-09-28
打赏
举报
回复
又是作业题?
这种题目还是自己动手的好.
xiaocai0001
2005-09-28
打赏
举报
回复
没意思~
fxyuer2004
2005-09-28
打赏
举报
回复
up
xiaocai0001
2005-09-28
打赏
举报
回复
回复人: fxyuer2004(飞跃海洋) ( ) 信誉:100
谢谢楼主,我改了啊,好像不行啊,不知道怎么回事啊??????
主 题: 排序时间复杂度
作 者: fxyuer2004 (飞跃海洋)
等 级:
信 誉 值: 100
所属社区: C/C++ C语言
问题点数: 20
回复次数: 10
发表时间: 2005-09-28 08:39:58
-----------------------
你不是楼主啊????
fxyuer2004
2005-09-28
打赏
举报
回复
谢谢楼主,我改了啊,好像不行啊,不知道怎么回事啊??????
starwalker
2005-09-28
打赏
举报
回复
做作业啊
xiaocai0001
2005-09-28
打赏
举报
回复
你原来的那些读入数据的语句
scanf("%d",&node);
就可以改成
node = rand();
就得到一个随机数了
xiaocai0001
2005-09-28
打赏
举报
回复
随机数用
srand(time(NULL));
随机一个种子
然后每调用一次
rand();就得到介于 0 - 32767 之间一个随机数了
fxyuer2004
2005-09-28
打赏
举报
回复
这是我中午编写的,能运行的。呵呵,但是我没有实现随机函数啊,有没有高手啊,帮我的程序该一该啊,实现随机输出数据啊,谢谢了!!!!!!!!!!
fxyuer2004
2005-09-28
打赏
举报
回复
/*----------------插入排序法的使用----------------------*/
#include <stdio.h>
#include <time.h>
#include <dos.h>
#include <conio.h>
void InsertSort(int *list ,int index)
{
int i,j ,k;
int insertnode; /*欲插入的数值*/
long start,stop;
long totaltime,runtime;
/*time(NULL);*/
for(i=1;i<index;i++) /*依序插入数值*/
{
/*time(&start);*/
insertnode=list[i];
j=i-1; /*欲插入数组的开始位置*/
while(j>=0 && insertnode<list[j])
{
list[j+1]=list[j];
j--;
}
list[j+1]=insertnode; /*将数值插入*/
/*time(&stop);
totaltime=stop-start;
runtime=(long)(totaltime)/(int)(list[j]); */
/*-----------打印目前排序结果------*/
/*printf("\n Current sorting result:");
for(k=0;k<index;k++)
{
printf("%3d",list[k]);
}
printf("\nnow the time is: totaltime evetime\n");
printf(" %3d %3d ",totaltime,runtime);*/
}
}
/*----------主程序----------*/
void main( )
{
int list[200]; /*设置数组最大长度为20*/
int node; /*读入输入值所使用的暂存变量*/
int i,index;
long totaltime;
long start,end;
/*random(1000);*/
printf("\n please input the values you want to sort (Exit for 0):\n");
index=0;
/*-------读取数值存入数组中--------------*/
scanf("%d",&node);
while(node!=0)
{
list[index]=node;
index=index+1;
scanf("%d",&node);
}
time(&start);
/*--------调用插入排序函数----------------*/
InsertSort(list,index );
time(&end);
totaltime = end-start;
/*---------打印最终排序结果---------------*/
printf("\n Final sorting result:\n");
for(i=0;i<index;i++)
{
printf("%3d",list[i]);
}
printf("\nthe total time is:");
printf(" %ld\t",totaltime);
printf("\n");
getchar();
}
归并
排序
时间复杂度
分析
归并
排序
时间复杂度
分析主要参考了他的博文,他还讲解了其他
排序
的
时间复杂度
分析及算法实现。可以说合并
排序
是比较复杂的
排序
,特别是对于不了解分治法基本思想的同学来说可能难以理解。总时间=分解时间+解决问题时间+合并时间。分解时间就是把一个待
排序
序列分解成两序列,时间为一常数,
时间复杂度
o(1).解决问题时间是两个递归式,把一个规模为n的问题分成两个规模分别为n/2的子问题,时间为2T(n/2).合并时间
常用
排序
算法--冒泡
排序
及改进和插入
排序
时间复杂度
分析
常用
排序
算法–冒泡
排序
及改进和插入
排序
时间复杂度
分析 常用
排序
算法冒泡
排序
及改进和插入
排序
时间复杂度
分析
排序
及常见
排序
算法 插入
排序
时间复杂度
分析 冒泡
排序
冒泡
排序
的改进
排序
及常见
排序
算法
排序
是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部
排序
和外部
排序
。若整个
排序
过程不需要访问外存便能完成,则称此类
排序
问题为
巧解快速
排序
时间复杂度
快速
排序
时间复杂度
递归算法的
时间复杂度
=递归次数*每次递归遍历的次数我们来看一下快速
排序
算法的
时间复杂度
需要怎么来算呢? 代码实现://左右指针法 不断缩放 //思路 begin 找大的 end 找小的 //还要注意 如果是选end为key 则begin先走 否则end先走 //当选择end时候 因为当最后一次 end和begin差一个距离时候 如果先走end那会导致 /
快速
排序
时间复杂度
分析
快速
排序
的时间主要耗费在划分操作上,对长度为n的区间进行划分,共需n-1次关键字的比较,
时间复杂度
为O(n)。 对n个元素进行快速
排序
的过程构成一棵递归树,在这样的递归树中,每一层最多对n个元素进行划分,所花的时间为O(n)。当初始
排序
数据随机分布,使每次分成的两个子区间中的元素个数大致相等时,递归树高度为log2n,快速
排序
呈现最好情况,即最好情况下的
时间复杂度
为O(nlog2n)。快速
排序
算法的平均
时间复杂度
也是O(nlog2n)。所以快速
排序
是一种高效的算法。 ...
python
排序
算法——冒泡
排序
时间复杂度
冒泡
排序
时间复杂度
是O(n^2),是一种稳定的算法
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章