if(p->child[i]) { } ++r;queue[r]=p->child[i];
}
void main() {
system(\"color 1F\"); //设置控制台的背景色为蓝色 printf(\"\\**********************************\\n\");
printf(\"\\ 第五组实验内容:树的应用 \\n\");
printf(\"\\ 组员:赵攀攀,张姣姣,聂永胜 printf(\"\\**********************************\\n\"); Tree T; Tree T1; BiTree p;
printf(\"=====输入要创建的树=====:\\n\"); createtree(T);//创建 一棵树 printf(\"\\n树的先序递归遍历:\"); preorder(T);
printf(\"\\n树的后序递归遍历:\"); postorder(T);
printf(\"\\n树的层序非递归遍历:\");
level(T);
printf(\"\\n\"); printf(\"\\n=====树转换为二叉树=====\\n\");
p=TreetoBiTree(T);
printf(\"\\n二叉树先序非递归遍历(树的先序非递归):\");
\\n\");
PreOrderPrint(p);
printf(\"\\n二叉树中序非递归遍历(树的后序非递归):\");
inorder1(p);
printf(\"\\n\");
printf(\"\\n=====二叉树转换为树=====\\n\");
T1=BiTreetoTree(p);
printf(\"\\n按先序递归遍历此树:\"); preorder(T1); printf(\"\\n\");
printf(\"\\n按后序递归遍历此树:\"); postorder(T1); printf(\"\\n\");
printf(\"\\n按层次非递归遍历此树:\"); level(T1); printf(\"\\n\"); return ; }
六.测试分析(运行结果)
比如说输入以下内容:
RAD###E####B###CFG###H###K##### 将会输出下面内容:
树的先序递归遍历:RADEBCFGHK
树的后序递归遍历:DEABGHKFCR 树的层次非递归遍历:RABCDEFGHK ====树转换为二叉树====
二叉树先序非递归遍历(树的先序非递归):RADEBCFGHK 二叉树中序非递归遍历(树的后序非递归):DEABGHKFCR ====二叉树转换为树====
按先序递归遍历此树:RADEBCFGHK 按按后序递归遍历此树:DEABGHKFCR 按按后序递归遍历此树: RABCDEFGHK
七.总结(收获及体会)
1、收获及体会;
在学习数据结构这门课的时候,对一些算法的设计和应用并不是
太理解,而且不知道怎么结合实际去实现这些算法,这次课程设计,我们通过各种途径去掌握了解树的应用各个分块的算法并加以实现,使我们对树的各种操作得到了很好的掌握,刚开始时一直在选用树的存储结构上产生了意见分歧,一直纠结徘徊在是用孩子兄弟法还是孩子法来创建,最后考虑到后面的遍历操作,我们统一了意见,决定采用孩子法。在编程过程中我们遇到了很多问题,最终都是通过资料的查询及小组成员的讨克了一个又一个的难题,在此期间我们充分认识到了团队合作的重要性,这对于以后我们的工作起到了一个很好的磨砺机会。这次的实习让我们收获到的不仅仅是知识的积累与巩固,更重要的是对团队合作的认识。
2、在此部分最后部分注明每位同学所做的具体工作。
对于此次课程设计,我们小组做了明确的分工,在程序的9个模
块中,聂永胜同学主要负责树的创建,树转换为二叉树及二叉树转换为树三个模块,张姣姣同学负责树的先序递归遍历,树的后序递归遍历以及主程序对各个模块的融合三个模块,赵攀攀同学负责树的先序,后序,层次的非递归遍历三个模块,在每个人将其工作任务完成后再将自己的编程思想讲授给另外两个同学,做到融会贯通。
八.参考文献
网上资料结合课本知识,再加上我们的不懈努力。