无锡网站建设优化公司,论坛类型的网站怎么做,ppt素材网站建设流程图,网站机房建设解决方案1.冒泡排序-Bubble Sort 1.算法原理 依次比较相邻的两个元素#xff0c;若按照从小到大的顺序#xff0c;则将相邻元素中较大的一个放在后面#xff1b;然后对每一对相邻元素都做这种比较#xff0c;序列的最后一个元素就是最大的数#xff1b;
2.算法复杂度
时间复杂度… 1.冒泡排序-Bubble Sort 1.算法原理 依次比较相邻的两个元素若按照从小到大的顺序则将相邻元素中较大的一个放在后面然后对每一对相邻元素都做这种比较序列的最后一个元素就是最大的数
2.算法复杂度
时间复杂度最优复杂度O(n)最差复杂度O(n2)平均复杂度O(n2)
空间复杂度O(1)
3.算法实现-Java
public int[] bubbleSort(int[] arr){for(int i 0; i arr.length - 1; i){for(int j 0; j arr.length -1 - i; j ){if(arr[j] arr[j 1]){int temp arr[j];int arr[j] arr[j 1];int arr[j 1] temp;}}}return arr;
} 2.选择排序-Selection Sort 1.算法原理 先在需要排序的序列中找到最大(小)的一个元素将其放到序列的起始位置 然后在剩余队列中找到最大(小)的一个元素将其放到已经排列好的序列的末尾 以此类推
2.算法复杂度
时间复杂度最优复杂度O(n2)最差复杂度O(n2)平均复杂度O(n2)
空间复杂度O(1)
3.算法实现-Java
public int[] 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;}}if(minIndex ! i){int temp arr[i];arr[i] arr[minIndex];arr[minIndex] temp;}}return arr;
} 3.插入排序-Insertion Sort 1.算法原理 假设第一个元素为已排好序的序列未排序的元素从已排好序的序列中从后向前扫描找到相应的位置插入进去(原本这个位置的元素向后挪一位)组成新的已排好序的序列以此类推直到所有元素排序完成
2.算法复杂度
时间复杂度最优复杂度O(n)最差复杂度O(n2)平均复杂度O(n2)
空间复杂度O(1)
3.算法实现-Java
public int[] insertionSort(int[] arr){for(int i 1; i arr.length; i){int preIndex i - 1;int currentValue arr[i];while(preIndex 0 currentValue arr[preIndex]){arr[preIndex 1] arr[preIndex];preIndex - 1;}arr[preInde 1] currentValue;}return arr;
}