后缀数组的倍增算法 O(nlogn) / O(nlog2n) 算法介绍 ? 先根据字符串中字符的出现情况,给每一种字符一个对应的排名(从1开始),作为第一次排序的结果 ? 其后每一次,每个位置以当前排名作为主关键词,从1开始倍增步数,将对应的位置排名作为第二关键词 ? 于是根据主关键词与副关键词继续 ...
分类:
编程语言 时间:
2020-06-30 12:33:39
阅读次数:
56
策略模式 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 介绍 意图:定义一系 ...
分类:
其他好文 时间:
2020-06-28 18:45:49
阅读次数:
49
1.介绍 八皇后问题,是一个古老而著名的问题,是回溯算法的经典案例,该问题是国际西洋棋棋手马克斯.贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即 任意两个皇后都不能处于同一行、同一列、同一斜线。问有多少种摆法(92)。 2.思路分析 第一个皇后先放第一行第一列 第二 ...
分类:
编程语言 时间:
2020-06-25 15:48:18
阅读次数:
69
卡尔曼滤波算法介绍 一、 滤波简介 滤波:通过一定的算法将信号中特定波段频率滤除,排除可能的随机干扰,提高检测精度的一种手段。 功能:平滑、预测,微分、积分、信号分离和噪声抑制等功能。 信号种类: a) 数字滤波:使用软件编程/可编程逻辑器件设计 b) 模拟滤波:采用电容,电阻和电感的组合来完成。 ...
分类:
其他好文 时间:
2020-06-15 21:09:48
阅读次数:
73
hashlib模块 算法介绍: Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 摘要算法就是通过摘要函数f()对任意长度的数据da ...
分类:
编程语言 时间:
2020-06-07 21:51:01
阅读次数:
86
最短路算法(一) 最短路算法有三种形态:Floyd算法,Shortset Path Fast Algorithm(SPFA)算法,Dijkstra算法。 我个人打算分三次把这三个算法介绍完。 (毕竟写太长了又没有人看QAQ……)但是这篇博客好像又双叒叕写的有点长,真的请各位耐心看完QAQ 今天先来介 ...
分类:
编程语言 时间:
2020-06-05 22:39:09
阅读次数:
82
一、算法介绍 迪杰斯特拉(Dijkstra)算法用于计算一个节点到其他所有节点的最短路径。 1、单源 2、贪心算法 3、适用无负权边的情况 二、算法思想 准备2个集合 S 和 U S保存已经计算好的源节点到此节点最短距离 U保存未计算好最短记录的点 每次从U中取出最小的值,放入S中,其他节点根据此节 ...
分类:
编程语言 时间:
2020-05-31 18:19:02
阅读次数:
112
前言 做过电商项目前端售卖的应该都遇见过不同规格产品库存的计算问题,业界名词叫做sku(stock Keeping Unit),库存量单元对应我们售卖的具体规格,比如一部手机具体型号规格,其中iphone6s 4G 红色就是一个sku。这里我们区别spu(Standard Product Unit) ...
分类:
编程语言 时间:
2020-05-30 15:26:18
阅读次数:
108
1.1 协同过滤算法介绍 1.什么是协同过滤算法 1. 协同过滤推荐算法是诞生最早,并且较为著名的推荐算法,主要的功能是预测和推荐。 2. 算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。 3. 协同过滤推荐算法分为两类,分别是基于用户的协同过滤 ...
分类:
编程语言 时间:
2020-05-07 15:28:42
阅读次数:
96
贪心算法 1. 算法介绍 贪心算法是指在可对问题进行求解时,在每一步中采用最好或者最优的选择,从而导致结果最好的算法 贪心算法得到的结果不一定是最优的结果,但是都是相对近似最优解的结果 2. 实际问题 | 广播台 | 覆盖地区 | | | | | k1 | “北京”,“上海”,“天津” | | k2 ...
分类:
编程语言 时间:
2020-05-01 18:38:26
阅读次数:
62