一般数据结构中的visit函数具体意义是什么,其作用是什么?

给出定义的内容,不要纯算法,要文子解说的,还有就是有关二叉树链表的status (* Visit)(TElemType e)指的是什么?回答好的加分。

visit 一般是指树型链表结构中对某个节点内容进行访问的函数,就是取出节点内容去做某一件事,通常算法中不写出具体函数内容。

树型链表结构中自顶开始按照某种顺序顺藤摸瓜至某个节点的过程称为“遍历”:

void traverse(link h, void visit(link))
{
if (h == 0) return;
visit(h);
traverse(h->l, visit);
traverse(h->r, visit);
}

前序遍历(非递归):
非递归的基于栈的函数与上面的递归函数在功能上是相等的。
void traverse(link h, void visit(link))
{
Stack<link> s;
s.push(h);
while(!s.empty())
{
visit(h = s.pop());
if (h->l != 0) s.push(h->l);
if (h->r != 0) s.push(h->r);
}
}

层次顺序的遍历:
把前序遍历中基本数据结构从栈转变成队列,这样的转变就使遍历转成层次顺序的。
void traverse(link h, void visit(link))
{
Queue<link> q;
q.put(h);
while (!q.empty())
{
visit(h = q.get());
if (h->l != 0) q.put(h->l);
if (h->r != 0) q.put(h->r);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-22
活节点变成他的左孩子节点
visit节点访问