面试必会题目(1)—— String
“面试技术岗位应该掌握的算法题目–String相关”
字符串匹配Sunday算法
“Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。”
Sunday算法简介
字符串查找算法中,最著名的两个是KMP
算法(Knuth-Morris-Pratt)和BM
算法(Boyer-Moore)。两个算法在最坏情况下均具有线性的查找时间。但是在实用上,KMP算法并不比c库函数strstr()
快多少,而BM
算法则往往比KMP
算法快上3-5倍(未经验证)。而Sunday
算法比BM
还要快,而且更易理解。Sunday
算法的核心思想是:在匹配过程中,模式串并不被要求一定要按从左向右进行比较还是从右向左进行比较,它在发现不匹配时,算法能跳过尽可能多的字符以进行下一步的匹配,从而提高了匹配效率。
使用IDEA和gradle搭建Spring MVC和MyBatis开发环境
“IDEA是jetbrains公司开发的Java开发IDE,功能齐全。使用IDEA搭建SSM开发环境简单有效。”
概述
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。
它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
Spring MVC属于SpringFrameWork的后续产品,已经融合
在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
MyBatis本是apache的一个开源项目iBatis, 2010年这个项目
由apache software foundation 迁移到了google code,并且改名为MyBatis 。
2013年11月迁移到Github。