这里写目录标题
异或运算:不进位相加
1. 时间复杂度
所谓常数操作就是跟数据量无关,是一个固定时间的操作。(加减乘除位运算等等)
冒泡排序的时间复杂度为
O
(
n
2
)
O(n^2)
O(n2)
评价一个算法流程的好坏,先看时间复杂度的指标,然后再分析不同数据样本下的实际运行时间,也就是“常数项时间”。
两个数交换:
a = a 异或 b
b = a 异或 b
a = a 异或 b
public static void swap(int[] arr,int i, int j){
arr[i] = arr[i]^arr[j];
arr[j] = arr[i]^arr[j];
arr[i] = arr[i]^arr[j];
}
// i 不能等于 j,不能是同一个内存区域