n碳脂族烷烃是由n个节点组成的无根树,其中每个节点的度最大为4。例如,see this用于列出n的一些低值。

我正在寻找一种算法来计算给定n的这种n碳脂族烷烃的数量。

我已经在化学stackexchange中有seen this了。我还想到了动态编程,即从较小的组件构建较大的图,但是我无法处理过度计算相同异构体的问题。

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

最佳答案

因此,标准方法是使用Redfield–Pólya Theorem(也称为Pólya枚举定理)。但是,它不是很“算法”-您有代码like this(Mathematica,Haskell或Python版本之一)。

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

10-06 03:04