手写代码
- 2.1 快排
- 2.2 归并
- 2.3 手写Spark-WordCount
- 2.4 冒泡排序
- 2.5 二分查找
- 2.6 二叉树之Scala实现
- 2.6.1 二叉树概念
- 2.6.2 二叉树的特点
- 2.6.3 二叉树的Scala代码实现
常见的几种排序
排序算法时间复杂度、空间复杂度、稳定性比较(动态图):
https://blog.csdn.net/yushiyi6453/article/details/76407640
2.1 冒泡排序
/**
* 冒泡排序 时间复杂度 O(n^2) 空间复杂度O(1)
*/
public class BubbleSort {
public static void bubbleSort(int[] data) {
System.out.println("开始排序");
int arrayLength = data.length;
for (int i = 0; i < arrayLength - 1; i++) {
boolean flag = false;
for (int j = 0; j < arrayLength - 1 - i; j++) {
if(data[j] > data[j + 1]){
int temp = data[j + 1];
data[j + 1] = data[j];
data[j] = temp;
flag = true;
}
}
System.out.println(java.u