バイナリ検索ツリーの要素を削除する関数を実装するにはどうすればよいですか? これは私の木である:haskellのバイナリ検索ツリーの関数を削除する
data Tree a = Leaf
| Node a (Tree a) (Tree a)
私は場合には、私の木が葉
delete :: (Ord a) => a -> Tree a -> Tree a
delete _ Leaf = Leaf
と左ケースと右にあることを知っているが空ではありませんが、私は右から最小値を削除する必要があります(または左から最大)、それがルートになりました。しかし、私はそれをどのように実装できますか?
この宿題はありますか? –
@ MatveyB.Aksenov yeah –
それで、次回にタグ付けしてください。ここでは一般的な方法です。 –