news 2026/5/24 0:29:29

二叉树与N叉树:从定义到实现的全面对比

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
二叉树与N叉树:从定义到实现的全面对比

📚 一、数据结构定义对比

1.1 节点结构定义

二叉树节点结构(Binary Tree Node):

// 二叉树节点定义structTreeNode{intval;// 节点值TreeNode*left;// 指向左子节点的指针TreeNode*right;// 指向右子节点的指针// 构造函数TreeNode():val(0),left(nullptr),right(nullptr){}TreeNode(intx):val(x),left(nullptr),right(nullptr){}TreeNode(intx,TreeNode*left,TreeNode*right):val(x),left(left),right(right){}};

N叉树节点结构(N-ary Tree Node):

// N叉树节点定义classNode{public:intval;// 节点值vector<Node*>children;// 存储所有子节点的动态数组// 构造函数Node():val(0){}Node(int_val):val(_val){}Node(int_val,vector<Node*>_children):val(_val),children(_children){}};

1.2 结构特性对比表

特性二叉树 (Binary Tree)N叉树 (N-ary Tree)
子节点数量最多2个任意数量(0-N个)
子节点命名固定的 left/right无固定命名,通过索引访问
存储方式两个独立指针动态数组或链表
内存占用固定大小(2个指针)动态变化
访问复杂度O(1) 直接访问O(1) 数组索引访问
空间效率高效(无额外开销)可能有额外数组开销

🏗️ 二、数据结构声明与初始化

2.1 二叉树创建示例

// 创建简单的二叉树TreeNode*createBinaryTree(){// 1// / \ // 2 3// / \ // 4 5TreeNode*node4=newTreeNode(4)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 11:06:35

基于单片机控制的全自动化洗衣机设计

目录 单片机控制的全自动化洗衣机设计概述硬件设计软件设计人机交互设计节能与安全特性扩展功能 源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 单片机控制的全自动化洗衣机设计概述 全自动化洗衣机通过单片机&#xff08;如STM32、5…

作者头像 李华
网站建设 2026/5/23 10:07:39

基于单片机的手势识别智能台灯设计与实现

目录 系统设计概述硬件组成软件实现流程核心代码示例关键技术挑战应用扩展方向 源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 系统设计概述 手势识别智能台灯采用单片机作为核心控制器&#xff0c;结合红外传感器或摄像头模块捕捉手…

作者头像 李华
网站建设 2026/5/23 19:44:56

AI应用架构师不得不学:AI智能体的“工具选择”方法论

AI应用架构师不得不学:AI智能体的“工具选择”方法论 引言:为什么工具选择是AI智能体的“生死局”? 作为AI应用架构师,你可能经历过这样的崩溃时刻: 花费数周集成的图像识别工具,在真实场景中连用户的手写笔记都识别不准,导致智能体“失明”; 为了追求“最先进”选了…

作者头像 李华