排序算法
chongyucaiyan
一切皆有可能~
展开
-
Algorithm | 排序算法之冒泡排序
相关知识冒泡排序快速排序直接插入排序希尔排序直接选择排序堆排序归并排序基本思想基本思想:比较,交换代码实现实现1:public static void bubbleSort(int[] array) { for (int i = 0; i < array.length; i++) { for (int j = 0; j + 1 < a...原创 2018-12-18 21:55:07 · 1373 阅读 · 0 评论 -
Algorithm | 排序算法之快速排序
相关知识基本思想基本思想:挖坑填数,分治法代码实现public static void quickSort(int[] array, int first, int last) { if (first >= last) { return; } int i = first, j = last; int tmp = array[i]; ...原创 2018-12-18 21:56:20 · 1849 阅读 · 1 评论 -
Algorithm | 排序算法之直接插入排序
相关知识基本思想基本思想:把无序区的第一个元素按顺序插入到有序区中代码实现实现1:交换public static void insertionSort(int[] array) { for (int i = 1; i < array.length; i++) { for (int j = i - 1; j >= 0 && array[j...原创 2018-12-18 21:57:01 · 1430 阅读 · 0 评论 -
Algorithm | 排序算法之希尔排序
相关知识基本思想基本思想:增量分组,直接插入排序,缩小增量代码实现实现1:交换public static void shellSort(int[] array) { for (int gap = array.length / 2; gap > 0; gap /= 2) { for (int i = gap; i < array.length; i++)...原创 2018-12-18 21:57:32 · 1718 阅读 · 0 评论 -
Algorithm | 排序算法之直接选择排序
相关知识基本思想基本思想:在无序区中找到最小(最大)的元素放在有序区的末尾代码实现public static void selectionSort(int[] array) { for (int i = 0; i < array.length; i++) { int min = i; for (int j = i + 1; j < arr...原创 2018-12-18 21:58:07 · 1476 阅读 · 0 评论 -
Algorithm | 排序算法之堆排序
相关知识基本思想基本思想:堆化,堆的删除代码实现实现1:交换public static void heapSort(int[] array) { toHeap(array); for (int i = array.length - 1; i > 0; i--) { int tmp = array[i]; array[i] = arr...原创 2018-12-18 21:58:54 · 1835 阅读 · 0 评论 -
Algorithm | 排序算法之归并排序
相关知识基本思想基本思想:分治法,合并代码实现实现1:public static void mergeSort(int[] array, int first, int last) { if (first >= last) { return; } int middle = (first + last) / 2; mergeSort(a...原创 2018-12-18 21:59:28 · 1812 阅读 · 0 评论 -
Algorithm | 排序算法总结
排序算法总结冒泡排序基本思想:比较,交换时间复杂度:O(N^2)空间复杂度:O(1)算法稳定性:稳定快速排序基本思想:挖坑填数,分治法时间复杂度:O(NlogN)空间复杂度:O(1)算法稳定性:不稳定直接插入排序基本思想:把无序区的第一个元素按顺序插入到有序区中时间复杂度:O(N^2)空间复杂度:O(1)算法稳定性:稳定希尔排序基本思想:增量...原创 2018-12-18 22:00:03 · 1889 阅读 · 0 评论