DS博客园大作业--树

1.树的存储结构说明

2.树的函数说明

2.1初始化树函数

  设计思路:仿造简单建树写的

2.2文件读取以及树的生成函数





  设计思路:利用栈来储存树,pushStack进栈,outStack取出栈顶的树,brother用于储存兄弟结点方便建树,flag1用于判断结点·是否找到,flag1为0表示结点没找到,分别处理非叶子结点和叶子结点

2.3将树写入文件的函数

  设计思路:h为1为根结点,否则为分支结点或叶子结点,递归写入文件

2.4寻找结点生成路径的函数


  设计思路:a用于判断孩子节点上是否找到,a为0表示没找到,b用于判断兄弟节点是否找到,b为0表示没找到,i用于控制循环 ,flag为0表示找到结点,flag为1表示没找到

2.5输出生成路径的函数

  设计思路:利用栈来储存结点,pushStack用于进栈,outStack储存出栈结点

2.6主函数

  设计思路:把各个函数分装,进行统筹规划

3.树结果演示


4.碰到问题

1.本次的大作业在文件读取方面采用字符读取,一开始我打算用string读取,却发现程序在运行的过程中会出现错误,后面改为字符数组运行。
2.因为测试的数据非常特殊,本题非常适合运用栈来存储输出。一开始的时候我考虑用队列解决问题,后面发觉用栈会更合适。
3.本次大作业我们对建树还不熟悉,在一开始建树的时候遇到很多困难,最后通过查找资料解决问题。

5.小结

1.本次大作业增加了我们对树的认识,是一次提升自我的好机会。
2.各小组成员相互合作,对本次大作业的完成有很大贡献。

6.小组成员分配说明

翁凌涛负责建树和统筹,潘楚坤负责博客园和文件的读取和写入,刘海博负责节点的查找,生成路径,林晓龙负责控制数据的输出。

7.展示你们讨论的照片

原文地址:https://www.cnblogs.com/1112wlt/p/10849756.html