File tree Expand file tree Collapse file tree 5 files changed +12
-3
lines changed
src/com/fantasy/algorithm/sort Expand file tree Collapse file tree 5 files changed +12
-3
lines changed Original file line number Diff line number Diff line change 55/**
66 * 冒泡排序,稳定算法</br>
77 * </br>
8+ * 思路:无序区两两比较,如果前者大于后者则交换两者的位置。每一轮过后,无序区的最大值都会上浮到至末尾,从而形成有序的数列。</br>
9+ * </br>
810 * 在最佳情况下,时间复杂度为 O(n)</br>
911 * </br>
1012 * 在最差情况下,时间复杂度为 O(n^2)</br>
Original file line number Diff line number Diff line change 33import java .util .Arrays ;
44
55/**
6- * 插入排序,又称直接插入排序,稳定算法</br>
6+ * 插入排序,稳定算法,又称直接插入排序</br>
7+ * </br>
8+ * 思路:从第二个元素开始,每次与前面的元素比较寻找插入的位置,每插入一个数,都会使前面的有序区增加一个数。</br>
79 * </br>
810 * 在最佳情况下,时间复杂度为 O(n)</br>
911 * </br>
Original file line number Diff line number Diff line change 33import java .util .Arrays ;
44
55/**
6- * 快速排序,不稳定性算法</br>
6+ * 快速排序,不稳定算法</br>
7+ * </br>
8+ * 思路:取一个记录作为基准元素,经过一趟排序将整段序列分为两个部分,使得左侧都小于基准元素、右侧都大于基准元素;</br>
9+ * 再对这两部分继续进行排序,使整个序列达到有序。</br>
710 * </br>
811 * 在最佳情况下,时间复杂度为 O(nlogn)</br>
912 * </br>
Original file line number Diff line number Diff line change 55/**
66 * 选择排序,稳定算法</br>
77 * </br>
8- * 选择排序每次会从未排序区间中找到最小的元素,将其放到已排序区间的末尾。</br>
8+ * 思路: 选择排序每次会从未排序区间中找到最小的元素,将其放到已排序区间的末尾。</br>
99 * </br>
1010 * 在最佳情况下,时间复杂度为 O(n^2)</br>
1111 * </br>
Original file line number Diff line number Diff line change 55/**
66 * 希尔排序,不稳定算法,插入排序升级版,跳跃式交换数据</br>
77 * </br>
8+ * 思路:先将整个待排记录序列分割成若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次插入排序。</br>
9+ * </br>
810 * 在最佳情况下,时间复杂度为 O(nlogn)</br>
911 * </br>
1012 * 在最差情况下,时间复杂度为 O(n^2)</br>
You can’t perform that action at this time.
0 commit comments