[英]Haskell. How can I test a BTree in GHCi?
我從二叉樹有這個代碼定義
data BTree a = Empty | Node a (BTree a) (BTree a)
deriving (Eq, Show, Read)
並定義功能大小
size' :: BTree a -> Integer
size' Empty = 0
size' (Node _ l r) = size' l + size' r + 1
據我了解,我有一棵空樹或一棵有一個節點和兩個孩子的樹。 這是正確的嗎?
Node a (BTree a) (BTree a)
根據這個定義,我可以只有一個節點嗎?
我正在測試這個
size' (BTree 2 (Node 3 empty) (Node 6 empty))
size' (BTree 5 (Node 3 empty) (Node 8 empty) empty)
size' (BTree 'A' (Node 'B' empty) (Node 'C' empty))
size' (Node 5 (BTree 3 empty) (BTree 8 empty) empty)
size' (Node 5 (BTree 3 empty) (BTree 8 empty))
但是所有這些都會導致錯誤
您的定義說,有兩種方法可以使BTree a
:
Empty
Node xyz
,其中x
類型為a
,而y
和z
類型為BTree a
。 因此, BTree Int
一些示例為:
Empty
Node 0 Empty Empty
Node 1 (Node 2 Empty Empty) Empty
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.