dp[n](即有 n 个节点的二叉搜索树(BST)个数) 是:
dp[n] = dp[0]*dp[n-1] + dp[1]*dp[n-2] + ... + dp[n-1]*dp[0]
这个公式其实就是 卡特兰数 的递推形式,背后的逻辑来自于 “以不同节点为根构建 BST” 的方式统计所有合法树的数量。
🧠 为什么是这样?
我们假设我们有 n 个 不同的、从 1 到 n 的升序排列的节点。
我们要构建一棵二叉搜索树(BST),其定义是:
所有左子树节点的值 < 根节点的值
所有右子树节点的值 > 根节点的值
浙公网安备 33010602011771号