
算法
DontBeProud
一只兼职讲师的猿ε=(´ο`*))
展开
-
公钥算法Elgamal的C++实现
算法的基础代码,针对字符串或者流数据的加解密的算法需要根据具体应用场景自行定义。(基于大素数生成公钥私钥的方法不在本文介绍)#ifndef __ELGAMAL_H__#define __ELGAMAL_H__typedef long long llong;typedef struct ELG_CIPHER_ELEMENT{ llong c1; llong c2;}ELG_CIPHER_ELEMENT, *PELG_CIPHER_ELEMENT;//计算lPrimitiveEle原创 2020-11-02 16:52:32 · 1557 阅读 · 1 评论 -
字符串相似度之编辑距离(levenshtein、jaro、jaro_winkler算法)的rust实现
最近闲着没事学学rust;正好公司之前用来分析账号相似度的模块是用python写的,于是想到用rust重写底层算法提高运行效率,顺便练练手。稍微翻了一下github,在字符串相似度方面现成的开源rust轮子不多,一个手数的过来,而且质量普遍不算很高(无脑递归,或者直接将jaro_winkler的p因子固定为0.1,前者仅是运行性能层面的不足,而后者则会导致运算结果与预期不一致。)先把levenshtein、jaro、jaro_winkler的轮子造一下,基本够用,有空再把其他基础算法补上吧。gi原创 2020-10-28 23:52:11 · 1719 阅读 · 1 评论 -
【算法·动态规划+递归】 求两个字符串的按序排列的所有公共子串
优化版链接 :【算法·动态规划+递归】 求两个字符串的所有公共子串(优化版)def extract_common_substr_list_length_first_by_recursion(s_a, s_b): """ 最大长度优先,按序获取两个字符串的所有公共子串(不去重) eg. extract_common_substr_list_length_first_by_recursion("ababcababcdef", "abcdabcef") = ["abcd", "ef"原创 2020-09-17 02:03:26 · 545 阅读 · 0 评论 -
【算法·动态规划+递归】 求两个字符串的按序排列的所有公共子串(优化版)
def extract_common_substr_list_length_first_by_recursion(s_a, s_b): """ 最大长度优先,按序获取两个字符串的所有公共子串(不去重) eg. extract_common_substr_list_length_first_by_recursion("ababcababcdef", "abcdabcef") = ["abcd", "ef"] eg. extract_common_substr_list_...原创 2020-09-17 01:57:23 · 608 阅读 · 0 评论