数据结构-树

介绍

树是一种数据结构,它是由n(n≥0)个有限节点组成一个具有层次关系的集合。每个节点有零个或多个子节点,没有父节点的节点称为根节点,每一个非根节点有且只有一个父节点,除了根节点外,每个子节点可以分为多个不相交的子树。

实现举例

cpp 复制代码
#include <iostream>
using namespace std;

class TreeNode {
public:
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int v) : val(v), left(nullptr), right(nullptr) {}
};

class Tree {
public:
    TreeNode* root;
    Tree(TreeNode* r) : root(r) {}
};

int main() {
    // 创建一个树的根节点
    TreeNode* root = new TreeNode(1);

    // 创建树的左子节点和右子节点
    TreeNode* leftChild = new TreeNode(2);
    TreeNode* rightChild = new TreeNode(3);

    // 将左子节点和右子节点连接到根节点上
    root->left = leftChild;
    root->right = rightChild;

    // 创建一棵树,并将根节点传入
    Tree tree = new Tree(root);

    // 输出树中节点的值
    cout << "根节点的值为:" << tree.root->val << endl;
    cout << "左子节点的值为:" << tree.root->left->val << endl;
    cout << "右子节点的值为:" << tree.root->right->val << endl;

    return 0;
}
示例代码说明

代码定义了一个TreeNode类来表示树中的节点,每个节点包含一个整数值val,以及左右子节点的指针left和right。另外,还定义了一个Tree类来表示整个树,它包含一个指向根节点的指针root。在主函数中,我们创建了一个树的根节点,以及左子节点和右子节点,并将它们连接起来。然后,我们创建了一棵树,并将根节点传入。最后,我们输出了树中节点的值。

总结

树状结构在计算机科学中有着广泛的应用,包括表示目录结构、文件系统、社交网络关系等。

相关推荐
by2099920 小时前
哈希表——快速找到数据:冲突、删除与扩容的实现
数据结构·c++·哈希算法·散列表
Code_Solitude21 小时前
c语言:关于qsoet函数知识点
c语言·数据结构·算法
Pniubi1 天前
快速排序(力扣基础)(递归)
java·数据结构·算法
inrichtt1 天前
第八课时:SPI总线揭秘:四线全双工通信的奥
c语言·数据结构·stm32·单片机·嵌入式硬件
HPtiger1 天前
数据结构——选择排序
数据结构·算法·排序算法
丑梨数据1 天前
信创环境里跑文档工具:格式兼容与本地合规的几个坑
数据结构·人工智能·算法·决策树·排序算法
烂蜻蜓1 天前
Pandas入门教程(四):Series数据结构——创建、索引与常用方法
数据结构·pandas
_wyt0012 天前
洛谷P17461 [GESP202609 八级] 生成树计数 题解
c++·数学·树·gesp·八级·仙人掌
CS创新实验室2 天前
一棵树怎么做到“自平衡还不太费力“?——红黑树的旋转与染色
数据结构·算法·红黑树·408·计算机考研
Logic1012 天前
C语言/数据结构位运算题解:异或XOR找出被挑选一次的果子编号——只出现一次的数字
c语言·数据结构·算法·数组·位运算·时间复杂度·空间复杂度