找到关于算法分析的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 结束 ifdoreturn 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){ return; } 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+ 次浏览

所有节点对最短路径算法,也称为弗洛伊德-沃歇尔算法 (Floyd-Warshall algorithm),用于在一个给定的加权图中查找所有节点对之间的最短路径。该算法的结果是一个矩阵,表示图中任意节点到所有其他节点的最小距离。最初,输出矩阵与给定的图的代价矩阵相同。之后,输出矩阵将以所有顶点 k 作为中间顶点进行更新。该算法的时间复杂度为 O(V³),其中 V 是图中顶点的数量。输入 - ... 阅读更多

广告