免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: _mystic
打印 上一主题 下一主题

[C] 看看这两个面试题 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2009-08-07 17:08 |显示全部楼层
第二题大家想多了吧?

你再建立一个数组 a[] = { 63, 41, 145,..};
fun[0] = func0;
fun[1] = func1;
.........
以上内容在函数外面初始化  否则谈不上效率。。。每次都执行。。。如果只执行一次 应该可以不算时间的。。。

for (i = 0; a[i] != N; i++);
fun[i];


不过 我不觉得函数指针会比直接用if else快  (除非你是把我说的那些初始化代码放到外面。。否则还不如直接if else)
因为函数指针要2次 * 才能找到函数入口地址。。。。


[ 本帖最后由 snyh 于 2009-8-7 17:10 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-08-07 17:15 |显示全部楼层
不过这个还是O(n) ...
hash 是O(1)
只是 几个数还好 。多了找一个合适的哈西函数 似乎比较难。。。。少了的话。。。我觉得这个n就跟1差不多了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP