Implement a basic node class that has the following instance variables:
Implement a constructor (__init__) that takes the following arguments: value, keywords (optional), and children (optional).
Implement a show method that prints out the value and the keywords, then recursively calls itself to show children.
Implement a test function that creates a small tree, then calls the show method on the root Node to show the tree.
What you will learn:
Add a collect method to your Node class that takes one argument, a dictionary, and adds itself to the dictionary for each keyword that is this Node has. The keys in the dictionary are strings (the keywords), and the values in the dictionary are lists (a list of Nodes that have the associated keyword). The collect method should also (recursively) call itself on each child node.
Call the collect method on the top Node of your tree, passing in an empty dictionary. Print out the items in your dictionary.
What you will learn: