数据结构-树(二叉树)

ops/2024/12/20 5:46:59/

在了解树具体的代码实现之前,先了解一下树的基础知识:

根节点:第一个结点;叶子节点(终端节点):之后再没有其它结点的结点;分支节点(非终端节点):之后还有其它结点的结点;

深度:即树的层数;(广)度 : 最大的节点的度;节点的度:节点的子节点个数

这里主要介绍二叉树,即度为二,区分左右子节点的树结构。

满二叉树:所有节点的度要么为0,要么为2,且所有的叶子节点都在最后一层的树,第K层节点个数:2^(K-1),K层满二叉树节点总数:2^K-1。

完全二叉树:叶子节点只会出现在最后2层,且最后一层的叶子节点都靠左对齐。所以满二叉树 一定是完全二叉树,完全二叉树不一定是满二叉树。完全二叉树叶子节点的计算:设叶子节点数为n0, 度为1的节点数为n1, 度为2的节点数为n2, 总节点为n,当n为奇数时 n0= (n+1)/2,当n为偶数 n0= n/2。

关于二叉树的代码实现:二叉树的代码实现-CSDN博客


http://www.ppmy.cn/ops/143394.html

相关文章

【数值特性库】入口文件

数值特性库入口文件为lib.rs。该文件定义一系列数字特性的trait(特征),这些特性可以被不同的数字类型实现,从而提供一套通用的数值操作方法。下面是对代码中关键部分的解释: 一、基础设置 #![doc(html_root_url “h…

实现 React 电子签名功能:从零开始构建一个完整的解决方案

需求概述 我们希望通过 React 构建一个简单的电子签名组件,用户可以在画布上手写签名,完成后可以保存签名并将其上传到服务器。具体需求如下: 用户可以在画布上自由绘制签名。提供“清除”按钮,允许用户重置签名。提供“保存”按…

9_less教程 --[CSS预处理]

LESS(Leaner Style Sheets)是一种CSS预处理器,它扩展了CSS语言,增加了变量、嵌套规则、混合(mixins)、函数等功能,使得样式表的编写更加灵活和易于维护。下面是一些LESS的基础教程内容&#xff…

docker 容器相互访问

目前采用 network 方式 1. 创建自定义网络 docker network create network-group 如下 2. 相互访问的容器更改(目前演示redis 以及netcore api 访问redis ) //redis 原有容器删除 跟之前区别就是加入 --network network-group docker run \ -p 6379:…

zookeeper基础命令详解

zookeeper基础命令详解目录 文章目录 zookeeper基础命令详解目录一、列出所有基础命令 一、列出所有基础命令 先启动一个zookeeper客户端连接zookeeper,如果还没有启动zookeeper集群的参考本文启动之后再做后续操作。 https://blog.csdn.net/weixin_42924400/artic…

.Net Core配置使用Log4Net日志记录

在NuGet包管理中,搜索 Microsoft.Extensions.Logging.Log4Net.AspNetCore 在Startup.cs类中添加如下代码 //添加Log4Net var path Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.config"); //不带参数:表示log4net.config…

已有 containerd 的情况下部署二进制 docker 共存

文章目录 [toc]学习目的开始学习dockerd启动 containerd准备配置文件启动 containerd 启动 docker准备配置文件启动 docker 环境验证停止 docker 和 containerd 学习目的 使用容器的方式做一些部署的交付,相对方便很多,不需要担心别人的环境缺少需要的依…

(耗时4天制作)详细介绍macOS系统 本博文含有全英版

下面为大家详细介绍macOS系统介绍: 一、macOS系统概述 macOS是由苹果公司开发的专有操作系统,主要用于Macintosh(Mac)系列计算机。它是首个在商用领域成功的图形用户界面(GUI)操作系统,自诞生…