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

数据结构中数组的数组表示

Arnab Chakraborty
更新于 2020年8月10日 08:17:35

622 次浏览

在本节中,我们将了解多维数组的另一种表示方法。在这里,我们将看到数组的数组表示。在这种形式中,我们有一个数组,它保存多个数组的起始地址。表示将如下所示。这是一个大小为 [7 x 8] 的二维数组 x。每一行都表示为一个一维数组。初始数组保存这些单个数组的地址。它们是地址数组,所以我们可以说,它是一个指针数组。每个指针都保存另一个数组的地址。创建这种... 阅读更多

数据结构中的异构数组

Arnab Chakraborty
更新于 2020年8月10日 08:11:28

1K+ 次浏览

众所周知,数组根据定义是同构的。因此,我们必须将相同类型的数据放入数组中。但是,如果我们想存储不同类型的数据,那么有什么技巧呢?在像 C 这样的旧语言中,我们可以使用联合体来人工地将不同类型合并成一种类型。然后,我们可以在此新类型上定义一个数组。这里,数组元素实际包含的对象类型由一个标记决定。让我们看看这样的结构 - struct Vehicle{    int id;    union {       Bus ... 阅读更多

数据结构中的数组加倍

Arnab Chakraborty
更新于 2020年8月10日 08:10:07

2K+ 次浏览

有时我们使用动态内存分配创建数组。如果使用动态内存分配技术分配数组,我们可以通过执行一些操作来将数组的大小加倍。假设初始数组大小为 5。数组01234元素 1元素 2元素 3元素 4元素 5数组加倍后,大小为 -0123456789元素 1元素 2元素 3元素 4元素 5元素 6元素 7元素 8元素 9元素 10要将大小为 n 的数组 arr 加倍,arr[0…n-1]。首先,我们必须创建一个大小为 m 的新数组。然后将 arr 中的 n 个元素复制到新数组中。最后,更改 arr 的值以指向新数组。要... 阅读更多

数据结构中的代入法

Arnab Chakraborty
更新于 2020年8月10日 08:05:13

5K+ 次浏览

在这里,我们将了解如何使用代入法来解决递归关系。我们将举两个例子来更好地理解它。假设我们正在使用二分查找技术。在这种技术中,我们检查元素是否存在于末尾。如果它存在于中间,则算法终止,否则我们一次又一次地从实际数组中获取左子数组和右子数组。因此,在每个步骤中,数组的大小都会减少 n / 2。假设二分查找算法花费 T(n) 时间执行。基本... 阅读更多

数据结构中的递归方程

Arnab Chakraborty
更新于 2020年8月10日 08:02:46

1K+ 次浏览

在算法分析过程中,我们会发现一些递归关系。这些递归关系基本上在表达式中使用了相同的函数。在大多数情况下,对于递归算法分析和分治算法,我们都会得到递归关系。在这里,我们将通过一些例子来了解递归方程的一个例子。假设我们正在使用二分查找技术。在这种技术中,我们检查元素是否存在于末尾。如果它存在于中间,则算法终止,否则我们从实际数组中获取左子数组和右子数组... 阅读更多

数据结构中缓存未命中的计数

Arnab Chakraborty
更新于 2020年8月10日 08:01:20

218 次浏览

在算法分析中,我们计算操作和步骤。当计算机执行操作花费的时间比获取该操作所需数据花费的时间更多时,这基本上是合理的。如今,执行操作的成本远低于从内存中获取数据的成本。许多算法的运行时间主要由内存引用次数(缓存未命中次数)决定,而不是由操作次数决定。因此,当我们尝试设计一些算法时,我们必须关注不仅要减少操作次数,还要减少... 阅读更多

算法中的操作计数法

Arnab Chakraborty
更新于 2020年8月10日 07:57:52

3K+ 次浏览

有不同的方法来估计某个算法的成本。其中一种是使用操作计数。我们可以通过选择不同的操作之一来估计算法的时间复杂度。这些操作包括加法、减法等。我们必须检查执行了多少次这些操作。这种方法的成功取决于我们识别出对时间复杂度贡献最大的操作的能力。假设我们有一个大小为 n [0 到 n - 1] 的数组。我们的算法将找到最大元素的索引。我们可以通过计算... 阅读更多

用于 CSMA/CD 的后退算法

sudhir sharma
更新于 2020年8月6日 07:58:20

5K+ 次浏览

后退算法是一种用于冲突解决的算法。它的工作原理是,当发生冲突时,两个设备都会等待一段时间(随机时间),然后再重新传输信号,它们会不断尝试,直到数据成功传输。这称为后退,因为节点在尝试重新访问之前会“后退”一段时间。这个随机时间段与它尝试传输信号的次数成正比。算法下面是一个简单的流程图,简要说明了后退算法。可以看出,... 阅读更多

分组密码和流密码的区别

Kiran Kumar Panigrahi
更新于 2022年7月27日 10:17:01

11K+ 次浏览

分组密码和流密码都属于对称密钥密码家族,它们基本上是加密方法,主要用于将明文直接转换为密文。阅读本文以了解更多关于分组密码和流密码的功能以及它们之间差异的信息。什么是分组密码?分组密码是一种对称加密技术,它使用共享的秘密密钥来加密固定大小的数据块。在加密过程中,使用明文,密文是加密后的文本。明文和密文都使用相同的密钥进行加密。分组密码... 阅读更多

确定性算法和非确定性算法的区别

Kiran Kumar Panigrahi
更新于 2023年2月21日 14:15:03

21K+ 次浏览

在编程的上下文中,算法是一组按顺序执行特定任务并获得所需输出的明确指令。在这里,我们说“一组定义的指令”,这意味着用户在某个地方知道如果这些指令以预期的方式执行,其结果是什么。根据对指令结果的了解,算法有两种类型,即确定性算法和非确定性算法。阅读本文以了解更多关于确定性和非确定性算法的信息以及它们之间差异的信息。什么是确定性算法?确定性... 阅读更多

广告