范文无忧网计划总结工作总结

豆丁c语言中几种排序方法比较

02月15日 编辑 fanwen51.com

[c语言swich用法]#include "stdio" main() { int a ; scanf("%d",&a); if(a>=0&a<=100) { switch(a/10) { case 10 case 9:printf("你的等级为:A"); break; case 8:printf("你的等级为:B");break; case 7:p...+阅读

1.稳定性比较

插入排序、冒泡排序、二叉树排序、二路归并排序及其他线性排序是稳定的

选择排序、希尔排序、快速排序、堆排序是不稳定的

2.时间复杂性比较

插入排序、冒泡排序、选择排序的时间复杂性为O(n2)

其它非线形排序的时间复杂性为O(nlog2n)

线形排序的时间复杂性为O(n);

3.辅助空间的比较

线形排序、二路归并排序的辅助空间为O(n),其它排序的辅助空间为O(1);

4.其它比较

插入、冒泡排序的速度较慢,但参加排序的序列局部或整体有序时,这种排序能达到较快的速度。反而在这种情况下,快速排序反而慢了。

当n较小时,对稳定性不作要求时宜用选择排序,对稳定性有要求时宜用插入或冒泡排序。

若待排序的记录的关键字在一个明显有限范围内时,且空间允许是用桶排序。

当n较大时,关键字元素比较随机,对稳定性没要求宜用快速排序。

当n较大时,关键字元素可能出现本身是有序的,对稳定性有要求时,空间允许的情况下。宜用归并排序。

当n较大时,关键字元素可能出现本身是有序的,对稳定性没有要求时宜用堆排序。

延伸阅读:

c语言课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机...

C语言实验报告总结你只需要按那个模版就行,那些内容就改成你的作业 班级: 学号: 姓名: 实验9 指针 一、实验目的 (1)掌握指针概念,并定义与使用它。 (2)使用数组的指针和指向数组的指针变量。 (3)...

C语言排序有哪些方法详细点我博客里收藏的,粘给你 排序有哪几种好方法( 1 )2009-12-03 19:26 排序小结 排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法 对算法本身的速度...

几种经典排序算法优劣比较的C程序实现一、低级排序算法1.选择排序 (1)排序过程 给定一个数值集合,循环遍历集合,每次遍历从集合中选择出最小或最大的放入集合的开头或结尾的位置,下次循环从剩余的元素集合中遍历找出...

C语言中的排序方法探索根据自己的学习体会总结各种排序方法的可能会有些小错误,你自己可以根据需要进行改动,比如你可以直接定义一组数,就不需要随机产生数了,我想你应该改得了,呵呵,代码如下:#include#include#include#include#includeusingn...

c语言问题求解问题 1 有的运算符不能对浮点型数进行运算。( √ )答案对错5 分 问题 2 增1减1运算符的前缀运算和后缀运算的表达式值是相同的(*)答案对错5 分 问题 3 逻辑表达式的值为1或0。(...

如何在现代C中实现经典排序算法冒泡法大家都较熟悉。其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。下面列出其代码:void b...

PHP中几种常见的超时处理全面总结在PHP开发中工作里非常多使用到超时处理到超时的场合,我说几个场景: 1. 异步获取数据如果某个后端数据源获取不成功则跳过,不影响整个页面展现 2. 为了保证Web服务器不会因为当...

总结一下CC程序中几种常用的计时函数在编写程序时,有时需要准确测量一个算法的运行时间,以做到对某一特定的数据集,不同算法耗时的比较。 题主e799bee5baa6e58685e5aeb931333365666264今天在编写算法课实验代码的...

推荐阅读
图文推荐
栏目列表