Question
Racket language question The following Tree datatype implements a binary tree with a number in each node and leaf: (define-type Tree (leaf [val : Number])
Racket language question
The following Tree datatype implements a binary tree with a number in each node and leaf:
(define-type Tree
(leaf [val : Number])
(node [val : Number]
[left : Tree]
[right : Tree]))
Implement the function positive-trees?, which takes a list of trees and returns #t if every member of the list is a positive tree, where a positive tree is one whose numbers sum to a positive value. Hint 1: This function takes a list, not a tree, so dont try to use the template for a tree function. Hint 2: Use your sum function as a helper. Hint 3: (positive-trees? empty) should produce #t, because theres no tree in the empty list whose numbers sum to 0 or less. More examples: (test (positive-trees? (cons (leaf 6) empty)) #t) (test (positive-trees? (cons (leaf -6) empty)) #f) (test (positive-trees? (cons (node 1 (leaf 6) (leaf -6)) empty)) #t) (test (positive-trees? (cons (node 1 (leaf 6) (leaf -6)) (cons (node 0 (leaf 0) (leaf 1)) empty))) #t) (test (positive-trees? (cons (node -1 (leaf 6) (leaf -6)) (cons (node 0 (leaf 0) (leaf 1)) empty))) #f)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started