“我正在尝试解决类似的问题(在列表树中找到最短的列表),我认为解决这个问题会是一个不错的开始。”
“假设有一个数据类型,如下所示:”
如何在上述二叉树中找到包含最小元素的节点? 请注意,这不是一棵二叉搜索树。
我试图递归地思考:最小值是左、右子树和当前值之间的最小值。但是,我很难将其转换为Haskell代码。我面临的问题之一是我想返回树而不仅仅是值。
“假设有一个数据类型,如下所示:”
data (Ord a, Eq a) => Tree a = Nil | Node (Tree a) a (Tree a)
如何在上述二叉树中找到包含最小元素的节点? 请注意,这不是一棵二叉搜索树。
我试图递归地思考:最小值是左、右子树和当前值之间的最小值。但是,我很难将其转换为Haskell代码。我面临的问题之一是我想返回树而不仅仅是值。
Foldable
实例并使用min
进行fold
。 - Shanthakumar