Difference between revisions of "Binary Search Tree Assignment"
Jump to navigation
Jump to search
(Created page with "We will build some of the Higher Order Function Hall of Fame inductees but for a tree datatype. datatype 'a tree = LEAF | BRANCH of 'a tree * 'a * 'a tree File:Sorted bin...") |
|||
Line 6: | Line 6: | ||
=Code To Implement= | =Code To Implement= | ||
− | <nowiki> | + | <nowiki>binary_tree/binary_tree.sml</nowiki> |
==Utilities== | ==Utilities== |
Revision as of 16:58, 21 February 2020
We will build some of the Higher Order Function Hall of Fame inductees but for a tree datatype.
datatype 'a tree = LEAF | BRANCH of 'a tree * 'a * 'a tree
Contents
Code To Implement
binary_tree/binary_tree.sml
Utilities
max_height
fun max_height(t : 'a tree) : int = raise NotYetImplemented
map
reference: List.map
fun map(f : 'a -> 'b, t : 'a tree) : 'b tree = raise NotYetImplemented
filter
reference: List.filter
fun filter(predicate : 'a -> bool, t : 'a tree) : 'a tree = raise NotYetImplemented
find_lnr
reference: List.find
reference: In-order traversal
fun find_lnr(predicate : 'a -> bool, t : 'a tree) : 'a option = raise NotYetImplemented
fold_lnr
reference: List.foldl
reference: In-order traversal
fun fold_lnr(f : 'a * 'b -> 'b, init : 'b, t : 'a tree ) : 'b = raise NotYetImplemented
Application
sum_int_tree
fun sum_int_tree(t : int tree) : int = raise NotYetImplemented
Testing
studioTree/unittest_tree.sml