树
更多请查看我的专栏:LeetCode(力扣)刷题指南
可直接在
LeetCode中搜索题目名称
文章目录
1. 二叉搜索树中第K小的元素
给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。
说明:
你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。
示例 1:
输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 1
示例 2:
输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1 输出: 3
进阶:
如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第 k 小的值,你将如何优化 kthSmallest 函数?
1.1 解决方案
怎么遍历树:
- 深度优先搜索(
DFS):在这个策略中,我们从根延伸到某一片叶子,然后再返回另一个分支。根据根节点,左节点,右节点的相对顺序,DFS还可以分为前序,中序,后序。 - 广度优先搜索(
BFS):在这个策略中,我们逐层,从上到下扫描整个树。

本文介绍了如何在二叉搜索树中查找第K小的元素,提供了递归和迭代两种解决方案,并分析了时间、空间复杂度。还探讨了BST的性质、中序遍历以及深度优先搜索(DFS)和广度优先搜索(BFS)的应用。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



