找到 510 篇文章 关于算法

数据结构中数组的操作

Arnab Chakraborty
更新于 2019年8月27日 10:38:25

689 次浏览

在这里,我们将了解数据结构中数组的一些基本操作。这些操作包括:遍历、插入、删除、搜索、更新。遍历是指扫描数组中的所有元素。插入操作是在数组的给定位置添加一些元素,删除操作是从数组中删除元素并在删除后更新其他元素的相应位置。搜索是查找数组中存在的某个元素,而更新是更新给定位置的元素的值。让我们来看一个 C++ 示例代码,以便更好地理解。示例   在线演示 #include <iostream> #include <vector> using namespace std; int main(){    vector<int> arr;    //插入元素 ... 阅读更多

数据结构中的均摊时间复杂度

Arnab Chakraborty
更新于 2019年8月27日 09:15:10

898 次浏览

均摊分析这种分析方法用于处理偶尔执行速度很慢的操作,但大多数频繁执行的操作速度很快的情况。在数据结构中,我们需要对哈希表、不相交集等进行均摊分析。在哈希表中,大多数情况下搜索时间复杂度为 O(1),但有时会执行 O(n) 次操作。当我们想要搜索或插入哈希表中的元素时,大多数情况下都是常数时间,但当发生冲突时,需要 O(n) 次操作来解决冲突。聚合方法聚合方法用于… 阅读更多

矩阵乘法算法

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 := 0 while i < n, do     if arr[i] = key, then         break     end if done return i 1 n+1 n 0/1 1 c1 c2 c3 c4 c5 现在如果我们通过将…… 阅读更多

数据结构中队列的操作

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

587 次浏览

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

数据结构中的尾递归

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

4K+ 次浏览

在这里,我们将了解什么是尾递归。尾递归基本上是将递归函数用作函数的最后一条语句。因此,当递归调用返回后没有其他事情要做时,这称为尾递归。我们将看到尾递归的一个示例。示例   在线演示 #include <iostream> using namespace std; void printN(int n){    if(n < 0){       return;    }    cout<<n<<" ";    printN(n-1); }

数据结构栈基本操作

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+ 次浏览

递归是一个函数调用自身的进程。我们使用递归将更大的问题分解成更小的子问题。需要注意的是,只有当每个子问题都遵循相同的模式时,才能使用递归方法。一个递归函数包含两个不同的部分:基本情况和递归情况。基本情况用于终止递归任务。如果未定义基本情况,则函数将无限次递归(理论上)。在计算机程序中,当我们调用一个函数时,程序计数器的值……阅读更多

广告