算法
文章平均质量分 89
挣扎的菜鸟
这个作者很懒,什么都没留下…
展开
-
9种排序算法总结
排序算法可以说是计算机专业学生要学习的最基础的算法,但其实也是最重要的,现在大部分互联网公司笔试面试也都会涉及到排序算法的知识。除了了解思想之外,还应该动手写一写,分析一些具体思路、时间复杂度、空间复杂度和稳定性等。我们面试讨论小分队也简单讨论了一下排序算法,为了加深记忆,我自己也动手写了一些代码(Linux平台写的,自己测试是通过了),并做一些分析(由于水平较水,代码可能有误!)。转载 2014-06-12 21:31:39 · 524 阅读 · 0 评论 -
10种排序算法总结
排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。 我不喜欢死记硬背,我更偏向于弄清来龙去脉,理解性地记忆。比如下面这张图,我们将围绕这张图来思考几个问题。 上面的这张图来自一个PPT。它概括了数据结构中的所有常见转载 2014-06-11 23:14:45 · 544 阅读 · 0 评论 -
外部排序
在网上找了不少的资料,不够全面也不够清楚,这里组合和修改一下两份资料,将外部排序中过程详细的介绍下参考网址(http://www.cnblogs.com/songQQ/archive/2011/02/22/1961071.html and http://chenkegarfield.blog.163.com/blog/static/62330008200910249526638/)转载 2014-06-11 23:28:16 · 517 阅读 · 0 评论 -
递归算法的时间复杂度分析
在算法分析中,当一个算法中包含递归调用时,其时间复杂度的分析会转化为一个递归方程求解。实际上,这个问题是数学上求解渐近阶的问题,而递归方程的形式多种多样,其求解方法也是不一而足,比较常用的有以下四种方法:原创 2014-06-16 17:32:09 · 2123 阅读 · 0 评论 -
Top K算法详细解析—百度面试
问题描述:这是在网上找到的一道百度的面试题:搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。假设目前有一千万个记录,这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。请你统计最热门的10个查询串,要求使用的内存不能超过1G。问题解析:转载 2014-06-16 22:10:25 · 608 阅读 · 0 评论 -
海量数据库的查询优化及分页算法方案
随着“金盾工程”建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种、各部门。与此同时,应用系统体系的核心、系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据甚至超过了1000万条,可谓海量。那么,如何实现快速地从这些超大容量的数据库中提取数据(查询)、分析、统计以及提取数据后进行数据分页已成为各地系统管理员和数据库管理员亟待解决的难题。转载 2014-06-16 23:20:39 · 469 阅读 · 0 评论 -
TopK算法及实现
1. 问题描述 在大规模数据处理中,常遇到的一类问题是,在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常称为“top K”问题,如:在搜索引擎中,统计搜索最热门的10个查询词;在歌曲库中统计下载率最高的前10首歌等等。2. 当前解决方案 针对top k类问题,通常比较好的方案是【分治+trie树/hash+小顶堆】,即先将数据集按照h转载 2014-06-22 16:03:25 · 4559 阅读 · 0 评论