performance - BST算法中给定范围内节点计数的运行时间
问题描述
我得到了以下算法的伪代码,其中 r 是 BST 的根,x,y 是 x<y 的数字。
TreeCount(r,x,y)
if r=null:
return 0
if r<x:
return TreeCount(r.right,x,y)
if r>y:
return TreeCount(r.left,x,y)
return 1+TreeCount(r.right,x,y)+TreeCount(r.left,x,y)
我在很多地方看到该算法的时间复杂度为 O(h+k),其中 k 是具有 [x,y] 值的节点数,但我不明白如何证明这一点。欢迎任何帮助。
解决方案
推荐阅读
- doctrine-orm - Doctrine 中的自引用实体
- python - Darknet detector not initializing with output redirect
- python - 如何从 python 字典中用 seaborn 绘制一个简单的图?
- javascript - 如何使用 javascript 删除 url 中的特殊字符?
- css - 如何只旋转y轴
- java - 如何使用 css 选择器选择以下值
- sql - 如何按小时过滤sql server中的数据库数据
- python - 比较 Python 中的 if 语句
- javascript - 在视图中渲染 promises.all 的结果,nodeJS
- java - 如何更改从 main 使用的数组