python--二叉树库函数

binarytree库函数使用
函数名 输入参数 功能
_is_balanced(root) 二叉树的根结点(binarytree.Node类型) 如果二叉树是平衡的则返回树的高度,否则返回-1
_is_bst(root, min_value=float(’-inf’), max_value=float(‘inf’)) root:二叉树的根结点;min_value:最小的结点值;max_value:最大的结点值 如果这是一个二叉搜索树,返回True,否则返回False
_validate_tree_height(height) height:0-9的整数 检查二叉树的高度是否有效
_generate_perfect_bst(height) height:正整数 生成一棵完美的二叉树
_generate_random_node_values(height) height:树的高度 随机返回所有结点值中的某一个
_get_tree_properties(root) root:根结点 返回二叉树的属性
Node(value,left,right) 结点类的构造函数,value:结点值;left和right分别是左右子树,类型为结点类的实例 创建结点实例
len(root) root:根结点 返回树的结点数
root.validate - 检测二叉树是否畸形
root.value - 逐层从左到右返回结点值
root.leaves - 返回二叉树的叶子
root.height - 返回二叉树的高度
root.size - 返回所有结点的个数
root.leaf_count - 返回叶子的数目
root.is_balance - 返回布尔值,检测二叉树是否平衡
root.is_bst - 返回布尔值,检测二叉树是否为二叉搜索树
root.is_max_heap - 返回布尔值,检测二叉树是否为最大堆。关于最大堆和最小堆的含义参考 https://en.wikipedia.org/wiki/Min-max_heap
root.is_min_heap - 返回布尔值,检测二叉树是否为最小堆。
root.is_perfect - 返回布尔值,检测二叉树是否完美。一个二叉树是完美的如果其每一层的结点都被填满。
root.is_strict - 返回布尔值,检测二叉树是否严格。一个二叉树是严格的如果其非叶子结点既有左子结点,又有右子结点。
root,is_complete - 返回布尔值,检测二叉树是否完整。一个二叉树完整:除了最后一层以外,每一层的结点都被填满;最后一层的结点左对齐。
root.min_node_value - 返回所有结点中的最小值。
root.max_node_value - 返回所有结点中的最大值。
root.max_leaf_depth - 返回叶子结点中最大的深度。
root.min_leaf_depth - 返回叶子结点中最小的深度。
root.properties - 返回一个字典,包含二叉树的所有属性
root.inorder - 返回一个中序遍历列表,元素为Node类型。
root.preorder - 返回一个先序遍历列表,元素为Node类型。
root.postorder - 返回一个后序遍历列表,元素为Node类型。
root.levelorder - 返回一个逐层遍历列表
binarytree.build(values) values:列表 从列表元素逐层建立二叉树
binarytree.tree(height, is_perfect) height:高度,默认为3;is_perfect:是否完美,布尔值,默认为False 生成一个随机二叉树,并返回根结点
binarytree.bst(height, is_perfect) height:高度,默认为3;is_perfect:是否完美,布尔值,默认为False 生成一个随机二叉搜索树,并返回根结点
binarytree,heap(height=3, is_max=True, is_perfect=False) is_max:布尔值,是否为最大堆 生成一个堆,并返回根结点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霖夕何夕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值