当前位置: 首页 > news >正文

数据结构(五)——树的基本概念

五、树

5.1 树的基本概念

5.1.1 树的定义

树是n(n>=0)个结点的有限集合结点数为0的树称为空树

非空树的特性

  • 有且仅有一个根节点
  • 没有后继的结点称为“叶子结点”(或终端结点)
  • 有后继的结点称为“分支结点”(或非终端结点)
  • 除了根节点外,任何一个结点都有且仅有一个前驱
  • 每个结点可以有0个或多个后继。

5.1.2 树的基本术语

树的属性

  • 结点的层次(深度)——从上往下数 (默认从1开始)
  • 结点的高度——从下往上数
  • 树的高度(深度)——总共多少层
  • 结点的度——有几个孩子(分支)★
  • 树的度——各结点的度的最大值   ★

有序树——逻辑上看,树中结点的各子树从左至右是有次序的,不能互换
无序树——逻辑上看,树中结点的各子树从左至右是无次序的,可以互换

森林。森林是m(m≥0)棵互不相交的树的集合。m为0时是“空森林”

5.1.3 树的常考性质 

常见考点1:结点数=总度数+1
结点的度—结点有几个孩子(分支)

常见考点2:度为m的树、m叉树 的区别

        树的度——各结点的度的最大值                      m叉树——每个结点最多只能有m个孩子的树

度为m的树m叉树
任意结点的度 ≤ m(最多m个孩子)任意结点的度 ≤ m(最多m个孩子)
至少有一个结点度 = m(有m个孩子)允许所有结点的度都 < m
一定是非空树,至少有m+1个结点可以是空树

常见考点3:度为m的树第 i 层至多有 m^{i-1} 个结点(i≥1)
                    m叉树第 i 层至多有 m^{i-1}  个结点(i≥1) 

常见考点4:高度为h的m叉树至多有 \frac{m^h-1 }{m-1}个结点。
等比数列求和公式:a+aq+aq^{2}+...+aq^{n-1}=\frac{a(1-q^{n}) }{1-q}

常见考点5:高度为h的m叉树至少有 h 个结点。
                    高度为h、度为m的树至少有 h+m-1 个结点

常见考点6:具有n个结点的m叉树的最小高度为[log_{m}(n(m - 1) + 1)]
高度最小的情况——所有结点都有m个孩子

相关文章:

数据结构(五)——树的基本概念

五、树 5.1 树的基本概念 5.1.1 树的定义 树是n(n>0)个结点的有限集合,结点数为0的树称为空树 非空树的特性 有且仅有一个根节点没有后继的结点称为“叶子结点”(或终端结点)有后继的结点称为“分支结点”(或非终端结点&a…...

2.28CACHE,虚拟存储器

主存储器,简称主存。CPU可以直接随机地对其进行访问,也可以和高速缓存器及辅助存储器交换数据。 2> 辅助存储器,简称辅存,不能与CPU直接相连,用来存放当前暂时不用的程序和数据 3> 高速缓冲存储器,位于主存和CPU之间,用来…...

深入理解栈和队列(一):栈

个人主页:17_Kevin-CSDN博客 专栏:《数据结构》 一、栈的概念 栈(Stack)是一种特殊的线性表,它遵循后进先出(Last-In-First-Out,LIFO)的原则。栈可以被看作是一个只能在一端进行操作…...

electron-builder 打包问题,下载慢解决方案

目录 问题说明设置下载源 ?解决方案思路下载Electron下载winCodeSign下载nsis下载nsis-resources 总结 问题说明 项目使用了Electron,在第一次打包时会遇见下载慢,导致打包进度几乎停滞不前,甚至可能直接报错 其实这是因为Electr…...

(简单成功)Mac:命令设置别名

案例:给"ls -l"命令,设置别名通过”ll“快速访问 1、在项目根目录底下查看有无.bash_profile文件,注意这个是个隐藏文件,需要使用ls -a命令查看: 没有.bash_profile新建一个文件, 在最后添加一行…...

Grok-1:参数量最大的开源大语言模型

Grok-1:参数量最大的开源大语言模型 项目简介 由马斯克领衔的大型模型企业 xAI 正式公布了一项重要动作:开源了一个拥有 3140 亿参数的混合专家模型(MoE)「Grok-1」,连同其模型权重和网络架构一并公开。 此举将 Gro…...

Python 自然语言处理库之stanza使用详解

概要 在自然语言处理(NLP)领域,Python Stanza 库是一个备受推崇的工具,它提供了强大的功能和易用的接口,帮助开发者处理文本数据、进行语言分析和构建NLP应用。本文将深入探讨 Stanza 库的特性、用法,并通过丰富的示例代码展示其在实际项目中的应用。 Stanza 简介 Stan…...

计算机网络:数据交换方式

计算机网络:数据交换方式 电路交换分组交换报文交换传输对比 本博客介绍计算机之间数据交换的三种方式,分别是电路交换、分组交换以及报文交换。 电路交换 我们首先来看电路交换,在电话问世后不久,人们就发现要让所有的电话机都…...

万用表革新升级,WT588F02BP-14S语音芯片助力智能测量新体验v

万能表功能: 万能表是一款集多功能于一体的电子测量工具,能够精准测量电压、电流、电阻等参数,广泛应用于电气、电子、通信等领域。其操作简便、测量准确,是工程师们进行电路调试、故障排查的得力助手,为提升工作效率…...

Day61:WEB攻防-PHP反序列化原生类TIPSCVE绕过漏洞属性类型特征

知识点: 1、PHP-反序列化-属性类型&显示特征 2、PHP-反序列化-CVE绕过&字符串逃逸 3、PHP-反序列化-原生类生成&利用&配合 补充:如果在 PHP 类中没有实现某个魔术方法,那么该魔术方法在相应的情况下不会被自动触发。PHP 的魔…...

【开源】SpringBoot框架开发不良邮件过滤系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统用户模块2.2 收件箱模块2.3 发件箱模块2.4 垃圾箱模块2.5 回收站模块2.6 邮箱过滤设置模块 三、实体类设计3.1 系统用户3.2 邮件3.3 其他实体 四、系统展示五、核心代码5.1 查询收件箱档案5.2 查询回收站档案5.3 新…...

详细教---用Django封装写好的模型

本次我们要用自己写好的热销词条爬虫代码来演示如何用Django把我们写好的模型封装。 第一步:代码准备 热搜词条搜集代码: import requests from lxml import etreeurl "https://tophub.today/n/KqndgxeLl9" headers{User-Agent: Mozilla/5.…...

设计模式 抽象工厂

01.人类接口 public interface Human { //首先定义什么是人类//人是愉快的,会笑的,本来是想用smile表示,想了一下laugh更合适,好长时间没有大笑了; public void laugh(); //人类还会哭,代表痛苦 public v…...

OPTIONS请求(跨域预检查)

目录 一、什么是OPTIONS请求?二、简单请求、复杂请求三、特定的请求头、响应头 一、什么是OPTIONS请求? OPTIONS 请求方式是 HTTP 协议中的一种,主要用于 从响应头中获取服务器支持的HTTP请求方式。 OPTIONS 请求方式是 浏览级行为&#xf…...

游戏反云手机检测方案

游戏风险环境,是指独立于原有设备或破坏设备原有系统的环境。常见的游戏风险环境有:云手机、虚拟机、虚拟框架、iOS越狱、安卓设备root等。 这类风险环境可以为游戏外挂、破解提供所需的高级别设备权限,当游戏处于这些风险环境下&#xff0c…...

HarmonyOS NEXT应用开发之动态路由

介绍 本示例将介绍如何使用动态路由跳转到模块中的页面,以及如何使用动态import的方式加载模块 使用说明 通过动态import的方式,在需要进入页面时加载对应的模块。配置动态路由,通过WrapBuilder接口,动态创建页面并跳转。动态i…...

wayland(xdg_wm_base) + egl + opengles 使用 Assimp 加载带光照信息的材质文件Mtl 实现光照贴图的最简实例(十七)

文章目录 前言一、3d 立方体 model 属性相关文件1. cube1.obj2. cube1.Mtl3. 纹理图片 cordeBouee4.jpg二、实现光照贴图的效果1. 依赖库和头文件1.1 assimp1.2 stb_image.h2. egl_wayland_obj_cube1.cpp3. Matrix.h 和 Matrix.cpp4. xdg-shell-client-protocol.h 和 xdg-shell…...

【NLP笔记】Transformer

文章目录 基本架构EmbeddingEncoderself-attentionMulti-Attention残差连接LayerNorm DecoderMask&Cross Attention线性层&softmax损失函数 论文链接: Attention Is All You Need 参考文章: 【NLP】《Attention Is All You Need》的阅读笔记 一…...

【Unity】程序创建Mesh(二)MeshRenderer、光照、Probes探针、UV信息、法线信息

文章目录 接上文MeshRenderer(网格渲染器)Materials(材质)Material和Mesh对应Lighting光照Lightmapping材质中的光照 光源类型阴影全局光照Probes(探针)Ray Tracing(光线追踪)Additi…...

每日一练:LeeCode-167. 两数之和 II - 输入有序数组【双指针】

给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 < index1 < index2 < numbers.…...

第一个shell脚本

Bash脚本&#xff1a; 能够监控指定名称的进程sshd 如果进程存在&#xff0c;则输出其PID和状态信息 如果进程不存在&#xff0c;则自动尝试重启该进程(可假设进程启动命令已知)&#xff0c;并记录日志(包含时间戳)shell脚本 #!/bin/bash #要监控的进程名 namessh #日志路径 lo…...

破解索尼S-AIR无线音频协议:逆向工程实战

1. 项目背景与问题定位索尼S-AIR无线音频系统曾是家庭影院领域颇具特色的解决方案&#xff0c;但其封闭性设计也带来了硬件锁定的痛点。我手头的TA-SA100WR无线环绕声放大器就面临这样的困境——原配发射器丢失后&#xff0c;这台功能完好的设备瞬间沦为摆设。市场上二手发射器…...

KH Coder终极指南:如何零代码完成专业级文本分析

KH Coder终极指南&#xff1a;如何零代码完成专业级文本分析 【免费下载链接】khcoder KH Coder: for Quantitative Content Analysis or Text Mining 项目地址: https://gitcode.com/gh_mirrors/kh/khcoder 想要从海量文本中提取有价值的信息&#xff0c;却苦于编程门槛…...

佳能TS6320、TS8320、MG3680、G3800 G3810 G6080 TS3380、G3000、ts3440、ip6700错误代码5b00,p07,e08,1700解决方法,用软件清零即可

下载&#xff1a;点这里下载 备用下载&#xff1a;https://pan.baidu.com/s/1WrPFvdV8sq-qI3_NgO2EvA?pwd0000 常见型号如下&#xff1a; G系列 G1000、G1100、G1200、G1400、G1500、G1800、G1900、G1010、G1110、G1120、G1410、G1420、G1411、G1510、G1520、G1810、G1820、…...

Phi-3-mini-4k-instruct-gguf完整指南:从镜像拉取、服务启动到前端交互全流程

Phi-3-mini-4k-instruct-gguf完整指南&#xff1a;从镜像拉取、服务启动到前端交互全流程 1. 模型简介 Phi-3-Mini-4K-Instruct是一个轻量级但功能强大的开源语言模型&#xff0c;具有38亿参数。这个模型采用GGUF格式&#xff0c;专门针对指令跟随任务进行了优化训练。作为Ph…...

Bioicons:生物科研工作者的免费矢量图标库

Bioicons&#xff1a;生物科研工作者的免费矢量图标库 【免费下载链接】bioicons A library of free open source icons for science illustrations in biology and chemistry 项目地址: https://gitcode.com/gh_mirrors/bi/bioicons 在生物科学研究中&#xff0c;高质量…...

终极智慧树刷课插件指南:3分钟安装,彻底告别手动刷课烦恼

终极智慧树刷课插件指南&#xff1a;3分钟安装&#xff0c;彻底告别手动刷课烦恼 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台繁琐的刷课流程而苦恼…...

别让PCB布局毁了你的DCDC电源!实测输入电容放错位置,纹波暴增10倍

别让PCB布局毁了你的DCDC电源&#xff01;实测输入电容放错位置&#xff0c;纹波暴增10倍 在调试一块高性能嵌入式主板的电源系统时&#xff0c;工程师小张遇到了诡异的现象&#xff1a;采用相同型号的DCDC电源芯片&#xff0c;参考设计标称输出纹波≤20mV&#xff0c;但实际测…...

KVM虚拟化实战宝典 | 从面试核心到运维命令全解析

1. KVM虚拟化入门&#xff1a;从理论到实战的第一课 第一次接触KVM时&#xff0c;我被它"内核级虚拟化"的特性吸引住了。简单来说&#xff0c;KVM就像是给Linux内核装上了虚拟化超能力&#xff0c;让它能直接调用CPU的虚拟化指令集&#xff08;Intel VT或AMD-V&#…...

NCMconverter:3分钟快速解锁加密音乐文件的终极免费方案

NCMconverter&#xff1a;3分钟快速解锁加密音乐文件的终极免费方案 【免费下载链接】NCMconverter NCMconverter将ncm文件转换为mp3或者flac文件 项目地址: https://gitcode.com/gh_mirrors/nc/NCMconverter 你是否曾经遇到过这样的情况&#xff1a;从音乐平台下载了心…...