我正在写一篇关于某种新数据结构的论文。该结构保存(key, value)对,并支持key快速查找。
我可以在我的论文中称它为关联容器吗?
维基百科包含关联容器仅在C++上下文中的定义。关联容器的概念是C++吗?
相联阵列上的条目似乎更好。它用4个操作定义了关联数组:
不幸的是,我找不到很好的参考这个定义。你知道我能引用的相关消息来源吗?
发布于 2013-11-20 13:59:21
关联容器是不一定用顺序整数索引的容器,这些整数以语言的基开始(在大多数基于C的语言中为0,对于其他一些语言为1)。如果您的论文中的数据结构满足这一要求,那么它就是一个关联容器。
一般情况下,不要把维基百科作为学术论文的来源。
发布于 2013-11-20 14:20:40
要查看C++中关联容器的真实示例,请查看std::set和std::map。他们是很好的榜样,值得学习。通常,对于关联容器,存在一个键和一个值,并且键是唯一的。一些刚接触数据结构的人常常想知道std::set是如何关联的,因为它只有一件事!在std::set中,键和值是相同的。在地图中,键可以与值不同。
std::set (键是值):
a
b
cstd::map (键和值可能不同):
1 -> a
2 -> b
3 -> c std::map也可以像std::set一样使用,尽管在std::set可用时这样做是没有意义的,如果您的数据是这样的,那么只需使用std::set即可。
a -> a
b -> b
c -> c因此,如果您想实现您自己的关联容器,您可以只实现一个映射,当有人想要使用它作为一个集合时,只需使键相等于值。事实上,我相信仅执行映射和它们可以用作地图或集合。
https://stackoverflow.com/questions/20097551
复制相似问题