数据结构 - 栈与后缀表达式后进先出的栈栈是一种LIFO(后进先出)表,在Java中可以简单使用Stack或者Deque实现表示。这里主要讨论栈的一个应用—— 处理后缀表达式。后缀表达式什么的后缀表达式简单来说,后缀表达式是把运算符放在操作数后面的表达式,例如:表达式举例中缀表达式2 + 3 + 4 、a + b * c + (d * e + f) * g后缀表达式2 3 4 + +、2 3...
对 C++ 数组的一点理解数组名与指针数组指针对于一个已经定义的数组,数组名是数组的指针,即数组占有的内存空间的首地址。1先看以下代码:#include ...
快速幂注意到至多进行两次乘法操作,可以将问题的规模缩小为原来的一半。所以,需要进行的乘法次数不超过2logN。一个简单的递归实现 public static long pow1(long base, int exponent) {
// 基准情况
if (exponent == 0)
return 1;
if (e...
辗转相除法原理证明:分情况讨论:如果b < a/2,显然余数小于b,即小a/2。如果b ≥ a/2,我们有a mod b = a mod (a - ...
二分查找待查找的序列是升序的,采用分治算法,时间复杂度为O(logN)一个使用递归的版本 public static int binarySearch1(int[] array, int toFind, int left, int right) {
int mid = (right + left) / 2;
// 基准情况
if (rig...