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
算法整理
Manacher算法,最长回文串,时间复杂度O(n)
本文地址:http://blog.csdn.net/qq_26437925/article/details/52181738本文参考了牛客网左程云牛客网视频,对Manacher
算法整理
成文最长回文子串问题对于一个字符串
master-dragon
·
2016-08-11 13:17
ACM--字符串处理
Ketama一致性哈希
算法整理
为方便自己后期自己查看,把网上Hash映射做了整理:那节点是怎样放入这个环中的呢?//对所有节点,生成nCopies个虚拟结点for(Nodenode:nodes){//每四个虚拟结点为一组,为什么这样?下面会说到for(inti=0;itailMap=ketamaNodes.tailMap(key);if(tailMap.isEmpty()){key=ketamaNodes.firstKey()
sdausxc
·
2016-07-28 22:58
海量数据处理方法
算法整理
——常用排序算法
CSDN的名言——编程之久,除算法和数据结构,啥都不属于我们。做完一些项目发现,编程最重要的还是算法还有数据结构,无关语言、框架。所以有感需要重拾一下一些算法。作为入口,希望排序带我不断地探索出去。——————————————以下实现均实现为升序排序————————————————冒泡排序算法思想很简单,通过两两比较,不断把较大的那个挤向边沿,形成有序序列。是稳定的排序,即排序后相同数值的元素间的
Jeffery_Gong
·
2016-07-24 12:39
排序算法
C++
算法整理
JS及PHP代码编写八大排序算法
从学习数据结构开始就接触各种算法基础,但是自从应付完考试之后就再也没有练习过,当在开发的时候也是什么时候使用什么时候去查一下,现在在学习JavaScript,趁这个时间再把各种基础
算法整理
一遍,分别以JS
simpleton
·
2016-07-12 08:36
操作系统的作业调度和进程调度算法
本文是我在众多博客中找到的比较全的调度
算法整理
,合并过来大家凑合看看作业调度:所谓作业调度是指按照某种原则,从后备作业队列中选取作业进入内存,并为作业做好运行前的准备工作以及作业完成后的善后处理工作。
asd7486
·
2016-07-04 12:00
操作系统
作业调度
进程调度
常见排序
算法整理
经常忘记简单的排序算法,有时间整理下来,便于随时翻阅,也为了随用随取插入排序算法:取第一个数作为有序队列,从后面的无序队列中依次取值,在有序队列中从后向前比较大小,插入到有序队列中。voidInsertSort(intunsort[],intn){for(inti=1;iunsort[i]){inttemp=unsort[i];intj=i;while(j>0&&unsort[j-1]>temp)
Duke_vasco
·
2016-07-01 17:06
算法分析
字符串相关的
算法整理
本文根据个人学习过程,积累一些常用知识。供后续参考学习。字符串的相关的算法,一直是面试和项目中经常用到的。因此,在这里整理记录。字符串可以看成是字符类型的数组,因此可以将其和数组排序、数组查找和顺序调整有关的算法相结合。另外,字符串的比较和子字符串的操作,可以用来解决其他问题,比如一棵树是否和另一棵树的子树相匹配。字符串操作包含很多基本知识点,如:回文的概念、字符匹配的问题、字典序问题、子序列问题
victor_lwx
·
2016-05-26 16:20
数据结构
算法
常用
算法整理
:二叉树
DFS-二叉树的先序,中序和后续遍历先序遍历https://leetcode.com/problems/binary-tree-preorder-traversal/递归解法:varpreorderTraversal=function(root){if(!root)return[];return[root.val].concat(preorderTraversal(root.left)).conc
lihongxun945
·
2016-05-03 20:44
常用算法整理
常用
算法整理
:二叉树
DFS-二叉树的先序,中序和后续遍历先序遍历https://leetcode.com/problems/binary-tree-preorder-traversal/递归解法:varpreorderTraversal=function(root){ if(!root)return[]; return[root.val].concat(preorderTraversal(root.left)).co
lihongxun945
·
2016-05-03 20:00
算法
遍历
二叉树
DFS
常见排序
算法整理
-
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间
PirLCK
·
2016-04-26 22:00
算法
常用
算法整理
:链表相关
链表的考点链表很多时候都是考察基本功,因为链表题大部分都不是很复杂,主要是对指针的操作,当然也有难的。简单的题目包括删除/插入节点、翻转、去重、排序等,难度高一些的题目依然是这些,不过会有一些条件,比如多个链表或者局部操作。对链表题的两个技巧:-如果不确定最终结果的head,比如对两个链表进行排序,那么新建一个dummynode。-可以通过快慢指针的方式取中间节点入门题:第一题https://le
lihongxun945
·
2016-04-24 15:00
算法
链表
算法整理
——非递归归并排序
递归是个好东西,可以将一个大问题分拆成多个小问题。只要处理好每一个小问题、以及小问题合并成大问题的操作,基本就算是完成了,而程序需要写解决小问题的代码即可。但递归有时候也会有缺陷,如果递归层数控制不好、或者递归过程中生成了大量变量,容易造成栈溢出。尤其在工程中,栈溢出的问题是需要极力避免的。 常用的归并排序是使用递归的方式,将排序序列一层一层拆分成一半,完成一层的排序后再回调给
Jeffery_Gong
·
2016-04-21 13:00
递归
归并排序
C语言
常用
算法整理
:动态规划中篇
上一章讲了动态对话的一些Easy和Medium难度的题,如果会做这些题目,远远谈不上掌握了动态规划,最多只能算“略懂皮毛”。这里我们挑几个更复杂的动规题目,全部是Hard难度的题,并且全部都是双序列问题,能把这些题目做到bugfree才算是基本掌握了动态规划。第一题题目地址:https://leetcode.com/problems/edit-distance/大意就是对一个单词进行最少的操作变成
lihongxun945
·
2016-04-20 18:26
常用算法整理
常用
算法整理
:动态规划中篇
上一章讲了动态对话的一些Easy和Medium难度的题,如果会做这些题目,远远谈不上掌握了动态规划,最多只能算“略懂皮毛”。这里我们挑几个更复杂的动规题目,全部是Hard难度的题,并且全部都是双序列问题,能把这些题目做到bugfree才算是基本掌握了动态规划。第一题题目地址:https://leetcode.com/problems/edit-distance/大意就是对一个单词进行最少的操作变成
lihongxun945
·
2016-04-20 18:00
算法
动态规划
常用
算法整理
:动态规划上
什么是动态规划动态规划是应该不能叫一种算法,而应该叫一类算法或者说是一种思想。它和二分查找这种算法是不同的,二分查找我们可以用代码表示出来,并且解决所有问题的思路几乎都是一样的。而动态规划其实无法用代码表示出来,每一种问题的解决方法可能用代码写出来都不一样,所以只看动态规划的定义是很难理解的,需要拿多个题目联系才能真正理解。动态规划的特点就是把一个大的问题分解为若干个小问题,并且这些小问题之间,每
lihongxun945
·
2016-04-17 17:52
常用算法整理
常用
算法整理
:动态规划上
什么是动态规划动态规划是应该不能叫一种算法,而应该叫一类算法或者说是一种思想。它和二分查找这种算法是不同的,二分查找我们可以用代码表示出来,并且解决所有问题的思路几乎都是一样的。而动态规划其实无法用代码表示出来,每一种问题的解决方法可能用代码写出来都不一样,所以只看动态规划的定义是很难理解的,需要拿多个题目联系才能真正理解。动态规划的特点就是把一个大的问题分解为若干个小问题,并且这些小问题之间,每
lihongxun945
·
2016-04-17 17:00
算法
动态规划
算法整理
——KMP算法
KMP算法用于字符串匹配的问题,可以达到最好时间复杂度O(n+m)。其中n,m分别是文本串和模板串的长度。传统的处理字符串匹配的方法是:遍历文本串的每一个字母,通过以这一个字母为开头的子字符串与模板串比较,当发现某一位不匹配时,跳出到执行下一个字母的检测。假设最坏情况,每一次都是模板的最后一个字母出错(比如文本串aaaaaaaaaaaab,模板串aaaab),需要的时间复杂度为O(n*m)。KMP
Jeffery_Gong
·
2016-04-13 14:00
算法
C语言
KMP
ACM
算法整理
(不断补充ing)
动态规划1.背包问题(1)01背包voidZeroOnepack(intF[],intC[],intW[]){FOR(i,1,n)DFR(v,V,C[i])F[v]=max(F[v],F[v-C[i]]+W[i]);}//初始化时//若背包不一定装满F全初始化为0//若装满F[0]=0其它为-inf(2)完全背包voidCompletePack(intF[],intC[],intW[]){FOR(
Griffin_0
·
2016-04-12 17:12
算法思想与实现
ACM
算法整理
(不断补充ing)
动态规划1.背包问题 (1)01背包 voidZeroOnepack(intF[],intC[],intW[]) {FOR(i,1,n) DFR(v,V,C[i]) F[v]=max(F[v],F[v-C[i]]+W[i]); } //初始化时 //若背包不一定装满F全初始化为0 //若装满F[0]=0其它
Griffin_0
·
2016-04-12 17:00
算法
ACM
常用
算法整理
:二分查找
基础二分查找二分查找是大家最常用的也是最简单的一种算法。二分查找在面试中是非常常见的一题,而且很多时候二分查找是时间效率最高的一种搜索方式。最简单的二分查找就是查找有序不重复数组中给定值的位置,基本模板如下:varsearch=function(nums,target){vars=0,e=nums.length-1,m;while(s+1=target){e=m;}else{s=m;}}if(nu
lihongxun945
·
2016-04-09 16:50
常用算法整理
常用
算法整理
:二分查找
基础二分查找二分查找是大家最常用的也是最简单的一种算法。二分查找在面试中是非常常见的一题,而且很多时候二分查找是时间效率最高的一种搜索方式。最简单的二分查找就是查找有序不重复数组中给定值的位置,基本模板如下:varsearch=function(nums,target){ vars=0,e=nums.length-1,m; while(s+1=target){ e=m; }else{ s=m;
lihongxun945
·
2016-04-09 16:00
算法
二分查找
搜索
经典
算法整理
之字符串匹配
一、题目描述长为n的字符串中匹配长度为m的子串二、算法分析1、简单匹配:将主串S中某个位置i起始的子串和模式串T相比较。即从 j=0 起比较 S[i+j] 与 T[j],若相等,则在主串 S 中存在以 i 为起始位置匹配成功的可能性,继续往后比较(j逐步增1),直至与T串中最后一个字符相等为止,否则改从S串的下一个字符起重新开始进行下一轮的"匹配",即将串T向后滑动一位,即 i 增1,而 j 退回
anualday
·
2016-03-22 14:00
经典
算法整理
之快速排序
一、基本思想分治法:从后向前找,再从前向后找二、代码实现voidfastSort(inta[],intleft,intright) { if(leftkey) { high--; } if(low
anualday
·
2016-03-21 14:00
经典
算法整理
之归并排序
一、基本思想有序数组的归并,递归下去,归并上来二、代码voidmergearray(inta[],intfirst,intmid,intlast,inttemp[]) { inti=first,j=mid+1; intm=mid,n=last; intk=0; while(i<=m&&j<=n) { if(a[i]<=a[j]) temp[k++]=a[i++]; else temp[k++]=
anualday
·
2016-03-21 13:00
经典
算法整理
之选择排序
一、基本思想在无序区选择一个最小的数放到有序区的最后二、代码实现voidselectSort(inta[],intn) { for(inti=0;i
anualday
·
2016-03-21 13:00
经典
算法整理
之希尔排序
一、基本思想分组插入排序二、代码实现#include"stdafx.h" #include #include usingnamespacestd; voidswap(int*a,int*b) { inttemp=*a; *a=*b; *b=temp; } voidshellSort(inta[],intn) { for(intgap=n/2;gap>0;gap/=2) for(inti=ga
anualday
·
2016-03-21 13:00
经典
算法整理
之冒泡
一、冒泡排序1、基本思想:临近的两个数两两比较2、实现代码:#include"stdafx.h" #include #include usingnamespacestd; voidswap(int*a,int*b) { inttemp=*a; *a=*b; *b=temp; } voidbubbleSort(int*a,intn) { intflag=n; while(flag>0) {
anualday
·
2016-03-21 11:00
【iOS】加密
算法整理
1、MD5:-(NSString*)getMd5_32Bit{ constchar*cStr=[selfUTF8String]; unsignedchardigest[CC_MD5_DIGEST_LENGTH]; CC_MD5(cStr,strlen(cStr),digest); NSMutableString*result=[NSMutableStringstringWithCapacity:C
sz_vcp2007
·
2016-03-07 11:00
排序
算法整理
冒泡排序冒泡排序是最简单的排序之一了,其大体思想就是通过与相邻元素的比较和交换来把小的数交换到最前面。这个过程类似于水泡向上升一样,因此而得名。举个栗子,对5,3,8,6,4这个无序序列进行冒泡排序。首先从后向前冒泡,4和6比较,把4交换到前面,序列变成5,3,8,4,6。同理4和8交换,变成5,3,4,8,6,3和4无需交换。5和3交换,变成3,5,4,8,6,3.这样一次冒泡就完了,把最小的数
Seas0n_
·
2016-03-06 16:00
排序算法整理
各种排序
算法整理
1.插入排序void InsertSort(int *a, int n) { for(i = 1; i 0; j--) a[j] = a[j - 1]; a[j] = k; } }2.冒泡排序void BubbleSort(int *a, int n) { for(i = 0; i a[j+1]) swap(a[j], a[j+1]); } } }3.选择排序void SelectSort(i
conc
·
2016-01-30 22:03
数据结构
C++
排序算法
排序
算法整理
今天整理几种比较喜欢的排序算法:bubblesort原理:每一个元素都和它后面的所有元素比较,如果有必要,则交换,以此类推,直到倒数第二个元素和最后一个元素比较并交换完毕。这是最简单的排序法,虽然他的时间复杂度不是最小的,甚至可以说是比较大的。但是由于代码结构十分简单,所以实现起来十分容易,对于小规模数据的排序来说,bubblesort是很好的。/***bubblesort*best:O(n)*w
founderznd
·
2015-12-20 06:00
跳台阶 && 变态跳台阶 (递归和非递归)
算法整理
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。classSolution{ public: intjumpFloor(intnumber){ if(0>=number) return0; elseif(1==number) return1; elseif(2==number) return2; else{ //returnjumpFloor(number
hyqsong
·
2015-12-14 07:00
Class
机器学习简单
算法整理
今天整理了一下简单的机器学习算法。打算按照这个提纲学习代码实现,不一定按顺序,但希望自己每学习一个都能了解透彻。打算寒假前就仔细研究这块了。一、Regression(回归)OrdinaryLeastSquares普通最小二乘法LogisticRegression逻辑回归StepwiseRegression逐步回归MultivariateAdaptiveRegressionSplines(MARS)
anualday
·
2015-12-10 12:00
【面试常见
算法整理
】Binary Indexed Tree(Fenwick Tree,树状数组)详解
问题:求一个数组中连续n项的和。首先想到的肯定是做一个循环,把这个连续的n项加起来,时间复杂度为O(n)。复杂度为n,看起来还不错,再说了求n个数的和,怎么也要加n次吧,所以说这应该就是最优解了,但是一提交结果是TimeLimitExceeded,顿时傻眼了,难道还有复杂度更低的方法?会不会有O(logn)的解法?O(n)的那个算法,如果只操作一次还是可以接受的,但是如果需要大量的求和操作,比如第
L664675249
·
2015-12-03 10:00
数据结构
算法
面试
bit
树状数组
欧几里德算法及其扩展(推导&&模板)
有关欧几里德
算法整理
: 1.一些相关概念: <1>.整除性与约数: ①一个整数可以被另外一个整数整除即为d|a(表示d整除a,通俗的说是a可以被d整除),其含义也可以说成
·
2015-11-13 22:28
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-13 20:45
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-13 19:22
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-13 18:44
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-13 18:09
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-13 17:17
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-13 13:08
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-13 13:27
算法
最短路径
算法整理
(二)
本文是最短路径
算法整理
的第二篇,想阅读第一篇的朋友能够点击下面链接: http://blog.csdn.net
·
2015-11-13 11:33
最短路径
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-13 10:22
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-13 07:25
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-13 06:23
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-12 21:23
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-12 17:25
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-12 16:06
算法
几种常见模式识别
算法整理
和总结
这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了。所以在这里把自己所学的一些点记录下来,供备忘,也供參考。 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来
·
2015-11-12 15:18
算法
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他