As 18 principais perguntas sobre a entrevista de algoritmo e amp; Respostas

Anonim

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.