6

东哥带你刷二叉搜索树(构造篇)

 1 year ago
source link: https://labuladong.github.io/algo/2/19/41/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
> > > 东哥带你刷二叉搜索树(构造篇)

东哥带你刷二叉搜索树(构造篇)

souyisou1.png

通知: 持续更新中, 开始报名, 开始预约。

读完本文,你不仅学会了算法套路,还可以顺便解决如下题目:

牛客 LeetCode 力扣 难度
- 🟠
- 🟠

———–

PS:

集成了手把手刷二叉树功能,按照公式和套路讲解了 150 道二叉树题目,可手把手带你刷完二叉树分类的题目,迅速掌握递归思维。

之前写了两篇手把手刷 BST 算法题的文章,

讲了中序遍历对 BST 的重要意义,

写了 BST 的基本操作。

本文就来写手把手刷 BST 系列的第三篇,循序渐进地讲两道题,如何计算所有有效 BST。

第一道题是力扣第 96 题「

」,给你输入一个正整数 n,请你计算,存储 {1,2,3...,n} 这些值共有多少种不同的 BST 结构。

函数签名如下:

int numTrees(int n);

比如说输入 n = 3,算法返回 5,因为共有如下 5 种不同的 BST 结构存储 {1,2,3}

2.jpg

这就是一个正宗的穷举问题,那么什么方式能够正确地穷举有效 BST 的数量呢?

我们前文说过,不要小看「穷举」,这是一件看起来简单但是比较有技术含量的事情,问题的关键就是不能数漏,也不能数多,你咋整?

_____________

应合作方要求,本文不便在此发布,请扫码关注回复关键词「BST」查看:

qrcode.jpg

共同维护高质量学习环境,评论礼仪见这里,违者直接拉黑不解释


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK