数据结构与算法——树

1.树和其基本的术语

根节点 : 根节点就是一个没有双亲的结点。(A就是根节点)

边:边表示从双亲结点到孩子结点的链接。(上图所有链接都是边)

叶子结点:没有孩子的结点叫做叶子结点。(如E,J,K,H,I)

兄弟结点:拥有相同双亲结点的所有孩子结点叫做兄弟结点。(B,C,D互为兄弟结点)

祖先结点:如果存在一条从根结点到结点q的路径,且结点p出现在这条路径上,那么就可以把结点p叫做结点q的祖先结点,结点q也叫作结点p的子孙节点。(A,C和G是K的祖先节点)

结点的大小:结点的大小是指子孙的个数,包括其自身。(子树C的大小为3)

树的层:位于相同深度的所有结点的集合叫做树的层,根节点位于0层。(B,C和D具有相同的层)

结点的深度:是指从根结点到该结点的路径的长度。(G点的深度为2,A—C—G)

结点的高度:是指从该结点到最深结点的路径长度。(B点的高度为2,B—F—J)

树的高度:是树中所有结点高度的最大值,树的深度是树中所有结点深度的最大值。对于同一棵树,其深度和高度是相同的。但是对于各个结点,其深度和高度不一定相同。

斜树:如果树中除了叶子结点外,其余每一结点只有一个孩子结点,则这种树称作斜树。

2.二叉树

定义:如果一棵树中的每个节点有0,1和2个孩子结点,那么这棵树就称为二叉树。

2.1二叉树的类型

①严格二叉树:二叉树中的每个结点要么有两个孩子结点,要么没有孩子结点。

②满二叉树:二叉树中的每个结点恰好有两个孩子结点且所有叶子结点都在同一层。

③完全二叉树:在定义完全二叉树之前,假定二叉树的高度为h。对于完全二叉树,如果将所有结点从根结点开始从左至右,从上至下,依次编号,那么将得到从1~n(n为结点总数)的完整序列。在遍历过程中对于空指针也应赋予编号。如果所有叶子结点的深度为h或h-1,且在结点编号序列中没有漏掉任何数字,那么这样的二叉树叫作完全二叉树。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值