Perguntas e respostas da entrevista de estrutura de dados [para calouros e experientes]

Publicados: 2020-11-23

O objetivo de escrever perguntas de entrevista sobre estrutura de dados e algoritmos é familiarizá-lo com a natureza das perguntas que geralmente são feitas em uma entrevista para o assunto Estrutura de dados e algoritmos. Bons entrevistadores não fazem perguntas predeterminadas. Normalmente, as perguntas começam a partir de conceitos básicos do assunto e continuam dependendo de suas respostas e discussões adicionais. Se você deseja ganhar experiência e conseguir o emprego dos seus sonhos em ciência de dados, confira nossas certificações em ciência de dados.

Índice

Perguntas e respostas da entrevista sobre estruturas de dados

1. O que é estrutura de dados?

Você pode pensar na estrutura de dados como uma metodologia que define, armazena e recupera dados de forma sistemática e estrutural. Uma estrutura de dados pode conter diferentes tipos de itens de dados.

2. Quais são as várias estruturas de dados disponíveis?

A disponibilidade de estruturas de dados pode variar dependendo da linguagem de programação. Algumas das estruturas de dados comumente usadas são árvore, gráficos, filas, listas, matrizes e pilha.

Leia também: Classificação na estrutura de dados

3. O que significa um algoritmo?

Você pode pensar em um algoritmo como um procedimento passo a passo para definir um conjunto de instruções cuja execução em uma ordem fixa fornece a saída desejada.

4. Qual é a necessidade de análise de algoritmos?

Um determinado problema pode ser resolvido de várias maneiras. Assim, é possível derivar vários algoritmos de solução. O objetivo de analisar algoritmos é encontrar e implementar o algoritmo mais adequado.

5. Critérios para análise de algoritmos

Os algoritmos são analisados ​​com base em dois fatores – espaço e tempo. Implica tempo de execução e espaço extra requerido por parte de um algoritmo.

6. O que se entende por análise assintótica de um algoritmo?

Para qualquer algoritmo, existem três níveis diferentes de tempo de execução com base na ligação matemática:

  • A representação do Melhor Caso é feita pelo símbolo Ω(n)
  • A representação do pior caso é feita pelo símbolo Ο(n)
  • A representação do Caso Médio é feita pelo símbolo Θ(n)

7. O que significa uma estrutura de dados linear?

Quando os itens de dados são organizados sequencialmente, é chamado de estrutura de dados linear. Os itens de dados são armazenados e acessados ​​sequencialmente. Um exemplo típico de uma estrutura de dados linear é uma lista e uma matriz.

8. Quais são as operações comuns realizadas em uma estrutura de dados?

A seguir estão as operações que podem ser executadas em uma estrutura de dados:

Inserção – Adição de um item de dados

Exclusão - Eliminação de item de dados

Traversal – Acessando e imprimindo itens de dados

Pesquisar – Encontre um item de dados

Classificar – Itens de dados organizados em uma sequência predefinida

Leitura obrigatória: ideias e tópicos de projetos de estrutura de dados

9. Quais são as diferentes abordagens para desenvolver algoritmos?

Existem três abordagens comumente usadas para desenvolver algoritmos, que são:

Abordagem gananciosa: Escolhendo a próxima melhor opção para encontrar uma solução.

Dividir e conquistar: O problema é dividido em um mínimo possível de subproblemas e cada subproblema é resolvido de forma independente.

Programação Dinâmica: Um problema é dividido em subproblemas mínimos, e eles são resolvidos juntos. C

9. Exemplos do algoritmo guloso:

  1. · Algoritmo de árvore geradora mínima de Djikstra, Kruskal e Prim
  2. · Gráfico – Coloração do mapa
  3. Problema da tampa do vértice
  4. · Problema de Agendamento de Trabalho
  5. · Problema da mochila
  6. · Problema do Caixeiro Viajante

10. Exemplos de algoritmos de divisão e conquista

  1. Multiplicação da Matriz de Stassen
  2. Ordenação rápida
  3. Mesclar classificação
  4. Par mais próximo
  5. Pesquisa binária

11. Exemplos de algoritmos de programação dinâmica:

  1. Torre de Hanói
  2. Caminho mais curto por Dijkstra
  3. Agendamento do projeto
  4. Problema na mochila
  5. Série de números de Fibonacci
  6. Todos os pares de caminho mais curto por Floyd-Marshall

12. O que é uma lista encadeada?

Você pode pensar em uma lista vinculada como uma lista de itens de dados que estão interconectados com links, ou seja, referências ou ponteiros. O acesso direto aos locais de memória não é permitido em linguagens de alto nível contemporâneas e não são suportados nelas. Se estiverem disponíveis, é na forma de funções incorporadas.

13. O que é uma pilha?

É um tipo de tipo de dados abstrato usado para armazenar e recuperar valores no formato Last In First Out.

14. Por que usamos pilhas?

O Stacks usa o método LIFO de adição e recuperação de itens de dados que consomem apenas tempo O(n). Se você precisar acessar itens de dados na ordem inversa de sua chegada, poderá usar pilhas. As pilhas são mais comumente usadas na análise de expressões, uma chamada de função recursiva e travessia de gráficos em profundidade.

Operações comuns que você pode executar em uma pilha:

push(): Adicionando um item ao topo da pilha

pop(): Removendo um item do topo da pilha

peek(): Mostra o valor de um item superior sem excluí-lo

is empty(): Verifique se você tem uma pilha vazia

is full(): Verifica se você tem um full-stack

15. O que significa uma fila na estrutura de dados?

Assim como a pilha, a fila também é uma estrutura de dados abstrata. No entanto, uma fila está aberta em ambas as extremidades. Isso significa que uma extremidade é usada para inserir dados (enfileirar) e a outra extremidade é usada para remover o item (desenfileirar). A fila segue a metodologia First-In-First-Out, ou seja, o item de dados que é armazenado primeiro será acessado primeiro.

16. Para que servem as filas?

Como a fila segue o método First In First Out, essa estrutura de dados pode ser usada para trabalhar em itens de dados na sequência exata de sua chegada. As filas são amplamente utilizadas em sistemas operacionais para diferentes processos. Traversal em largura de gráficos e filas de prioridade são alguns exemplos de filas.

17. Operações que podem ser realizadas em fila:

enqueue(): Adicionando itens ao final da fila

dequeue(): Remove um item do front-end da fila

peek(): Mostra o valor do item da frente sem removê-lo

is empty(): Verifica se a pilha está vazia

is full(): Verifica se a pilha está cheia

18. O que é uma busca binária?

A pesquisa binária é uma técnica de pesquisa que se aplica a uma lista ou matriz ordenada. A pesquisa seleciona a unidade do meio que pode dividir a lista inteira em duas partes. Primeiro, a unidade do meio é comparada ao item de pesquisa.

Se for uma correspondência, o algoritmo termina com sucesso. Caso contrário, ele tenta verificar se o item de pesquisa é menor ou maior que a unidade do meio. Se o item de pesquisa for pequeno, o meio se tornará o último item da matriz ou lista. Se o item de pesquisa for grande, o meio se tornará o item superior da lista.

Pensamentos finais

Esperamos que nosso guia de perguntas e respostas da entrevista de estrutura de dados seja útil. Estaremos atualizando o guia regularmente para mantê-lo atualizado.

Se você está curioso para aprender sobre ciência de dados, confira o Programa PG Executivo em Ciência de Dados do IIIT-B & upGrad, que é criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor, 1 -on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.

O que significa uma estrutura de dados abstrata?

A Estrutura de Dados Abstrata ou Tipo de Dados Abstratos (ADT) é um modelo matemático de estruturas de dados que mostra o tipo de dados armazenados, as operações suportadas pelos dados e os tipos de parâmetros de operações. Com a ajuda do ADT, os usuários podem descobrir o que cada operação faz. No entanto, não pode ajudar a encontrar o funcionamento das operações. Diferentes estruturas de dados podem ser usadas para executar estruturas de dados abstratas. Especificar um ADT para o programa é um excelente passo inicial para determinar qual estrutura de dados empregar em um programa.

Quais são os diferentes tipos de estruturas de dados?

As estruturas de dados são classificadas em dois tipos: estruturas de dados lineares e não lineares. Os elementos de estruturas de dados lineares são colocados sequencialmente um após o outro. São simples de executar, pois as peças são organizadas em uma ordem específica. No entanto, à medida que a complexidade do programa cresce, estruturas de dados lineares podem não ser a solução ideal devido a dificuldades operacionais. Estruturas de dados não lineares não possuem elementos em uma ordem típica. Em vez disso, eles são organizados em uma ordem hierárquica, com um elemento vinculado a um ou mais outros.

Quais recursos das estruturas de dados permanecerão relevantes no futuro?

Quase todos os recursos das estruturas de dados provavelmente permanecerão relevantes no futuro porque as estruturas de dados estão no centro da ciência da computação. De arrays básicos a Binary Search Trees e além, eles desempenham papéis críticos no desenvolvimento de algoritmos que estão essencialmente enraizados na vida cotidiana. Por causa das estruturas de dados, o mundo da tecnologia de hoje é rápido, eficiente e exato. As estratégias usadas para modificar estruturas de dados se tornarão mais indistinguíveis.