数据结构-树

embedded/2024/9/23 10:48:26/

一种树状的数据结构,将有限个节点根据不同层次关系进行排列,从而形成数据与数据之间的父子关系。其表现形式像"倒挂的树",将根朝上叶朝下。数据存储在节点中,每个节点有零个或者多个子节点。没有父节点的节点在最顶端,成为根节点;没有非根节点有且只有一个父节点;每个非根节点又可以分为多个不相交的子树。这意味着树是具备层次关系的,父子关系清晰,这也是树与图之间最主要的区别,树可看作是链表的高配版,树的实现就是对链表的指针域进行了扩充,增加了多个地址指向子结点。同时将“链表”竖起来,从而凸显了结点之间的层次关系,更便于分析和理解。树可以衍生出许多的结构,若将指针域设置为双指针,那么即可形成最常见的二叉树,即每个结点最多有两个子树的树结构。二叉树根据结点的排列和数量还可进一度划分为完全二叉树、满二叉树、平衡二叉树、红黑树等。

无序树

树的任意节点的子节点没有顺序关系

有序树

非二叉树

每个节点有两个以上的分支。

二叉树(Binary Tree)

二叉树

每个节点最多只有两个分支,也可能只有1个,或者没有,通常称作左子树或者右子树。

            二叉树,是由很多个TreeNode构成的这种树形的数据结构class TreeNode {int value;TreeNode left;TreeNode right;

http://www.ppmy.cn/embedded/24084.html

相关文章

Cocos Creator 3D物理引擎的碰撞检测与触发器详解

前言 Cocos Creator是一个强大的游戏开发引擎,拥有丰富的功能和工具,其中包括3D物理引擎。物理引擎是游戏开发中非常重要的一部分,它可以模拟现实世界中的物理规律,让游戏中的物体之间产生真实的交互。在Cocos Creator中&#xf…

21 JavaScript 学习:一些误区和易错点

赋值运算符应用错误 在 JavaScript 中,赋值运算符(Assignment Operators)用于给变量赋值。常见的赋值运算符包括 、、-、*、/ 等。如果赋值运算符的应用不正确,可能会导致程序出现错误或产生意外的结果。 以下是一些常见的赋值运…

android studio SQLite数据库的简单使用

在Android Studio中使用数据库可以有多种方式,常见的几种方式包括使用SQLite数据库和使用 SQLite数据库 SQLite是一款轻量级的关系型数据库管理系统,在Android中被广泛使用。要在Android Studio中使用SQLite数据库,需要先创建一个数据库帮助…

Node.js 版本升级方法

在构建vue项目时,依赖npm(Node Package Manager)工具,类似于Java项目需要maven管理。而npm是node.js的管理工具,npm依赖node.js环境才能执行。 有时候使用voscode或者其他工具安装vue项目依赖,显示一直处于…

unity3d使用3D WebView播放网页中的视频

Unity2021.3.35f1,硬件ESP32-Cam,3D WebView插件 1.新建工程,导入3D WebView for Winfows和3D WebView for Android 2.打开场景Assets\Vuplex\WebView\Demos\Scenes\2_CanvasWebViewDemo 3.修改Canvas的Render Mode为Screen Space-Camera&am…

RSA实现中弱密钥漏洞分析

RSA实现中弱密钥漏洞分析 “Analyzing Weak Key Vulnerabilities in RSA Implementation” 完整下载链接:RSA实现中弱密钥漏洞分析 文章目录 RSA实现中弱密钥漏洞分析摘要第一章 引言1.1 研究背景1.2 研究目的1.3 研究意义 第二章 RSA算法基础2.1 RSA算法原理2.2 RSA密钥生成…

Debian 德比安 Nginx + PHP + MySql + beanstalkd + Redis + Node.js

网卡模式选择桥接 mirrors.163.com 阿里镜像源 https://mirrors.aliyun.com/debian/ DeBian 安装软件选择时勾选上 SSH server apt update apt install sudo #安装 sudo usermod -aG sudo username #添加普通账号到 sudo 让 root 可以 SSH 配置文件 /etc/ssh/sshd_config 找…

MySQL-查询数据-练习

练习 1.创建一个查询,显示收入超过 12,000 的雇员的名字和薪水。 select LAST_NAME,SALARY from employees where SALARY > 12000;2.创建一个查询,显示雇员号为 176 的雇员的名字和部门号。 select LAST_NAME,DEPARTMENT_ID from employees where …