有没有可以双相查询的数据结构

mrenmren3000 2012-09-18 03:34:02
要设计一个内存的数据结构,可以支持双相查询。比如有如下对应关系:
1 <-> a
2 <-> b
3 <-> c
4 <-> d

可以通过1、2、3、4快速查到a、b、c、d,也可以通过a,b,c,d快速查到1、2、3、4
有没有这种支持双相查询的hash表,通过键可以查到值,也可以反过来通过值查到键。

多谢
...全文
181 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ouPuso 2012-09-20
  • 打赏
  • 举报
回复
如果能反向查找,只能是映射关系
showjim 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

哎~不能用两个表啊
[/Quote]
我想知道这是谁规定的
超级大笨狼 2012-09-19
  • 打赏
  • 举报
回复
yonglaixiazaide说的对,我们就这么干的。
yonglaixiazaide 2012-09-18
  • 打赏
  • 举报
回复
你要是 找到了这样的,并且是高效的数据结构,求分享

[Quote=引用 3 楼 的回复:]
哎~不能用两个表啊
[/Quote]
mrenmren3000 2012-09-18
  • 打赏
  • 举报
回复
哎~不能用两个表啊
yonglaixiazaide 2012-09-18
  • 打赏
  • 举报
回复
两个哈希就可以了,你懂的,或者2个二叉树~
mkcing 2012-09-18
  • 打赏
  • 举报
回复
估计没有,hash函数一般都有冲突的,你说的那种情况需要一个一一对应的函数。如果你用空间换时间的话,可以用两个mutilmap实现

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧