CS 3500 Lecture 5: Recursive ADTS

68 views2 pages

Document Summary

Cons 4 (cons(-3) (cons 0 (cons 5 nil)))) Ii. len::listint int len nil = 0 len (cons i is) = 1 + len is. |node treeint int treeint deriving (show, eq) - - displays data as string. Ex: node (leaf 7) 6 (leaf (-6)) == node (leaf 7) 6 (leaf (-6)) Node(leaf 3) 5 (node (leaf -2) 7 (leaf 0)) Iv. flatten:: treeint [int] flatten (leaf i) = [i] flatten (node t1 i t2) = flatten t1 ++ [i] ++ flatten t2 data tree3 = leaf3 bool. Vi. rotate:: tree3 tree3 rotate (leaf b) = leaf b. Cs 3500 rotate (node 3 s t1 t2 t3) = node 3 (rotate t3) (rotate t1) rotate t2) rotate (node2 i t1 t2) = node2 i (rotate t2) (rotate t1) Viii. flatteng :: gtreeint [int] flatteng (leaf i) = [i] flatteng (node i gts) = i : concat (map flatten gts)

Get access

Grade+20% off
$8 USD/m$10 USD/m
Billed $96 USD annually
Grade+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
40 Verified Answers
Class+
$8 USD/m
Billed $96 USD annually
Class+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
30 Verified Answers