我正在阅读《编程珠玑》,但在第一列的问题9中,有一个解决方案的解释让我感到非常困惑。
问题是:使用位图数据表示一组整数时,第一阶段将集合初始化为空。但初始化空间本身可能需要很长时间。展示如何通过设计技术来初始化向量的条目为零,以绕过此问题。
答案是:初始化向量 data [0…n-1] 的效果可以通过包含两个额外的n元向量 from 和 to 以及整数 top 的签名来实现。如果已经初始化元素 data [i],则 from [i] < top 并且 to [*from* [i]] = i。因此, from 是一个简单的签名,而 to 和 top 共同确保 from 不会被内存的随机内容意外签名。
我已经多次阅读了这个答案,但仍然不理解它。能否有人解释一下?
谢谢,
问题是:使用位图数据表示一组整数时,第一阶段将集合初始化为空。但初始化空间本身可能需要很长时间。展示如何通过设计技术来初始化向量的条目为零,以绕过此问题。
答案是:初始化向量 data [0…n-1] 的效果可以通过包含两个额外的n元向量 from 和 to 以及整数 top 的签名来实现。如果已经初始化元素 data [i],则 from [i] < top 并且 to [*from* [i]] = i。因此, from 是一个简单的签名,而 to 和 top 共同确保 from 不会被内存的随机内容意外签名。
我已经多次阅读了这个答案,但仍然不理解它。能否有人解释一下?
谢谢,