算法
冬雷小墨
这个作者很懒,什么都没留下…
展开
-
通过位运算计算A+B问题,不使用四则运算
这是一个模拟计算机中实现加法器的程序,所有的数加法最后都是在计算机中用二进制的位操作实现 两个一相加会产生进位,所以这个用两个数相与然后左移一位实现进位操作public class APlusB { public static void main(String[] args) { System.out.println(aplusb(10, 23)); } ...原创 2018-07-08 20:06:35 · 638 阅读 · 0 评论 -
堆实现数学表达式求值(利用逆波兰表达式)
1.表达式求值比较复杂,涉及到运算符的优先级,还有括号的影响,所以需要有一个合适的求值方法来完成,逆波兰式是个最佳选择,逆波兰式就是利用堆的特性来设计的。2.利用堆实现数学表达式求值,代码中主要的方法是initRPN方法和caculate方法,initRPN方法的功能是将输入的表达式(中缀表达式)按照规则转换成后缀表达式(逆波兰表达式),caculate是将逆波兰表达式按照规则计算结果。impor...原创 2018-07-11 12:49:57 · 365 阅读 · 0 评论 -
求解power of tow问题(判断一个数是否为2的幂次方数)
public class PowerOfTow { public static void main(String[] args) { System.out.println(isPowerOfTow(4)); System.out.println(isPowerOfTow1(4, 0)); System.out.println(isPower...原创 2018-07-07 17:30:23 · 349 阅读 · 0 评论