找到 34423 篇文章 关于编程

C++ 实现 Trie 树的程序

Nishtha Thakur
更新于 2019年7月30日 22:30:26

1K+ 次浏览

我们将讨论一个用 C++ 实现 Trie 树的程序。它是一种基于树的数据结构,用于在大型字符串数据集中高效地检索键。函数和伪代码开始函数 insert(): 如果键不存在,则将键插入 Trie 树。如果键是 Trie 节点的前缀,则只需标记叶子节点。结束开始函数 deleteNode() 如果树为空,则返回 null。 如果正在处理键的最后一个字符, 则删除该节点后,该节点将不再是字符串的结尾。 如果给定的键 ... 阅读更多

C++ 程序:查找将单词划分为每个单词都是回文的方式的数量

Smita Kapse
更新于 2019年7月30日 22:30:26

157 次浏览

我们将讨论一个 C++ 程序,用于查找将单词划分为每个单词都是回文的方式的数量。算法开始 接收单词作为输入。 函数 partitionadd(vector &u, string &s, vector &tmp, int index): 如果 (index == 0) tmp.clear() 对于 i = index 到 length-1 st = st + s[i] 如果 (checkPalin(st)) tmp.push_back(st) 如果 (i+1 < length) partitionadd(u, s, tmp, i+1) 否则 ... 阅读更多

C++ 程序:查找给定序列的最长前缀匹配

Anvi Jain
更新于 2019年7月30日 22:30:26

472 次浏览

我们将讨论一个 C++ 程序,用于查找一组序列中所有序列的最长公共子序列。算法开始 接收字符串数组作为输入。函数 matchedPrefixtill():查找字符串 s1 和 s2 之间的匹配前缀: n1 = 存储字符串 s1 的长度。 n2 = 存储字符串 s2 的长度。 对于 i = 0,j = 0 到 i

C++ 程序:查找包含两个或多个序列作为子序列的最短超序列

Anvi Jain
更新于 2019年7月30日 22:30:26

125 次浏览

我们将讨论一个 C++ 程序,用于查找包含两个或多个序列作为子序列的最短超序列。算法开始 函数 ShortestSubSeq() 返回 A 和 B 的超序列: 1) 声明一个数组 ss[i][j],其中包含 A[0 .. i-1] 和 B[0 .. j-1] 的最短超序列的长度。 2) 使用递归自底向上地查找可能的超序列的长度。 3) 声明一个数组 ss[i][j],它在索引中存储 A[0 .. i-1] 和 B[0 .. j-1] 的最短超序列的长度。 4) 声明一个字符串 s 来存储最短子序列。 5) 初始化 ... 阅读更多

C++ 程序:查找一组序列中所有序列的最长公共子序列

Nishtha Thakur
更新于 2019年7月30日 22:30:26

135 次浏览

我们将讨论一个 C++ 程序,用于查找一组序列中所有序列的最长公共子序列。算法开始 接收字符串数组作为输入。函数 matchedPrefixtill():查找字符串 s1 和 s2 之间的匹配前缀: n1 = 存储字符串 s1 的长度。 n2 = 存储字符串 s2 的长度。 对于 i = 0,j = 0 到 i

C++ 程序:实现 Kadane 算法

Smita Kapse
更新于 2019年7月30日 22:30:26

1K+ 次浏览

Kadane 算法用于从整数数组中找出最大子数组和。我们将讨论一个用 C++ 实现此算法的程序。算法开始 函数 kadanes(int array[], int length): 初始化 highestMax = 0 currentElementMax = 0 对于 i = 0 到 length-1 currentElementMax = max(array[i], currentElementMax + array[i]) highestMax = max(highestMax, currentElementMax) 返回 highestMax 结束示例#include using namespace std; int kadanes(int array[], int length) { int highestMax = 0; int currentElementMax = 0; for(int i = 0; i < length; i++){ ... 阅读更多

C++ 程序:实现仿射密码

Anvi Jain
更新于 2019年7月30日 22:30:26

3K+ 次浏览

在仿射密码中,字母表中的每个字母都映射到其数字等价物,是一种单字母替换密码。加密使用简单的数学函数完成,然后转换回字母。大小为 m 的字母表中的字母首先映射到 0 … m-1 范围内的整数,在仿射密码中,仿射密码的“密钥”由 2 个数字 a 和 b 组成。a 应选择为与 m 互质。加密为了转换整数,它使用模算术,每个明文字母对应于另一个整数… 阅读更多

C++ 程序:实现维吉尼亚密码

Nishtha Thakur
更新于 2019年7月30日 22:30:26

7K+ 次浏览

维吉尼亚密码是一种多字母替换方法,用于加密字母文本。维吉尼亚密码表用于其中 A 到 Z 的字母写成 26 行,用于此方法中的加密和解密。加密密钥:WELCOME信息:Thisistutorialspoint在这里,我们必须通过重复给定的密钥来获取密钥,直到其长度等于原始消息长度。对于加密,取消息和密钥的第一个字母,即 T 和 W。在维吉尼亚密码表中取 T 行和 W 列重合的字母,即 P。对消息文本中所有其余字母重复相同的过程。最后,加密的消息文本 ... 阅读更多

C++ 程序:实现希尔密码

Smita Kapse
更新于 2019年7月30日 22:30:26

7K+ 次浏览

基于线性代数的希尔密码是密码学中的一种多字母替换密码。加密消息:密钥字符串和消息字符串表示为矩阵形式。然后将它们相乘,再对 26 取模。密钥矩阵应该具有逆矩阵才能解密消息。解密消息:加密的消息乘以用于加密的逆密钥矩阵,再对 26 取模,以获得解密的消息。例如密钥矩阵1 0 1 2 4 0 3 5 6消息字符串“ABC”以矩阵形式表示-0 1 2加密之后乘以上述两个矩阵,我们得到 2 4 17这将是加密的消息“CER”解密逆 ... 阅读更多

C++ 程序:实现 RSA 算法

Anvi Jain
更新于 2021年5月17日 06:43:38

16K+ 次浏览

RSA 是一种非对称密码算法,它使用两个密钥——公钥和私钥。算法开始 1. 选择两个素数 p 和 q。 2. 计算 n = p*q。 3. 计算 phi = (p-1) * (q-1)。 4. 选择一个整数 e,使得 1 < e < phi(n) 且 gcd(e, phi(n)) = 1;即 e 和 phi(n) 互质。 5. 计算 d 为 d ≡ e−1 (mod phi(n));这里,d 是 e 模 phi(n) 的模乘法逆元。 6. 对于加密,c = me mod n,其中 m = 原始消息。 7. 对于 ... 阅读更多

广告
© . All rights reserved.