题目的意思:给你一篇文章,再给你T个字符串,判断这T个字符串有哪些在文章中出现过。
由于文章很大,普通的方法必定超时,所以需要用 AC自动机算法。
AC自动机算法是多模匹配算法之一,主要是用于在一篇文章中,找出给定的N个单词在这篇文章中出现的个数。
AC自动机算法,我也是刚刚学习,主要是在建立字典树的基础上,增加了失败指针,提高了匹配的效率。而且最难的是失败指针的建立。
它的优点是:最大限...
分类:
编程语言 时间:
2015-07-23 00:49:08
阅读次数:
124
今天解析DEDECMS时发现deder的MYSQL时间字段,都是用`senddata` int(10) unsigned NOT NULL DEFAULT '0';随后又在网上找到这篇文章,看来如果时间字段有参与运算,用int更好,一来检索时不用在字段上转换运算,直接用于时间比较!二来如下所述效率也...
分类:
数据库 时间:
2015-07-23 00:39:49
阅读次数:
171
JSON与XML数据解析JSON数据解析(内置NSJSONSerialization与第三方JSONKit)一,使用自带的NSJSONSerialization苹果从IOS5.0后推出了SDK自带的JSON解决方案NSJSONSerialization,这是一个非常好用的JSON生成和解析工具,效率...
分类:
移动开发 时间:
2015-07-23 00:27:11
阅读次数:
813
简要的说,数据库索引可以提升数据检索,优化检索效率。
分类:
数据库 时间:
2015-07-23 00:25:18
阅读次数:
137
前言:
用在多线程,同步变量。线程为了提高效率,将某个成员(A)变量拷贝了一份(B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不
一致的情况。volatile就是用来避免这个中情况的。volatile告诉jvm,它所修饰的变量不保留拷贝,直接访问主内存中的A。在Java内存模型中,有main memory,每个线程也
有自己的memory(寄存器).为...
分类:
编程语言 时间:
2015-07-22 23:00:30
阅读次数:
194
1、使用索引查询记录时,一定要注意索引的使用情况,例如:
(1)like关键字配置的字符串不能以‘%’开头
(2)使用多列索引时,查询条件必须要使用这个索引的第一个字段
(3)使用or关键字时,or关键字连接的所有条件都必须使用索引
2.优化子查询
很多查询中需要使用子查询,但子查询执行效率不高,子查询时,mysql需要为内层查询语句的查询结果建立一个临时表,然后外层查询语句再在...
分类:
数据库 时间:
2015-07-22 22:41:58
阅读次数:
181
一、约束分类(保证数据的完整性)。A、主键约束——实体 设置主键不能为空值,具备唯一标识性,是为了防止录入错误,设置了主键,减慢了新增数据的速度,但大大提高了查询的效率。1.不重。2.不空。3.排序。4.唯一(不能出现两个主键)5.组合主键。建主键: 1.可视化建主键。在“对象资源管理器”中选中.....
分类:
数据库 时间:
2015-07-22 22:34:35
阅读次数:
505
BM 算法是一个较优的模式匹配算法。一般,如果不考虑模式串的长度,一个具有时间复杂度O(n)的算法应该是最优的了,但是事实不是如此。BM算法可以实现更高效率的模式匹配。分析和实验说明,BM匹配算法对于那些字符集比较大,而模式串中出现的字符比较少的时候,工作效率最快。而且,考虑KMP匹配方式的优化,可...
分类:
编程语言 时间:
2015-07-22 22:31:06
阅读次数:
178
c++中程序员使用模板能够写出与类型无关的代码,提高源代码重用,使用合适,大大提高了开发效率。此前,可以使用宏实现模板的功能,但是模板更加安全、清晰。在编写模板相关的代码是我们用到两个关键词:template和class(或者typename),class和typename基本没有区别。1、函数.....
分类:
编程语言 时间:
2015-07-22 22:16:14
阅读次数:
131