亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教下在一般數據結構中的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 關注
  • 874 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號