added red black tree
added breadth first visit