10月28,K神开讲数据科学:AB Test/实验设计


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 1192|回复: 3
收起左侧

[树/链表/图] 关于hash table中remove方法的递归实现问题

[复制链接] |试试Instant~ |关注本帖
南方Giraffe 发表于 2016-1-14 09:18:23 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
楼主正在学hash table,其中有一个remove方法是这样的:

public void remove(AnyType x)
{
    List<AnyType> whichList = theList [ myhash(x) ] ; //用x的hashcode的值找到x所在的list
    if ( whichList.contains(x) )  {   //contains(x),如果x存在则返回true
        whichList.remove(x);           
        currentSize --;
    }
}

该有的注释都在上面了,楼主不明白的是在if里面的递归语句。为什么用递归不需要写具体的操作,比如先删除这个项,再把后指针前指针改变之类的。谢谢各位指点
luofeidream 发表于 2016-1-14 09:27:55 | 显示全部楼层
哪里有递归?你点进去看remove的源码不就知道了吗
回复 支持 反对

使用道具 举报

 楼主| 南方Giraffe 发表于 2016-1-14 09:44:34 | 显示全部楼层
luofeidream 发表于 2016-1-14 09:27
哪里有递归?你点进去看remove的源码不就知道了吗

原来是我眼花了 把if里面的remove当成是我写的那个remove了 谢谢解答
回复 支持 反对

使用道具 举报

 楼主| 南方Giraffe 发表于 2016-1-14 09:45:08 | 显示全部楼层
没有递归,眼花看错,此题终结
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-10-19 15:16

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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