1、先根遍历
//思想:此为先根遍历,与有向图的深度优先遍历相似
typedef int ElemType;
typedef struct Node
{
ElemType data;
struct Node *lchild;
struct Node *rchild;
}BTNode, *BTree;
void PreOrderTravel(Node *pNode)
{
stack stck;
if (NULL == pNode)
return ;
stck.push(pNode);
while(!stck.empty())
{
pNode = stck.top();
stck.pop();
Deal(pNode); //访问根节点
for (int i=pNode->child_list.size()-1; i>=0; i++)
{
if ( pNode->child_list[i] != NULL)
stck.push(pNode->child_list[i]);
}
}
}
2、后序遍历可由上式变化而得。