📝 DAA

95篇技术文档
  DAA算法

📅  最后修改于: 2020-12-10 03:41:29        🧑  作者: Mango

DAA算法“算法”一词源于波斯语作者阿布·贾·法尔·穆罕默德·伊本·穆萨·阿尔·霍瓦里兹米(约公元825年),后者写了一本数学教科书。这个词是基于在计算机科学中具有特殊意义而使用的。该算法被理解为一种在需要为特定问题提供解决方案时可以由计算机使用的方法。可以将算法定义为一组有限的步骤,在执行特定问题时必须遵循这些步骤。这只是逐步执行动作的过程。算法是一种独特的计算过程,该过程将输入作为一组值并通过...

  DAA算法需求

📅  最后修改于: 2020-12-10 03:42:22        🧑  作者: Mango

算法需求1.了解问题的基本概念。2.寻找解决问题的方法。3.提高现有技术的效率。4.了解设计算法的基本原理。5.比较该算法相对于其他技术的性能。6.这是最好的描述方法,无需描述实现细节。7.该算法向设计人员清楚说明了需求和目标。8.好的设计可以产生好的解决方案。9.了解问题的流程。10.在所有情况下(最佳情况,最坏情况,平均情况)测量方法的行为(或性能)11.借助算法,我们还可以识别算法所需的资源...

  算法的DAA复杂度

📅  最后修改于: 2020-12-10 03:43:20        🧑  作者: Mango

算法的复杂性术语“算法复杂性”用于衡量算法解决给定问题所需的步骤。它评估由算法作为输入数据大小的函数执行的操作的计数的顺序。为了评估复杂度,始终考虑操作计数的顺序(近似值),而不是计算确切的步骤。O(f)表示法表示算法的复杂性,也称为渐近表示法或“Big O”表示法。在此,f对应于其大小与输入数据相同的函数。渐进计算O(f)的复杂度决定了算法(如输入数据大小的函数)以哪种顺序消耗资源(例如CPU时...

  DAA算法设计技术

📅  最后修改于: 2020-12-10 03:44:14        🧑  作者: Mango

算法设计技术以下是几种流行的设计方法的列表:1.分而治之:这是一种自上而下的方法。遵循分而治之技术的算法包括三个步骤:将原始问题分为一组子问题。递归地分别解决每个子问题。将子问题(顶层)的解决方案组合为整个原始问题的解决方案。2.贪婪技术:贪婪方法用于解决优化问题。一个优化问题就是给我们提供一组输入值,这些输入值需要最大化或最小化(称为目标),即一些约束或条件。贪婪算法总是使选择(贪婪标准)在目前...

  DAA算法的渐近分析

📅  最后修改于: 2020-12-10 03:45:11        🧑  作者: Mango

算法的渐近分析(函数的增长)算法的资源通常表示为与输入有关的函数。通常,此函数比较麻烦且工作复杂。为了有效地研究功能增长,我们将函数缩减到重要部分。在此函数,n2项主导着当n变得足够大时的函数。在这方面,称谓词是我们对简化函数感兴趣的东西;我们忽略所有常数和系数,而是查看与n有关的最高阶项。渐近符号:“渐近”一词的意思是任意接近一个值或曲线(即,采取某种限制)。渐近分析这是一种表示限制行为的技术。...

  DAA分析算法控制结构

📅  最后修改于: 2020-12-10 03:46:09        🧑  作者: Mango

分析算法控制结构要分析编程代码或算法,我们必须注意到每条指令都会影响算法的整体性能,因此,必须单独分析每条指令以分析整体性能。但是,每个编程代码中都有一些算法控制结构,它们具有特定的渐近分析。一些算法控制结构是:排序如果-然后-其他for循环While循环1.排序:假设我们的算法由A和B两部分组成。A花费时间tA,B花费时间tB进行计算。总计算“ tA+ tB”是根据顺序规则进行的。根据最大规则,...

  DAA递归关系

📅  最后修改于: 2020-12-10 03:47:07        🧑  作者: Mango

递归关系递归是一个方程或不等式,用较小输入上的函数值描述函数。求解递归关系意味着获得在满足递归的自然数上定义的函数。例如,递归描述了MERGE SORT程序的最坏情况运行时间T(n)。有四种解决递归的方法:替代方法迭代方法递归树方法主法1.替代方法:替换方法包括两个主要步骤:猜猜解决方案。使用数学归纳法找到边界条件,并证明猜测是正确的。例1用代入法求解方程。我们必须证明它被O渐近约束(log n)...

  DAA递归树方法

📅  最后修改于: 2020-12-10 03:48:05        🧑  作者: Mango

递归树方法1.递归树方法是以树的形式表示迭代方法的图形表示,其中在每个级别上扩展节点。2.通常,我们将复发的第二项视为根。3.当使用分而治之算法时,这很有用。4.有时很难提出一个很好的猜测。在递归树中,每个根和子节点代表单个子问题的成本。5.我们对树的每个级别内的成本求和,以获得一组预成本,然后对所有预成本求和以确定递归所有级别的总成本。6.最好使用递归树来生成良好的猜测,可以通过替代方法进行验证...

  DAA主方法

📅  最后修改于: 2020-12-10 03:48:58        🧑  作者: Mango

主法主方法用于解决以下类型的重复T(n)= a T+ f(n)为a≥1和b≥1为常数&f(n)为函数,可以解释为通过递归在非负整数上定义T(n)。在递归算法分析的函数中,常量和函数具有以下含义:n是问题的大小。a是递归中子问题的数量。n / b是每个子问题的大小。 (这里假定所有子问题的大小基本相同。)f(n)是递归调用之外完成的工作的总和,其中包括问题的总和与子问题的解决方案的总和。不可能总是根...

  DAA气泡排序

📅  最后修改于: 2020-12-10 03:49:58        🧑  作者: Mango

DAA气泡排序冒泡排序(也称为Exchange排序)是一种简单的排序算法。它的工作方式是重复遍历要排序的列表,一次比较两个项目,如果顺序错误则交换它们。重复遍历列表,直到不需要交换为止,这意味着对列表进行了排序。这是所有排序算法中最简单的方法。算法步骤1➤初始化步骤2➤循环,步骤3➤比较,循环。步骤4➤完成,或减小尺寸。气泡排序如何工作气泡排序从第一个索引开始,使其成为气泡元素。然后,它将bubb...

  DAA选择排序

📅  最后修改于: 2020-12-10 03:50:56        🧑  作者: Mango

选择排序选择排序通过对每次通过失败仅进行一次交换来增强气泡排序。为此,选择排序将在通过时搜索最大值,并在完成通过后将其放置在最大可能的区域中。类似地,与气泡排序一样,在第一遍之后,最大的项目在正确的位置。在第二遍之后,将设置以下最大值。由于必须在第(n-1)次通过之后设置最后一个项目,因此该过程将继续进行,并要求n-1进行n个项目的排序。算法:选择排序(A)选择排序的工作方式首先,在选择排序中,我...

  DAA插入排序

📅  最后修改于: 2020-12-10 03:51:53        🧑  作者: Mango

插入排序这是一种非常简单的方法,可以按递增或递减的顺序对数字进行排序。它具有各种优点:实施起来很简单。它对小型数据集有效。它是稳定的(不更改具有相同键的元素的相对顺序)它就位(仅需要恒定数量的O(1)的额外存储空间)。这是一种在线算法,因为它可以在收到列表时对其进行排序。分析:输入:给出n个元素。输出:进行排序所需的比较数。逻辑:如果我们在插入排序中有n个元素,则需要n-1次通过才能找到排序后的数...

  DAA分而治之简介

📅  最后修改于: 2020-12-10 03:52:47        🧑  作者: Mango

分而治之简介分而治之是一种算法模式。在算法方法中,设计是对巨大输入进行争议,将输入分解为小部分,在每个小部分上确定问题,然后将分段解决方案合并为全局解决方案。解决问题的这种机制称为分而治之策略。分而治之算法由使用以下三个步骤的争议组成。除以原问题为一组子问题。征服:递归地分别解决每个子问题。合并:将子问题的解决方案放在一起,以得到整个问题的解决方案。通常,我们可以在三步过程中遵循分而治之的方法。示...

  DAA最大-最小问题

📅  最后修改于: 2020-12-10 03:53:44        🧑  作者: Mango

最大-最小问题问题:分析算法以从数组中找到最大和最小元素。分析:方法1:如果将通用方法应用于大小为n的数组,则需要的比较次数为2n-2。方法2:在另一种方法中,我们将问题分为子问题,并找到每个组的最大值和最小值,即现在的最大值。每个组中的一个将与另一个组中的唯一最大值进行比较,而最小与最小值进行比较。令n =是数组中项目的大小令T(n)=将算法应用于大小为n的数组所需的时间。在这里,我们将项划分为...

  DAA二进制搜索

📅  最后修改于: 2020-12-10 03:54:36        🧑  作者: Mango

二元搜寻1.在Binary Search技术中,我们通过将间隔递归地分成两半来搜索排序数组中的元素。2.首先,我们将整个数组作为一个间隔。3.如果Pivot元素(要搜索的项目)小于间隔中间的项目,我们将丢弃列表的后半部分,并通过计算新的中间值来递归地对列表的前半部分重复此过程最后一个元素。4.如果Pivot元素(要搜索的项目)大于间隔中间的项目,我们将丢弃列表的前半部分,并通过计算新的开始和中间元...