0
我已經按照指導,以創建它使用以下數據類型的二叉搜索樹:Haskell - 使用遞歸的代數數據類型?
data BinarySearchTree a = EmptyTree | TreeNode a (BinarySearchTree a) (BinarySearchTree a) deriving (Show, Read, Eq)
我是正確地說「樹節點」是使用遞歸,即建立自己的數據類型的2個元素「( BinarySearchTree a)(BinarySearchTree a)'?
我從來沒有見過這樣的數據類型,任何簡短的解釋都會很棒!
它與列表類型非常相似(它也是遞歸的),除了它遞歸兩次(樹中兩個節點的分支)而不是一次(在列表中,一個單元格只有一個尾部) 。 – chi
從技術上講,'TreeNode' *需要*兩個'BinarySearchTree'值(和一個'a'值)並*返回一個新的'BinarySearchTree'值。 *類型*是遞歸定義的。 – chepner
TreeNode不*創建*任何東西。 – immibis