算法速度综合体
最近,我们看到了算法的复杂性。您可以尽情享受乐趣和乐趣。
掌握算法的复杂性可以提高算法的效率并确定执行前的情况。
算法可以有效地实现多种操作,但对于大组合来说是非常重要的。
ps:usarei Python para explicar alguns conceitos
大O符号
Começarei falando de forma bem Rapida sobre Big O,o que é e pra que service。第二或维基百科:
“A notação Big O é uma notação matemática que descreve o comportamento limitante de uma função quando o argumento tende a um valor específico ou ao infinito. Ela pertence a uma família de notações inventadas por Paul Bachmann, Edmund Landau e outros, coletivamente查马达斯(Bachmann–Landau)或协会的通知。”
想象一下,卡罗的斗牛运动代表了算法。 Agora,a pergunta é: quão rápido esses carros podem ir?
重要的礼仪是在不同情况下快速行驶。大多数情况下,我们会在短时间内加速速度,并提高算法的效率。
一个想法是,大的O nos ajuda a entender quão rápido um algoritmo em em relação tamanho dos bados que é fornecido como entrada。
节奏有多复杂?
复杂的节奏和执行节奏是算法的执行节奏,是进入新月的数量。
重要的是,在复杂的节奏中,所有的动作都不能与执行的节奏有关,主要是与节奏渐进的分类有关,因为在不同的情况下,节奏是不同的。
爱丽丝没有复杂的节奏
算法的复杂性是技术术语和复杂性的算法的复杂性,是软件效率和优化的基本原理。在一切复杂的事情发生之前,你会发现爱丽丝没有能力去实现她的梦想。
Alice 提出了一个重大问题和解决方案,可以作为解决者的有效解决方案。
O Chapeleiro Maluco trouxe alguns coelhos impostores com aparência idêntica a do Coelho Branco para o país da Complexidade. Precisamos identificar quais deles são impostores and enenvá-los de volta aos seusrespectivos países!
O Coelho branco tem semper um relógio Guardado no bolso。
Alice teve algumas ideias de como 解析器,vejamos:
1. 核实个人信息
首先,爱丽丝考虑验证这一点。 Ela inspectionaria o bolso de cada um dos coelhos um de cada vez para verificar a presença de um relógio
def pega_coelho_impostor(coelhos):
for coelho in coelhos:
if not relogioNoBolso:
print('o coelho é falso')
接下来,爱丽丝检查了身体的顺序,并确定了相关关系。线性速度复合体,代表 O(n),onde né on número de coelhos。 Cada coelho exige uma verificação, eo tempo all必要对essa verificação和直接比例的coelhos数量。除了 palavras 之外,所有的节拍都呈现出必要的节奏,以作为验证。
2. 验证所有待办事项
了解前一系列的情况,Alice 决定不同的算法:
Ela 决定重新考虑所有事项,并观察相关关系。 O coelho que for sacudido e cair um relógio seria o verdadeiro, os demais seriam impostores!
def pega_coelho_impostor(coelhos):
juntar(coelhos) # Função fictícia para ilustração
sacudir(coelhos) # Função fictícia para ilustração
if caiuRelogio:
print('Encontrou o Coelho Branco (o verdadeiro)')
阿奎,爱丽丝在她的身上做了很多事情,她是一个独立的人。 Depois, ela os sacode e observa qual coelho deixa cair um relógio. Nessa abordagem,一个复杂的节奏和恒定,代表 O(1),或永久执行的节奏,独立的数字。每周 10 次或 20 次,执行速度或信息。
二次复杂度
Agora,Alice 紧急将 cada coelho impostor 转至 sua casa,并以 ela recebeu uma lista com 作为本地化的 cada coelho impostor 的扩展。
结合实际情况和本地化情况,我们可以确定最终的结果。 Para isso, ela deve comparar cada coelho com cada localização da lista. Para isso, ela deve comparar cada coelho com cada localização da lista.
def levar_coelho_para_casa(coelhos_impostores, localizacoes):
for coelho in coelhos_impostores:
for localizacao in localizacoes:
if verifica_localizacao(coelho) == localizacao:
envia_para_casa()
# verifica_localizacao() é uma função fictícia para ilustração
Nessa função,cada coelho 和 comparado com todas as localizações usando dois 循环“for”。在此基础上,我们完成了本地化列表以实现比较。这是一个复杂的二次速度的结果,代表 O(n^2),即执行二次速度的速度或 aumento do número de coelhos。
例如,设置 10 个导入点和 10 个验证位置,总共 10 * 10 = 100 个迭代。
这幅图是一个复杂的二次节奏,它对执行节奏具有重要意义,与其他元素进行比较。
Resumo das Complexidades :
- O(n) - 线性:执行速度与列表中的常数一致。示例:verificar itens um por um。
- O(1) - Constante:永久执行的节奏,独立于列表。
- O(n^2) - Quadrática:以列表渐进的方式执行四边形的执行速度。 Geralmente ocorre com dois 循环 aninhados。
- O(n^3) - Cúbica:执行复杂度的速度可以很快。 Comum em três 循环 aninhados,根据列表重复。
Talvez você esteja assim:
E tá tudo bem!最初:节奏是我的意思,我可以按照节奏进行,然后再进行练习。一个想法 ir adquirindo esse olhar mais atento ao escrever um algoritmo
Para Finalizar,vamos falar sobre Complexidade Logarítmica。
对数复合体
解决问题的方法是解决家里的骗子问题,爱丽丝从新解决方案:Chapeleiro Maluco 提供了 32 个可能的信息。爱丽丝在布斯卡,或小教堂,在新月秩序中组织了 os coelhos fossem。
Busca binária
请注意,Alice 使用的方法是在 Busca Binária 中执行 32 步操作。
过程很简单:与爱丽丝一起,爱丽丝与我的爱丽丝进行了比较,并与我的爱丽丝进行了比较。在 32 个问题中,Alice 遇到了有关 Coelho procura 的问题,并告知 Chapeleiro Maluco。
不可以,请注意观察图像,注意 26 小时内的情况,或注意总线卡达的情况。爱丽丝(Alice)将注意力集中在metade direita da fila,onde as idades são maiores。
相反,在 32 小时内,爱丽丝将注意力集中在她的身体上,并以我的方式生活。
Pegando a lista da direta, temos os coelhos com as seguintes idades:
29 - 32 - 50
在第 32 个数字中,爱丽丝最终会遇到 32 个不同的数字。
例如,爱丽丝 estivessebuscando 或 coelho de 50 岁?
在此过程中,您将连续不断地重复该过程,将其分成不同的部分,并在适当的情况下对适当的部分进行处理,或将其感知到。
结论:
背景是,节奏的复杂性、节奏的复杂性、迭代的点,爱丽丝将元音重新定义为可验证的精确数字。与线性的线性比较相比,我们的总线处理结果非常有效,这足以验证爱丽丝个人的想法。
精确必要的军刀或功能是否有效?
没有必要。理解节奏复杂性的基本功能,是节奏复杂性的基本概念和算法的基本概念。
👀 Dica:Depois da uma olhada nesse 复杂的图形 do site bigocheatsheet。
希望对你有帮助!😊
bjs bjs e até a próxima 💟
文章来源:https://dev.to/analaura/complexidade-de-tempo-dos-algoritmos-o-que-eu-aprendi-512l
