从大到小输出二叉排序树
时间: 2023-11-06 11:08:19 浏览: 61
为了从大到小输出二叉排序树,可以依次遍历右子树、根结点、左子树。具体实现可以参考以下代码:
void OutPut(BSNode *bt) {
if(bt == nullptr) {
return;
}
if(bt->rchild != nullptr) { // 递归输出右子树结点
OutPut(bt->rchild);
}
cout << bt->data << " "; // 输出当前结点的值
if(bt->lchild != nullptr) { // 递归输出左子树的结点
OutPut(bt->lchild);
}
}
调用该函数即可从大到小输出二叉排序树。
相关问题
从大到小输出二叉排序树中所有值不小于k的关键字
首先,需要遍历整个二叉排序树,找到所有值不小于k的关键字。
具体的方法是,从根节点开始,如果当前节点的值小于k,则递归遍历右子树;如果当前节点的值大于等于k,则先输出当前节点的值,再递归遍历左子树和右子树。
这样就可以从大到小输出二叉排序树中所有值不小于k的关键字了。
从大到小输出二叉排序树中所有值不小于x的结点的data,一定要从大到小输出
可以使用中序遍历二叉排序树,然后从右子树开始遍历,输出所有值不小于x的结点的data。具体实现可以参考以下代码:
```python
# 定义二叉树结点类
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
# 中序遍历二叉排序树
def inorder(root, x):
if root is None:
return
inorder(root.right, x)
if root.val >= x:
print(root.val, end=' ')
inorder(root.left, x)
# 从大到小输出二叉排序树中所有值不小于x的结点的data
def print_larger_than_x(root, x):
inorder(root, x)
# 测试
if __name__ == '__main__':
# 构建二叉排序树
root = TreeNode(5)
root.left = TreeNode(3)
root.right = TreeNode(7)
root.left.left = TreeNode(2)
root.left.right = TreeNode(4)
root.right.left = TreeNode(6)
root.right.right = TreeNode(8)
# 输出所有值不小于4的结点的data
print_larger_than_x(root, 4) # 输出:8 7 5
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)