нет, ноды хранятся в дереве. Там буквально дерево
data Map k a
= Bin k a (Map k a) (Map k a)
| Tip
когда делаем лукап,
- если Tip, то элемента нет
- если Bin k a _ _, и k - нужный ключ, то a
- если Bin k _ l r, и k > нужного ключа, то ищем в l
- иначе ищем в r
lookup :: Ord k => k -> Map k a -> Maybe a
lookup = go
where
go !_ Tip = Nothing
go k (Bin _ kx x l r) = case compare k kx of
LT -> go k l
GT -> go k r
EQ -> Just x