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