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

【算法】小白也能懂 · 第 10 节:二叉树基础与遍历

前面我们学习了数组、链表、栈、队列、哈希表和图,它们都是常用的数据结构。今天我们来认识一种在算法面试和实际开发中出场率极高的数据结构——二叉树(Binary Tree)。它是树结构中最简单也最重要的一种,理解了二叉树,再去学习更复杂的树(如红黑树、B 树)就会轻松很多。

1. 什么是二叉树

二叉树是一种层级结构,每个节点最多有两个子节点,分别称为左子节点右子节点

用一个生活中的例子来理解:想象一个公司的组织架构,CEO 是根节点,CEO 下面有两个副总裁(左子节点和右子节点),每个副总裁下面又可以有两个总监,以此类推。这就是一棵二叉树。

二叉树的几个基本概念:

  • 根节点(Root):最顶层的节点,没有父节点
  • 叶子节点(Leaf):没有子节点的节点
  • 深度(Depth):从根节点到该节点的边数
  • 高度(Height):从该节点到最远叶子节点的边数,树的高度等于根节点的高度

2. 二叉树的存储

在 C++ 中,二叉树通常用链表来表示。每个节点包含数据和指向左右子节点的指针:

structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx):val(x),left(nullptr),right(nullptr){}};

创建一棵简单的二叉树:

// 1// / \ // 2 3// / \ // 4 5TreeNode*root=newTreeNode(1);root->left=newTreeNode(2);root->right=newTreeNode(3);root->left->left=newTreeNode(4);root->left->right=newTreeNode(5);
http://www.jsqmd.com/news/839462/

相关文章:

  • 告别单调终端:250+ Xshell配色方案让你的命令行焕然一新
  • DESIGN.md,让AI设计不跑偏
  • Windows HEIC缩略图插件:解决iPhone照片预览难题的智能方案
  • 半导体IPO热潮:低营收高专利企业如何重塑资本估值与技术壁垒
  • Sendwithus模板与现代邮件客户端兼容性测试:终极解决方案
  • Dism++:Windows系统维护的终极指南,从新手到专家一站式掌握
  • jQuery TreeTable:在表格中优雅展示树形结构的完整指南
  • VCS仿真总失败?手把手教你用TMAX的CPV功能快速定位ATPG Pattern问题
  • NodeJS-Learning生产环境部署:监控、日志与错误处理最佳实践
  • Git远程仓库核心原理与团队协作实战指南
  • 06-AI产品的伦理边界-当上瘾设计遇上算法合规(系列二-上瘾模型的AI重构)
  • 10分钟极速入门:Retrieval-based-Voice-Conversion-WebUI语音克隆完整教程
  • 从零搭建到日常调试:一份给新手的 Kafka 命令行操作全流程指南
  • 手把手教你读懂NXP S32K3XX芯片框图:从Cortex-M7内核到以太网TSN,快速定位关键模块
  • Hotkey Detective:3分钟定位Windows热键冲突的神器
  • 【NotebookLM学术写作黄金法则】:20年科研老炮亲授5大避坑指南与3步合规提速法
  • frp-panel:基于Web的可视化内网穿透管理平台部署与实战
  • 告别英雄联盟回放兼容性问题:ROFL-Player终极解决方案
  • 初创团队如何利用Taotoken的Token Plan控制AI开发成本
  • TortoiseGit重置与还原功能详解:除了‘后悔药’,还能当‘时光机’和‘后悔药解药’?
  • 如何免费解锁百度网盘SVIP:macOS用户突破下载限速终极指南
  • 智慧养老系统数据监控大屏:可视化呈现
  • 2026年万国中国区售后服务网络优化亲测与真实体验指南(附避坑指南) - 亨得利官方服务中心
  • 告别死记硬背:手把手带你用POM模式重构蓝桥杯自动化测试真题(Python+Unittest实战)
  • Freeplane思维导图终极指南:100+专业模板让你的思考效率翻倍
  • 智能报警器语音芯片选型与硬件设计实战指南
  • TalkingHeads开源项目:基于扩散模型的AI人脸说话视频生成技术详解
  • 实测,这个小程序真的可以免费压缩图片?10MB 一秒压到 1.6MB
  • 蓝桥杯单片机备赛:AT24C02 EEPROM存储整型数据的完整流程与常见错误分析
  • 长期使用Taotoken聚合服务对开发运维效率的提升感受