6. Haskell function show (show:: (BST a)) -> String) is defined by a Haskell deriving Show clause and it operates as follows. instance Show a => Show (BST a) where show Nil = "Nil" show (Node x Nil Nil) = "Node " ++ (show x) ++" Nil Nil" show (Node x Nil right) = "Node " ++ (show x) ++" Nil (" ++ (show right) ++ ")" show (Node x left Nil) - "Node " ++ (show x) ++" (" ++ (show left) ++ ") Nil" show (Node x left right) = "Node " ++ (show x) ++ (" ++ (show left) ++ ") (" ++ (show right) ++ ")" (i) Explain the recursion of function show in general BST terms. (ii) Assume that function show is applied to a BST of height 2 containing strings consisting of single letters a, b, c, d, e, f, g inside its nodes (a BST respecting lexicographic ordering). Write down the string constituting the outcome of its operation.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 6PE
icon
Related questions
Question
6. Haskell function show (show:: (BST a)) -> String) is defined by a Haskell deriving
Show clause and it operates as follows.
instance Show a => Show (BST a) where
show Nil = "Nil"
show (Node x Nil Nil) =
"Node " ++ (show x) ++ " Nil Nil"
show (Node x Nil right) =
"Node " ++ (show x) ++ " Nil (" ++ (show right) ++ ")"
show (Node x left Nil) =
"Node " ++ (show x) ++ " (" ++ (show left) ++ ") Nil"
show (Node x left right) =
"Node " ++ (show x) ++" ("
++ (show left) ++ ") (" ++ (show right) ++ ")"
(i) Explain the recursion of function show in general BST terms.
(ii) Assume that function show is applied to a BST of height 2 containing strings consisting of
single letters a, b, c, d, e, f, g inside its nodes (a BST respecting lexicographic ordering). Write
down the string constituting the outcome of its operation.
Transcribed Image Text:6. Haskell function show (show:: (BST a)) -> String) is defined by a Haskell deriving Show clause and it operates as follows. instance Show a => Show (BST a) where show Nil = "Nil" show (Node x Nil Nil) = "Node " ++ (show x) ++ " Nil Nil" show (Node x Nil right) = "Node " ++ (show x) ++ " Nil (" ++ (show right) ++ ")" show (Node x left Nil) = "Node " ++ (show x) ++ " (" ++ (show left) ++ ") Nil" show (Node x left right) = "Node " ++ (show x) ++" (" ++ (show left) ++ ") (" ++ (show right) ++ ")" (i) Explain the recursion of function show in general BST terms. (ii) Assume that function show is applied to a BST of height 2 containing strings consisting of single letters a, b, c, d, e, f, g inside its nodes (a BST respecting lexicographic ordering). Write down the string constituting the outcome of its operation.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Types of trees
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning