小编fom*_*min的帖子

可以加快查找字符串邻域的代码吗?

给定一个输入字符串,我想找到Levenshtein 距离2内的所有其他字符串的集合。例如,如果输入字符串是“aaa”并且字母表是 ['a', 'b'] 那么我们有:

{'baaa','aab','a','aaaaa','baab','abbaa','abaa','aaabb','abb','aaab','ababa','aa',' aabb','baba','baaab','aabab','aaaab','abaaa','aabaa','bbaaa','abaab','aaaa','baaaa','bab','bba' , 'aba', 'aaaba', 'ba', 'aabba', 'abab', 'baa', 'aaa', 'bbaa', 'baaba', 'aaba', 'abba', 'ab', '巴巴'}

我有代码可以做到这一点,但效率低下。这里它使用所有可打印的 ascii 字符作为字母表和输入字符串aaaaaaaaaa

import string

input_string = "a" * 10
f = (
    lambda input_string, dist=2, i=0: dist * input_string[i - 1 :]
    and {
        k[:i] + char + k[i + w:]
        for k in f(input_string, dist - 1)
        for char in [""] + list(string.printable)
        for w in (0, 1)
    }
    | f(input_string, dist, i …
Run Code Online (Sandbox Code Playgroud)

python algorithm optimization cython

6
推荐指数
1
解决办法
288
查看次数

如何在 Julia 中搜索和操作稀疏矩阵

我有一个很大的稀疏矩阵。我希望能够做两件事:

  1. 查找只有一个非零值的行。我们称其为 row index idx
  2. 清零列idx,在 1 中找到。我想有效地做到这一点,因为矩阵很大。

我曾尝试阅读https://docs.julialang.org/en/v1/stdlib/SparseArrays/,但我也看不到该怎么做。

julia

2
推荐指数
1
解决办法
296
查看次数

标签 统计

algorithm ×1

cython ×1

julia ×1

optimization ×1

python ×1