社区
C语言
帖子详情
一个关于索引的问题 火线求救!!!!!
aohan_zhang1
2008-02-25 07:52:52
有一个电话号码前缀和地区的表大致如下:
手机号码前缀 手机前缀长度 电话号码前缀 电话前缀长度 地区
1373902 7 743 3 湖南吉首
1591405 7 755 3 广东深圳
...........
包含全国的地域,大概有6万多行。
要求:来电(手机或电话)显示的时候,要求能根据号码前缀要显示号码所在地区的名称。
请问各位大侠: 用C怎样建立数据结构可以达到既时间和空间都节省的效果??
...全文
175
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},
};
这样做的话耗的内存很大,且查找复杂度比较大。
YOLO算法城市公园与居民区猕猴目标检测数据集-7038张-标注类别为其他-猕猴
YOLO算法城市公园与居民区猕猴目标检测数据集-7038张-标注类别为其他-猕猴
政府科技管理者在推动产业集群数字化转型中,如何有效整合区域内的政策资源?.docx
政府科技管理者在推动产业集群数字化转型中,如何有效整合区域内的政策资源?
地级市-经济增长目标值(2000-2022年)
中国各地级市的经济增长目标值覆盖2000年至2022年,依照张云矿等人在2022年提出的方法,运用Python编写的正则表达式对政府工作报告进行了文本提取和处理。该数据集不仅提供了各地级市设定的具体经济增长目标值,还反映了这些目标如何随时间、政策和经济环境的变化而调整。对研究人员而言,有助于深入分析中国地方经济增长的动态变化,以及政策目标与实际经济表现之间的关系 一、数据介绍 数据名称:地级市-经济增长目标值 数据年份:2000-2022年 样本数量:333个城市*23年 数据格式:面板数据 二、指标说明 主要包括:省份、城市、年份、经济增长目标约束值 三、数据文件 地级市-经济增长目标值(2000-2022年).xlsx
【高速互连技术】PCIe 5.0/6.0内外部铜缆规范详解:支持32/64 GT/s速率的数据中心高性能连接方案设计
内容概要:本文档详细介绍了PCIe 5.0/6.0内部与外部铜缆(CopprLink)的规范,旨在支持32 GT/s和64 GT/s高速数据传输,解决高带宽应用中因PCB损耗导致的通道距离受限和平台灵活性不足
问题
。文档涵盖了电缆的电气性能指标,包括插入损耗、回波损耗、串扰(PSNEXT/PSFEXT)、有效内对偏移(EIPS)和线对间偏移等关键参数,并定义了适用于SFF-TA-1016(内部)和SFF-TA-1032(外部)连接器形态的物理层规格。同时,文档还规定了侧带信号的功能与引脚分配,如管理总线(2WCL/2WDA、SCL/SDA)、复位(PERST#)、存在检测(PRPE)以及灵活使用的FLEXIO引脚等,以增强系统可管理性和互操作性。此外,提出了针对反射和串扰影响的评估方法及测试夹具设计指南,确保在高频下实现可靠的信号完整性。 适合人群:从事高速互连设计、服务器平台开发或数据中心硬件架构的工程师,特别是涉及PCIe系统集成、信号完整性分析和电缆组件选型的研发人员。 使用场景及目标:①为数据中心、服务器、存储、网络设备和加速器提供长距离、高带宽的PCIe互连解决方案;②指导内部背板到主板、外部机架内或机架间设备互联的电缆设计与合规性测试;③优化系统拓扑以提升模块化和可维护性,同时满足严格的电气性能要求。 阅读建议:本规范技术性强,建议结合实际应用场景深入理解各项电气参数限值及其测量方法,重点关注不同速率下的PAM4与NRZ信号兼容性、侧带功能配置及测试验证流程,以便在产品设计中正确实施并确保互操作性。
【高速互连技术】PCIe CEM 6.0/7.0电气与机械规范:支持64 GT/s信号速率的插卡式接口完整性优化设计
内容概要:本文档介绍了工作组获取权威解读。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章