1. Write a SCHEME function, named (tree-size T), which takes a tree node, T, and returns the size (i.e. the number of nodes) of the tree rooted at T. 2. Write a SCHEME function named (tree-depth T) which takes a tree node, T, as a parameter and returns the depth of the tree rooted at T. For the purpose of this exercise, the depth of a tree rooted at T is one plus the maximum of the depths of its two children. 3. Define a SCHEME function named (count-pred P tree) which given a binary tree and predicate function, P, applies the predicate to each of the values in the tree and returns the number of values for which the predicate returns #t (true). 4. Define a SCHEME function named count-one-child which returns the number of internal nodes of a binary tree which have exactly one child. Binary Search Trees (define (insert x T) (cond ((null? T) (make-tree x '() '())) ((eq? x (value T)) T) ((< x (value T)) (make-tree (value T) (insert x (left T)) (right T))) ((> x (value T)) (make-tree (value T) (left T) (insert x (right T)))))) 1 5. Define a SCHEME function named (invert-bst T) which, given a Binary Search Tree (BST) inverts that BST. That is, the function returns a binary tree in which has the property that all values at nodes in the left subtree are greater than the value at the root node and all values at nodes in the right subtree are less than the value at the root node. Hint: There is an extremely simple way to write this function.
Answer questions 1-5 using scheme language this the second time I am posting and you guys use the wrong language. If it is the wrong language once again. I will simply cancel this account
1. Write a SCHEME function, named (tree-size T), which takes a tree node, T, and returns the size (i.e. the number of nodes) of the tree rooted at T.
2. Write a SCHEME function named (tree-depth T) which takes a tree node, T, as a parameter and returns the depth of the tree rooted at T. For the purpose of this exercise, the depth of a tree rooted at T is one plus the maximum of the depths of its two children.
3. Define a SCHEME function named (count-pred P tree) which given a binary tree and predicate function, P, applies the predicate to each of the values in the tree and returns the number of values for which the predicate returns #t (true).
4. Define a SCHEME function named count-one-child which returns the number of internal nodes of a binary tree which have exactly one child. Binary Search Trees (define (insert x T) (cond ((null? T) (make-tree x '() '())) ((eq? x (value T)) T) ((< x (value T)) (make-tree (value T) (insert x (left T)) (right T))) ((> x (value T)) (make-tree (value T) (left T) (insert x (right T)))))) 1
5. Define a SCHEME function named (invert-bst T) which, given a Binary Search Tree (BST) inverts that BST. That is, the function returns a binary tree in which has the property that all values at nodes in the left subtree are greater than the value at the root node and all values at nodes in the right subtree are less than the value at the root node. Hint: There is an extremely simple way to write this function.
Trending now
This is a popular solution!
Step by step
Solved in 5 steps