Like Jeff Yates, I would use one file for each type. Java applies this, .NET does not - but it seems to be suitable for well-organized solutions.
In addition, I would like to place all the BST-related files in a separate project in the same solution. If I understand you correctly, your application does not concern BST, it just uses them, right? If so, then here you can separate a separate project.
And also create well-named and well-defined namespaces. For example, MyApplication.Bst for files associated with BST, and MyApplication.UI for the external interface, for example.
source share