二叉樹的排列組合
給定 n 個節(jié)點咱娶,計算可以構(gòu)成多少種不同的二叉樹
n <= 1
時彩倚,二叉樹的排列方式為 1 種根據(jù)公式堵未,計算
-
代碼塊
import java.util.Scanner; public class Pailiezuhe { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long nodeNum = sc.nextLong(); catalan(nodeNum); sc.close(); } /** * 二叉樹排列組合公式 * @param nodeNum:節(jié)點個數(shù) * (2nodeNum 與 nodeNum 組合) / (nodeNum + 1) */ public static void catalan(long nodeNum) { long zuhe = jiecheng(2 *nodeNum) / (jiecheng(nodeNum) * jiecheng((2 * nodeNum) - nodeNum)); long result = zuhe / (nodeNum + 1); System.out.println(result); } /** * 階乘計算函數(shù)(3!=6;5!=120),參數(shù)使用 long ,預(yù)防精度誤差 * @param num * @return */ public static long jiecheng(long num) { if (num >=1) { return jiecheng(num - 1) * num; } return 1; } }