树与二叉树

1.学习总结

1.1树结构思维导图

 

 

1.2 树结构学习体会

可以对数据进行排序,还有查找和分类增加效率。

2.PTA实验作业


2.1 题目1:6-1 jmu-ds-二叉树操作集

CreateBTree(&BT,str)
{ 新建结点->T;
新建队列->Q;
i=0;
if str为空
new结点->BT;
BT->data=str[i];
BT->left,right=NULL;
BT push Q
else end;i++;
while Q不为空{

队首元素out;
if str='#'或为空
T-> left =NULL
end if
else {新建T的左结点;
赋值=str[i];
T的左结点-> left,right为空;
T的左结点进栈Q;
}
i++;
if str='#'或为空
T-> right =NULL
end if
else {新建T的右结点;
赋值=str[i];
T的右结点-> left,right为空;
T的右结点进栈Q;
}i++;
}}PreOrder(BT)
if BT不为空
if flag为0 输出BT值
end if else
输出‘ ’和BT值
flag=1;
PreOrder(BT->left);
PreOrder(BT-> right);
end if
}{定义静态变量flag=0;
if BT不为空
InOrder(BT-> left);
if flag为0 输出BT值
else
输出‘ ’和BT
flag=1;
InOrder(BT->右);
end if
}PostOrder(BT)
{定义静态变量flag=0;
if BT不为空PostOrder(BT-> left);
PostOrder(BT-> right);
if flag为0 输出BT值
else
输出‘ ’和BT值
flag=1;
end if}

题目2:6-4 jmu-ds-表达式树

2.2 设计思路(伪代码或流程图)

InitExpTree(&T,str)用两个栈建树 {新建栈s;新建栈op; ‘#’入栈op; while(str不为空) {if 不是符号 NEW  T赋值->str[i++]; T->左,右=NULL; T进栈s; else{switch 判断优先级{ case‘<’; str[i]进栈; i++;case‘=’: op出栈栈顶元素; i++;case:‘>’: new;T赋值op栈顶元素; T->右=s栈顶元素; s栈顶元素出栈; T->左=s栈顶元素; s栈顶元素出栈; T进栈s;op栈顶元素出栈; while op不为‘#’ {新建T结点;T赋值op栈顶元素; T->右=s栈顶元素; s出栈;if s不为空 T->左=s栈顶元素; s出栈;

2.3 代码截图

 

 

 

 

2.4 PTA提交列表说明。

语法以及一些语句的运用失误


题目3:7-7 朋友圈(25 分)

2.2 设计思路(伪代码或流程图)

 

2.3 代码截图

 

 

2.4 PTA提交列表说明。

 

 

3.截图本周题目集的PTA最后排名

本次题目集总分:285
必做题共:230分

3.1 PTA排名截图

 

 

3.2 我的总分:

205

4. 阅读代码(必做)

本次为必做

  • 找1篇和树结构有关的代码,说明该代码功能是什么,优点是什么?
  • 给出代码相关地址。

5. 代码Git提交记录截图

 

posted @ 2018-05-06 00:36  东南北  阅读(251)  评论(0编辑  收藏  举报