码迷,mamicode.com
首页 > 编程语言
hdu 3336 Count the string(next数组)
题意:统计前缀在串中出现的次数思路:next数组,递推#include#include#includeusing namespace std;#define MaxSize 200005#define Mod 10007char str[MaxSize];int _next[MaxSize];int...
分类:编程语言   时间:2015-08-21 22:50:53    阅读次数:150
数据结构-红黑树(Red-Black Tree)的C++实现模板
红黑树的实现还真不简单,各种染色旋转足足折腾了笔者几天。。 ????不过收获也是巨大的。笔者现在终于明白为啥二叉搜索树这么重要了,确实很有用。 ????下面上代码。 ????细心的朋友可能会觉...
分类:编程语言   时间:2015-08-21 21:44:19    阅读次数:352
排序算法系列——八大排序算法对比分析
本系列最后一篇,综合分析下前面介绍的八种排序算法的效率,以及各自的适用情况。 通知实际测试比较各排序算法的效率,并分析各个排序算法的适用场景。...
分类:编程语言   时间:2015-08-21 21:37:36    阅读次数:301
HDU 1031.Design T-Shirt【结构体二次排序】【8月21】
Design T-Shirt Problem Description Soon after he decided to design a T-shirt for our Algorithm Board on Free-City BBS, XKA found that he was trapped by all kinds of suggestions from everyone o...
分类:编程语言   时间:2015-08-21 21:37:54    阅读次数:246
Spring AOP原理
Spring利用动态代理技术实现了AOP增强功能。这个动态代理是通过Java的动态代理或CGLIB技术实现。具体根据代理对象实现的是类或者接口来决定。 Spring AOP的过程跟我们平时使用动态代理的过程是很相似的,只不过它帮助我们自动组装了增强方法与代理对象,这样我们就可以更加灵活,因为我们可以选择增强触发的时机,而且更加关注我们要做的事情。从原理以及源代码的角度,整个过程还是分为两个阶段,...
分类:编程语言   时间:2015-08-21 21:33:36    阅读次数:261
【c++版数据结构】之循环单链表的实现(带头结点以及尾节点)
所实现的单链表的结构如下图所示: 循环单链表的实现,和上一篇文章单链表的实现大致相同点击打开链接,略有区别: 1:循环判断的条件不再是s == NULL或者s->next == NULL,而是他们是否等于头指针。2: 断开链表时的处理,尾节点的next不是NULL,而是指向头结点 具体细节参考上一篇文章 头文件:SCList.h #ifndef SCLIST_H #define...
分类:编程语言   时间:2015-08-21 21:34:32    阅读次数:312
【c++版数据结构】之双链表的实现(带头结点以及尾节点)
所实现的双链表的结构如下图所示: 双链表的实现,和第一篇文章单链表的实现大致相同点击打开链接 本篇文章在构建节点的同时,初始化构建节点的前驱和后继,具体细节参考下列代码 头文件:DList.h #ifndef DLIST_H_ #define DLIST_H_ typedef enum{FALSE,TRUE}Status; #include #include using na...
分类:编程语言   时间:2015-08-21 21:33:09    阅读次数:308
C/C++难点笔记——难点题和疑惑点
疑惑点类的转换问题代码:class A{ public: virtual void f() { cout << "A" << endl; } };class B: public A{ public: virtual void f() { cout << "B" << endl; } };int _tmain(int ar...
分类:编程语言   时间:2015-08-21 21:31:59    阅读次数:321
算法题:矩阵旋转90度
#include #include using namespace std; void Grial(int (*a)[5],int n) { //数组顺时针旋转90度。 //边界值的考虑让我小小的思考了一下。 int temp; int startX = 0; int startY = 0; int j = 0...
分类:编程语言   时间:2015-08-21 21:31:11    阅读次数:312
struts2 报错:java.lang.NullPointerException: Source must not be null
今天使用strut2+ajax进行异步上传时出错,控制台没有打印信息,ajax回调函数中alert返回值得到如下信息,大概就是空指针的意思。 实际上是上传的input name值和action变量名不一致造成。input name为myfile,变量为myFile,一个字母的大小写造成的错误!注意这个地方!HTTP Status 500 - type Exception reportmessage...
分类:编程语言   时间:2015-08-21 21:31:23    阅读次数:2857
KMP算法详解
KMP KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普 拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目 的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。 接下来我们先分析三张图,S代表主串...
分类:编程语言   时间:2015-08-21 21:29:17    阅读次数:298
java去除重复的字符串和移除不想要的字符串
在java开发中碰到了有些字符串是重复的,如果在进行业务处理要全部遍历太对的数据就会重复,所以在进行业务处理前进行一个去重操作。 这里由于业务需要所以先将字符串转化为string数组,使用split分割,然后将string数组一个个放到list里(list的remove可以将你不要的字符串删除掉,代参数的哦) 可以看到我使用的是list,在list里包含了一个contains函数,表示...
分类:编程语言   时间:2015-08-21 21:28:11    阅读次数:169
ZOJ 2112 Dynamic Rankings(主席树套树状数组+静态主席树)
题意:给定一个区间,求这个区间第k大的数,支持单点修改。 思路:主席树真是个神奇的东西.........速度很快但是也有一个问题就是占用内存的很大,一般来说支持单点修改的主席树套树状数组空间复杂度为O(n*logn*logn), 如果查询较少的话,可以初始的时候用一颗静态主席树,这样空间复杂度可以降为O(n*logn+q*logn*logn),勉强可以过zoj这道题。 这道题看了好久好久才懂....
分类:编程语言   时间:2015-08-21 21:29:57    阅读次数:556
排序算法(Java语言)——归并排序
归并排序mergesort中基本的操作是合并两个已排序的表。因为这两个表已排序,所以若将输出放到第三个表中,则该算法可以通过对输入数据一趟排序完成。基本的合并算法是取两个输入数组A和B,一个输出数组C,以及3个计数器Actr、Bctr、Cctr,他们初始置于对应数组的开始端。A[Actr]和B[Bctr]中的较小者被拷贝到C的下一个位置,相关的计数器向前推进一步。当两个输入表有一个用完的时候,则将...
分类:编程语言   时间:2015-08-21 21:30:37    阅读次数:233
《数据结构与算法分析》引论:选择问题实现
在《数据结构与算法分析——C语言描述》的引论中有提到一个问题: 设有一组N个数而要确定其中第k个最大者。 被称为选择问题(selection problem)。 后面有提到两种算法,下面是我根据描述,写的代码: /* * 来源:《数据结构与算法分析》引论 * 题目:选择性问题,从N个数中找出第k大者 * * */ #include #include /* * 输出数组 *...
分类:编程语言   时间:2015-08-21 21:30:21    阅读次数:152
hdu 1874 畅通工程续(Floyd算法)
题目来源:[hdu1874](http://acm.hdu.edu.cn/showproblem.php?pid=1874) 题目大意: 输入一个n,m,表示有n个城市,编号从1到n,有m条路,每条路输入连接的两个城市编号A,B,及路的长度X,题目说X表示从A到B的双向长度,故应建无向图。然后输入起点S与终点T,求从S到T得最短路径,若不存在,就输出-1。 题目分析:...
分类:编程语言   时间:2015-08-21 21:29:53    阅读次数:159
算法:矩阵右移
#include #include using namespace std; //数组右移m位,左边补0; //如:1 2 3 // 4 5 6 // 7 8 9 //右移动2位的结果是: // 0 0 1 // 0 0 4 // 0 0 7 void Grial(int(*a)[4], int n,int m) { fo...
分类:编程语言   时间:2015-08-21 21:29:22    阅读次数:146
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!