二叉搜索树
就是中间节点会大于所有左子树,会小于全部右子树。
中序就是有顺序的排列。
做过的二叉搜索树
二叉搜索树中第 K 小的元素
二叉搜索树中第 K 小的元素(20 分钟) —-中等—二叉树
01 推荐的题,学习了下二叉树,知道了中序遍历是有顺序的,很棒。
换了下写法,其实差别不大
!!!!
不同的二叉搜索树
不同的二叉搜索树(30 分钟)—中等—递归
主要是学习了什么是二叉搜索树
而且第一次遇到这种动态规划是需要递归的,不太敢写,其实会了就很简单
fn = f0fn-1+f1fn-2+…+fn-1*f0;
这一题有公式,叫卡塔尔数,直接公式也可以的。
不同的二叉搜索树 II
不同的二叉搜索树 II(30 分钟)—中等—递归
算法是同一个算法,还行吧
验证二叉搜索树
验证二叉搜索树(15 分钟)—简单—递归
简直惨,用的是中序是有顺序的,过是过了,跟没过没区别
在原答案上不断优化,其实就是中序有顺序,非常优秀啊
其实递归也不错,就是得保存上边界和下边届。好难理解,再写一遍也要写好久啊,太难了。
二叉搜索树迭代器
二叉搜索树迭代器(5 分钟)—中等—递归
这道题有点难度的,我没满足空间的要求,莫里斯循环可能可以解
得再看下了,暂时绕过了。
二叉搜索树中的搜索
二叉搜索树中的搜索(2 分钟)—简单—递归
可以不用递归全的,虽然我做了保护,但还是多了些,直接判断然后选择走左树还是右树就好了。
二叉搜索树中的插入操作
(5 分钟)—中等—递归
非常简单的题目,二叉搜索树感觉没啥了
删除二叉搜索树中的节点
(30 分钟)—中等—递归
执行时间超过 27%;内存消耗超过 50%
有点难的,就是只有左或者右的时候用左或者右替换,没有子就直接删。都有的话,选择右子树的最左边或者左子树的最右边。这个得记住了这种方案。
二叉搜索树的最近公共祖先
(10 分钟)—简单—搜索树
执行时间超过 72%;内存消耗超过 12%
根据特性,大于两个树找左侧,小于两个数找右侧,很简单
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com
文章标题:二叉搜索树
文章字数:652
本文作者:泽鹿
发布时间:2019-08-29, 17:23:01
最后更新:2019-09-09, 15:15:17
原始链接:http://panyifei.github.io/2019/08/29/算法/leetcode/二叉搜索树/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。