猿问

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

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

青春有我
浏览 800回答 2
2回答

喵喔喔

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

Smart猫小萌

活节点变成他的左孩子节点visit节点访问
随时随地看视频慕课网APP
我要回答