白话经典算法系列之八morewindows白话经典算法之七大排序总结篇

白话经典算法系列之八morewindows白话经典算法之七大排序总结篇

ID:30906584

大小:299.16 KB

页数:7页

时间:2019-01-04

白话经典算法系列之八morewindows白话经典算法之七大排序总结篇_第1页
白话经典算法系列之八morewindows白话经典算法之七大排序总结篇_第2页
白话经典算法系列之八morewindows白话经典算法之七大排序总结篇_第3页
白话经典算法系列之八morewindows白话经典算法之七大排序总结篇_第4页
白话经典算法系列之八morewindows白话经典算法之七大排序总结篇_第5页
资源描述:

《白话经典算法系列之八morewindows白话经典算法之七大排序总结篇》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、白话经典算法系列之八MoreWindows白话经典算法之七大排序总结篇在我的博客对冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法进行了详细的讲解,并做成了电子书以供大家下载。下载地址为:http://download.csdn.net/detail/morewindows/4443208。有网友提议到这本《MoreWindows白话经典算法之七大排序》电子书讲解细致用来平时学习是非常好的,但是页数有22页,不太合适做面试前的复习资料。因此在这里将这七种常用的排序方法进行下

2、总结,以便大家更好的复习这些经典的排序算法,为面试打下良好的基础。首先回顾下各种排序的主要思路:一.冒泡排序冒泡排序主要思路是:通过交换使相邻的两个数变成小数在前大数在后,这样每次遍历后,最大的数就“沉”到最后面了。重复N次即可以使数组有序。冒泡排序改进仁在某次遍历中如果没有数据交换,说明整个数组己经有序。因此通过设置标志位来记录此次遍历有无数据交换就可以判断是否要继续循环。冒泡排序改进Z记录某次遍历时最后发生数据交换的位置,这个位置之后的数据显然已经有序了。因此通过记录最后发牛数据交换的位置就可以确定下次循环的范围了

3、。一.直接插入排序直接插入排序主要思路是:每次将一个待排序的数据,插入到前面已经排好序的序列之中,直到全部数据插入完成。二.直接选择排序直接选择排序主要思路是:数组分成有序区和无序区,初始时整个数组都是无序区,然后每次从无序区选一个最小的元素直接放到有序区的最后,直到整个数组变有序区。上面这三种排序都是非常简单的,下面这四种排序略有难度,希望读者能多多实践以加深理解。一.希尔排序希尔排序主要思路是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,

4、待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。由于希尔排序是对相隔若干距离的数据进行直接插入排序,因此可以形象的称希尔排序为“跳着插”二.归并排序归并排序主要思路是:当一个数组左边有序,右边也有序,那合并这两个有序数组就完成了排序。如何让左右两边有序了?用递归!这样递归下去,合并上来就是归并排序。六.快速排序快速选择排序主要思路是:“挖坑填数+分治法”,首先令i=L;j=R;将a[i]挖出形成第一个坑,称a[i]为基准数。然后j-由后向前找比基准数小的数,找到后挖出此数填入前一个坑现i]

5、中,再i++由前向后找比基准数大的数,找到后也挖出此数填到前一个坑a[j]中。重复进行这种“挖坑填数”直到i==jo再将基准数填入a[i冲,这样i之前的数都比基准数小,i之后的数都比基准数大。因此将数组分成二部分再分别重复上述步骤就完成了排序。七.堆排序堆排序主要思路用张图示来表示更好:MoreWindows图解堆排序算法,1_可见堆排序的难点就在于堆的的插入和删除。堆的插入就是——每次插入都是将新数据放在数组最后,而从这个新数据的父结点到根结点必定是一个有序的数列,因此只要将这个新数据插入到这个有序数列中即可。堆的删

6、除就是——堆的删除就是将最后一个数据的值赋给根结点,然后再从根结点开始进行一次从上向下的调整。调整时先在左右儿子结点中找][小的如果父结点比这个最小的了结点还小说明不需要调整了之将父结点和它交换后再考虑后面的结点。相当于从根结点开始将一个数据在有序数列屮进行“下沉”。因此,堆的插入和删除非常类似直接插入排序,只不是在二叉树上进行插入过程。所以可以将堆排序形容为“树上插”再用一张图表示下这七种常用的排序方法的关系。好了,七种常用的排序方法就总结到这了,相信大家上机写下代码再看下这张图必定会印象深刻。在准备面试资料时可以打

7、印最后这张图,这样就能在面试前快速的复习一下了,祝大家面试顺利,拿到自己满意的offero

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

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

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