摘要:本篇文章涉及公式,由于博客园没有很好的支持,建议移步我的 "CSDN" 博客和 "简书" 进行阅读。 1. Master公式是什么? 我们在解决算法问题时,经常会用到递归。递归在较难理解的同时,其算法的复杂度也不是很方便计算。而为了较为简便地评估递归的算法复杂度,Master公式应运而生。下面给出 阅读全文
posted @ 2019-11-08 19:03 Staick 阅读 (47) 评论 (0) 编辑
摘要:1. 交换两个变量值的三种方法 1. 申请额外的变量 2. 使用加减运算 3. 使用异或运算 上面异或不太清楚的可以参考我的博客 "异或的性质与应用" 2. 提取一个数最右侧的1的方法 先给出方法 java flag = num & (~num + 1); 下面来进行分析 假设 , 则 , , 则 阅读全文
posted @ 2019-11-07 19:45 Staick 阅读 (10) 评论 (0) 编辑
摘要:1. 异或的理解 我们通常把异或定义为不同为1,相同为0,即如如下真值表所显示: | a | b | a ^ b | | : : | : : | : : | | 0 | 0 | 0 | |0|1|1| |1|0|1| |1|1|0| 但从另外一方面想,我们可以将异或运算认为是二进制的无进位相加: 设 阅读全文
posted @ 2019-11-07 19:41 Staick 阅读 (24) 评论 (0) 编辑