归并排序采取了分治的思想,每次分别排左半边和右半边,不断递归调用自己,直到只有一个元素递归结束,开始回溯,调用merge函数,合并两个有序序列,再合并的时候每次给末尾追上一个最大int这样就不怕最后一位的数字不会被排序。 ——————————————————————————————————————— ...
分类:
编程语言 时间:
2019-08-06 00:30:43
阅读次数:
96
写在前面: 为了能够使后续的代码具有高效简洁的特点,在这里讲一下STL,就不用自己写堆,写队列,但是做为ACMer不用学的很全面,我认为够用就好,我只写我用的比较多的。 什么是STL(STl内容): 容器(Container): 是一种数据结构,如list,vector,和deques ,以模板类的 ...
分类:
编程语言 时间:
2019-08-05 17:23:51
阅读次数:
115
Gym 101350I - Mirrored String II ( Manacher马拉车算法 -- 最长回文子串 ) 题意 给一个字符串, 求最长回文镜像子串长度 思路 Manacher + 镜像判断 算法实现 : Manacher算法总结 AC代码 ( kuangbin板子 ) #includ ...
分类:
其他好文 时间:
2019-07-26 19:13:04
阅读次数:
139
冒泡排序:从无序区通过交换找出最大元素放到有序区前端。 选择排序:从未排序序列中找到最小(大)元素,存到已排序序列的起始位置。 插入排序: 1. 从第一个元素开始,该元素可以认为已经被排序 2. 取出下一个元素,在已经排序的元素序列中从后向前扫描 3. 如果该元素(已排序)大于新元素,将该元素移到下 ...
分类:
编程语言 时间:
2019-07-22 22:45:25
阅读次数:
156
(注:这里不再对算法公式累述)1.相似度算法1.1Jaccard距离使用集合中的不同元素的比例来衡量两个集合的区分度,但是存在比较明显的问题无法关注到集合中元素的权重值(评分)1.2余弦相似度利用向量空间解决了权重值(评分)带入相似度计算的问题,非常常用的相似度算法,弥补了Jaccard距离计算的不足1.3Pearson相似度(又名中心余弦相似度)Pearson相似度是对余弦相似度改进,简明来说就
分类:
编程语言 时间:
2019-07-20 14:30:47
阅读次数:
126
1.判断一个数字是否是回文 2.统计一个字符串出现最多的字母 ...
分类:
编程语言 时间:
2019-07-19 21:18:33
阅读次数:
136
在协同过滤推荐算法总结中,我们讲到了用矩阵分解做协同过滤是广泛使用的方法,这里就对矩阵分解在协同过滤推荐算法中的应用做一个总结。(过年前最后一篇!祝大家新年快乐!明年的目标是写120篇机器学习,深度学习和NLP相关的文章)# 一、1.矩阵分解用于推荐算法要解决的问题 在推荐系统中,我们常常遇到的问题... ...
分类:
编程语言 时间:
2019-07-19 19:10:03
阅读次数:
138
推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究。推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。# 一、推荐算法概述 推荐算法是非常古老的,在机器学习还没有兴起的时候... ...
分类:
编程语言 时间:
2019-07-19 18:50:10
阅读次数:
123
faster-rcnn的整体流程比较复杂,尤其是数据的预处理部分,流程比较繁琐。我写faster-rcnn系列文章的目的是对该算法的原始版本有个整体的把握,如果需要使用该算法做一些具体的任务,推荐使用mmdetection框架,该框架使用PyTorch写成,相比于原始的基于caffe python接 ...
分类:
编程语言 时间:
2019-07-18 21:11:12
阅读次数:
182
排序算法 大部分算法都是从 无序区 扩展到 有序区 一、算法概述 1. 冒泡排序 O(N2),空间O(1) 每一轮从无序区冒泡出一个最大的数到有序区 2. 选择排序O(N2),空间O(1) 每一轮从无序区选择一个最大的数到有序区 3. 堆排序O(NlogN),空间O(1) 其实就是 选择排序的改进 ...
分类:
编程语言 时间:
2019-07-14 12:56:49
阅读次数:
124