用于查找元素的数据结构

Which datastructure to use for finding an element

本文关键字:数据结构 元素 查找 用于      更新时间:2023-10-16

我在一个列表中保存了几个项目。我想将已经处理的项目添加到数据结构中(这在我的情况下是有意义的,即使你可能想知道为什么(。在处理列表中的下一项时,我首先要确定它之前是否已经处理过,所以让我们这样说:

if(element_is_in_datastructure(current_element)) {
do this
}
else
{
do that
add_element_to_datastructure(current_element)
}

我的问题是,理想的数据结构是什么,检查元素是否在其中不会花费太长时间。目前我没有太多元素(最多 30 个(将被添加到数据结构中,但这个数字可能会增加,我不想失去性能。

您可以使用map例如std::unordered_map将元素存储为keys。 然后只需检查他们的存在,例如

if(!yourMap.count(element))
{
// your element is not in the structure
}

此发现需要地图大小的对数时间才能完成。

相关文章: