7月21

十叉树之关于怎么在10万个手机号码中选择重复号码的问题。

| |
22:36 ASP.NET  From: 本站原创
十叉树之关于怎么在10万个手机号码中选择重复号码的问题。
大家一般都认为用Hash的办法。不过其实还有更高效的算法。

计算机图形学中,有个八叉树量化法,是用来从24颜色中查找重复颜色,并且进行计数归并的算法。它的算法思想是八叉树一共8层,每层都有8个节点,每一条路径从根到页正好对应8个位.
而颜色RGB  三个数字正好可以拼成一个由0-7数字组成的8位数字,于是正好可以用八叉树算法进行插入。
Highslide JS

八叉树比较复杂,不过对于我们的这个需求来说,其实比较简单。
我们这个算法是10叉树,每层都保存了0-9   10个数字。层数就是手机号码的长度。
手机号的第一位就是第一层,只需遍历到最后一层即可判断是否重复。
于是让我们来实现这个十叉树。效率都和回复中的Linq做比较。
阅读(1339) | 评论(0) | 引用(0)
在此留下酱油瓶-:)
表情
emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我

您的大名(例如:小明) : 

密码(可不填) :  游客无需密码

网址 (可不填) : 

电邮 (可不填) :  [注册]