找回密码
 点一下
查看: 1289|回复: 9

关于哈希表

[复制链接]
发表于 2012-1-18 01:08:43 | 显示全部楼层 |阅读模式
半夜继续做图
出现问题,百度搜索半天找不到,所以请求大神回答:
1,当在哈希表中存入数据,能否通过读取的哈希表数据逆推出子索引的数据
(我是根据单位自定义值得出的子索引,即子索引为单位自定义值)
2,如果在一个哈希表中存入了整数数据,又存入单位数据,那么有没有什么冲突
(主索引、子索引数据相同)
3,使用数学-取较大值
因为只能比较2个数字,我又需要比较多个数字,所以把第一个数设为1,第二个数做了循环哈希表(取主索引xxx子索引for1到100循环数中的值),这样比较是否正确
如若不行,那么怎么取主索引相同而子索引不同数据的最大值呢?
 楼主| 发表于 2012-1-18 01:31:50 | 显示全部楼层
想了半天,觉得还是应该把我想解决的实际问题说出来
我在哈希表中存入数据,让敌方单位攻击存入数据中最大值所对应的单位
回复

使用道具 举报

发表于 2012-1-18 03:13:55 | 显示全部楼层
1.不素很理解问题想表达什么呢......
2.不冲突~一个路径下整数和handle能够并存,但是不可存在多个handle~如unit和timer和group......只能一个的说~
3.设置某整数变量
max=从哈希表中主索引XXX子索引1读取
循环A2~100
{
     整数tmp=从哈希表中主索引XXX子索引 循环A 读取
     if ( tmp > max )
         设置max=tmp
}
这样max就是最大值的说~相当于是每一个新获取的数据都与当前最大值进行比较~
回复

使用道具 举报

发表于 2012-1-18 08:04:04 | 显示全部楼层
1.猫咪也是用哈希表的新手,所以猫咪只能告诉你,猫咪是用单位的整数地址来得到子索引的数据的,因为YD里有整数地址这个东西,所以比自定义值方便(其实自定义子也可以)
回复

使用道具 举报

 楼主| 发表于 2012-1-18 13:46:05 | 显示全部楼层
谢谢你的回复,看到你的回复时间……昨晚实在撑不住睡觉了
刚睡醒……
还是第一个问题,
其实意思就是已经取得哈希表主索引下子索引中的数据,现在需要用这个数据来将子索引的名字反推出来~
也就是我从书架-社科-天朝古代社科-中拿到了一本《易经》,现在我想通过《易经》这本书得到“天朝古代社科”这一名字。
回复

使用道具 举报

 楼主| 发表于 2012-1-18 14:00:27 | 显示全部楼层
已近从baidu得到答案了,不能逆推……
此贴结束……
好痛心的答案,工作量又要加大了
回复

使用道具 举报

发表于 2012-1-18 14:32:30 | 显示全部楼层
逆推啊……那是多少人都想要的东西啊……不过现在只有单位上能绑定数据,只要子索引设置成单位整数地址或者自定义值什么的还是没问题的。如果是从一个整数或者字符串逆推存储位置,似乎没有办法了……
回复

使用道具 举报

发表于 2012-1-18 18:39:34 | 显示全部楼层
需要逆推么……
一般的哈希表使用方法不都是
哈希表:
固定名称,比如HT,我常用的。
主索引:
固定分类名称,比如StringHash(“Timer”),那么这个分类我们就可以理解为和计时器有关。
次索引:
储存数据的Handle值,比如GetHandleId(Timer)。那么查找这个数据的时候,只要能捕捉到这个计时器,我们就可以获得原先存储的数据,不管你存储的是什么,即使是打着“Timer”标签的“羊头”。
数据:
所存数据,挂羊头卖狗肉,打着“Timer”的标签,实际上存储的却是单位。

你从(二楼),(男装),(B区)找到了一件衣服。
如果你想用这件衣服逆推出是从哪找到的,一开始你就在
(二楼)(男装)(品牌区)来放置这件衣服
当你需要知道这衣服放在哪的时候,你只需要分辨衣服是男装还是女装,并且是什么品牌,不就可以知道原先的地址了么。

至于如何分辨衣服是男装还是女装,以及衣服的品牌。
所有数据都有Handle,这是一个索引,整数的话你直接绑定到技能,单位,计时器,或者触发器上就可以了。
然后你可以将这个Handle处理一下,用你能想到的,绝对不会重复的方法,产生第二个索引
比如说,减去某个数,handle为998的话,减去997,这样至少可以保证990+个索引可用。
回复

使用道具 举报

发表于 2012-1-19 15:55:02 | 显示全部楼层
此贴见过数次,正解应该早出来了.
回复

使用道具 举报

发表于 2012-1-21 16:49:25 | 显示全部楼层

回 wlhwlr 的帖子

wlhwlr:已近从baidu得到答案了,不能逆推……
此贴结束……
好痛心的答案,工作量又要加大了 (2012-01-18 14:00) 
. . .本人的唯一解法,使用查找函数....
  . .还是算了吧.......
  ..略微想下下,貌似需要数组帮忙(或者另外一个Hashtable...)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-1 08:37 , Processed in 0.046483 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表