finished, all algorithms implemented and tested: DFS: pre-order, in-order, post-order, BFS