Task: implement the binary_tree class, which would provide logarithmic complexity of searching and adding a new element. Instructions for implementation:
- the laboratory work consists of two files: ***binary_tree.java *** — description of the binary_tree class, prototypes methods, implementation of methods; ***test-- - - - binary_tree.java *** — testing and verification of capabilities class;
- create an auxiliary template structure containing a field for storing values of any type and 2 fields for storing references to the left and right descendants;
- the binary_tree class must be a template;
- the binary_tree class must contain the following fields: a reference to the root element; number of elements in the tree;
- the binary_tree class must contain the following methods: designer; copy constructor; adding an element; element search; deleting all elements; required interfaces;