![]() |
1
2
所以你想写一个拼写检查器。这是 Peter Norvig's paper about writing a spelling corrector . 它描述了一个简单而健壮的拼写校正器。你可以使用书中已经写好的部分,再加上语言模型的参考列表(比如从免费字典中)。 我也会去现有的开源拼写检查器,如 aspell 和 hunspell ,以获得一些想法。 |
![]() |
2
0
您应该使用的结构是trie。尾部/后缀压缩将有助于记忆。您可以使用伪引用计数GC来跟踪使用情况。 对于实际的节点,您可能只需要32位整数,对于unicode只需要21位,而对于其他各种标记和信息则需要21位。 |
![]() |
3
0
让我想起在现代LISP实现中关于垃圾收集的一些事情: 创建时的数据放入“池1”, 当需要垃圾收集时,垃圾收集器会在池1中查找未使用的条目并将其删除。 然后将剩余的条目移动到池2。 只有当需要的内存超过池1可以释放的内存时,才会检查池2。 来自池2的数据在垃圾收集后仍然存在,这些数据被放入池3,然后。。。等等。 其思想是动态地将数据放入与其生存期相对应的池中。。。 |