0

我正在为魔方求解器创建修剪表,这意味着我需要创建一个文件,将任何立方体的唯一标识符映射到 0 到 25 范围内的数字,该数字表示立方体与已求解状态的距离(25是我正在使用的最大深度)。但是,标识符可以从 0 到大约 4.7 * 10^21 或大约 2^72,因此它们不能用作传统数据结构中的索引,因为它们远远超出了整数的范围。此外,修剪表需要检查数百万次,所以我需要快速查找。

所以,我的想法是创建一个文件,其中立方体的 id 用作行号,深度存储在那里。我会将深度转换为以 26 为底,因此文件的每一行都将包含从 a 到 z 的一个字符。但是,我需要将一个字符写入文件的特定行,并且我不希望读取它之前的数千行。所以,我想知道如果我知道每一行都包含一个字符,是否有办法编辑文件的特定行。

例如,求解的立方体的 id 是 591305913000000,所以第 591305913000000 行存储一个 0,因为它是 0,从求解的立方体移动。执行移动的多维数据集R的 ID 为 5889210210000498,1 将存储在第 5889210210000498 行。

我也愿意接受有关以一种可以快速读取的方式存储所有这些数据的更好方法的建议。预先感谢您的帮助。

4

0 回答 0