- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
排序方法及其例子
交换排序法 冒泡排序?|?鸡尾酒排序?|?奇偶排序?|?Comb sort?|?Gnome sort?|?快速排序 选择排序法 选择排序?|?堆排序 插入排序法 插入排序?|?希尔排序?|?Tree sort?|?Library sort?|?Patience sorting 归并排序法 归并排序?|?Strand sort 非比较排序法 基数排序?|?桶排序?|?计数排序?|?鸽巢排序?|?Burstsort?|?Bead sort 其他 拓扑排序?|?排序网络?|?Bitonic sorter?|?Batcher odd-even mergesort?|?Pancake sorting? 一、排序
1.冒泡法:
..
?
使用冒泡排序为一列数字进行排序的过程分类排序算法数据结构数组最差时间复杂度O(n2)最优时间复杂度O(n)平均时间复杂度O(n2)最差空间复杂度O(n) total,?O(1) auxiliary?
public static void sort(Comparable[] a)
{
?????int N = a.length;
?????for(int i=0;iN;i++)
?????????for(int j=i;j0;j--)
????????????if(a[j].compareTo(a[j-1])=-1)
??????????????????exchange(a,j,j-1);
????????????else
??????????????????break;
}
交换位置:
public static void change(Comparable[] a,int from,int to)
{
??????Comparable t = a[from];
??????a[from] = a[to];
??????a[to] = t;
}
判断是否已经有序:
public static boolean isSorted(Comparable[] a)
{
????for(int i=1;ia.length;i++)
????????if(a[i].compareTo(a[i-1])=-1)
????????????return false;
????return true}
2.选择排序:
分类排序算法数据结构数组最差时间复杂度О(n2)最优时间复杂度О(n2)平均时间复杂度О(n2)最差空间复杂度О(n)?total,?O(1)?auxiliary?
public static void change(Comparable[] a)
{
??????int N = a.length;
??????for(int i=0;iN;i++)
??????{
???????????int min = i;
???????????for(int j=i+1;jN;j++)
???????????{
?????????????????if(a[j].comparaeTo(a[min])=-1)
?????????????????????min = j;
???????????}
???????????exchange(a,i,min);
??????}
}
时间复杂度:
比较的次数:(n-1)+(n-2)+..................+1+0~N^2/2
交换的次数:N
时间复杂度是:N^2/2+N~N^2/2
3.插入排序:
public static void change(Comparable[] a)
{
????int N = a.length;
????for(int i=0;iN;i++)
????{
???????????for(int j=i;j0;j--)
???????????{
??????????????????if(a[j].compareTo(a[j-1])=-1)
???????????????????????exchange(a,j,j-1);
?????????????????else
???????????????????????break;
???????????}
????} ??
}
时间复杂度:
比较次数:N^2/4
交换次数:N^2/4
时间复杂度是:N^2/2
极端情况:
如果序列是排好序的,那么比较的次数是N-1 ??????交换的次数是0
如果序列是随即的,那么比较的次数是N^2/2 ???????交换的次数是N^2/2
4.希尔排序(shell
您可能关注的文档
最近下载
- 登革热诊疗方案(2024年版).pdf VIP
- 人教版PEP小学英语六年级上册第一单元测试卷.pdf VIP
- 《装配式装修标准化模块化设计 》课件——模块七:装配式装修卫浴部品体系设计.ppt VIP
- 《全装饰住宅部品集成技术》课件——模块六:集成厨房部品体系设计装配式装修.pptx VIP
- 破晓剧本(红色剧目).docx VIP
- 《装配式装修标准化模块化设计 》课件——模块六:集成厨房部品体系设计装配式装修.ppt VIP
- 国际投资(第六版)课件 SolMcL_6e_ch10.ppt VIP
- 《装配式建筑装饰装修》习题-04收纳系统设计.docx VIP
- 装配式建筑装饰装修-标准化.pptx VIP
- 常用电子管参数及脚位5.doc VIP
文档评论(0)