我正準備從非過程語言的考試。我有測試任務的例子,我不知道如何解決它。 任務是以下幾點: 鑑於兩個樹結構:將在序返回編號NumTree a data Tree a = Nil1 | Node1 a [Tree a]
data NumTree a = Nil2 | Node2 (a,Int) [NumTree a]
寫功能 numberTree :: Num a => Tree a -> Num
我必須定義三個函數:preorder(t):,postorder(t):和inorder(t):。 每個函數都會將二叉樹作爲輸入並返回一個列表。這個列表應該以相同的方式排序,樹元素將在相應的遍歷中訪問(後序,預訂或者順序) 我已經爲它們中的每一個編寫了代碼,但是我保留得到一個錯誤,當我調用另一個函數(flat_list()),我得到 if not x or len(x) < 1 or n > le
我在繪製這棵樹時遇到了問題,因爲我不知道何時將值放在樹的右側或左側,因爲它由字母組成。 我該如何判斷? 編輯補充: 我給出以下選擇儘可能序遍歷: A. F A E K C D B H G
B. F A E K C D H G B
C. E A F K H D C B G
D. F E A K D C H B G