2026/2/19 23:02:54
网站建设
项目流程
网站程序 制作,长沙企业建站程序,做胃肠科网站,WordPress支持外链图片📚 一、数据结构定义对比
1.1 节点结构定义
二叉树节点结构(Binary Tree Node):
// 二叉树节点定义
struct TreeNode {int val; // 节点值TreeNode* left; // 指向左子节点的指针TreeNode* right; // 指向右子节点的指针// 构造函数Tre…📚 一、数据结构定义对比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;// 节点值vectorNode*children;// 存储所有子节点的动态数组// 构造函数Node():val(0){}Node(int_val):val(_val){}Node(int_val,vectorNode*_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)