Я знаю, в чем разница с точки зрения того, где карта или где используется словарь, но я удивился, почему Dictionary<TKey, TValue>
в .NET предположительно использует , из того, что я прочитал здесь , связанный список под обложками, и я знаю, что std::map<K,T>
(C ++) реализован в виде красно-черного дерева.
Почему они не одинаковы под прикрытием, есть ли разница в производительности (для которой я знаю, что оптимизирована структура данных C ++) или почему словарь .NET на самом деле был бы связанным списком под прикрытием и C ++ std :: map, а затем красно-черное дерево, которое, насколько мне известно, совершенно разные структуры данных, в основном используются для совершенно других целей.
Возможно, эти две вещи служат разным целям, а может, я просто не знаю.
Кто-нибудь может уточнить?