
排序
dut_wangyl
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
冒泡排序
冒泡排序(BubbleSort)算法的基本思想,依次比较相邻的两个数,将小数放在前面,大数放在后面(此时按升序排列,若按降序排列则反之),如此继续,这样最后一个数是最大的数。重复以上过程做第二趟,这次考察范围比上次少了一个,因为第一趟排序已经将最大的数放在最后,不需再比较。如此下去,若n个待排序数,共需要做n-1趟就完成排序了。 算法的复杂度为O(n^2). 效率并不是很高。。。原创 2017-03-14 20:48:06 · 318 阅读 · 0 评论 -
快速排序
快速排序是一种效率比较高的排序方法,时间复杂度为O(nlogn),这个时间基本上能够过绝大部分OJ,下面是它的主要排序方法: 快速排序主要采取从数组尾和数组首两端同时比较排序的方法,选取数组尾即数组的最后一个元素为待比较的元素,然后从数组尾依次向前直到找到第一个比原来的待比较元素大的元素(此处实现数组的升序排列,若实现数组的降序排列则找到第一个比待比较元素小的元素),然后交换,再原创 2017-03-15 18:58:39 · 322 阅读 · 0 评论 -
归并排序
归并排序也是一种效率很高的排序算法,时间复杂度为O(nlogn), 在处理一般数据的情况下与快速排序效率相差不大,其中的算法思想不仅仅应用再排序上,利用归并排序算法求逆序数也是一个经典应用,此处只介绍归并排序,对于用归并排序求逆序数不再赘述。归并排序的主要思想在其名字上也有体现,主要分为两部分:递归和合并,也是分治法的一种体现,将一个大问题逐步化简为小问题。下面是实现过程: 首先将一个待原创 2017-03-15 19:41:29 · 322 阅读 · 0 评论