注册 登录
编程论坛 数据结构与算法

求大神指教下面这个问题

idiot无悔 发布于 2013-09-21 10:57, 642 次点击
小弟最近刚接触数据结构,碰到一道题,看不懂,请大神帮忙分析。
题目如下:
某地电信局要对业务号码进行梳理,需要检测开通的市话号码是否存在某一个是另一个前缀的情况,以简化电话交换机的逻辑。
例如:某用户为“11001100”,但与“110”报警电话产生前缀配对,
已知市话号码长度最长8位,最短3位。并且所有3位的电话号码都以1开头,由于市话号码众多,长度也未必已知,高效的算法可以用O(n)的时间复杂度完成检测(n为开通市话号码个数,数量千万级)。
那么,该算法最坏情况下需要消耗大约多少内存?
A:5GB     B:500MB    C:50MB    D:5MB


[ 本帖最后由 idiot无悔 于 2013-9-21 16:53 编辑 ]
3 回复
#2
idiot无悔2013-09-21 12:26
没有大神回复吗?
#3
yuccn2013-09-21 12:30
已知市话号码长度最后8位??
是想说最长吧?

内存最坏的情况,就是一次性把所有的号码都载入内存咯,最长长度为吧,最短为3 那就来个所有的组合咯。
估计就是
“长度为4 到 8 的长度的所有数字组合 + 长度为3并且1开头的所有数字组合”  了,



至于怎么算,自己算下吧,排列组合的问题
#4
idiot无悔2013-09-21 17:58
回复 3楼 yuccn
好的,明白了。谢谢。
1