BST优化解决方案中的Kth最小元素

时间:2018-05-16 18:16:08

标签: java binary-search-tree

我正在经历这个leetcode问题。

https://leetcode.com/problems/kth-smallest-element-in-a-bst/description/

  1. 一种解决方案是进行顺序遍历。浏览它并找到最小的第k个。 https://www.programcreek.com/2014/07/leetcode-kth-smallest-element-in-a-bst-java/

  2. 我遇到的另一个解决方案是传入int [] {poss,val}并递归

  3. enter image description here

    然而,这一切都没有解决后续问题

    如果经常修改BST(插入/删除操作)并且您需要经常找到第k个最小值怎么办?您如何优化kthSmallest例程?

    任何人都有处理此问题的任何实现。我确实看到了一个使用自定义TreeNode的不完整示例,但由于传入了TreeNode,因此不适合。

1 个答案:

答案 0 :(得分:0)

What changes when implementing lazy deletion into a binary search tree exactly? 延迟删除是一种选择。这是什么,你基本上有一个布尔标志值为每个节点指示它是否被删除(但实际上根本没有修改结构。)