可视化网站建设软件有哪些专业网站公司
2026/5/21 20:20:01 网站建设 项目流程
可视化网站建设软件有哪些,专业网站公司,wordpress没权重,深圳营销型网站设计公司一、八大排序算法总览 排序算法类型稳定性平均时间复杂度空间复杂度冒泡排序交换稳定O(n)O(1)选择排序选择不稳定O(n)O(1)插入排序插入稳定O(n)O(1)希尔排序插入不稳定O(n^1.3)O(1)归并排序归并稳定O(n log n)O(n)快速排序交换不稳定O(n log n)O(log n)堆排序选择不稳定O(n lo…一、八大排序算法总览排序算法类型稳定性平均时间复杂度空间复杂度冒泡排序交换稳定O(n²)O(1)选择排序选择不稳定O(n²)O(1)插入排序插入稳定O(n²)O(1)希尔排序插入不稳定O(n^1.3)O(1)归并排序归并稳定O(n log n)O(n)快速排序交换不稳定O(n log n)O(log n)堆排序选择不稳定O(n log n)O(1)基数排序分配稳定O(n·k)O(nk)二、冒泡排序Bubble Sort1. 思想像水中的气泡一样大的数不断“浮”到后面。每一趟比较相邻元素大的往后放一趟结束最大值到末尾2. Java 实现public static void bubbleSort(int[] arr) { for (int i 0; i arr.length - 1; i) { boolean flag false; for (int j 0; j arr.length - 1 - i; j) { if (arr[j] arr[j 1]) { int temp arr[j]; arr[j] arr[j 1]; arr[j 1] temp; flag true; } } if (!flag) break; // 优化已排好序 } }3. 特点✅ 稳定❌ 慢只适合理解思想三、选择排序Selection Sort1. 思想每一轮选择一个最小值放到前面。2. Java 实现public static void selectionSort(int[] arr) { for (int i 0; i arr.length - 1; i) { int minIndex i; for (int j i 1; j arr.length; j) { if (arr[j] arr[minIndex]) { minIndex j; } } int temp arr[i]; arr[i] arr[minIndex]; arr[minIndex] temp; } }3. 特点❌ 不稳定❌ 比较次数固定四、插入排序Insertion Sort1. 思想像打牌一样把当前数插入到已排好序的部分。2. Java 实现public static void insertionSort(int[] arr) { for (int i 1; i arr.length; i) { int current arr[i]; int j i - 1; while (j 0 arr[j] current) { arr[j 1] arr[j]; j--; } arr[j 1] current; } }3. 特点✅ 稳定✅ 小规模 / 基本有序非常快五、希尔排序Shell Sort1. 思想插入排序的升级版先分组再插入。2. Java 实现public static void shellSort(int[] arr) { for (int gap arr.length / 2; gap 0; gap / 2) { for (int i gap; i arr.length; i) { int temp arr[i]; int j i; while (j - gap 0 arr[j - gap] temp) { arr[j] arr[j - gap]; j - gap; } arr[j] temp; } } }六、归并排序Merge Sort1. 思想分而治之拆分数组排序子数组合并有序数组2. Java 实现核心public static void mergeSort(int[] arr, int left, int right) { if (left right) { int mid (left right) / 2; mergeSort(arr, left, mid); mergeSort(arr, mid 1, right); merge(arr, left, mid, right); } }七、快速排序Quick Sort⭐1. 思想选一个基准值比它小的放左边大的放右边。2. Java 实现public static void quickSort(int[] arr, int left, int right) { if (left right) return; int pivot arr[left]; int l left, r right; while (l r) { while (l r arr[r] pivot) r--; arr[l] arr[r]; while (l r arr[l] pivot) l; arr[r] arr[l]; } arr[l] pivot; quickSort(arr, left, l - 1); quickSort(arr, l 1, right); }3. 特点 实际中最快❗ 最坏 O(n²)八、堆排序Heap Sort1. 思想利用大顶堆/小顶堆的结构。2.代码实现package com.qcby; import java.lang.reflect.Array; import java.util.Arrays; public class duiSort { public static void main(String[] args) { int arr[] {5,7,4,2,0,3,1,6}; for(int p arr.length-1;p0;p--){ sort(arr,p,arr.length); } for(int i arr.length-1;i0;i--){ int temp arr[i]; arr[i] arr[0]; arr[0] temp; sort(arr,0,i); } System.out.println(Arrays.toString(arr)); } public static void sort(int arr[], int parent, int length){ int child parent*21; while (childlength){ int rchild child 1; if(rchildlength arr[rchild]arr[child] ){ child; } if(arr[parent]arr[child] ){ int temp arr[parent]; arr[parent] arr[child]; arr[child] temp; parent child; child parent*21; }else { break; } } } }3.特点不稳定不需要额外空间九、基数排序Radix Sort1. 思想按位排序个位 → 十位 → 百位2. 特点非比较排序适合整数 / 字符串

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询