随笔分类 - 算法
【算法】单源最短路——Dijkstra
摘要:对于固定起点的最短路算法,我们称之为单源最短路算法。单源最短路算法很多,最常见的就是dijkstra算法。 dijkstra主要用的是一种贪心的思想,就是说如果i...s...t...j是最短路,那么i和j之间的任意两点s,t之间也一定是最短路,非常好证,如果s,t之间不是最短路,那么必然存在最短路
阅读全文
海量数据处理之top K问题
摘要:题目: CVTE笔试题https://www.1024do.com/?p=3949 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重
阅读全文
vector、string实现大数加法乘法
摘要:理解 vector 是一个容器,是一个数据集,里边装了很多个元素。与数组最大的不同是 vector 可以动态增长。 用 vector 实现大数运算的关键是,以 string 的方式读入一个大数,然后将字串的每一个字符 s[i] 以 int 形式赋给 vector<int> a 中的每一个元素。然后将
阅读全文
归并排序
摘要:归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有
阅读全文