算法笔记:树和二叉树基础

本文介绍了树和二叉树的基础知识,包括树的定义、节点类型、度、深度和高度的概念,以及二叉树的定义、性质、完全二叉树和满二叉树的特征。此外,还讨论了二叉树的建立、遍历方法以及求叶子节点数和高度的算法。
摘要由CSDN通过智能技术生成

专题:树和二叉树基础

内容来源:《挑战程序设计竞赛》(第2版)+《算法竞赛入门经典》(第2版)+网上资料整理汇总

一、引入

1. 树是一种非线性的数据结构,用它能很好地描述有分支和层次特性的数据集合。树型结构在现实世界中广泛存在,如社会组织机构的组织关系图就可以用树型结构来表示。树在计算机领域中也有广泛应用,如在编译系统中,用树表示源程序的语法结构。在数据库系统中,树型结构是数据库层次模型的基础,也是各种索引和目录的主要组织形式。在许多算法中,常用树型结构描述问题的求解过程、所有解的状态和求解的对策等,尤其是建立在树型结构基础之上的搜索算法

        在树型结构中,二叉树是最常用的结构,它的分支个数确定、又可以为空、并有良好的递归特性,特别适宜于程序设计,因此也常常将一般树转换成二叉树进行处理。

2. 树形结构描述:一种”节点+边”数据结构。在图中用圆代表节点,用线代表边

二、树(这里指有根树,熟练掌握概念)

1. 有根树:一棵具有根节点的树。有根树的节点之间具有父子关系。

2. 几个概念:

        (1)节点:

        ①根节点:没有父节点的节点,在一棵树中是唯一的

        ②叶节点(外部节点):没有子节点的节点

        ③非叶节点(内部节点):除叶节点以外的节点

        (2)节点x的:节点x的子节点的数目(叶节点的度为0)

        (3)节点x的深度:从根r节点x的路径长度(即经过的边数)

        (4)节点x的:节点x到叶节点的最大路径长度

        一棵树中根节点的高度最大,我们也称其为树的高度

三、二叉树(熟练掌握操作)

1. 定义:二叉树(binary tree)是一种特殊的树形结构,它的度为2,即每个节点最多有两个子节点。每个节点的子节点分别称为左孩子、右孩子,它的两棵子树分别称为左子树、右子树。(此定义为递归定义

        5种基本形态如下:


2. 重要性质

(1)在二叉树的第i层上最多有2i-1个节点(i为正整数)

        证明:数学归纳法:当i=1时,2i-1=1显然成立;现在假设第i-1层时命题成立,即第i-1层上最多有2i-2<

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值