私はこの単純なデータツリーがあります。 data Tree = Leaf Int | Node [Tree]
をそして私はこのタイプの折り機能をdevellopする必要があります。例えば foldTree :: (Int -> a) -> ([a] -> a) -> Tree -> a
: を foldTree (+1) sum (Node[ (Leaf 2), (Leaf 3)])
私は、次の質問から2N/3を取得する方法を考え出した: Worst case in Max-Heapify - How do you get 2n/3? 「CLRS、第3版、155ページ、それはそのMAX-HEAPIFYに与えられている: 「子どものサブツリーのサイズは2n/3以下です。最悪の場合は、ツリーの最下位レベルが完全に半分になったときに発生します」。 しかし、ツリーの最下位レベルがちょう