news 2026/5/25 15:36:45

c语言——二叉树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
c语言——二叉树

一、树

1.常见概念

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

2.树的表示

①顺序表存孩子的指针

struct TreeNode { int data; vector <struct TreeNode*> childs; };

②左孩子右兄弟

typedef int DataType; struct Node { struct Node* _firstChild1; //第一个孩子节点 struct Node* _pNextBrother; //指向其下一个兄弟节点 DataType _data; //节点中的数据域 };

③双亲表示法

用数组存父节点的下标

3.树在实际中的运用

表示文件系统的目录树结构

二、二叉树

1.概念

一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。

2.特点

①每个结点最多有两棵子树,即二叉树不存在度大于2的结点。
②二叉树的子树有左右之分,其子树的次序不能颠倒。

3.任何一颗二叉树都有三个部分

①根节点
②左子树
③右子树

分治算法:分而治之,大问题分成类似子问题,子问题再分成子问题……直到子问题不可再分割

前序(先根遍历):根、左子树、右子树(根在前面)

A B D NULL NULL E NULL NULL C NULL NULL

中序(中根遍历):左子树、根、右子树(根在中间)

NULL D NULL

后序(后序遍历):左子树、右子树、根

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 5:36:38

安卓 14 手机如何完美运行 Open-AutoGLM?这5个关键步骤你必须掌握

第一章&#xff1a;安卓 14 手机如何完美运行 Open-AutoGLM&#xff1f; 在安卓 14 系统上运行 Open-AutoGLM&#xff0c;需要兼顾系统权限、依赖环境与模型推理框架的兼容性。通过合理配置本地运行环境&#xff0c;用户可以在高通骁龙 8 Gen 2 及以上设备上流畅执行该模型。 …

作者头像 李华
网站建设 2026/5/25 17:55:53

【非Root手机自动化神技】:Open-AutoGLM零权限部署全攻略

第一章&#xff1a;Open-AutoGLM在非Root环境下的核心价值 在现代企业IT基础设施中&#xff0c;系统权限管理日趋严格&#xff0c;多数生产环境禁止普通用户获取Root权限。在此背景下&#xff0c;Open-AutoGLM凭借其无侵入式架构设计&#xff0c;展现出卓越的适应性与实用性。该…

作者头像 李华
网站建设 2026/5/26 3:40:32

HTMLProofer:你的终极HTML质量守护神

HTMLProofer&#xff1a;你的终极HTML质量守护神 【免费下载链接】html-proofer Test your rendered HTML files to make sure theyre accurate. 项目地址: https://gitcode.com/gh_mirrors/ht/html-proofer 还在为网站死链、图片加载失败而烦恼吗&#xff1f;HTMLProof…

作者头像 李华
网站建设 2026/5/25 22:23:48

【Open-AutoGLM命令行实战指南】:掌握10个高频指令,效率提升200%

第一章&#xff1a;Open-AutoGLM命令行核心概述Open-AutoGLM 是一个面向自动化任务的命令行工具&#xff0c;专为简化大语言模型&#xff08;LLM&#xff09;驱动的工作流而设计。它通过结构化指令与外部系统交互&#xff0c;支持任务编排、上下文管理与智能推理调用。该工具适…

作者头像 李华
网站建设 2026/5/25 7:56:06

Loki日志存储技术革新:从架构演进看性能突破之路

Loki日志存储技术革新&#xff1a;从架构演进看性能突破之路 【免费下载链接】loki Loki是一个开源、高扩展性和多租户的日志聚合系统&#xff0c;由Grafana Labs开发。它主要用于收集、存储和查询大量日志数据&#xff0c;并通过标签索引提供高效检索能力。Loki特别适用于监控…

作者头像 李华
网站建设 2026/5/26 6:57:14

DeepSeek-OCR视觉压缩技术:5大突破重构文档智能处理范式

DeepSeek-OCR视觉压缩技术&#xff1a;5大突破重构文档智能处理范式 【免费下载链接】DeepSeek-OCR DeepSeek-OCR是一款以大语言模型为核心的开源工具&#xff0c;从LLM视角出发&#xff0c;探索视觉文本压缩的极限。 项目地址: https://ai.gitcode.com/hf_mirrors/deepseek-…

作者头像 李华