在pi的扩展中查找一系列整数的高性能语言/方法

时间:2016-02-02 05:56:29

标签: algorithm programming-languages pi

我正在编写一个交互式教育应用程序,用于定位一系列整数,由用户输入,以百万位数的pi扩展。我试图决定一种方法。哪种编程语言/方法最快?

1 个答案:

答案 0 :(得分:1)

这只是普通的旧子字符串搜索。

  1. 将预先计算的数字存储在字符串中。
  2. 使用其中一个线性时间子字符串搜索算法(如KMP)来搜索用户输入的子字符串。实际上,如果用户输入的字符串小于100位左右,那么天真的O(n ^ 2)子串搜索(通常是C strstr()的实现方式)可能足够快,并且几乎可以肯定是对于用户输入的小于10位左右的字符串,比任何更高级算法更快。 (这些数字是经过教育的猜测。)
  3. 这些算法可以用任何语言表达,但如果你使用像Python这样的解释语言,请尝试使用任何内置的字符串搜索功能(包括regexes)它自己实现KMP之前 - 内置函数将在内部用编译语言实现,因此应该更快地成为常量因素。