C++中树的存储结构采用父结点表示法,的概念及举例
作者:野牛程序员:2023-05-02 19:53:13数据结构阅读 2845
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

