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:布尔值,是否为最大堆 生成一个堆,并返回根结点

python--二叉树库函数相关推荐

  1. Python二叉树的三种深度优先遍历

    Python二叉树的三种深度优先遍历 一.广度优先遍历和深度优先遍历 对二叉树进行遍历(traversal)是指依次对树中每个节点进行访问,在遍历的过程中实现需要的业务. 对树的遍历方式有广度优先遍历 ...

  2. Python——标准库函数

    Python标准库函数 标准库函数 基本介绍 具体模块函数讲解 math模块 1.ceil() 2.floor() 3.factorial() 4.prod() 5.gcd() 6.isclose() ...

  3. python 二叉树的序列化和反序列化

    python 二叉树的序列化和反序列化 一.leetcode 297 二.为什么要反序列化? 三.反序列化设计 四.序列化设计 五.leetcode 297题 一.leetcode 297 序列化是将 ...

  4. python二叉树遍历算法_分享python实现的二叉树定义与遍历

    这篇文章主要介绍了python实现的二叉树定义与遍历算法,结合具体实例形式分析了基于Python定义的二叉树及其常用遍历操作实现技巧,需要的朋友可以参考下 本文实例讲述了python实现的二叉树定义与 ...

  5. python re库函数_python re库的正则表达式学习笔记

    1. 安装 默认已经安装好了python环境了 re库是python3的核心库,不需要pip install,直接import就行 2. 最简单的模式 字符本身就是最简单的模式 比如:'A', 'I ...

  6. 使用Python标准库函数os.listdir()时的4个注意事项

    好消息:"Python小屋"编程比赛正式开始 推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社, ...

  7. python 二叉树

    概念 二叉树是每个节点最多有两个子树的树结构.通常子树被称作"左子树"(left subtree)和"右子树"(right subtree) 性质 性质1: 在 ...

  8. python语言的标准库有哪些,python标准库函数有哪些

    PyFlux库函数是什么? PyFlux是Python编程语言的开源时间序列库.PyFlux是Python中为处理时间序列问题而创建的开源库. 该库有一系列极好的时间序列模型,包括但不限于 ARIMA ...

  9. Python二叉树详解笔记

    目录 二叉树数据结构 简介 为何选择树 树的主要应用包括: 二叉树的类型 满二叉树(Full binary tree) 完全二叉树(Complete binary tree) 完美二叉树(Perfec ...

  10. Abaqus安装python第三方库函数

    闲话Abaqus二次开发 基于Python对Abaqus进行开发,可以实现批量.快速建模.分析和后处理. Abaqus的二次开发大体上分为子程序开发和GUI开发(用户图形界面开发)两类.本人之后的一系 ...

最新文章

  1. python大学课程-利用python完成大学刷课(从0到完成的思路)
  2. [SCOI2007]最大土地面积
  3. html嵌入原始数据,如何用html和javascript显示原始图像数据?
  4. MYSQL 5.1自动安装脚本
  5. idea mac 查找文件快捷键_idea for mac 最全快捷键整理
  6. RHEL 8 - 用OpenSCAP工具对容器镜像进行漏洞安全合规扫描,并修复
  7. androidStudio快捷键概览
  8. Vue报错:npm run start npm ERR! missing script: start
  9. laraverl笔记
  10. HDU1282 回文数猜想【回文】
  11. 3dmax渲染器下载VRay4.1渲染器下载安装教程(支持3dmax2013-2019)
  12. linux编写的员工管理系统,员工信息管理系统设计与实现(叶晖).doc
  13. 一文带你玩转 DataStore
  14. java毕业设计融呗智慧金融微资讯移动平台服务端源码+lw文档+mybatis+系统+mysql数据库+调试
  15. 一个撒尿只用3秒的男人,成为地球首富后,却要卖豪宅上火星?
  16. 建议收藏!让造价员疯传的100条知识,没有师傅也入门
  17. 最快的分布式关系型数据库MEMSQL
  18. 计算机课程优质课,全国优质课大赛一等奖教学设计 中小学信息技术教学研究工作室...
  19. mysql迁移时出现错误:INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migrat
  20. Spring Boot的简单实现

热门文章

  1. elastic 索引库_使用Elastic Job Agents自动执行Azure SQL数据库索引维护
  2. 如何使用SQL Server Reporting Services创建图像分类系统
  3. CSS实现checkbox radio 选中后文本颜色改变
  4. 【Python 04】Python开发环境概述
  5. java变量,初始化快,构造函数的执行顺序
  6. 【PHP】【PHP100改进系列】上传图片水印、缩略图、图片大小预处理类
  7. windows 下借助7zip实现命令行解压缩
  8. Android Theme.Dialog 到光 AppCompatDialog
  9. ASP.NET MVC 利用Razor引擎生成静态页
  10. Java每天学习一点点 09.10.13