E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
——算法学习笔记
数据结构&
算法学习笔记
: BP算法&KMP算法
1.暴力(普通)匹配算法(BP算法)/*BP(Bruth-Force)算法,简单的模式匹配算法最好的平均时间复杂度O(n+m)最坏的平均时间复杂度O(n*m)主串长度为n,子串长度为m*/intIndex_BF(stringS,stringT,intpos){//从S的pos位置开始,返回子串T在S中第一次出现的位置序号,未出现则返回-1inti=pos,j=0;//i,j分别指示S和T当前正待比
Cqh_i
·
2018-03-07 19:07
数据结构
KMP算法
HDU
算法学习笔记
数据结构&
算法学习笔记
: 快速幂&矩阵快速幂
1.快速幂时间复杂度:O(logN)intpow(inta,intn){//计算a^nintres=1;while(n>0){if(n&1)//n%2==1res=res*a;a=a*a;n=n>>1;}returnres;}2.矩阵快速幂这里的矩阵是相对于方阵而言的。时间复杂度:O(logN)//矩阵快速幂constintN=4;//矩阵最大大小voidmulti(intmatrix1[][N]
Cqh_i
·
2018-03-06 15:50
快速幂&矩阵快速幂
算法学习笔记
常用
算法学习笔记
写在前面上学时的数学课会介绍很多定理、公式,但是少有介绍在日常生活中运用的案例。任何一个设计模式、算法都应该是从生活中来,又可以回到生活中去。最近一直在做异常检测与故障诊断相关的事情,越来越觉得算法的重要性,这里记录一下,最近学习的一些常用算法与应用场景。尽量描述的短小、通俗。大O表示法的理解大O表示法指出了算法在最坏情况下的运行时间。几种常见的算法运行时间如下:O(logn),也叫对数时间,这样
Kungfu猫熊
·
2018-02-24 16:27
数据结构&
算法学习笔记
: 快速排序
注:该篇文章已与我的个人博客同步更新。欢迎移步https://cqh-i.github.io/体验更好的阅读效果。快速排序的思想快速排序通过将一个数组划分成两个子数组,然后通过递归调用自身为每一个子数组进行快速排序来实现.如何进行划分设定关键字(基准数),将比关键字小的放在一组,比关键字大的放在另一组.下面将以数组[6,1,2,7,9,3,4,5,10,8]为例,演示排序过程步骤先把数组中的一个数
Cqh_i
·
2018-02-22 00:00
排序
算法学习笔记
数据结构&
算法学习笔记
: 线段树
单点更新、区间求和以及求区间求最大值#definelsonrt>1;}}node[maxn>1;inta=node[fm)Query(rt#include#definelsonrt>1;}}node[maxn>node[rt].value;lindex[left]=rt;return;}intm=node[rt].mid();BuildTree(lson);BuildTree(rson);Push
Cqh_i
·
2018-02-16 21:35
线段树
算法学习笔记
数据结构&
算法学习笔记
: 归并排序
归并排序:思路:每一次尽量把元素分成尽量相等的两半[x,m),[m,y)。两半的元素分别排序(递归求解),再把两个有序表合并成一个。(x为排列元素起始的下标,y为排列元素终止的下标+1,m为x+(y-x)/2)递归出口:当且序列元素的长度为1时,递归结束。合并的过程:每次把两个序列的最小元素加以比较,把最小元素加入新表。只要一个序列非空就要继续合并(while(p=y),第一个序列肯定非空,复制A
Cqh_i
·
2018-02-12 11:47
HDU
排序
算法学习笔记
Java语言Consistent Hash
算法学习笔记
(代码示例)
本文研究的主要是ConsistentHashing算法代码。一致性哈希(ConsistentHash)协议简介一致性哈希算法在1997年由麻省理工学院提出(参见0),设计目标是为了解决因特网中的热点(Hotpot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。哈希算法一致性哈希提出了在动态变化的Cache环境中,哈希算
杨鑫newlfe
·
2018-02-03 09:06
数据结构&
算法学习笔记
二叉查找树
链表、堆栈和队列都是线性数据结构。树是非线性的、二维的数据结构。树的节点包含两个或更多的链接。二叉树是所有节点都包含两个链接的树。同一个节点的子节点称为兄弟节点。二叉排序树(BinarySortTree),又称二叉查找树(BinarySearchTree),亦称二叉搜索树。一颗二叉查找树(没有值相同的节点)有这样的特征:它的任何左子树上的值都小于其父节点的值,而它的任何右子树上的值都大于其父节点的
Cqh_i
·
2018-02-01 15:02
算法学习笔记
数据结构&
算法学习笔记
二叉查找树
链表、堆栈和队列都是线性数据结构。树是非线性的、二维的数据结构。树的节点包含两个或更多的链接。二叉树是所有节点都包含两个链接的树。同一个节点的子节点称为兄弟节点。二叉排序树(BinarySortTree),又称二叉查找树(BinarySearchTree),亦称二叉搜索树。一颗二叉查找树(没有值相同的节点)有这样的特征:它的任何左子树上的值都小于其父节点的值,而它的任何右子树上的值都大于其父节点的
Cqh_i
·
2018-02-01 15:02
算法学习笔记
分布式系统的Raft
算法学习笔记
摘取自:http://mp.weixin.qq.com/s?__biz=MzIyMTQ1NDE0MQ==&mid=2247483979&idx=1&sn=12864382e233fe9b900ab14349404032&chksm=e83dc819df4a410f5959b6922025d317d6c497b7110c4c5d8720fb2b0a70246ce651f9a19e91&mpshare
黑洞中的奇点
·
2018-01-17 21:00
[学习笔记]人工智能-感知器分类算法
感知器分类
算法学习笔记
来源https://www.imooc.com/video/143761.算法框架很喜欢这个图机器学习就是不断更新权重和阈值的过程2.感知器算法适用范围感知器算法适用于线性分割3.
法迪
·
2018-01-14 16:50
人工智能
人工智能
感知器分类算法
训练样本
更新权重和阈值
[论文解读]VGGNet:Very Deep Convolution Networks for Large-Scale Image Recognition
*/faiculty:机器学习、计算机视觉、语音识别
算法学习笔记
微信公众号、知乎专栏、,请搜索:faiculty1.前言VGG是牛津大学计算机视觉组(VisualGeometryGroup)和GoogleDeepMind
faiculty
·
2018-01-12 12:01
算法学习笔记
:爬山法与模拟退火
bzoj3680:吊打XXXDescriptiongty又虐了一场比赛,被虐的蒟蒻们决定吊打gty。gty见大势不好机智的分出了n个分身,但还是被人多势众的蒟蒻抓住了。蒟蒻们将n个gty吊在n根绳子上,每根绳子穿过天台的一个洞。这n根绳子有一个公共的绳结x。吊好gty后蒟蒻们发现由于每个gty重力不同,绳结x在移动。蒟蒻wangxz脑洞大开的决定计算出x最后停留处的坐标,由于他太弱了决定向你求助。
lvzelong2014
·
2018-01-10 09:57
搜索-模拟退火
算法学习笔记
4-动态规划-背包问题
动态规划(DynamicProgramming)其实动态规划特别抽象,特别难讲。这里也可以参考一篇博文,用讲故事的方式讲了出来。通过金矿模型介绍动态规划我的理解就是“用更多的问题来回答问题”。动态规划是一种求解最优化问题的方法,因为它没有一个确定的数学表达式,或者是明确的解题步骤,说起来会比较抽象,我们只能在实际题目中体会。首先说几个概念吧:这里先给个栗子:给定一个整数序列,求这个序列的最长上升子
立志要成为海贼王的男人
·
2017-09-11 18:05
算法
算法学习笔记
(roman&integer)
整数转罗马字packagewww.algorithm.integerandroman;importjava.util.Scanner;publicclassInttoRoman{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubScannersc=newScanner(System.in);System.out.pri
Emily__zy
·
2017-08-31 15:58
kruskal
算法学习笔记
(并查集做法)
kruskal算法是最小生成树的常见算法,与并查集结合使用会更加高效,这篇博文主要介绍并查集做法。kruskal算法主要思想如下:读入一个n点m边的图,对于每一条边,用一个结构体存储这条边连接的两个点及其边权。随后根据边权从小到大进行排序。一开始,我们先认为这n个点分属于不同的集合,即每个点自己是一个集合。(并查集初始化:自己的父亲是自己),接着,开始处理已经排好序的m条边。如果当前边的两个点分属
Captain_Paul
·
2017-08-27 21:33
图论
算法学习笔记
17-经典排序算法
总结基于比较的排序1.冒泡排序冒泡就是相邻两个元素比较,把较大的数放到后面,每一轮比较之后,最尾端的数一定是最大的。冒泡排序是稳定的。#python实现 defbubble(a): foriinrange(len(a)-1): forjinrange(len(a)-i-1): ifa[j]>a[j+1]: a[j],a[j+1]=a[j+1],a[j] #C/C++实现 voidbubble(in
立志要成为海贼王的男人
·
2017-08-25 00:00
算法
数据结构
算法学习笔记
9-贪心算法
题目描述某餐馆有n张桌子,每张桌子有一个参数:a可容纳的最大人数;有m批客人,每批客人有两个参数:b人数,c预计消费金额。在不允许拼桌的情况下,请实现一个算法选择其中一部分客人,使得总预计消费金额最大。输入描述输入包括m+2行。第一行两个整数n(1<=n<=50000),m(1<=m<=50000)第二行为n个参数a,即每个桌子可容纳的最大人数,以空格分隔,范围均在32位int范围内。接下来m行,
立志要成为海贼王的男人
·
2017-08-19 15:47
python
算法
算法学习笔记
7-非递归方法写一个全排列
非递归全排列不用递归,只能用循环,在循环里对数组进行排序,每次交换两个元素的位置,直到数组是降序有序排列的。但是需要先对数组进行升序排序,才能输出所有全排列。#coding=utf-8defmyreverse(a,i,j):whileTrue:ifi>=j:breaka[i],a[j]=a[j],a[i]i+=1j-=1defout(a,n):foriinrange(n-1):printa[i],
立志要成为海贼王的男人
·
2017-08-18 17:29
算法
全排列
python
python
算法
算法学习笔记
5-递归方法写一个全排列
全排列面试经常遇到的问题,当场没做出来,有点后悔。主要是递归调用defpermutation(a,m,n):ifm==n:foriinrange(n-1):printa[i],printa[n-1]else:foriinrange(m,n):t=a[m]a[m]=a[i]a[i]=tpermutation(a,m+1,n)t=a[m]a[m]=a[i]a[i]=ts=list(raw_input(
立志要成为海贼王的男人
·
2017-08-17 15:19
python
算法
KCF
算法学习笔记
背景博主正准备往tracking方向入坑,在师兄推荐下学习KCF算法,据说是目前最流行的onlinevisualtracking算法。论文:J.F.Henriques,R.Caseiro,P.Martins,J.Batista,‘High-speedtrackingwithkernelizedcorrelationfilters’从论文所展示的实验效果来看,确实在速度方面有很大的提升,172FPS
梦之泪殇
·
2017-08-15 19:02
算法
tracking
算法学习笔记
4-动态规划-背包问题
动态规划(DynamicProgramming)动态规划是一种求解最优化问题的方法,因为它没有一个确定的数学表达式,或者是明确的解题步骤,说起来会比较抽象,我们只能在实际题目中体会。首先说几个概念吧:这里先给个栗子:给定一个整数序列,求这个序列的最长上升子序列,子序列可以是不连续的。比如对于序列(1,7,2,8,3,4),它的子序列是(1,2,3,4)。1.阶段动态规划含有一种递推的思想,如果一个
立志要成为海贼王的男人
·
2017-08-15 16:46
python
算法
算法学习笔记
二叉树和图遍历—深搜 DFS 与广搜 BFS
图的深搜与广搜马上又要秋招了,赶紧复习下基础知识。这里复习下二叉树、图的深搜与广搜。从图的遍历说起,图的遍历方法有两种:深度优先遍历(DepthFirstSearch),广度优先遍历(BreadthFirstSearch),其经典应用走迷宫、N皇后、二叉树遍历等。遍历即按某种顺序访问“图”中所有的节点,顺序分为:深度优先(优先往深处走),用的数据结构是栈,主要是递归实现;广度优先(优先走最近的),
haohao_____
·
2017-07-31 09:05
深搜与广搜
DFS与BFS
java
算法学习笔记
--递归算法/分而治之思想
1递归算法思想本质在程序中不断反复的调用自身来达到求解问题。2递归算法分类直接递归:在方法中调用方法本身;间接调用:间接的调用一个方法。3例子--递归算法有阶乘就是1到N的所有自然数相乘的结果,n的阶乘为n!=n*(n-1)*(n-2).....*2*1;对于(n-1)则有如下表达式(n-1)!=(n-1)*(n-2)*...*2*1;可以推出N!=n*(n-1)!java代码表示longfact
Qing_zhi_hwl
·
2017-07-18 12:26
学习笔记
java
算法
java算法
算法学习笔记
(爬山法,模拟退火算法,遗传算法)
转载自http://blog.csdn.net/bcj296050240/article/details/50839806侵删在优化问题中,有两个关键点代价函数确定问题的形式和规模之后,根据不同的问题,选择要优化的目标。如本文涉及的两个问题中,一个优化目标是使得航班选择最优,共计12个航班,要使得总的票价最少且每个人的等待时间之和最小。第二个问题是学生选择宿舍的问题,每个学生可以实现填报志愿,如果
卡尔是正太
·
2017-07-15 14:10
排序
算法学习笔记
(sorting algorithms)
写在笔记前面的话:笔记中用到的一些方法是算法第四版提供的stdlib.jar里的,大家可以点这里去官网下载如果发生导入jar包后无法引用的情况,参考网页最下面的Q&A点击下载stdlib-package.jar再导入就行了排序算法模板(templateforsortingalgorithms)之前写排序算法时,比较,交换等步骤都写在一起,每个算法里面都要单独写一遍比较,交换,今天看了算法第四版,它
bw_yyziq
·
2017-06-28 21:56
算法-第四版
排序算法分析
回归
算法学习笔记
(一)用线性回归线找到最佳拟合直线
#coding=utf-8fromnumpyimport*defloadDataSet(fileName):numFeat=len(open(fileName).readline().split('\t'))-1dataMat=[];labelMat=[]fr=open(fileName)forlineinfr.readlines():lineArr=[]currentLine=line.stri
lxslx
·
2017-06-26 20:58
机器学习
弹性反向传播
弹性反向传播
算法学习笔记
Resilientbackppropagation正常使用的反向传播算法有两个缺点待解决,其一为学习过程中学习率的选择较难,一旦学习率选择不当会造成学习效果不好;其二为反向传播算法的梯度弥散作用
Zarthustra
·
2017-05-23 20:31
神经网络
算法学习笔记
--动态规划(1)
算法学习笔记
–动态规划学习目标学习动态规划,它将问题分成小问题,并先着手解决这些小问题。
老姜_zq
·
2017-05-06 23:17
算法
线性回归/局部加权线性回归/岭回归/前向逐步回归
算法学习笔记
-Python
大家早安、午安、晚安,一起来学习机器学习算法中回归部分的方法啦,每次都是满满的干货,大家看的时候多喝水哈,正文开始!回归分析(RegressionAnalysis)-定义与分类回归分析(RegressionAnalysis)是一种统计学上分析数据的方法,目的在于了解两个或多个变数间是否相关、相关方向与强度,并建立数学模型以便观察特定变数来预测研究者感兴趣的变数。更具体的来说,回归分析可以帮助人们了
keepStriving
·
2017-04-10 21:08
EM
算法学习笔记
与三硬币模型推导
最近接触了pLSA模型,由于该模型中引入了主题作为隐变量,所以需要使用期望最大化(ExpectationMaximization)算法求解。本文简述了以下内容:为什么需要EM算法EM算法的推导与流程EM算法的收敛性定理使用EM算法求解三硬币模型为什么需要EM算法数理统计的基本问题就是根据样本所提供的信息,对总体的分布或者分布的数字特征作出统计推断。所谓总体,就是一个具有确定分布的随机变量,来自总体
AnneQiQi
·
2017-03-21 12:04
Machine
Learning
人工智能之机器学习篇
(1)算法学习-递归法
算法学习笔记
:递归法:1.L型瓷砖问题:巧妙地将一块L型瓷砖放到中央位置顺利地将正方形切成四个比较小的,也缺了一角的正方形。然后递归的处理这四个小正方形即可。
三旬老汉
·
2017-03-18 19:19
算法学习
深入理解机器学习:从原理到算法 学习笔记-第1周 02简易入门
深入理解机器学习:从原理到
算法学习笔记
-第1周02简易入门深入理解机器学习从原理到
算法学习笔记
-第1周02简易入门1一般模型统计学习理论框架学习器的输入学习器的输出一个简单的数据生成模型衡量成功注意事项学习器可接触到的信息
CS逍遥剑仙
·
2017-03-18 01:19
机器学习
深入理解机器学习:从原理到算法 学习笔记-第1周 02简易入门
深入理解机器学习:从原理到
算法学习笔记
-第1周02简易入门深入理解机器学习从原理到
算法学习笔记
-第1周02简易入门1一般模型统计学习理论框架学习器的输入学习器的输出一个简单的数据生成模型衡量成功注意事项学习器可接触到的信息
CS逍遥剑仙
·
2017-03-18 01:19
机器学习
深入理解机器学习:从原理到算法 学习笔记-第1周 01引论
深入理解机器学习:从原理到
算法学习笔记
-第1周01引论深入理解机器学习从原理到
算法学习笔记
-第1周01引论1什么是学习2什么时候需要机器学习3学习的四种分类4与其他领域的关系我的主页www.csxiaoyao.com
CS逍遥剑仙
·
2017-03-18 01:39
机器学习
深入理解机器学习:从原理到算法 学习笔记-第1周 01引论
深入理解机器学习:从原理到
算法学习笔记
-第1周01引论深入理解机器学习从原理到
算法学习笔记
-第1周01引论1什么是学习2什么时候需要机器学习3学习的四种分类4与其他领域的关系我的主页www.csxiaoyao.com
CS逍遥剑仙
·
2017-03-18 01:39
机器学习
2017.2.21
算法学习笔记
E01课程简介以及算法分析算法导论包括算法分析(AlgorithmAnalysis)与算法设计(Design)两部分。性能(Performance)是算法研究中的重点内容;鲁棒性、稳定性、模块化(Module)都是以性能保障作为前提的。实例1插入排序(InsertingSort/permutation)#include"stdafx.h"#include"iostream"usingnamespa
MestuleFire
·
2017-02-23 00:11
算法导论
算法学习笔记
AdaBoost元
算法学习笔记
1,算法原理元算法是对不同算法进行组合的方式来提高算法的性能。AdaBoost是最流行的元算法的一种。使用元算法有多种形式,如不同算法的集成,同一算法在不同设置上的集成,数据集的不同部分分给不同算法后的集成AdaBoost的运行过程如下,数据集中的每个数据有一个权重,这些权重构成一个向量D,权重一开始初始为相同值,然后用数据集训练出一个弱分类器,然后计算错误概率。然后在同一数据集上再训练弱分类器,
qq_15037067
·
2017-02-14 19:33
机器学习
算法学习笔记
之寻找第1500个丑数
最近在阅读《算法新解》(刘新宇著),书写得很不错,推荐程序们阅读。前言中有个例子,是寻找第1500个丑数,所谓丑数是指仅含2、3、5这三个素因子的自然数。作者在书中给出了伪代码。作为练习,记录下自己的代码。一、暴力查找法算法思路:迭代每个自然数,逐一判断是否是丑数,并观察累计计数是否达到1500,如果是,则成功找到了第1500个丑数#include#include#includeusingname
a_step_further
·
2017-01-30 21:58
读书笔记
TCP BBR
算法学习笔记
(1)
(本篇文章主要是给自己以后看,协助记忆,不会过于在意菜鸟读者是否能够完全读懂)TCPBBR的ACM论文中,开篇就引入了图1,以此来说明BBR算法的切入点:为何当前基于丢包探测的TCP拥塞控制算法还有优化空间?BBR算法的优化极限在哪儿?图1为了理解这张图花了我整整一个晚上的时间,它使我重新审视了所有基础概念,而我以下的讨论对于TCP定义的RTT、带宽、Inflightdata都作了简化,从而使讨论
Chinainvent
·
2016-12-22 02:34
算法学习笔记
--希尔排序
希尔排序:这是一种基于插入排序的快速的排序算法。这种排序的主要思想就是:使数组中任意间隔为h的元素都是有序的,这样的数组称为h有序数组。如下图,就是一个h有序数组(h=4):实现希尔排序的方法就是对于每一个h,用插入排序的方式,将h个子数组独立排序,然后逐渐减小h的值,直到h=1。java代码如下:/***希尔排序*/publicclassShell{publicstaticvoidsort(in
一叶知秋_11
·
2016-12-08 00:27
算法
算法
算法学习笔记
——排序问题
学习笔记,仅做记录,如有错漏,望指出,谢谢。1.简单选择排序(选择类排序)使用方法:蛮力法平均时间复杂度为:O(n2),最坏时间复杂度为O(n2),最好时间复杂度为O(n),稳定(排序算法稳定性详见百度百科)空间复杂度为O(1)∑i=0n−2∑j=i+1n−1=∑i=0n−2(n−i−1)=n(n−1)2=O(n2)packagecom.viper.sort; publicclassSelect
Vipfgyy
·
2016-11-14 16:00
java
算法
FFT介绍
写在前面详细内容请参见《算法导论》3rdedition,或者参见博客FFT
算法学习笔记
这里只展示它的迭代形式的代码IterativeFFT#include#include#include#include
孤鸿子_
·
2016-10-30 23:54
算法理论
目标跟踪
算法学习笔记
之一:KCF
版权声明:本文为博主原创文章,转载请注明出处。简述KCF(High-speedtrackingwithkernelizedcorrelationfilters)算法已经算是一篇非常经典的文章了,而且也被各路大神分析得很详尽了。我打算写这篇分析有两个原因:1.相关滤波器CF(correlationfilter)值得学习,值得深入探讨,可以被实际工程所用。2.我想做个总结,主要想把相关滤波器有关的算法
Roy-bin
·
2016-09-15 22:08
Tracking
提升方法AdaBoost
算法学习笔记
提升方法AdaBoost
算法学习笔记
前言Forxgboost:为了好好学习xgboost,由于算法基础比较薄弱,曲线救国,从提升方法、提升树、GBDT一步步看起。
我曾经被山河大海跨过
·
2016-09-03 21:23
数据挖掘
机器学习
机器学习
李航
周志华
AdaBoost
基于用户的协同过滤推荐
算法学习笔记
说在前面本文是作者的一篇学习笔记,简单介绍了下基于用户的协同过滤推荐算法,后续应该还会有实践的内容。希望能有这方面的大神或同道能一起交流、学习。基本思想基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的喜欢(如商品购买,收藏,内容评论或分享),并对这些喜好进行度量和打分。根据不同用户对相同商品或内容的态度和偏好程度计算用户之间的关系。在有相同喜好的用户间进行商品推荐。简单的说就是
谦啸
·
2016-08-17 15:55
数据结构与
算法学习笔记
——动态规划的入门与编程实现
本文的内容部分引自:http://hawstein.com/posts/dp-novice-to-advanced.html前言我们遇到的问题中,有很大一部分可以用动态规划(简称DP)来解。解决这类问题可以很大地提升你的能力与技巧,我会试着帮助你理解如何使用DP来解题。这篇文章是基于实例展开来讲的,因为干巴巴的理论实在不好理解。简介动态规划算法通常基于一个递推公式及一个或多个初始状态。当前子问题的
不会做甜点的程序员不是好艺术家
·
2016-08-11 17:46
算法与数据结构
算法学习笔记
之递推算法
递推
算法学习笔记
递推算法思想:递推是一种理性思维模式的代表,根据已有的数据和关系,逐步推导而得到结果。适合有着明显公式规律的场合。
光明矢
·
2016-08-10 10:25
Data
manachar
算法学习笔记
manachar算法用来处理字符串的最长回文子串的算法,其核心就是预处理len数组.假设原串是s[0...n-1],len[i]表示以s[i]为回文中心的最长回文串的右下标到i的长度,然后递推瞎搞.因为算法本身比较简单网上烂大街,主要还是想了一下复杂度.容易发现Max指针最多扩展到n,而复杂度主要在于while循环,每次都会增加Max指针或者跳出while循环,所以复杂度最多就是O(n+chang
morejarphone
·
2016-05-10 18:51
manachar
manachar
算法学习笔记
manachar算法用来处理字符串的最长回文子串的算法,其核心就是预处理len数组.假设原串是s[0...n-1],len[i]表示以s[i]为回文中心的最长回文串的右下标到i的长度,然后递推瞎搞.因为算法本身比较简单网上烂大街,主要还是想了一下复杂度.容易发现Max指针最多扩展到n,而复杂度主要在于while循环,每次都会增加Max指针或者跳出while循环,所以复杂度最多就是O(n+chang
morejarphone
·
2016-05-10 18:00
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他