image.png

二叉搜索树

二叉搜索树是一个有序树

  • 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
  • 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
  • 它的左、右子树也分别为二叉排序树

    思路

    仿佛是在找规律的一道题….看解析
    随想录解析

    为什么是乘法?

    分类计数和分步计数
    image.png ```javascript var numTrees = function(n) { let dp =new Array(n+1).fill(0) dp[0] =1

    for(let i=1;i<=n;i++){

    1. for(let j=1;j<=i;j++){
    2. dp[i] +=dp[j-1]*dp[i-j]
    3. }

    } return dp[n]

};


- 时间复杂度:$O(n^2)$
- 空间复杂度:$O(n)$
<a name="nO3kw"></a>
# 卡特兰数
上文推导出来的递推公式在数学上称为卡特兰数<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/2450083/1649644208495-e8ef980f-1a6c-4e3d-9574-7e6ae2233341.png#clientId=u194aee7c-b49d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=167&id=u073c6f2e&margin=%5Bobject%20Object%5D&name=image.png&originHeight=209&originWidth=717&originalType=binary&ratio=1&rotation=0&showTitle=false&size=18153&status=done&style=none&taskId=u5777ce1a-3bbf-4753-88ce-725469369b2&title=&width=573.6)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/2450083/1649644235232-8597ce41-88a6-4e62-aca3-caea976427ba.png#clientId=u194aee7c-b49d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=137&id=udf31e43f&margin=%5Bobject%20Object%5D&name=image.png&originHeight=171&originWidth=989&originalType=binary&ratio=1&rotation=0&showTitle=false&size=17926&status=done&style=none&taskId=u5884550d-3eb9-43f8-9a89-340ecafdc73&title=&width=791.2)
```javascript
var numTrees = function(n) {
    let C = 1;
    for (let i = 0; i < n; ++i) {
        C = C * 2 * (2 * i + 1) / (i + 2);
    }
    return C;
};

时间复杂度 : O(n)
空间复杂度 : O(1)