存储、解析、传递多维信息的数据结构
Data structure for storing, parsing, passing multidimensional information
我正在尝试决定如何存储 3 维数据集。集合中的每个点都包含关于该点的信息结构。
关于 3d 集的事实:
大多数外部点将是空的。
重要的点将是不规则的形状。
任意2个重要点之间都有一条路径。
我想让space的大小由每个维度的max/min个点决定(最外层至少要有一个重要的点才能保留)
我需要用这些点做什么(连接是 2 个主要相邻的重要点):
- 已知起点(相对于起点的 x,y,z)
- 跟随一条边(一个点连接到其他 2-3 个点)
- 识别曲线开关(2个3点边不构成四边形的点)
- 识别叶子(仅连接到另一个点的点
我考虑过的结构:
- 链表(每个节点6个连接)
- 只存储重要的点
- 难以识别尺寸的宽度
- 3d 数组
- 易于识别尺寸的宽度
- 存储了很多无关紧要的点
是否有其他结构更适合我?是否有其他原因选择上述结构之一而不是其他结构?
如果您碰巧了解 minecraft forge 1.8.9 的开发。我正在尝试基于项目 nbt 制作动态项目模型。随意查看我目前拥有的代码 here.
我决定使用坐标的字符串表示作为键 ("x,y,z") 的哈希图,并使用接口作为对象。此设置使将结构存储到 json 变得相当容易,让我可以轻松访问所有点,因为我可以在 运行 时间内为任何点生成密钥。
我正在尝试决定如何存储 3 维数据集。集合中的每个点都包含关于该点的信息结构。
关于 3d 集的事实: 大多数外部点将是空的。 重要的点将是不规则的形状。 任意2个重要点之间都有一条路径。
我想让space的大小由每个维度的max/min个点决定(最外层至少要有一个重要的点才能保留)
我需要用这些点做什么(连接是 2 个主要相邻的重要点):
- 已知起点(相对于起点的 x,y,z)
- 跟随一条边(一个点连接到其他 2-3 个点)
- 识别曲线开关(2个3点边不构成四边形的点)
- 识别叶子(仅连接到另一个点的点
我考虑过的结构:
- 链表(每个节点6个连接)
- 只存储重要的点
- 难以识别尺寸的宽度
- 3d 数组
- 易于识别尺寸的宽度
- 存储了很多无关紧要的点
是否有其他结构更适合我?是否有其他原因选择上述结构之一而不是其他结构?
如果您碰巧了解 minecraft forge 1.8.9 的开发。我正在尝试基于项目 nbt 制作动态项目模型。随意查看我目前拥有的代码 here.
我决定使用坐标的字符串表示作为键 ("x,y,z") 的哈希图,并使用接口作为对象。此设置使将结构存储到 json 变得相当容易,让我可以轻松访问所有点,因为我可以在 运行 时间内为任何点生成密钥。