有其事必有其理, 有其理必有其事
从大的方面来说,排序可以分成内排序和外排序——内排序是外排序的基础。我们常用的内排序又可以粗略分成下面的类型:
1.经典算法:如冒泡排序;
2.插入排序及希尔排序;
3.选择交换排序;
4.堆排序;
5.归并排序;
6.快速排序。
别看排序有那么多种类型,但它们都离不开这样的核心思想
一个待排序列总是被不断从无序序列转变为有序序
一。经典算法:冒泡排序 原理 :在每一遍历中,通过相邻元素的比较 (“冒泡”的比较形象),找到这趟遍历的最小值(或者最大值),并且放到合适的位置 时间复杂度 O(n^2)
二。插入排序:
原理 每一趟处理一个元素,将该元素放于该元素之前的子数组(有序)中的正确位置,共需n-1趟。 时间复杂度 O(n^2) (思想来源玩扑克的时候,插牌)
三 希尔排序
Copyright @ 易道 Powered by: .Text and ASP.NET Theme by: .NET Monster