K 진 트리에 포함되어 있는지 여부를 찾기항목이 나는 데이터 유형을 가지고
data KTree a = Empty | Leaf a | Node a [KTree a] deriving (Eq, Show)
내가 항목이 포함되어 있는지 여부에 관해서는 참 또는 거짓 반환하는 함수를 작성하고 싶습니다 내 나무.
ktreeContains :: Eq a => a -> (KTree a) -> Bool
ktreeContains _ Empty = False
ktreeContains y (Leaf x) = (x==y)
-- code for nodes goes here
그래서 내가 노드 자체가 항목이며, 다음 재귀 노드 아동을위한 ktreeContains를 호출하지만 각 노드가 많은 아이를 가질 수 있기 때문에이 작업을 수행하는 방법을 이해하지 않습니다 여부를 찾을 필요가 실현.
나는 지금까지 가지고있는 코드가 옳다고 생각하지만 그렇지 않다면 나를 고쳐 주시기 바랍니다.
도움을 주신 데 감사드립니다. 그냥 관심 밖으로
지도의 첫 번째 인수 (ktreeContains y를)이 있어야로 정의
ktreeContainsMonoid
의 더 일반화 된 버전입니다. –그것은'any (ktreeContains y) ts'이어야합니다. – sth
아마도 답을 수정하면 답이 수정 된 후에는 아무런 의미가없는 주석을 추가하는 것이 더 좋은 생각 일 수 있습니다. – Apocalisp