资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
肖龙肖龙答案整理如下:答案整理如下: /* 思路:创建两组桶,用于存放52个字母(假设字符串全部由字母组成),每个桶代表一个 字母,其中有一个值,出现一个字母则对应的值加一。最后两组桶比较每个桶的值便能得 知字符串是否相等。 */ #include #include /* 给代表对应字母的桶赋值 */ void loadStr(int bucket52, char str32) int tempStr = 0; for(int i = 0; i = x) j-; r*i = rj; while(*i =t.len) v=i-t.len; /*返回匹配模式串的首字符下标*/ else v=-1; /*返回丌匹配标志*/ return v; 操作:操作:代码来自严蔚敏书本代码来自严蔚敏书本 【1】快速排序代码 【2】KMP模式匹配代码 问题2:综合搜索了一些面试题目,觉得用堆算法比较好。我记得高分笔记堆排序那张介绍了下,比较适合这种场景。 答案整理如下:答案整理如下: 根据特定的场景,采用巧妙的算法搭配合适的数据结构,才能达到最佳的效果。基于这条 设计原则,为了寻求最高的效率,我们综合考虑影响查询的若干前置因素。比如海量数据是否 建立了索引,海量数据分布在 N 台电脑中,查询记录的重复性,IO 的开销等。 对于题设已知条件,可以认为隐含了该系统使用了缓存或负载均衡机制,那么查询出来的 数据如果是重复的,就会使用缓存中的记录,于是分 2 种情况讨论 : (1)重复的数据比较多,可能对于所有的 query,一次性就可以加入到内存了。比如虽然有 一千万个 Query, 但是由于重复度比较高, 因此事实上只有 100 万的 Query, 每个 Query 10Byte。 可以采用 hashMap 建立数据字典,统计每个 query 出现的次数,然后用最小堆排序取出前 10 个 最大的积分可以了。 (2)重复的数据比较少, 可以考虑将数据字典放在硬盘上面或者分布式计算, 采用 map-reduce 过程, 首先将数据按照范围划分到不同机器, 让数据划分后可以一次性读进内存, 实际就是 map。 这样得出结果之后,各个机器拿出最大的前 10 个积分汇总。然后,选出汇总的数据中最大的前 10 个积分,实际就是 reduce 过程。当然,外排序也会消耗大量的 IO。当然,分布式计算也是 一个外排序的归并过程,将不同的子文件逐渐处理,然后进行一个合并。 参考资料 http:/wenku.baidu.com/view/7c4d576427d3240c8447ef3f.html 面试题目-大数据量海量数据处理 (重要重要文字截图说明文字截图说明) http:/wenku.baidu.com/view/b2aaba3887c24028915fc337.html ORACLE SQL性能优化(全) http:/blog.sina.com.cn/s/blog_438308750100im0b.html 原创 mysql数据库千万级别数据的查询优化和分页测试 http:/wenku.baidu.com/view/b5421012866fb84ae45c8d38.html 1-十道海量数据处理面试题 (重要文字截图说明)(重要文字截图说明) http:/wenku.baidu.com/view/ff0cb36f25c52cc58bd6be72.html 教你如何迅速秒杀99%的海量数据处理面试题 http:/wenku.baidu.com/view/a828e80fe87101f69e319570.html 微软面试100题系列by_July (这些资源你可以好好看下,100个微软算法) (还有好多相关算法文档可以看看) http:/wenku.baidu.com/view/48dd09620b1c59eef8c7b4f7.html 当今世界最受人们重视的十大经典算法 其它丌重要的文章参考: http:/blog.csdn.net/frank3g/article/details/7094687 如何构建千万用户级别如何构建千万用户级别 后台数据库架构设计的思路后台数据库架构设计的思路 http:/www.newsmth.net/nForum/#!article/Database/117754?p=1 数据库太大有什么优化技术数据库太大有什么优化技术 http:/www.iteye.com/topic/1129761 主题:主题:oracle大数据量(千万界别)怎么优化查询,分区。大数据量(千万界别)怎么优化查询,分区。 http:/www.docin.com/p-304494606.html 海量数据库的查询优化和分页算法
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号