algorithm - 计算正碳脂肪族烷烃的异构体

标签 algorithm graph combinatorics chemistry

n-碳脂肪族烷烃是一棵由 n 个节点组成的无根树,其中每个节点的度数最多为 4。例如,see this对于一些 n 的低值的枚举列表。

我正在寻找一种算法,在给定 n 的情况下计算此类 n-碳脂肪族烷烃的数量。

我有seen this已经在化学堆栈交换中。我还想到了动态规划,即从较小的组件构建更大的图,但我无法处理对相同异构体的过度计数。

澄清:碳只是一个比喻。我不想考虑C16和C17的不稳定性,也不关心立体异构

最佳答案

所以标准方法是使用 Redfield–Pólya Theorem也称为 Pólya 枚举定理。然而,它不是很“算法”——你有代码 like this (Mathematica、Haskell 或其中一种 Python 版本)。

rosettacode 页面还描述了一种使用 canonical checking 的更直接的方法以避免重复。该算法是有序生成的一种特殊形式(我认为),仅适用于没有边颜色顶点和最大价数为 4 的树。

关于algorithm - 计算正碳脂肪族烷烃的异构体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36825918/

相关文章:

java - Achartengine getRange 方法问题

r - 如何在 R 中编写帕斯卡三角形的程序?

一行代码中的 C strlen() 实现

c - 验证给定的图节点列表是否是正确的拓扑顺序

在数字序列中找到下一个数字的算法?

r - 计算两个弯曲边界之间的观测值数量

python - 在 Python 中手动生成 r 组合

algorithm - 如何使蚁群优化产生更一致的结果?

algorithm - 寻路算法难度

java - 从下往上扫描树结构?