"Trees: Symbol And Recursion" is a series of computer programs that
playfully inquires the convergence of mathematics, linguistics and symbolic structures implied in trees, a type of structure used to store, search and present information. The project is part of the larger project "structures: string, tree and graph".
##
conversation tree; decision tree;
text processing; recursion; symbols; empty spaces. a binary tree structure to implement a feature to store customized word combinations.
Textual outputs are stored as txt files, and image outputs are stored as image files. The program process is stored in Jupyter Notebooks.
There are two recursive procedures applied in the program, one to build the tree, and the other to print the tree. Between line 45 and 67, the insertLeaf function recursively traverse the tree, looking for a suitable place to insert the word of the fruit as predefined by a hierarchical rule. The hierarchical rule used in the program simply compares the order of the word's first letter. Words starting with "bigger" letters will be placed on the right side, and vice versa. Between line 15 and 35, the print2DUtil_flat function visually renders the tree's levelled hierarchies. The function starts in the tree's furthest right. For words placed in "lower" levels, more empty spaces are printed, and vice versa.
"A Letter Tree With Hanging Fruits" is a symbolic tree that grows 26 different fruits, with each name starting with a letter from the English alphabet. The computer program uses the tree structure, an abstract data structure used to store, retrieve and represent hierarchical information. The information, in this case, a list containing the words of the fruits, is processed hierarchically by recursion, an algorithmic procedure that constantly calls upon itself until an exit condition is met.