【文件属性】:
文件名称:java笔试题算法-SpellingCorrector-Java8:将PeterNorvig的拼写校正器移植到Java8
文件大小:2.3MB
文件格式:ZIP
更新时间:2021-06-03 02:00:51
系统开源
java笔试题算法Java
中的基本拼写纠正
我最近遇到了一篇关于基本拼写更正的热门文章,网址为
Peter
Norvig
在
21
个
Python
代码中实现了一个聪明的算法,现在还有许多其他语言的实现。
我首先注意到第一个
Java
实现有
372
行代码,令人尴尬。
第二个
java
实现有
35
行代码。
那么让我们看看它在
Java
8
中的样子。
23行代码。
(我假设我们只计算非空行并排除导入语句)
我尝试使用像
Streams
这样的现代概念,除了加载字典之外,它看起来像是以函数式风格编写的。
它也是线程安全的,这很好。
显然,这是
Java
并且它是面向对象的。
您可以有多个使用不同词典的实例。
另外,我不敢说,作为
Java,结果证明它慢得令人尴尬。
在
2015
款
MacBook
Pro
上测试。
原始
Python
代码
cpython
2.7
11s
2.7
5s
我的
Java
8
代码
Java
1.8.0_73-b02
21s
可能是由于字符串操作缓慢。
这在
Java
中可以做得更快,但也需要更多的代码。
/**
*
Java
8
Spelling
【文件预览】:
SpellingCorrector-Java8-master
----.gitignore(19B)
----src()
--------SpellingTest.java(2KB)
--------big.txt(6.19MB)
--------tests1.json(4KB)
--------Spelling.java(2KB)
--------tests2.json(9KB)
--------Spelling1Liner.java(2KB)
----README.md(3KB)
----.idea()
--------misc.xml(2KB)
--------encodings.xml(159B)
--------workspace.xml(42KB)
--------uiDesigner.xml(9KB)
--------copyright()
--------compiler.xml(686B)
--------project-template.xml(89B)
--------description.html(97B)
--------modules.xml(258B)