社区
C语言
帖子详情
一个关于索引的问题 火线求救!!!!!
aohan_zhang1
2008-02-25 07:52:52
有一个电话号码前缀和地区的表大致如下:
手机号码前缀 手机前缀长度 电话号码前缀 电话前缀长度 地区
1373902 7 743 3 湖南吉首
1591405 7 755 3 广东深圳
...........
包含全国的地域,大概有6万多行。
要求:来电(手机或电话)显示的时候,要求能根据号码前缀要显示号码所在地区的名称。
请问各位大侠: 用C怎样建立数据结构可以达到既时间和空间都节省的效果??
...全文
152
10
打赏
收藏
一个关于索引的问题 火线求救!!!!!
有一个电话号码前缀和地区的表大致如下: 手机号码前缀 手机前缀长度 电话号码前缀 电话前缀长度 地区 1373902 7 743 3 湖南吉首 1591405 7 755 3 广东深圳 ........... 包含全国的地域,大概有6万多行。 要求:来电(手机或电话)显示的时候,要求能根据号码前缀要显示号码所在地区的名称。 请问各位大侠: 用C怎样建立数据结构可以达到既时间和空间都节省的效果??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
erwin1984
2008-03-03
打赏
举报
回复
用类字典树和Hash算法实现,时间复杂度和空间复杂度均不大。
wjwwgh
2008-03-03
打赏
举报
回复
把手机号码前缀和电话号码前缀分开
不如建两个数据结构
typedef struct
{
long mobPre;//手机号码前缀
int moblong;//手机前缀长度
char cityArea[20];//地区
}MOBNUMBERTYPE;
typedef struct
{
long phoPre;// 电话号码前缀
int pholong;//电话前缀长度
char cityArea[20];//地区
}PHOMOBNUMBERTYPE;
zp1234567
2008-03-03
打赏
举报
回复
用variable code 压缩.
压缩后的数据不但可以节省空间,还可以节省时间.(一般情况下 DESK->MEMORY->CPU CACHE 节省的时间要比 decode 消耗的时间多)
另外的 我建议做多个表 象137,159这样的开头就没必要记录了,还有前缀的长度也没必要记录.这些都很节省空间的.
hustwf
2008-02-26
打赏
举报
回复
根据前缀构造一棵树,每读入一个数字,就往相应的树枝走,找到叶子就行了。算法复杂在树的构造上。
查找应该是最快的。空间上可能需要稍大一点点。
节点数据结构:
typedef struct node{
struct node* path[10];
char* address;
}NODE;
树的结构如图
root
1 2...
1 2...
1234567890 1234567890 ...........
... ...
Jim_King_2000
2008-02-26
打赏
举报
回复
把一个省的前缀集中在一起,构造一个二级哈希表。
szduweibing
2008-02-26
打赏
举报
回复
将号码前缀排序,存储在文件中,由于都是定长的,故二分查找很快
星羽
2008-02-25
打赏
举报
回复
你可以改这个表文件的结构吗?
比如表文件的数据是排序过的,然后再建立一个索引文件,等等
Mnky
2008-02-25
打赏
举报
回复
手机号码前缀,从尾数开始,一位一位筛选,筛到就剩一个就不用再晒了,类似查字典的方法,不要整个字串比较。
电话其实也可以这样,不用特意加上“华东”“华南”等带有意义的判断,直接判断某一位,类似hash表。
lockhall
2008-02-25
打赏
举报
回复
可以先再划分模糊
比如先找到华东地区,然后上海
这样索引效率高点
aohan_zhang1
2008-02-25
打赏
举报
回复
我的想化是:
建立数据结构:
typedef struct
{
long mobPre;//手机号码前缀
long phoPre;// 电话号码前缀
int moblong;//手机前缀长度
int pholong;//电话前缀长度
char cityArea[20];//地区
}NUMBERTYPE;
const NUMBERTYPE numberType[]
{
{1373902, 7 , 743, 3 , "湖南吉首"},
{1591405 , 7 , 755 , 3 , " 广东深圳 "},
.......
{0,0,0,0,NULL},
};
这样做的话耗的内存很大,且查找复杂度比较大。
JDK 8 0 apidoc 带完整
索引
和目录 高清完整CHM版
最新版 JDK 8.0 英文版帮助文档, 带完整的
索引
和目录,方便查询。 附上该文档的制作软件源代码: https://github.com/subchen/javadoc.chm/ 更新了首页链接错误。
android 获取相册列表的实现源码
该项目实现的功能如下: 获取手机相册,点击每个相册之后进入该相册的图片列表界面,在图片列表界面可以实现图片多选,然后进入所选择的图片界面,在该界面内可以实现所选图片的上传等功能。 该项目最大特色: 1、获取相册列表,目前网络上面介绍获取相册的项目很少,本文专门讲述相册的获取。 2、使用Android-Universal-Image-Loader集成框架-第三方jar包加载本地图片,熟悉这个jar的开发者肯定不陌生,该jar包十分强大,除了可以获取网络图片,本地图片也是可以的。同时,通过引用第三方jar可以有效解决OOM异常
问题
。 博文地址:http://blog.csdn.net/u010156024/article/details/44136543 欢迎访问!【握手】
索引
介绍(MySQL)
一、
索引
介绍
索引
是存储引擎用于快速查找记录的一种数据结构。
索引
优化是对查询性能优化最有效的手段。
索引
可以包含
一个
或多个列的值。如果
索引
包含多个列,那么列的顺序也十分重要,因为MySQL只能高效低使用
索引
的最左前缀列。 1.1
索引
的三大优点:
索引
可以让服务器快速定位到表的指定位置。 最常见的B-Tree
索引
,按照顺序存储数据,所以MySQL可以用来做ORDER BY 和 GR...
索引
滥用灾难现场!这5种情况建
索引
等于自杀
本文揭露盲目创建
索引
的致命后果,用血泪案例教你精准避开
索引
陷阱。
mysql多个单列
索引
和联合
索引
的区别详解
索引
分单列
索引
和组合
索引
: 单列
索引
,即
一个
索引
只包含单个列,
一个
表可以有多个单列
索引
,但这不是组合
索引
;(当
一个
表中查询大的情况下,where条件中有多个,如果使用多个单列
索引
,根据mysql优化器策略,造成可能只使用
一个
索引
,其他
索引
会失效,导致会全盘扫描表,具体看下面链接) 组合
索引
,即
一个
索包含多个列。(当
一个
表中查询大的情况下,where条件中有多个,那么可以使用组合查询...
C语言
70,037
社区成员
243,243
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章