gpt4 book ai didi

objective-c - 如何在内存中存储分子?

转载 作者:太空狗 更新时间:2023-10-30 03:59:53 40 4
gpt4 key购买 nike

我想在内存中存储分子。这些可以是简单的分子:

Methane (CH4)
C-H bond-length: 108.7 pm
H-H angle: 109 degrees

还有更复杂的分子,如扑热息痛 (C8H9NO2):
Paracetamol

如何在内存中存储分子,包括所有键长和键角?


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

最佳答案

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

  • 一个分子有一组原子
  • 原子由键连接:
    • 键可以是双键、单键或三键
    • 键有长度
    • 键有一个角度
  • 这是一个循环图(例如,问题中的示例有一个交替的单键和双键环)
  • 这不是有向图(如果两个原子键合,从键的哪一端接近都没有关系)

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

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

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

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

由于它不是有向图,您的数据结构会将 A 和 B 之间的边视为等效于 B 和 A 之间的边。也就是说,对于给定的原子对,您希望边阵列包含一条从 A 到 B 而从不从 B 到 A 的边。

关于objective-c - 如何在内存中存储分子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3550114/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com