博客作业04--树
Posted Airoure
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了博客作业04--树相关的知识,希望对你有一定的参考价值。
1.学习总结
1.1树结构思维导图
1.2 树结构学习体会
2.PTA实验作业
题目1:
设计思路
代码截图
PTA提交列表说明
题目1:
设计思路
代码截图
PTA提交列表说明
题目1:
设计思路
代码截图
PTA提交列表说明
3.截图本周题目集的PTA最后排名
3.1 PTA排名
3.2 我的得分:
4. 阅读代码
问题:求反转二叉树
``
include
include
typedef struct Tree {
int val;
struct Tree* left;
struct Tree* right;
}Tree;
void CreateBiTree(Tree**T)
{
int val;
scanf("%d", &val);
if(val == -1)
*T = NULL;
else
{
*T = (Tree *)malloc(sizeof(Tree));
(*T)->val = val;
CreateBiTree(&(*T)->left);
CreateBiTree(&(*T)->right);
}
}
void ExchangeLeftRight(Tree **root)
{
Tree * node = (root)->right;
(root)->right = (root)->left;
(root)->left = node;
}
void RecursiveReversal(Tree *root) //反转二叉树
{
if (root != NULL)
{
ExchangeLeftRight(&root);
RecursiveReversal(root->left);
RecursiveReversal(root->right);
}
}
void Print(Tree*root)
{
if (root != NULL)
{
Print(root->left);
printf("%d ", root->val);
Print(root->right);
}
}
int main()
{
Tree* root;
CreateBiTree(&root);
Print(root);
printf("\n");
RecursiveReversal(root);
Print(root);
return 0;
}
这一题主要用到的是递归的算法,只要把左右子树调换,并不是很难,但是我对递归的方法理解的不够好,所以选这题
5. 代码Git提交记录截图
以上是关于博客作业04--树的主要内容,如果未能解决你的问题,请参考以下文章