Explain where to use AVL tree and where to use Redblack ,explain the key concepts in these trees like the time complexity and how to implement it.where these trees are used in real world applications.and whether it is self balancing or not .