【发布时间】:2014-12-08 07:22:20
【问题描述】:
我收到了以下代码,希望我能完成它。目的是设计一个函数来计算 BST 中给定元素 k 的下限。 BST 中元素“k”的底是小于“k”的最大键。
我真的很茫然...我已经为 Java 编写了这个程序,但是无法在 Haskell 中解决它。
floor :: Ord a => a -> ABST a -> Maybe a
floor x Empty = Nothing
floor x (Node y w lt rt)
| x == y = Just y
| x < y = undefined
| x > y = undefined
提前谢谢你。
【问题讨论】:
-
首先找到所有元素都小于k的最大子树(即遍历树直到找到小于k的节点)。然后返回该树的最大元素。把它写成两个不同的函数可能是最简单的。
标签: function haskell binary-search-tree floor