《王道》数据结构中的一个问题,求逆算法,圈起来的中左不好理解,为什么要减左,感觉直?
因为你的程序是递归的,所以会分两边。
如果在最左边。那么左为0是没有问题的,
但是在右边,其实你的号只是左中。不是中期。
那么程序必须被编写
我?& lt=?mid?-?左边的
//因为mid指的是一个区间的中间数,而这个区间的实际元素数应该是
//(mid?-?左)*2
//根据算法,我们可以理解为,我们需要处理的是当前区间的前半段。
//那么自然地从我?=?0?-& gt;?我?& lt=?mid?-?左,仔细想想,看能不能理解。
我随意画了一张草图。
如果你继续画,你可以清楚地看到战斗。。它一定在中间偏左。