diff --git a/problems/0096.不同的二叉搜索树.md b/problems/0096.不同的二叉搜索树.md index 43d4cfb0..d4b8d024 100644 --- a/problems/0096.不同的二叉搜索树.md +++ b/problems/0096.不同的二叉搜索树.md @@ -18,7 +18,7 @@ 这道题目描述很简短,但估计大部分同学看完都是懵懵的状态,这得怎么统计呢? -关于什么是二叉搜索树,我们之前在讲解二叉树专题的时候已经详细讲解过了,也可以看看这篇[二叉树:二叉搜索树登场!](https://programmercarl.com/0700.二叉搜索树中的搜索.html)在回顾一波。 +关于什么是二叉搜索树,我们之前在讲解二叉树专题的时候已经详细讲解过了,也可以看看这篇[二叉树:二叉搜索树登场!](https://programmercarl.com/0700.二叉搜索树中的搜索.html)再回顾一波。 了解了二叉搜索树之后,我们应该先举几个例子,画画图,看看有没有什么规律,如图: @@ -36,9 +36,9 @@ n为1的时候有一棵树,n为2有两棵树,这个是很直观的。 当3为头结点的时候,其左子树有两个节点,看这两个节点的布局,是不是和n为2的时候两棵树的布局也是一样的啊! -当2位头结点的时候,其左右子树都只有一个节点,布局是不是和n为1的时候只有一棵树的布局也是一样的啊! +当2为头结点的时候,其左右子树都只有一个节点,布局是不是和n为1的时候只有一棵树的布局也是一样的啊! -发现到这里,其实我们就找到的重叠子问题了,其实也就是发现可以通过dp[1] 和 dp[2] 来推导出来dp[3]的某种方式。 +发现到这里,其实我们就找到了重叠子问题了,其实也就是发现可以通过dp[1] 和 dp[2] 来推导出来dp[3]的某种方式。 思考到这里,这道题目就有眉目了。 @@ -63,7 +63,7 @@ dp[3],就是 元素1为头结点搜索树的数量 + 元素2为头结点搜索 ![96.不同的二叉搜索树2](https://img-blog.csdnimg.cn/20210107093226241.png) -此时我们已经找到的递推关系了,那么可以用动规五部曲在系统分析一遍。 +此时我们已经找到递推关系了,那么可以用动规五部曲再系统分析一遍。 1. 确定dp数组(dp table)以及下标的含义 @@ -87,7 +87,7 @@ j相当于是头结点的元素,从1遍历到i为止。 那么dp[0]应该是多少呢? -从定义上来讲,空节点也是一颗二叉树,也是一颗二叉搜索树,这是可以说得通的。 +从定义上来讲,空节点也是一棵二叉树,也是一棵二叉搜索树,这是可以说得通的。 从递归公式上来讲,dp[以j为头结点左子树节点数量] * dp[以j为头结点右子树节点数量] 中以j为头结点左子树节点数量为0,也需要dp[以j为头结点左子树节点数量] = 1, 否则乘法的结果就都变成0了。