社区
C语言
帖子详情
一个关于索引的问题 火线求救!!!!!
aohan_zhang1
2008-02-25 07:52:52
有一个电话号码前缀和地区的表大致如下:
手机号码前缀 手机前缀长度 电话号码前缀 电话前缀长度 地区
1373902 7 743 3 湖南吉首
1591405 7 755 3 广东深圳
...........
包含全国的地域,大概有6万多行。
要求:来电(手机或电话)显示的时候,要求能根据号码前缀要显示号码所在地区的名称。
请问各位大侠: 用C怎样建立数据结构可以达到既时间和空间都节省的效果??
...全文
189
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},
};
这样做的话耗的内存很大,且查找复杂度比较大。
华夏盛数传电台安装与参数配置指南
WDS1710/2710/4710/9710 系列 WDS1710IP/2710IP/4710IP/9710IP 系列内容概要:本文档为华夏盛WDS1710/2710/4710/9710系列数传电台的安装与使用手册,涵盖150/230/400/900MHz频段设备的快速安装步骤、接口连接方法、电源要求、参数设置、运行状态指示、故障诊断及技术规格等内容。重点介绍了电台的点对多点、点对点及中转组网方式,详细说明了天线与馈线的选择、数据接口(DB-25或RJ45)的接线规范、休眠模式节能设置以及通过诊断接口进行频率、波特率、发射功率等参数配置的操作流程。同时提供了LED指示灯状态解读、RSSI信号强度测量、事件报警代码分析等运维支持信息,并附有IP系列电台的以太网数据透传和串口服务器配置示例。 适合人群:从事工业无线通信系统集成、自动化工程实施的技术人员,具备基本电子电气知识和通信原理基础的现场安装与维护工程师。; 使用场景及目标: ①用于电力、水利、油气、交通等领域构建远程数据采集与监控(SCADA)无线网络; ②指导用户完成数传电台的物理安装、电气连接、参数配置与系统联调,确保稳定可靠的无线通信链路建立; ③支持太阳能供电等低功耗应用场景下的设备部署与能耗优化。
科技服务机构如何提升服务价值,为客户提供更具洞察力的市场分析和竞争情报?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
基于滑模SMC-PID的二自由度机械臂轨迹跟踪控制仿真(Simulink仿真、Matlab代码)
基于滑模SMC-PID的二自由度机械臂轨迹跟踪控制仿真(Simulink仿真、Matlab代码)内容概要:本文详细介绍了基于滑模SMC-PID的二自由度机械臂轨迹跟踪控制仿真研究,结合Simulink仿真与Matlab代码实现,旨在复现相关期刊论文的核心内容。文中重点探讨了滑模控制(SMC)与PID控制相结合的复合控制策略在机械臂轨迹跟踪中的应用,通过设计合理的滑模面与控制律,提升系统对参数不确定性及外部干扰的鲁棒性,同时利用PID调节增强控制精度与动态响应性能。仿真模型构建完整,涵盖机械臂动力学建模、控制器设计、轨迹规划与跟踪效果可视化等环节,验证了所提控制方法的有效性与优越性。; 适合人群:具备自动控制理论基础、熟悉Matlab/Simulink环境,从事机器人控制、机电一体化或相关方向研究的研究生及科研人员。; 使用场景及目标:①学习并掌握滑模控制与PID融合的控制策略设计方法;②复现经典控制算法在机械臂轨迹跟踪中的仿真过程;③为科研项目或课程设计提供可参考的代码与实现框架; 阅读建议:建议读者结合文档目录顺序逐步学习,重点关注控制器设计原理与Simulink模块搭建细节,动手运行并调试配套代码,深入理解各参数对系统性能的影响,进而实现自主改进与优化。
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章