簡體   English   中英

Haskell-使用遞歸的代數數據類型?

[英]Haskell - Algebraic data types that use recursion?

我遵循了使用以下數據類型創建二進制搜索樹的指南:

data BinarySearchTree a = EmptyTree | TreeNode a (BinarySearchTree a) (BinarySearchTree a) deriving (Show, Read, Eq)

我是否正確地說'TreeNode'正在使用遞歸,即創建其自身數據類型'(BinarySearchTree a)(BinarySearchTree a)'的2個元素?

我從未見過像這樣的數據類型,任何簡短的解釋都很好!

是的,這是一種遞歸數據類型。

我建議在“ 學習Haskell成就卓越”中推薦相關章節-非常適合初學者。 它也描述了您的確切情況:

這就是我們要說的:一棵樹要么是一棵空樹,要么是一個包含一些值和兩棵樹的元素。 聽起來很適合代數數據類型!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM