我正在阅读 Robert Sedwick 的算法。
页码:214。
下面的文字参考了数字的二进制表示。
在这里,Robert Sedwick 提到以下程序的灵感来自与二进制数的对应关系。绘制标尺的非递归程序如下所述
void rule(int l, int r, int h)
{
for (int t = 1, j = 1; t <= h; j += j, t++)
for (int i = 0; l+j+i <= r; i += j+j)
mark(l+j+i, t);
}
在图 5.10 中,作者提到要以非递归方式绘制尺子,我们交替使用长度为 1 的绘图标记和跳过位置,然后交替使用长度为 2 的绘图标记和跳过剩余位置,依此类推。
我在上面有以下问题。
- 我的问题是作者如何提到该程序是受二进制数对应的启发?
- 图 5.10 中作者跳位是什么意思?这里指的是什么职位?
- Fig5.10 中第一图中的标记是什么?
请用规则(0,8,3)解释。