摘要:
归并算法 更正一下,昨天的那个图解, 有最后一个地方,应该这样说,将子数组划分到最后是时刻时(即一个子数组只有一个数时)并不有序【其实两个数字之间肯定是一大一小或相等,逻辑上是有序的,只不过大小的方向不一样罢了】, 在归并子数组时才是按顺序那拿会的。 好的,因为昨天的只是讲一个归并的思想,所以要将数 阅读全文
摘要:
归并算法: 先来个图解^v^: 归并排序的思想就是:如果一个数组无序,那么 ,将这个数组一分为二,如果一分为二的数组还是无序的,那么就继续往下分数组,直到分出来的数组有序(一般情况下,被分的数组只剩两个数,那么这两个数一定有序)。 这图是我手画的,是归并的数组分解和归并。 我先哪一个前后已经排好序的 阅读全文
摘要:
希尔排序: 希尔排序是对插入排序的优化,将插入排序的交换步长由1增加到h。希尔排序的思想是使数组中任意间隔为h的元素有序。步长调幅为h = 3*h + 1, 也就是1,4,13,40,121,364, 1003....这种步长算法是经过论文证明为比较高效的步长。最开始由最大步长开始排序,最大步长为w 阅读全文
摘要:
快速排序: 它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小, 然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。最坏情况的时 间复杂度为O(n2),最好情况时间复杂度为O(nlog 阅读全文
摘要:
选择排序:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个 阅读全文
摘要:
本人第一次写博客,之前都是用自己的日记本。 但是苦于不能时时带着电脑,实在是不方便。。。。所以决定用手机。正好就是朋友也都在用博客,所以,,真香。。。 废话不多说,点到为止。。 冒泡排序 原理:比较两个相邻的元素,将值大的元素交换至右端。 冒泡排序的优点:每进行一趟排序,就会少比较一次,因为每进行一 阅读全文