我想把分子储存在记忆里。这些分子可以是简单的分子:
Methane (CH4)
C-H bond-length: 108.7 pm
H-H angle: 109 degrees
但也有更复杂的分子,如对乙酰氨基酚(C8H9NO2):
我如何将分子储存在记忆中,包括所有键长和角度?
将原子结构存储在数组中的好主意?还是有更好的方法?
发布于 2010-08-23 17:38:51
它看起来像是某种图形数据结构:
通常,您会将图存储为节点数组(原子)和边缘数组(键)。节点和边缘都是指向结构的指针。
节点(原子)将存储元素。
边界(键)将存储以下字段:
因为它不是有向图,所以你的数据结构会认为A和B之间的边等价于B和A之间的边,也就是说,对于给定的一对原子,你会期望你的边阵列包含从A到B的边,而不是从B到A的边。
发布于 2010-08-23 17:40:49
假设您正在对链接结构进行建模,那么链接数据结构似乎是最合适的表示形式。不过,恐怕我还没有足够的化学家来猜测每一件物品都有兴趣存储的数据。
不经意间,这听起来很像一个稍微修改过的版本,你通常是如何存储一个图表--节点和链接,每一个都有相关的数据。在图中,与链接相关的典型数据是链接的“成本”,但在这种情况下,它听起来像是存储了一个向量(角度和长度)。
发布于 2010-08-23 17:40:52
也许你应该看看布拉德·拉森( Brad )的分子,这是一个非常不错的iPhone/iPod/iPad开源应用程序,它激励了很多程序员。我猜他用了一种标准的分子数据格式来激发你的灵感
https://stackoverflow.com/questions/3550114
复制相似问题