Difference between revisions of "Binary Int Tree Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
(Created page with "=Motivation= Prepare for the Binary Search Tree Exercise with a simpler warm up. =Code to Implement= {{SMLToImplement|warmup_binary_int_tree...")
 
Line 20: Line 20:
 
raise Fail("NotYetImplemented")</nowiki>
 
raise Fail("NotYetImplemented")</nowiki>
  
===fold_rnl===
+
==fold_rnl==
 
[https://en.wikipedia.org/wiki/Tree_traversal#Reverse_in-order_(RNL) reverse order tree traversal]
 
[https://en.wikipedia.org/wiki/Tree_traversal#Reverse_in-order_(RNL) reverse order tree traversal]
 
  <nowiki>(*
 
  <nowiki>(*

Revision as of 03:56, 21 October 2022

Motivation

Prepare for the Binary Search Tree Exercise with a simpler warm up.

Code to Implement

file: src/main/sml/binary_int_tree/warmup_binary_int_tree.sml Smlnj-logo.png
functions: sum

datatype

 datatype int_tree = NODE of (int_tree * int * int_tree) | EMPTY


sum

fun sum(node : int_tree) : int =
	raise Fail("NotYetImplemented")

sum_accumulate

fun sum_accumulate(init : int, node : int_tree) : int = 
	raise Fail("NotYetImplemented")

fold_rnl

reverse order tree traversal

(*
 * depth-first, reverse in-order traversal
 * https://en.wikipedia.org/wiki/Tree_traversal#Reverse_in-order_(RNL)
 *)
fun fold_rnl(f : (int * 'a) -> 'a, init : 'a, node : int_tree) : 'a = 
	raise Fail("NotYetImplemented")

Testing

source folder: src/test/sml/warmup_binary_int_tree
how to run with CM.make verbosity off: sml -Ccm.verbose=false run_binary_int_tree_testing.sml
how to run with CM.make verbosity on: sml run_binary_int_tree_testing.sml

note: ensure that you have removed all printing to receive credit for any assignment.

SML Error Messages