Ich möchte die Anzahl der Vorkommen einer Zahl in einem Baum zu finden.Und hier ist mein Code, aber es gibt einen Fehler, den ich nicht finden kann, warum es passiert .Finden der Anzahl der Vorkommen einer Variablen in einem Binärbaum in Haskell
data Tree a = Empty | Node (a ,Tree a,Tree a) deriving (Show)
occurst _ Empty = 0 -- this line occurs error
occurst a (Node (x,left,right)) = if x==Empty then 0
else if a==x then 1 + (occurst a left) + (occurst a right)
else (occurst a left) + (occurst a right)
j=let t = Node (3 , Node (2 , Node (1 , Empty , Empty) , Node (1 , Empty , Empty)),Node (1 , Node (2 , Node (1 , Empty , Empty) , Node (1 , Empty , Empty)),Node (1,Empty,Empty)))
in occurst 1 t
Fehlermeldung ist, dass:
ERROR "treeExample.hs":95 - Cannot infer instance
*** Instance : Eq (Tree a)
*** Expression : occurst
INput Ausgänge müssen:
occurst 1 t -> 6
occurst 2 t -> 2
occurst 3 t ->1
occurst 4 t ->0
Warum benötigt der 'Node' ein Tupel? Was ist los mit 'Knoten a (Baum a) (Baum a)'? – pat