
算法
SOUL-GIN
任凭弱水三千,只取一瓢饮
展开
-
算法基础_3_异或
常用运算 异或(xor): 如果a、b两个值不相同, 则异或结果为1. 如果a、b两个值相同, 异或结果为0 一个数异或自己结果为零: a^a = 0 异或运算满足交换律和结合律: (一堆数字异或结果与数字顺序无关) a ^ b ^ a = a ^ a ^ b = 0 ^ b = b 与运算符(&) 两个对象同时为1, 结果为1, 否则为0 (有0则0) 或运算(|) 两个对象, 一个为1, 其值为1 ( 有1则1) public class ExclusiveOr { pub原创 2020-07-05 00:28:10 · 912 阅读 · 0 评论 -
算法基础_2_排序
选择排序(ASC): 第一轮: 第一个数与后面每个数比较, 较小值交换至第一个位置;(第一个数字为最小值) 第二轮: 第二个数与后面每个数比较, 较小值交换至第二个位置;(第二个数字为次小值) … 后续同理(每次循环在[m, n]区间内获取最小值, 放置m处) public static void selectionSort(int[] arr) { if (arr == null || arr.length < 2) { return; } // 0 ~原创 2020-07-05 00:23:45 · 181 阅读 · 0 评论 -
算法基础_1_复杂度
算法(问题求解步骤的一种描述) 时间复杂度:算法计算执行的基本操作次数(与数据量相关) 空间复杂度:算法需要消耗多少辅助空间(不计数据本身占用的空间) 算法在时间的高效性和空间的高效性之间通常是矛盾的,所以会有"时间换空间,空间换时间"一说 时间复杂度 执行时间固定的操作都是常数时间操作 算术运算 (+ - * / % 等) 位运算( >> >>> << | & ^ 等) 赋值 比较 数组寻址 HashMap查找指定元素原创 2020-07-04 12:59:17 · 357 阅读 · 0 评论