gpt4 book ai didi

c++ - 什么是基于集合的数据结构

转载 作者:IT老高 更新时间:2023-10-28 22:17:08 26 4
gpt4 key购买 nike

在 C++ 中,map 基于黑红树,因此插入/删除函数将花费 O(logn),而 hash_map 基于哈希。

但我想知道基于什么数据结构设置?

set 和 map 一样排序,那么 set 是否也基于黑红树?

它的键和值是如何存储在那棵树中的?

如果是这样,unorder_set 的数据结构是什么?谢谢!

最佳答案

没有保证。该标准唯一要求的是操作成本,因此实现者可以自由使用他们想要的任何数据结构。通常 std::setstd::map 是平衡二叉树。

另外,std::unordered_setstd::unordered_map 是哈希表。我相信这实际上是由标准保证的,因为您可以手动指定散列函数。

关于c++ - 什么是基于集合的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19692399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com