整數劃分演算法的基本資訊

整數分割槽是將其寫為正整數之和的一種方式。例如,數字 5 的分割槽是:

  • 4 + 1
  • 3 + 2
  • 2 + 2 + 1
  • 2 + 1 + 1 + 1
  • 1 + 1 + 1 + 1 + 1

請注意,更改 summands 的順序不會建立不同的分割槽。

分割槽函式本質上是遞迴的,因為較小數字的結果在較大數字的結果中顯示為分量。設 p(n, m) 為僅使用小於或等於 m 的正整數的 n 的分割槽數。可以看出,對於 m > np(n) = p(n, n) ,並且 p(n, m) = p(n, n) = p(n) 。 ** ** ** ** ** ** ** **

StackOverflow 文件

整數分割槽演算法示例:

https://i.stack.imgur.com/5kiXt.jpg

輔助空間: O(n^2)
時間複雜度: O(n(logn))