为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

青春有我 2022-01-19 21:15:59
给出定义的内容,不要纯算法,要文字解说的,还有就是有关二叉树链表的status (* Visit)(TElemType e)指的是什么?
查看完整描述

2 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

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);
}
}



查看完整回答
反对 回复 2022-01-23
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

活节点变成他的左孩子节点
visit节点访问

查看完整回答
反对 回复 2022-01-23
  • 2 回答
  • 0 关注
  • 794 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信