下一章 上一章 目录 设置
19、8.17 BTS的增 ...
-
二叉搜索树(基操篇):
对数据结构的操作无非遍历 + 访问,遍历就是「找」,访问就是「改」。具体到插入一个值,插入一个数,就是先找到插入位置,然后进行插入操作。
450. 删除二叉搜索树中的节点
这道题也是最麻烦的,麻烦的点在于当需要删除的点都有左右孩子时,需要找到当前节点右孩子的最小左子树或者当前节点左孩子的最大右子树,我觉得最方便的删除方法就是覆盖掉原来的节点。(两个方法都验证过了,都可以,看来答案并不唯一
这道题真的很磨人了,比后面的题都要复杂很多
700. 二叉搜索树中的搜索
二叉树的「找」。
701. 二叉搜索树中的插入操作
就是「找」的问题。直接在「找」的基础上加上「改」的操作即可。一旦涉及「改」,就类似二叉树的构造问题,函数要返回 TreeNode 类型,并且要对递归调用的返回值进行接收。
这题的点在于找到空位置时,需要插入一个新节点。
98. 验证二叉搜索树
一句话,一个节点的中序是升序数组,可以先中序遍历,后验证数组是否是升序数组即可。
二叉搜索树(构造篇):涉及动态规划。看了动态规划的视频,对dp有了一个初步的认识。感觉真的不要太神奇。这个地方需要停一停了,下一次再做。
95. 不同的二叉搜索树 II
96. 不同的二叉搜索树