![]() | 1 pengjiayou 2012-11-08 12:35:34 +08:00 我是要被砍头的那位,我做不出,哈哈 |
2 013231 2012-11-08 12:46:30 +08:00 不就是散列表. 信封上上, 放在第`%5千`箱子; 如果那箱子已有一信封了就往依次後看, 找到了空箱子就放去. 取信的候到`%5千`箱子去; 如果不在那箱子就往後找. |
![]() | 4 21grams 2012-11-08 14:16:11 +08:00 就按编码取呗,实在看不懂要干什么。 |
![]() | 6 gucheen 2012-11-08 14:19:51 +08:00 机器工作的原理貌似不知道。。。 |
![]() | 9 y051313 2012-11-08 15:00:19 +08:00 题目不严谨吧,是说取的时候只能一次?也就是说不能再箱子里面翻来翻去? |
![]() | 13 chendeshen 2012-11-08 20:14:46 +08:00 这题算是考数据结构,再套上一些故事情节而已.IOS考这个绝对是必要+出题出得好. 考得就是Hash(哈希表)的实现原理之一...答案貌似是 @013231 所说的±...本人小白路过... |
![]() | 14 blacktulip 2012-11-08 20:18:04 +08:00 话说虽然有5kw个箱子,我只用前1kw个不行么? |
![]() | 15 ichigo 2012-11-08 20:35:47 +08:00 哈希表+1 |
16 013231 2012-11-08 21:08:22 +08:00 @blacktulip 不大好. 只用前一千, 想必你是按18位序存放, 然後二分搜索查找位置? 就有: 1. 查找信封的速度是O(log n), 而散列表是O(1). 2. 一旦有新人加入, 平均需要移五百信封. |
![]() | 17 iYu 2012-11-08 21:25:02 +08:00 数组+1 编程珠玑 第一篇 O(1) |
![]() | 18 soarscnu 2012-11-08 22:02:24 +08:00 把十八位编码和五千万个箱子各平均分为五部分,即一千万个箱子对应十八位编码的一部分。工作人员拿到十八位编码就到对应的部分第“十八位编码%1Kw”个箱子查找。若有多个信封对应一个箱子,则对应编号箱子放第一个对应的信封,再加一张字条,字条写明其它对应的信封放哪个编号箱子里。 |
![]() | 19 Veelian 2012-11-08 23:32:19 +08:00 大家是不是想太多了,人家说了「不会计算机的也有可能想出来」,逛超市存包时柜子吐出一个条形码。。。 |
![]() | 20 dhysum 2012-11-09 01:48:27 +08:00 最简单有效的应该还是树形结构 |
21 yueq 2012-11-09 02:36:49 +08:00 this is hash bucket... |