baixar PDF
1) Explique o que é um algoritmo de computação?
Um algoritmo é um procedimento computacional bem definido que pega algum valor como entrada e gera algum valor como saída. Em palavras simples, é uma sequência de etapas computacionais que converte a entrada em saída.
2) Explique o que é o algoritmo de classificação rápida?
O algoritmo de classificação rápida tem a capacidade de classificar listas ou consultas rapidamente. Baseia-se no princípio da troca de divisão ou divisão e conquista. Este tipo de algoritmo ocupa menos espaço e separa a lista em três partes principais
- Elementos menores que o elemento Pivot
- Elemento Pivot
- Elementos maiores que o elemento Pivot
3) Explique o que é complexidade de tempo do algoritmo?
A complexidade de tempo de um algoritmo indica o tempo total necessário para que o programa seja executado até a conclusão. Geralmente é expressa usando a notação de O grande.
4) Mencione quais são os tipos de notação usados para a complexidade do tempo?
Os tipos de notações usados para complexidade de tempo incluem
- Big Oh: indica "menos que ou igual a" iterações
- Big Omega : indica "mais do que ou igual a" iterações
- Big Theta: indica "o mesmo que" iterações
- Little Oh: indica "menos que" iterações
- Pequeno Omega: indica "mais do que" iterações de
5) Explicar como funciona a pesquisa binária?
Na pesquisa binária, comparamos a chave com o item na posição intermediária do array. Se a chave for menor do que o item pesquisado, ela deve estar na metade inferior da matriz; se a chave for maior do que o item pesquisado, do que deveria estar na metade superior da matriz.
6) Explique se é possível usar a pesquisa binária para listas vinculadas?
Visto que o acesso aleatório não é aceitável na lista encadeada, é impossível alcançar o elemento do meio do tempo O (1). Portanto, a pesquisa binária não é possível para a lista vinculada.
7) Explique o que é tipo de heap?
A classificação de heap pode ser definida como um algoritmo de classificação baseado em comparação. Ele divide sua entrada na região não classificada e classificada, até reduzir a região não classificada, eliminando o menor elemento e movendo-o para a região classificada.
8) Explique o que é Lista de pulos?
Skip list o método de estruturação de dados, onde permite ao algoritmo pesquisar, excluir e inserir elementos em uma tabela de símbolos ou dicionário. Em uma lista de ignorar, cada elemento é representado por um nó. A função de pesquisa retorna o conteúdo do valor relacionado à chave. A operação de inserção associa uma chave especificada a um novo valor, enquanto a função de exclusão exclui a chave especificada.
9) Explique o que é complexidade espacial do algoritmo de ordenação por inserção?
A classificação por inserção é um algoritmo de classificação local, o que significa que não requer nada extra ou pouco. armazenar. Para a classificação por inserção, é necessário que apenas elementos de lista única sejam armazenados fora dos dados iniciais, tornando a complexidade do espaço 0 (1).
10) Explique o que é um "algoritmo de hash" e para que é usado?
"Hash Algorithm" é uma função hash que pega uma string de qualquer comprimento e a diminui para uma string única de comprimento fixo. É usado para validade de senha, integridade de mensagem e dados e para muitos outros sistemas criptográficos.
11) Explique como descobrir se a lista vinculada possui um loop.
Para saber se a lista vinculada possui um loop, usaremos a abordagem de dois ponteiros. Se mantivermos dois ponteiros, e aumentarmos um ponteiro após processar dois nós e outro após processar cada nó, provavelmente encontraremos uma situação em que ambos os ponteiros estarão apontando para o mesmo nó. Isso só ocorrerá se a lista vinculada tiver um loop.
12) Explicar como funciona o algoritmo de criptografia?
Criptografia é o processo de conversão de texto simples em um formato de código secreto conhecido como "Texto cifrado". Para converter o texto, o algoritmo usa uma sequência de bits conhecida como "chaves" para cálculos. Quanto maior a chave, maior o número de padrões potenciais para a criação de texto cifrado. A maioria dos algoritmos de criptografia usa códigos de blocos fixos de entrada com comprimento de cerca de 64 a 128 bits, enquanto alguns usam o método de fluxo.
13) Liste alguns dos algoritmos criptográficos comumente usados?
Alguns dos algoritmos criptográficos comumente usados são
- 3 vias
- Blowfish
- FUNDIDA
- CMEA
- GOST
- DES e Triple DES
- IDEIA
- LOKI e assim por diante
14) Explique qual é a diferença entre o cenário do melhor caso e o cenário do pior caso de um algoritmo?
-
Melhor cenário de caso: O melhor cenário de caso para um algoritmo é explicado como o arranjo de dados para o qual o algoritmo tem melhor desempenho. Por exemplo, fazemos uma pesquisa binária, para a qual o melhor cenário seria se o valor de destino estivesse bem no centro dos dados que você está procurando. O melhor caso de complexidade de tempo seria 0 (1)
- Pior cenário: refere-se ao pior conjunto de entrada para um determinado algoritmo. Por exemplo, quicksort, que pode ter pior desempenho se você selecionar o maior ou o menor elemento de uma sublista para o valor dinâmico. Isso fará com que a classificação rápida degenere em O (n2).
15) Explique o que é o algoritmo Radix Sort?
A classificação Radix coloca o elemento em ordem, comparando os dígitos dos números. É um dos algoritmos de classificação linear para inteiros.
16) Explique o que é um algoritmo recursivo?
Algoritmo recursivo é um método de resolver um problema complicado dividindo um problema em subproblemas cada vez menores até que o problema seja pequeno o suficiente para ser resolvido facilmente. Normalmente, envolve uma função que chama a si mesma .
17) Mencione quais são as três leis do algoritmo de recursão?
Todo algoritmo recursivo deve seguir três leis
- Deve ter um caso base
- Um algoritmo recursivo deve chamar a si mesmo
- Um algoritmo recursivo deve mudar seu estado e se mover em direção ao caso base
18) Explique o que é o algoritmo de classificação por bolha?
O algoritmo de classificação por bolha também é conhecido como classificação por afundamento. Nesse tipo de classificação, a lista a ser classificada compara o par de itens adjacentes. Se eles estiverem organizados na ordem errada, ele irá trocar os valores e organizá-los na ordem correta.