当前位置:首页数据结构 > 正文

C++中树的存储结构采用父结点表示法,的概念及举例

作者:野牛程序员:2023-05-02 19:53:13数据结构阅读 2421

C++ 中的树可以采用多种不同的存储结构,其中一种常见的结构是父结点表示法,也称为双亲表示法。在这种表示法中,每个结点除了存储数据外,还要记录其父结点的位置(下标或指针)。

具体来说,可以使用一个数组来存储树中的所有结点,数组的下标表示结点在树中的位置,数组元素存储结点的数据以及其父结点的位置。根结点可以用一个特殊的值(如-1)来表示其没有父结点。

下面是一个简单的例子,展示了如何使用父结点表示法来存储一棵二叉树:

struct TreeNode {
    int val;
    int parent; // 记录父结点的位置
};

TreeNode tree[7]; // 数组大小为结点个数

// 初始化根结点
tree[0].val = 1;
tree[0].parent = -1;

// 初始化左子树
tree[1].val = 2;
tree[1].parent = 0;

tree[2].val = 3;
tree[2].parent = 1;

tree[3].val = 4;
tree[3].parent = 1;

// 初始化右子树
tree[4].val = 5;
tree[4].parent = 0;

tree[5].val = 6;
tree[5].parent = 4;

tree[6].val = 7;
tree[6].parent = 4;
       1
     /   \\
    2     5
   / \\   / \\
  3   4 6   7


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击