在这里,我们将了解如何在多线程环境中执行矩阵加法和减法。pthread 用于在 C 或 C++ 中同时执行多个线程。有两个矩阵 A 和 B。每个矩阵的顺序为 (m x n)。每个线程将获取每一行,并执行加法或减法。因此,对于 m 行,有 m 个不同的线程。示例#include #include #include #include #define CORE 3 #define MAX 3 using namespace std; int AMat[MAX][MAX] = {{10, 20, 30}, {40, 50, 60}, {70, 80, 50} }; int BMat[MAX][MAX] = {{80, 60, 20}, {30, ... 阅读更多
在这里,我们将了解如何获取以 n2 – (n-1)2 为第 n 项的级数之和。递归关系如下所示 −Tn = n2 − (n−1)2因此,级数为 −我们需要找到 S mod (109 + 7),其中 S 是给定级数的所有项的总和。示例#include #define X 1000000007 using namespace std; long long getSum(long long n) { return ((n % X) * (n % X)) % X; } int main() { long long n = 56789; cout
在这里,我们将看到不同类型的多态性。类型为−特设包含参数化强制特设多态性称为重载。这允许同名函数对不同类型以不同方式执行操作。函数和运算符都可以重载。某些语言不支持运算符重载,但函数重载很常见。示例#include using namespace std; int add(int a, int b) { return a + b; } string add(string a, string b) { return a + b; //连接 } int main() { cout
在这里,我们将看到 LCS 问题的一种空间优化方法。LCS 是最长公共子序列。如果两个字符串为“BHHUBC”和“HYUYBZC”,则子序列的长度为 4。已经存在一种动态规划方法,但使用动态规划方法,它将占用更多空间。我们需要一个 m x n 阶表,其中 m 是第一个字符串中字符的数量,n 是第二个字符串中字符的数量。在这里,我们将了解如何使用 O(n) 数量的辅助空间来实现此算法。如果我们观察旧方法 ... 阅读更多
假设我们有一个如下所示的图形。该图是佩特森图。顶点从 0 到 9 编号。每个顶点都有一些字母。让我们考虑一个图中的路径 W,其中使用了 L 个顶点。当 W 和 S 中的字母序列相同时,一个包含 L 个字母的字符串 S 由路径 W 实现。我们可以多次访问顶点。例如,一个字符串 S 类似于“ABBECCD”,它由路径 (0, 1, 6, 9, 7, 2, 3) 实现。我们的任务是找到这样的路径,如果存在该路径,... 阅读更多