As 8 principais perguntas e respostas da entrevista sobre algoritmos (Atualizado para 2019)

Índice:

Anonim

Introdução às perguntas e respostas da entrevista de algoritmo

Preparando-se para uma entrevista de emprego em Algoritmo. Tenho certeza que você deseja conhecer as perguntas e respostas mais comuns da entrevista de algoritmo de 2019 que ajudarão você a resolver a entrevista de algoritmo com facilidade. Abaixo está a lista das principais perguntas e respostas da entrevista de algoritmo em seu resgate.

Abaixo está a lista de perguntas e respostas da entrevista de algoritmo de 2019, que podem ser feitas durante uma entrevista para uma atualização e experiência.

1. Escreva um algoritmo para reverter uma string. Por exemplo, se minha string for "vahbunA", meu resultado será "Anubhav".

Responda:
Etapa 1: Iniciar
Etapa 2: pegue duas variáveis ​​I e j.
Etapa 3: j é posicionado no último caractere (tecnicamente, podemos fazer isso por comprimento (string) -1)
Etapa 4: eu estou posicionado no primeiro caractere (podemos fazer isso pela string (0))
Etapa 5: String (i) é trocada String (j) Etapa 6: Incremente I em 1
Etapa 7: Incremente J em 1
Etapa 8: se 'I'> 'j', vá para a etapa 3
Etapa 9: parar

2. Escreva um algoritmo para inserir um nó na lista vinculada, assumindo que a lista vinculada já esteja classificada.

Responda:
Caso 1: se a lista vinculada estiver vazia, faça o nó como cabeça e retorne-o.
Código: New_node-> Next = head;
head = New_node
Caso 2: Inserir nó no meio
Código: While (P! = Insert_position)
(
P = p-> Próximo;
)
Store_next = P-> Next;
P-> Próximo = New_Node;
New_Node-> Next = Store_next;
Caso 3: Inserir um nó no final
Código: While (P-> next! = Null)
(
P = P-> Próximo;
)
P-> Próximo = New_Node;
New_Node-> Next = null;

3. Escreva um algoritmo para a classificação de bolhas.

Resposta: Vamos implementar o algoritmo de classificação de bolhas através da linguagem C.
Etapa 1: repita as etapas 2 e 3 para I = 1 a 10
Etapa 2: defina j = 1
Etapa 3: Repita enquanto j <= n (Onde n é o número de elementos na matriz)
(Se a (i) <a (j) Troque então a (i) e a (j) (Fim de se))
Defina j = j + 1
(Fim do loop interno) (Fim do loop externo do passo 1) Etapa 4: Sair

4. Escreva um algoritmo para o Heapsort.

Responda:
Etapa 1: Como a árvore atende à propriedade max-Heap, o item maior é armazenado no nó raiz.
Etapa 2: remova o elemento raiz e coloque no final da matriz (enésima posição) e coloque o último item da árvore (pilha) no local vago.
Etapa 3: reduza o tamanho do heap em 1 e empilhe novamente o elemento raiz para que tenhamos o elemento mais alto na raiz.
Etapa 4: O processo é repetido até que todos os itens da lista sejam classificados.

5. Escreva um algoritmo para pesquisa de Fibonacci.

Responda:
Etapa 1: A é ordenada_int_array;
Etapa 2: pegue uma variável c
Etapa 3: Fib2 = 1, Fib1 = 1 e fib = 2
Etapa 4: Enquanto fib <n do (onde n é o número de elementos na lista)
Etapa 5: atribuir a variável
Fib2 = Fib1
Fib1 = Fib
Fib = Fib1 + Fib2
Terminar enquanto
Etapa 6: atribua o valor à variável temporária I = 0, deslocamento = 0;
Etapa 7: enquanto Fib> 1 faz
I = min (deslocamento + Fib2, n)
Se c <A (i) então
Fib = Fib2
Fib1 = Fib1 - Fib2
Fib2 = Fib - Fib1
Caso contrário, se c> A (i) então
Fib = Fib1;
Fib1 = Fib2;
Fib2 = Fib - Fib1;
Deslocamento = I;
Outro
Return true
Fim se
Terminar enquanto
Retorna falso

6. Escreva um algoritmo de operação push e pop na pilha.

Resposta: Para operação push
Procedimento Adicionar (Item, Pilha, N, Superior)
(Insira 'Item' na 'pilha' de tamanho máximo 'n', superior é o número de elementos atualmente em 'Pilha')
Etapa 1: verificar pilha está excedente?
Se (Início> = N)
A pilha está excedente
Saída
Etapa 2: se a pilha não estourar, aumente o loop
Top = Top + 1
Etapa 3: Inserir o elemento
Pilha (Superior) = Item
Etapa 4: Sair
Para operação POP
Etapa 1: verificar se a pilha está abaixo do fluxo significa vazio
Se (Início <= 0)
A pilha está vazia
Saída
Etapa 2: se a pilha não estiver com fluxo insuficiente, exclua o elemento
Item = pilha (superior) Etapa 3: decrementando o valor superior
Superior = Superior - 1
Etapa 4: Sair

7. Escreva um algoritmo para operação de inserção e exclusão na fila.

Resposta: Para operação de inserção
Adicionar procedimento (fila, F, R, N, item)
(Isso inserirá 'item' na 'fila' após 'R' (raro), em que 'n' é o tamanho da matriz.)
Etapa 1: verificar se a fila está cheia significa que a fila está cheia
Se (R> = N)
A fila está cheia
Saída
Etapa 2: se a fila não for excedida, aumente o loop
R = R + 1
Etapa 3: Inserir um elemento na fila
Fila (R) = item
Etapa 4: Definir o ponteiro 'F' (frontal)
Se (F = 0)
F = 1
Saída
Para operação de exclusão na fila
Excluir procedimento (fila, F, R, item)
(Exclua 'item' da 'pilha', 'F' é o ponteiro Front-end e 'R' é o ponteiro final raro.
Etapa 1: verificar se a fila está abaixo do fluxo significa vazio
Se (R <= 0)
A fila está vazia
Saída
Etapa 2: excluindo um elemento da fila
Item = fila (F) Etapa 3: Incrementando o valor de F
F = F + 1
Etapa 4: Verificando a fila vazia
Se (F> R)
Então F = R = 0
Saída

8. Escreva um algoritmo para encontrar a profundidade mínima de uma árvore binária.

Resposta: Seja "nó" o ponteiro para o nó raiz de uma subárvore.
Etapa 1: se o nó for igual a Nulo, retorne 0
Etapa 2: se o nó for um nó folha, retorne 1.
Etapa 3: recursivamente, encontre a profundidade mínima da subárvore esquerda e direita, deixe a profundidade mínima esquerda e a profundidade mínima direita, respectivamente.
Etapa 4: para obter a altura mínima da árvore enraizada no nó, usaremos um mínimo de profundidade mínima esquerda e profundidade mínima direita e 1 para o nó raiz.
Programa:
Procedimento minDepth (Nó)
Etapa 1: se (raiz = nulo)
Retorno 0
Etapa 2: se (raiz -> esquerda = nulo e raiz -> direita = nulo)
Retorno 1
Etapa 3: se (raiz -> esquerda não for nulo)
Retornar minDepth (raiz -> direita) + 1;
Etapa 4: se (root -> Right não for nulo)
Retornar minDepth (raiz -> esquerda) + 1;
Etapa 5: retornar min (minDepth (raiz -> esquerda), minDepth (raiz -> direita)) + 1

Artigos recomendados

Este foi um guia abrangente para as perguntas e respostas da entrevista de algoritmo, para que o candidato possa reprimir essas perguntas da entrevista de algoritmo facilmente. Você também pode consultar os seguintes artigos para saber mais -

  1. Perguntas e respostas da entrevista de aprendizado de máquina
  2. Guia útil sobre perguntas da entrevista sobre Big Data
  3. Perguntas importantes da entrevista do Elasticsearch
  4. Perguntas e respostas úteis sobre a entrevista do Apache PIG