各种排序方法复杂度总结

各种排序方法复杂度总结

ID:21320221

大小:24.50 KB

页数:3页

时间:2018-10-21

各种排序方法复杂度总结_第1页
各种排序方法复杂度总结_第2页
各种排序方法复杂度总结_第3页
资源描述:

《各种排序方法复杂度总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、各种排序方法复杂度总结  在c中,排序算法是最基本最常用的算法,不同的排序算法在不同的场景或应用中会有不同的表现,接下来小编搜集了各种排序方法复杂度总结,欢迎查看。  一、冒泡排序  主要思路是:  通过交换相邻的两个数变成小数在前大数在后,这样每次遍历后,最大的数就“沉”到最后面了。重复n次即可以使数组有序。  代码实现  voidbubble_sort(intarr[],intlen)  {  for(inti=0;i=i;j——)  {  if(arr[j]—1&&ktarget)  j——;  if(

2、iarr[j])  temp_arr[k++]=arr[j++];  else  temp_arr[k++]=arr[i++];  }  while(i

3、arr[],inttemp_arr[],intstart_index,intend_index)  {  if(start_index

4、index,end_index);  }  }  七、堆排序  堆排序的难点就在于堆的的插入和删除。  堆的插入就是——每次插入都是将新数据放在数组最后,而从这个新数据的父结点到根结点必定是一个有序的数列,因此只要将这个新数据插入到这个有序数列中即可。  堆的删除就是——堆的删除就是将最后一个数据的值赋给根结点,然后再从根结点开始进行一次从上向下的调整。调整时先在左右儿子结点中找最小的,如果父结点比这个最小的子结点还小说明不需要调整了,反之将父结点和它交换后再考虑后面的结点。相当于从根结点开始将一个数据在有序

5、数列中进行“下沉”。  因此,堆的插入和删除非常类似直接插入排序,只不是在二叉树上进行插入过程。所以可以将堆排序形容为“树上插”。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。