十叉树之关于怎么在10万个手机号码中选择重复号码的问题。 - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
Jul 21

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

tommyhu , 22:36 , ASP.NET , Comments(1) , Trackbacks(0) , Reads(7168) , Via Original Large | Medium | Small
十叉树之关于怎么在10万个手机号码中选择重复号码的问题。
大家一般都认为用Hash的办法。不过其实还有更高效的算法。

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

八叉树比较复杂,不过对于我们的这个需求来说,其实比较简单。
我们这个算法是10叉树,每层都保存了0-9   10个数字。层数就是手机号码的长度。
手机号的第一位就是第一层,只需遍历到最后一层即可判断是否重复。
于是让我们来实现这个十叉树。效率都和回复中的Linq做比较。

▲返回顶部

互联网开发网友 Email Homepage
2012/11/07 17:50
伟人之所以伟大,是因为他与别人共处逆境时,别人失去了信心,他却下决心实现自己的目标。
Pages: 1/1 First page 1 Final page
Add a comment

Nickname

emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot