找到关于算法分析的210篇文章

矩阵乘法算法

Arnab Chakraborty
更新于 2019年8月27日 08:14:18

22K+ 次浏览

在本节中,我们将学习如何进行两个矩阵的乘法。矩阵乘法只有在满足特定条件的情况下才能执行。假设有两个矩阵 A 和 B,它们的维度分别是 A (m x n) 和 B (p x q),那么只有当 n = p 时才能找到结果矩阵。结果矩阵 C 的阶数将为 (m x q)。算法matrixMultiply(A, B):假设 A 的维度为 (m x n),B 的维度为 (p x q) 开始 如果 n 不等于 p,则退出 否则定义 C ... 阅读更多

算法中的步数计数法

Arnab Chakraborty
更新于 2019年8月27日 08:02:11

9K+ 次浏览

步数计数法是分析算法的一种方法。在这种方法中,我们计算每条指令执行的次数。从中,我们将尝试找出算法的复杂度。假设我们有一个执行顺序搜索的算法。假设每条指令需要 c1、c2…… 的时间来执行,那么我们将尝试找出这个算法的时间复杂度算法执行次数成本seqSearch(arr, n, key)i := 0while i < n, do 如果 arr[i] = key,则 break 结束 if循环返回 i1n+1n0/11c1c2c3c4c5现在,如果我们通过将…… 阅读更多

数据结构中队列的操作

Arnab Chakraborty
更新于 2019年8月27日 07:51:59

587 次浏览

队列是先进先出 (FIFO) 数据结构。队列用于图遍历算法广度优先搜索等不同领域。队列有一些基本操作。这里我们将看到队列的这些操作,并使用队列ADT看一个例子。ADT(抽象数据类型)是一种特殊的数据类型,其行为由一组值和一组操作定义。“抽象”关键字的使用是因为我们可以使用这些数据类型,我们可以执行不同的操作。但是这些操作是如何工作的,对用户来说是完全隐藏的。ADT是由…… 阅读更多

数据结构中的尾递归

Arnab Chakraborty
更新于 2019年8月27日 07:45:44

4K+ 次浏览

这里我们将看到什么是尾递归。尾递归基本上是将递归函数用作函数的最后一条语句。因此,当从递归调用返回后没有剩余操作时,这称为尾递归。我们将看到一个尾递归的例子。示例 在线演示#include using namespace std; void printN(int n){ 如果(n < 0){ 返回; } cout

数据结构栈的基本操作

Arnab Chakraborty
更新于 2019年8月27日 07:38:16

7K+ 次浏览

栈是后进先出 (LIFO) 数据结构。栈用于表达式求值、调用和递归策略等不同领域。栈有一些基本操作。这里我们将看到栈的这些操作,并使用栈ADT看一个例子。ADT(抽象数据类型)是一种特殊的数据类型,其行为由一组值和一组操作定义。“抽象”关键字的使用是因为我们可以使用这些数据类型,我们可以执行不同的操作。但是这些操作是如何工作的,对用户来说是完全隐藏的。ADT是由…… 阅读更多

数据结构中的抽象数据类型

Arnab Chakraborty
更新于 2023年10月5日 01:03:30

31K+ 次浏览

数据类型基本上是在不同的计算机程序中可以使用的一种数据类型。它表示整数、浮点数等类型,整数将占用4个字节的空间,字符将占用1个字节的空间等。抽象数据类型是一种特殊的数据类型,其行为由一组值和一组操作定义。“抽象”关键字的使用是因为我们可以使用这些数据类型,我们可以执行不同的操作。但是这些操作是如何工作的,对用户来说是完全隐藏的。ADT是由基本数据类型构成的,但是操作逻辑是…… 阅读更多

栈在数据结构中的应用

Arnab Chakraborty
更新于 2019年8月27日 07:15:14

3K+ 次浏览

栈是后进先出 (LIFO) 数据结构。这种数据结构在不同方面有一些重要的应用。如下所示:表达式处理 - 中缀表达式到后缀表达式或中缀表达式到前缀表达式的转换 - 栈可用于将某些中缀表达式转换为其后缀等效表达式或前缀等效表达式。这些后缀或前缀表示法用于计算机中表达某些表达式。这些表达式与中缀表达式不太熟悉,但它们也有一些很大的优点。我们不需要维护运算符顺序和括号。后缀或前缀求值 - 转换到前缀或…… 阅读更多

数据结构中递归的原理

Arnab Chakraborty
更新于 2019年8月26日 11:24:06

3K+ 次浏览

递归是一个函数调用自身的进程。我们使用递归将较大的问题分解成较小的子问题。我们必须记住的一件事是,如果每个子问题都遵循相同类型的模式,那么我们才能使用递归方法。递归函数有两个不同的部分。基本情况和递归情况。基本情况用于终止递归任务。如果没有定义基本情况,则函数将无限次递归(理论上)。在计算机程序中,当我们调用一个函数时,程序计数器的值…… 阅读更多

霍夫曼编码

Arnab Chakraborty
更新于 2019年8月5日 07:44:26

8K+ 次浏览

霍夫曼编码是一种无损数据压缩算法。在这个算法中,为输入的不同字符分配可变长度代码。代码长度与字符的使用频率有关。最频繁的字符具有最短的代码,而最不频繁的字符具有较长的代码。主要有两个部分。第一个是创建霍夫曼树,另一个是遍历树以查找代码。例如,考虑一些字符串“YYYZXXYYX”,字符 Y 的频率大于 X,而字符 Z 的频率最低。因此,Y 的代码长度小于 X,X 的代码…… 阅读更多

所有对最短路径

Arnab Chakraborty
更新于 2023年11月7日 03:20:32

70K+ 次浏览

所有对最短路径算法,也称为弗洛伊德-沃舍尔算法,用于查找给定加权图中的所有对最短路径问题。该算法的结果是生成一个矩阵,该矩阵表示从任何节点到图中所有其他节点的最小距离。首先,输出矩阵与给定的图成本矩阵相同。之后,将使用所有顶点 k 作为中间顶点更新输出矩阵。该算法的时间复杂度为 O(V3),其中 V 是图中顶点的数量。输入 -…… 阅读更多

广告