python数据结构之树形结构

本文介绍了Python中树形结构的概念,包括森林、度数、层数和高度等基本概念,以及树叶、祖先、子孙和同代节点的定义。接着详细探讨了二叉树的特性,解释了为何要使用二叉树,并分析了不同类型的二叉树,如满二叉树、完全二叉树和斜二叉树。此外,还讨论了二叉树的存储方式,如一维数组和链表表示法,以及二叉查找树的特点。最后,提到了二叉树的遍历操作。
摘要由CSDN通过智能技术生成

树的定义:

一个或多个节点组成的,除树根外,其余节点可分为n>=0个互斥的集合。其中每个子集合也是一种树形结构。节点可互联但不能构成无出口的回路。不能是空集合

森林:

n个互斥树组成森林

度数:

每个节点的所有子树的个数

层数:

以根节点为第一层向下,节点所在层数

高度:

树的最大层数

树叶或终端节点:

度数为零的节点

祖先和子孙节点

祖先节点是该节点向上的任意节点,子孙节点是向下的所有节点

非终端节点

树叶节点以外的节点

同代:

树中层数相同的节点

二叉树概念:

二叉树可以是空集合,节点的度数必须0<=d<=2
二叉树的子树之间是有次序关系的
组成结构(字段):右指针  数据  左指针

使用二叉树的原因

电脑中树一般以链表形式存储,对于n叉树(n-way树),必须为每个节点预留n个链接字段的存储空间:数据  指针 指针 指针 空 空 ... 指针n
设:n叉树有m个节点,树共有m*n个字段,另外除树根外每个非空链接都会指向一个节点所以空连接字段个数为m*n-(m-1)=m*(n-1)+1#m-1个非空节点#那么n叉树的浪费率为:(m*(n-1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值