在平衡二叉搜索树中寻找最低值的算法复杂度
Algorithmic complexity of finding the lowest value in a balanced binary search tree
我做了一个函数来找到平衡二叉树的最低值,通过循环每次从根节点选择节点的左child,直到左child是None.例如下面,它遍历 [4, 2, 1]
。
我的问题:这个算法的复杂性是否仍然O(log n)
与插入一样,因为它永远不会访问任何正确的节点。
是的,平衡二叉树的高度为h = O(log n)。因此,由于每一层最多访问一个节点,所以最多访问h + 1个节点,找到下一个要访问的顶点(选择左边的)是一个O(1) 操作。因此,你的算法也是O(log n).
我做了一个函数来找到平衡二叉树的最低值,通过循环每次从根节点选择节点的左child,直到左child是None.例如下面,它遍历 [4, 2, 1]
。
O(log n)
与插入一样,因为它永远不会访问任何正确的节点。
是的,平衡二叉树的高度为h = O(log n)。因此,由于每一层最多访问一个节点,所以最多访问h + 1个节点,找到下一个要访问的顶点(选择左边的)是一个O(1) 操作。因此,你的算法也是O(log n).