Skip to content

Commit efdd653

Browse files
author
YuChengKai
committed
BST Select
1 parent ce119dc commit efdd653

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

DataStruct/dataStruct-zh.md

+5
Original file line numberDiff line numberDiff line change
@@ -451,8 +451,13 @@ select(k) {
451451
}
452452
_select(node, k) {
453453
if (!node) return null
454+
// 先获取左子树下有几个节点
454455
let size = node.left ? node.left.size : 0
456+
// 判断 size 是否大于 k
457+
// 如果大于 k,代表所需要的节点在左节点
455458
if (size > k) return this._select(node.left, k)
459+
// 如果小于 k,代表所需要的节点在右节点
460+
// 注意这里需要重新计算 k,减去根节点除了右子树的节点数量
456461
if (size < k) return this._select(node.right, k - size - 1)
457462
return node
458463
}

0 commit comments

Comments
 (0)