求多叉树的后序遍历代码。。。

[复制链接]
查看11 | 回复3 | 2009-8-12 12:36:27 | 显示全部楼层 |阅读模式
1.多叉树的后序遍历顺序是 第一颗子树,第二棵子树…第M棵子树,根。
2.要求非递归
3.建议用邻接表建立M叉树,然后遍历树形式的图的邻接表。
4.强调是M叉树,不是二叉树。
5.要求能在VC6.0调试完成的完整代码。
6.外加50额外加分!!!

回复

使用道具 举报

千问 | 2009-8-12 12:36:27 | 显示全部楼层
给的是3叉树,可以自己改MAX_CHILDREN_NUM 3 //三叉树输入节点,然后分别建底下的各个孩子,注意,每个孩子都要求输入数据,没有则输入0.反正建树很烦#include #include #include #include #define MAX_DEPTH 4#define MAX_CHILDREN_NUM 3 //三叉树typedef struct tnode{
int data;
tnode **children, *parent; //parent域可不要}tnode;typedef...
回复

使用道具 举报

千问 | 2009-8-12 12:36:27 | 显示全部楼层
代码懒得写了,就跟你说几点吧。要求非递归遍历,那么自然是用循环+栈来实现。至于M叉树的话,跟二叉树是一样滴,你定义结构体的时候把lchild,rchild换成NODE *p[M]就可以了。祝你好运!!...
回复

使用道具 举报

千问 | 2009-8-12 12:36:27 | 显示全部楼层
哇好难哦,可以用栈来处理,每次入栈时都增加一个标记,表示该节点是否已完全访问。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行