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

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

前序二叉樹遍歷失敗

前序二叉樹遍歷失敗

Go
冉冉說 2023-01-03 10:10:02
我在旅行中遇到了等效二叉樹練習的問題。我編寫了一個 Walker() 函數以按節點-左右順序遍歷樹,然后使用 Same() 函數測試兩個相同的二叉樹是否等價。這是我的代碼的鏈接:https ://go.dev/play/p/vakNgx_CD3L請參閱鏈接的代碼中的評論。出于某種原因,使用這種遍歷順序,等價性測試在應該工作時失敗了。不過,將順序切換為左節點右或右節點左是可行的。打印輸出也讓我感到困惑。這是運行時的結果。為什么遍歷樹 1 的前 10 個數字與遍歷樹 2 的第二組 10 個數字不匹配?1053124769874213569810falsefalse
查看完整描述

1 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

我認為這里的問題是,您正在使用https://pkg.go.dev/golang.org/x/tour/tree#New函數,它返回一個從 1k 到 10k 值的隨機二叉樹。

tree.New(1)“隨機”一詞在這里很重要,因此您不能期望獲得與函數調用輸出相同的二叉樹。

盡管樹節點的值從 1 到 10(在 k=1 的情況下),但返回的樹的順序將不同。如果您使用.String()函數打印樹,您可以清楚地看到這一點??纯聪旅娴挠螛穲龃a,我在其中打印了樹,它清楚地表明每次調用tree.New函數時返回的樹都是不同的。 https://go.dev/play/p/WkF8frfno17

我希望這有幫助 :)。


查看完整回答
反對 回復 2023-01-03
  • 1 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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