首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将分子储存在记忆中?

如何将分子储存在记忆中?
EN

Stack Overflow用户
提问于 2010-08-23 17:34:57
回答 5查看 586关注 0票数 4

我想把分子储存在记忆里。这些分子可以是简单的分子:

代码语言:javascript
运行
复制
Methane (CH4)
C-H bond-length: 108.7 pm
H-H angle: 109 degrees

但也有更复杂的分子,如对乙酰氨基酚(C8H9NO2):

我如何将分子储存在记忆中,包括所有键长和角度?

将原子结构存储在数组中的好主意?还是有更好的方法?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-08-23 17:38:51

它看起来像是某种图形数据结构:

  • 一个分子有一组原子
  • 原子通过键连接:
    • 一个键可以是双键、单键或三重键。
    • 键有长度
    • 一个键有一个角度

  • 这是一个循环图(例如,问题中的例子有一个交替的单键和双键环)
  • 这不是一个有向图(如果两个原子结合在一起,那么从哪一端接近键并不重要)

通常,您会将图存储为节点数组(原子)和边缘数组(键)。节点和边缘都是指向结构的指针。

节点(原子)将存储元素。

边界(键)将存储以下字段:

  • 指向节点的一对指针
  • 债券类型(双/单)
  • 键长和角

因为它不是有向图,所以你的数据结构会认为A和B之间的边等价于B和A之间的边,也就是说,对于给定的一对原子,你会期望你的边阵列包含从A到B的边,而不是从B到A的边。

票数 9
EN

Stack Overflow用户

发布于 2010-08-23 17:40:49

假设您正在对链接结构进行建模,那么链接数据结构似乎是最合适的表示形式。不过,恐怕我还没有足够的化学家来猜测每一件物品都有兴趣存储的数据。

不经意间,这听起来很像一个稍微修改过的版本,你通常是如何存储一个图表--节点和链接,每一个都有相关的数据。在图中,与链接相关的典型数据是链接的“成本”,但在这种情况下,它听起来像是存储了一个向量(角度和长度)。

票数 0
EN

Stack Overflow用户

发布于 2010-08-23 17:40:52

也许你应该看看布拉德·拉森( Brad )的分子,这是一个非常不错的iPhone/iPod/iPad开源应用程序,它激励了很多程序员。我猜他用了一种标准的分子数据格式来激发你的灵感

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3550114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档