树——tree

 树的基本概念

存储逻辑关系为一对多的数据,树型结构可以保证数据的插入,删除,修改速度;

<1>树由节点和边组成;

<2>树中除根节点外,每一个节点都有一个父节点,但是可以有多个子节点;

<3>根节点没有父亲节点;

fb1f34046e514e16b4b501f247879a14.png

fd34fbf5c72c4601a7a7a9d32fa8714a.png

 

二叉树

二叉树具有天然的递归结构,每个节点的左右子树均为二叉树,完全二叉树也是我们主要的研究对象。(二叉树不一定是满的)

6c1263686cc44e56a368cacc7c218070.pngcddd6fe8d267415f80e2f20a900a8989.png74e8b0d1156543019a5b3aa118651800.png

16818c7a77f54939a4f54bcabb0b9e99.png 

只有完全二叉树的存储才有意义,分为两种存储方式:
<1>利用数组进行存储 :对二叉树每个节点进行编号,通过编号获取相应数据;

<2> 链式存储:节点中保存左右孩子的地址;

数据类型的设计:

 e194c9f4c9ee4290a86cc43adbee4d4b.png

二叉树的遍历(traversing binary tree):

指从根节点出发,按照某种次序依次访问二叉树中的所有节点,使得每个节点被访问且只被访问一次 ,有深度遍历(DFS)广度遍历两种(BFS)。深度遍历有前序,中序以及后序三种遍历方法,广度遍历即层次遍历(层次遍历需要队列作为数据结构来支撑)。

28f428c65a5d44b497db80ab303a7312.png36eeefc533eb409b9de17f6e336f9a53.png

 

 

 

 

 

 

 

 

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值