r7-2 数据结构实验二 二叉树的遍历 分数 30 以二叉链表作存储结构,建立一棵二叉树
时间: 2023-12-02 18:00:50 浏览: 162
要建立一棵二叉树,我们可以利用二叉链表作为存储结构。二叉链表的节点包含三个字段:data(存储节点的数据)、left(指向左子树的指针)和right(指向右子树的指针)。
首先,我们可以定义一个二叉树节点的结构体:
struct TreeNode {
int data;
TreeNode* left;
TreeNode* right;
};
然后,我们可以使用该结构体创建二叉树节点,并根据需要设置节点的data、left和right字段。例如,我们可以创建根节点和两个子节点,然后将它们彼此连接起来,形成一棵二叉树。
TreeNode* root = new TreeNode(); // 创建根节点
root->data = 1; // 设置根节点的数据
TreeNode* leftChild = new TreeNode(); // 创建左子节点
leftChild->data = 2; // 设置左子节点的数据
TreeNode* rightChild = new TreeNode(); // 创建右子节点
rightChild->data = 3; // 设置右子节点的数据
root->left = leftChild; // 将左子节点连接到根节点的左指针
root->right = rightChild; // 将右子节点连接到根节点的右指针
这样,我们就成功建立了一棵简单的二叉树。
根据题目要求,这棵二叉树还需要进行遍历。常见的二叉树遍历方式有三种:前序遍历、中序遍历和后序遍历。下面以前序遍历为例,给出算法的伪代码:
void PreorderTraversal(TreeNode* root) {
if (root != NULL) {
// 遍历根节点
cout << root->data << " ";
// 遍历左子树
PreorderTraversal(root->left);
// 遍历右子树
PreorderTraversal(root->right);
}
}
在实际应用中,我们可以调用PreorderTraversal函数来执行二叉树的前序遍历,并按照规定的格式输出遍历结果。
总而言之,建立二叉树的过程只需创建节点并连接它们,然后利用递归算法对树进行遍历即可。以上是二叉树的建立和前序遍历的基本步骤和示例代码。
阅读全文