二叉树
Python判断平衡二叉树

&039;&039;&039;输入一棵二叉树,判断该二叉树是否是平衡二叉树。&039;&039;&039;-*-coding:utf-8-*-classTreeNode:def__init__(self,...

Python按之字形顺序打印二叉树

按之字形顺序打印二叉树需要两个栈。我们在打印某一行节点时,拔下一层的子节点保存到相应的栈里。如果当前打印的奇数层,则先保存左子节点再保存右子节点到第一个栈里;如果当前打印的是偶数层,则先保存右子节点再保存左子节点到第二个栈里。&039...

Python把二叉树打印成多行

引入两个队列。首先把当前层的节点存入到一个队列queue1中,然后遍历当前队列queue1,在遍历的过程中,如果节点有左子树或右子树,依次存入另一个队列queue2。然后遍历队列queue2,如此往复。&039;&039;&039;...

Python对称的二叉树

分为递归和非递归的两种方式,思想是一样的。主要就是把叶子节点的None节点也加入到遍历当中。按照前序遍历二叉树,存入一个序列中。然后按照和前序遍历对应的先父节点,然后右子节点,最后左子节点遍历二叉树,存入一个序列。如果前后两个序列相等...

Python二叉树的下一个结点

三种情况:当前节点有右子树的话,当前节点的下一个结点是右子树中的最左子节点;当前节点无右子树但是是父节点的左子节点,下一个节点是当前结点的父节点;当前节点无右子树而且是父节点的右子节点,则一直向上遍历,直到找到最靠近的一个祖先节点pN...

Python判断平衡二叉树

基于二叉树的深度,再次进行递归。以此判断左子树的高度和右子树的高度差是否大于1,若是则不平衡,反之平衡。&039;&039;&039;输入一棵二叉树,判断该二叉树是否是平衡二叉树。&039;&039;&039;-*-cod...

Python二叉树的深度

利用递归实现。如果一棵树只有一个结点,那么它的深度为1。递归的时候无需判断左右子树是否存在,因为如果该节点为叶节点,它的左右子树不存在,那么在下一级递归的时候,直接return0。同时,记得每次递归返回值的时候,深度加一操作。&03...

Python二叉树的镜像

需要判断输入的结点为空或者输入的结点没有子树的情况。

Python重建二叉树

利用二叉树前序遍历和中序遍历的特性。前序遍历的第一个值一定为根节点,对应于中序遍历中间的一个点。在中序遍历序列中,这个点左侧的均为根的左子树,这个点右侧的均为根的右子树。这时可以利用递归,分别取前序遍历[1:i+1]和中序遍历的[:i...

python二叉树

classBinaryTree:def__init__(self,rootObj):self.key=rootObjself.leftChild=Nones...

树和二叉树

一种非线性结构。树是递归结构,在树的定义中又用到了树的概念。基本术语:树结点:包含一个数据元素及若干指向子树的分支;孩子结点:结点的子树的根称为该结点的孩子;双亲结点:B结点是A结点的孩子,则A结点是B结点的双亲;兄弟结点:同一双亲的...