温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中的树与二叉树是怎样的

发布时间:2021-10-25 17:12:55 来源:亿速云 阅读:108 作者:柒染 栏目:编程语言

Python中的树与二叉树是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

树是一类重要的非线性数据结构,是以分支关系定义的层次结构

  定义:

  树(tree)是n(n>0)个结点的有限集T,其中: 有且仅有一个特定的结点,称为树的根(root)

  当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)

  特点: 树中至少有一个结点——根 树中各子树是互不相交的集合

  基本术语

  结点(node)——表示树中的元素,包括数据项及若干指向其子树的分支

  结点的度(degree)——结点拥有的子树数 叶子(leaf)——度为0的结点

  孩子(child)——结点子树的根称为该结点的孩子

  双亲(parents)——孩子结点的上层结点叫该结点的~

  兄弟(sibling)——同一双亲的孩子

  树的度——一棵树中最大的结点度数

  结点的层次(level)——从根结点算起,根为第一层,它的孩子为第二层……

  深度(depth)——树中结点的最大层次数

  森林(forest)——m(m0)棵互不相交的树的集合

  二叉树二叉树是有限个元素的集合,该集合或者为空、或者有一个称为根节点(root)的元素及两个互不相交的、分别被称为左子树和右子树的二叉树组成。

  二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。

  二叉树的第i层至多有2^{i-1}个结点

  深度为k的二叉树至多有2^k-1个结点;

  对任何一棵二叉树T,如果其终端结点数为N0,度为2的结点数为N2,则N0=N2+1

  遍历二叉树

  前序遍历

  若树为空,则空操作返回。否则,先访问根节点,然后前序遍历左子树,再前序遍历右子树。(W)型 (中 左 右)

  中序遍历

  若树为空,则空操作返回。否则,从根节点开始(注意并不是先访问根节点),中序遍历根节点的左子树,然后是访问根节点,最后中序遍历根节点的右子树。(M)型,(左 中 右)

  后续遍历

  若树为空,则空操作返回。否则,从左到右先叶子后节点的方式遍历访问左右子树,最后访问根节点。(左右中)逆时针型 (左 右 中)

  层序遍历

  若树为空,则空操作返回。否则,从树的第一层,也就是根节点开始访问,从上到下逐层遍历,在同一层中,按从左到右的顺序结点逐个访问。

关于Python中的树与二叉树是怎样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI