博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

树 的作业

Posted on 2018-05-05 19:53  苑程傲  阅读(196)  评论(0编辑  收藏  举报

1.学习总结

1.1树结构思维导图

使用思维导图将树结构的知识点串在一起。树中的每个知识点需细化到每个操作如何实现。

 

 

1.2 树结构学习体会

谈谈你对树结构认识,学习这个结构是否遇到哪些困难,树结构可以解决的问题。

  1. 我觉得最难得还是对于递归的理解与应用吧,同样的一个目标比如,遍历树,如果用非递归来做的话代码量很多但是如果用递归的方法来计算的话,就只需短短几行。递归的确具有很高的简洁与高效性。
  2. 树结构可以解决的问题抽象地说,基本上有序列的地方就可以应用树,因为树结构即是一种序列索引结构引自知乎,所以最简单的文件夹等等。

2.PTA实验作业

本周要求挑选出3道题目书写设计思路、调试过程。设计思路使用伪代码描述。题目选做要求:

  • 如果选6-1,只需要描述建树的伪代码。
  • 6-4必选

具体书写内容及格式如下:

 

2.1 

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

题目27-1 还原二叉树

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

题目47-7 朋友圈

 

 

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

题目一:

建树的思路:

void CreateBiTree(BiTree *T)

{

  先要读入数据嘛

    if (ch == '#')

        *T = NULL;  //判断段是不是叶节点是的话不用走下面了

    else

    {

        分配内存空间,

        (*T)->data = ch;//给数据

        CreateBiTree(&(*T)->lchild);//递归的方法构建左右子树        

    }

}

题目二:

主要是求树的高的函数:

 int High( Tree t)

 {

     if( !t ) return 0;//考虑空树的情况

    用递归来求左右孩子的树的高度

     if( lh>rh ) return ++X //用来比较左右孩子那个大要大

 //而且别忘了加一有一个根节点没有计算的

  

}

题目三:

表达式树还算是不太明白

https://blog.csdn.net/sushiplus/article/details/39974311

研究中。。。

题目四:

乍一看很难想的一道题,纠结的人际关系,但是结合上次的作业:数组分开创建两个,分别表示不同数据来看的话还行,所以没有用树来做。

2.2 代码截图(注意,截图、截图、截图。代码不要粘贴博客上。不用用···语法去渲染)

题目一:

 

题目二:

 

题目三:

题目四:

 

 

 

 

 

 

 

2.4 PTA提交列表说明。

PTA提交列表中的每个错误详细说明为什么及如何解决。
题目2,3同题目1

题目1:6.1:

 

构造指针没有初始化,溢出了。

             

 

后来的提交是因为改错了位置,导致的。

题目2:

 

      编译错误是日常打错了的,然后输出答案错误是没有按题设要求来写

 

 

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

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

3.1 PTA排名截图

 

3.2 我的总分:

目前1.5

本题评分规则:

 12个题目集PTA总分285分:3分(全部题目都做)

 2PTA总分在230--340分:2.5分(必做题全部做完,选做题做部分)

 3PTA总分在180--230分:2分(必做题大部分做完)

 4PTA总分在130--180分:1.5分

 5PTA总分在105-130分:1  

 6PTA总分在105分以下:0     

4. 阅读代码(必做)

本次为必做

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

https://blog.csdn.net/sushiplus/article/details/39974311

https://blog.csdn.net/yqg1984/article/details/1368130

 

还在看表达式树的构造