Por que é std::mapimplementado como uma árvore vermelho-preta ? Existem várias árvores de pesquisa binária equilibrada (BSTs) por aí. Quais foram as desvantagens do design na escolha de uma árvore vermelho-preta?
Qual é a diferença entre um heap e BST? Quando usar uma pilha e quando usar uma BST? Se você deseja obter os elementos de maneira ordenada, o BST é melhor do que o heap?
Quais são as vantagens das árvores de pesquisa binárias sobre as tabelas de hash? As tabelas de hash podem pesquisar qualquer elemento no tempo Theta (1) e é tão fácil adicionar um elemento ... mas não tenho certeza das vantagens do contrário.
type BSTree a = BinaryTree a data BinaryTree a = Null | Node (BinaryTree a) a (BinaryTree a) deriving Show flattenTree :: BinaryTree a -> [a] flattenTree tree = case tree of Null -> [] Node left val right -> (flattenTree left) ++ [val] ++ (flattenTree right) isBSTree :: (Ord …