Tại sao được std::mapthực hiện như một cây đỏ-đen ? Có một số cây tìm kiếm nhị phân cân bằng (BST) ngoài kia. Thiết kế đánh đổi trong việc chọn cây đỏ đen là gì?
Sự khác biệt giữa một đống và BST là gì? Khi nào nên sử dụng một đống và khi nào sử dụng BST? Nếu bạn muốn có được các yếu tố theo cách sắp xếp, BST có tốt hơn heap không?
Ưu điểm của cây tìm kiếm nhị phân so với bảng băm là gì? Bảng băm có thể tra cứu bất kỳ phần tử nào trong thời gian Theta (1) và việc thêm một phần tử cũng dễ dàng như vậy .... nhưng tôi không chắc về những lợi thế …
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 …