树和二叉树的介绍

树是一种数据结构,它是由n(n≥0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。
它具有以下的特点:
每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。
请添加图片描述

树的有关概念

  1. 节点的度:一个节点含有的子树的个数称为该节点的度;如上图: A的为3
  2. 叶节点或终端节点:度为0的节点称为叶节点:如上图: K,L,F,G等节点为叶节点
  3. 非终端节点或分支节点:度不为0的节点;如上图: B,C,D等节点为分支节点
  4. 双亲节点或父节点:若一个节点含有子 节点,则这个节点称为其子节点的父节点;如上图: A是B,C,D的父节点
  5. 孩子节点或子节点: 一个节点含有的子树的根节点称为该节点的子节点;如上图: B, C,D是都是A的孩子节点
  6. 兄弟节点:具有相同父节点的节点互称为兄弟节点;如上图: B. C是兄弟节点
    树的度: 一棵树中,最大的节点的度称为树的度;如上图:树的度为6
  7. 节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;
  8. 树的高度或深度:树中节点的最大层次; 如上图:树的高度为4
  9. 节点的祖先:从根到该节点所经分支上的所有节点;如上图: A是所有节点的祖先
  10. 子孙:以某节点为根的子树中任一节点都称为该节点的子孙。 如上图:所有节点都是A的子孙
  11. 森林:由m (m>0) 棵互不相交的多颗树的集合称为森林

二叉树

二叉树就是所有节点的度都<=2的树

如下图
请添加图片描述

二叉树的性质

1.若规定根节点的层数为1,则一棵非空二叉树的第i层上最多有2(i-1)个结点

2.若规定根节点的层数为1,则深(高)度为h的二叉树的最大结点数是2h-1
证:
最大节点数=每一层最大节点数之和
根据性质1:
第一层最大节点个数为2(1-1)
第二层最大节点个数为2(2-1)
第三层最大节点个数为2(3-1)
……
第h层最大节点个数为2(h-1)

最大节点个数=2(1-1)+ 2(2-1)+2(3-1)+……+2(h-1)=2h-1

3.对任何一棵二叉树,如果度为0其叶结点个数为n0,度为2的分支结点个数为n2则有n0=n2+ 1

满二叉树和完全二叉树

  • 满二叉树:一个二叉树,如果每一个层的结点数都达到最大值(每一个节点的度都是二),则这个二叉树就是满二叉树。
    也就是说,如果一个二叉树的层数为K,且结点总数是(2^k)-1 ,则它就是满二叉树。

  • 完全二叉树:完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。
    对于深度为h的,有n个结点的二叉树,当h-1层都是满的(前h-1层的节点的度都为2),最后一层不满但是节点从左到右是连续的
    请添加图片描述

满二叉树和完全二叉树的高度

满二叉树的高度=log2 N(N为总节点个数
证:
因为高度为h的二叉树的最大结点数是2h-1
设节点的总个数为N
则N=2h-1->h=log2(N+1),可以近似为log2 N

完全二叉树的高度为log2N-1~log2N之间
完全二叉树的最后一层最少有一个节点,此时完全二叉树的总节点数为2(h-1)
则N=2(h-1)->h=log2N-1,可以近似为log2 N

完全二叉树的最后一层最多是为满二叉树,此时完全二叉树高度为log2N

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/543061.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Codeforces Round 933 (Div. 3)C:Rudolf and the Ugly String

题目链接&#xff1a;Dashboard - Codeforces Round 933 (Div. 3) - Codeforces 解题思路&#xff1a; 解题思路&#xff1a; 题目大概意思是字符串中最少去掉几个单词可以使字符串变漂亮&#xff0c;其实只要找“map"和”pie“这两个单词数量&#xff0c;注意判断&quo…

D706——低功耗微处理器复位检测电路芯片

概 述 近年来&#xff0c;微处理器在IT业控制领域和智能化产品中得到了广泛的应用。在系统和产品的开发设计过程中&#xff0c;为了提高其抗干扰能力&#xff0c;使用uP监控是首选技术措施之一。监控芯片可为系统提供上电、掉电复位功能&#xff0c;也可提供其它功能&#x…

低功率接地故障断路器(GFI)控制芯片D4147介绍

应用领域 D4147主要用于三线制GFCI输出接口、GFCI芯片断路器、便携式GFCI线路等领域的产品&#xff0c;侦测并防护火线对地故障和零线对负载短路故障。 功能介绍 D4147 为低功率接地故障断路器&#xff08;GFI&#xff09;控制器芯片&#xff0c;用于检测危险的接地故障电流路…

相机安装位置固定后开始调试设备供电公司推荐使用方法

摄像头安装位置固定后开始调试 设备供电&#xff1a;无电源设备需要连接12V/2A电源并连接到摄像机的DC端口&#xff0c;而有电源的摄像机可以直接连接到220V电源。 连接设备&#xff1a;如果是有线连接&#xff0c;请使用网线将设备连接到电脑&#xff08;建议直接连接&#…

前端基础——HTML傻瓜式入门(1)

该文章Github地址&#xff1a;https://github.com/AntonyCheng/html-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

未知待解决问题整理_像素流带宽占用问题

未知待解决问题整理_像素流带宽占用问题 实时云渲染带宽 解释一 解释二 实时云渲染需要多少带宽才能流畅使用? (baidu.com) 影响带宽的因素有哪些。其实对于带宽影响比较大的因素有两个: 并发(同时操作的人数,在视频领域就是同时在线观看的人数)和视频流的码率。 简…

TSINGSEE青犀视频AI方案:数据+算力+算法,人工智能的三大基石

背景分析 随着信息技术的迅猛发展&#xff0c;人工智能&#xff08;AI&#xff09;已经逐渐渗透到我们生活的各个领域&#xff0c;从智能家居到自动驾驶&#xff0c;从医疗诊断到金融风控&#xff0c;AI的应用正在改变着我们的生活方式。而数据、算法和算力&#xff0c;正是构成…

RS485通讯芯片D3485简介,主要用于工控主板,新能源充电桩等产品中

01 /silicore 应用领域 D3485芯片主要用于工控主板、工业控制器、智能电表、中央空调控制面板、新能源充电桩等众多涉及RS485通讯的产品。 02 /silicore 基本特性 D3485是一款5V供电、半双工的RS-485收发器&#xff0c;芯片内部包含一路驱动器和一路接收器。D3485使用限摆率…

Java项目企业设备管理系统

java项目企业设备管理系统javaweb项目ssm框架项目 运行环境:idea/eclipse tomcat jdk mysql navicat 系统用户分为员工和管理员两类用户。两类用户都可以进行系统的登录&#xff0c;虽然进入的系统主页结构相似&#xff0c;但是在功能上有不同。员工的密码可以自己进入系统后…

【python】自动化工具Selenium与playwright去除webdriver检测

对这个世界如果你有太多的抱怨 跌倒了就不敢继续往前走 为什么人要这么的脆弱 堕落 请你打开电视看看 多少人为生命在努力勇敢的走下去 我们是不是该知足 珍惜一切 就算没有拥有 &#x1f3b5; 周杰伦《稻香》 # -*- coding:utf-8 -*- import timefrom s…

C++实验 面向对象编程

一、实验目的&#xff1a; 掌握类中静态成员的定义方法&#xff0c;初始化方法&#xff0c;使用方法&#xff1b; 掌握类的友元说明方法&#xff0c;理解友元的使用特点 二、实验内容&#xff1a; 1、编写程序&#xff0c;统计某旅馆住宿客人的总数&#xff0c;要求输入客人…

毕业论文查重方法

请注意&#xff0c;为了确保查重结果的准确性和可靠性&#xff0c;建议选择官方渠道或正规平台进行查重。包括正规浏览器&#xff0c;同时&#xff0c;在使用查重服务时&#xff0c;也需要注意保护个人信息和论文内容的安全&#xff0c;避免信息泄露和侵权行为的发生。 在查重…