Introduction aux structures et algorithmes de données Questions et réponses d'entrevue

La structure de données est un moyen qui définit, stocke et récupère les données dans un format structurel et systématique. Une structure de données contient différents types d'ensembles de données. Différents types de données sont disponibles pour différents types d'applications, et certaines des données sont hautement spécialisées pour des tâches spécifiques. Un algorithme est une procédure étape par étape avec un ensemble d'instructions afin de s'exécuter de manière appropriée pour obtenir la sortie souhaitée. En mathématiques et en informatique, un algorithme signifie généralement une petite procédure qui résout un problème récurrent.

Vous trouverez ci-dessous les principales questions et réponses d'entrevue sur les structures de données et les algorithmes de 2018:

Si vous recherchez un emploi lié aux structures et algorithmes de données, vous devez vous préparer aux questions d'entrevue sur les structures et algorithmes de données 2018. Bien que chaque entretien soit différent et que la portée d'un travail soit également différente, nous pouvons vous aider avec les meilleures questions et réponses d'entrevue sur les structures de données et les algorithmes, qui vous aideront à franchir le pas et à réussir votre entrevue.

Ces principales questions sont divisées en deux parties:

Partie 1 - Questions d'entrevue sur les structures de données et les algorithmes (de base)

Cette première partie couvre les questions et réponses de base sur les structures de données et les algorithmes.

1. Qu'est-ce qu'une structure de données?

Répondre:
Une structure de données est un moyen de définir, de stocker et de récupérer des données de manière structurelle et systématique. Une structure de données peut contenir un type d'élément de données différent. Différents types de structures de données sont adaptés à différents types d'applications, et certains sont hautement spécialisés pour des tâches spécifiques.

2. Quelles sont les différentes structures de données disponibles?

Répondre:
La disponibilité de la structure des données peut varier selon les langages de programmation. Les structures de données couramment disponibles sont la liste, les tableaux, la pile, les files d'attente, le graphique, l'arborescence, etc.

3. Qu'est-ce qu'un algorithme?

Répondre:
Un algorithme est une procédure étape par étape, qui définit un ensemble d'instructions à exécuter dans un certain ordre pour obtenir la sortie souhaitée. Un programme informatique peut être considéré comme un algorithme élaboré. En mathématiques et en informatique, un algorithme signifie généralement une petite procédure qui résout un problème récurrent.

Passons aux prochaines questions d'entrevue sur les structures de données et les algorithmes

4. Différenciez la structure des fichiers de la structure de stockage.

Répondre:
En fait, la principale différence est la zone de mémoire à laquelle on accède. Lorsqu'il s'agit de la structure qui réside dans la mémoire principale du système informatique, on parle de structure de stockage. Lorsqu'il s'agit d'une structure auxiliaire, nous la désignons sous le nom de structures de fichiers.

5. Qu'est-ce qu'une liste chaînée?

Répondre:
Une liste liée est une liste d'éléments de données liés à des liens, c'est-à-dire des pointeurs ou des références. La plupart des langages de programmation de haut niveau modernes n'offrent pas la possibilité d'accéder directement à un emplacement de mémoire, par conséquent, la liste de liens n'est pas prise en charge ni disponible sous forme de fonctions intégrées. En informatique, une liste chaînée est une collection linéaire d'éléments de données, dans laquelle l'ordre linéaire n'est pas donné par leur placement physique en mémoire. Au lieu de cela, chaque élément pointe vers le suivant. Il s'agit d'une structure de données constituée d'un groupe de nœuds qui représentent ensemble une séquence.

6. Quelle est la pile?

Répondre:
Dans la structure de données, une pile est un type de données abstrait (ADT) utilisé pour stocker et récupérer des valeurs dans la méthode Last In First Out. La pile est la mémoire mise de côté comme espace de travail pour un thread d'exécution.

7. Pourquoi utilisons-nous des piles?

Répondre:
Une structure de pile restreint considérablement la façon dont les éléments sont insérés, récupérés et supprimés: le dernier élément inséré dans la pile est le seul qui peut être récupéré ou supprimé. Les piles suivent la méthode LIFO et l'ajout et la récupération d'un élément de données ne prennent que Ο (n) temps. Les piles sont utilisées lorsque nous devons accéder aux données dans l'ordre inverse de leur arrivée. Les piles sont couramment utilisées dans les appels de fonctions récursives, l'analyse des expressions, la traversée en profondeur des graphiques, etc.

Partie 2 - Questions d'entrevue sur les structures de données et les algorithmes (avancé)

Jetons maintenant un coup d'œil aux questions d'entrevue avancées sur les structures de données et les algorithmes.

8. Quelles opérations peuvent être effectuées sur des piles?

Répondre:
Les opérations ci-dessous peuvent être effectuées sur une pile -
• push () - ajoute un élément à empiler - Insertion
• pop () - supprime l'élément supérieur de la pile -Suppression
• peek () - donne la valeur d'un élément supérieur sans le supprimer -Traversal
• isempty () - vérifie si une pile est vide –Null check
• isfull () - vérifie si une pile est pleine –Pas d'espace

9. Qu'est-ce qu'une file d'attente dans la structure de données?

Répondre:
La file d'attente est une structure de données abstraite, quelque peu similaire à la pile. Contrairement à la pile, une file d'attente est ouverte aux deux extrémités. Une extrémité est toujours utilisée pour insérer des données (mise en file d'attente) et l'autre est utilisée pour supprimer des données (mise en file d'attente). La file d'attente suit la méthodologie du premier entré, premier sorti, c'est-à-dire que l'élément de données stocké en premier sera accessible en premier.

10. Qu'est-ce que la recherche linéaire?

Répondre:
La recherche linéaire essaie de trouver un élément dans un type de données organisé séquentiellement. Ces éléments de données disposés séquentiellement, appelés tableau ou liste, sont accessibles dans un emplacement de mémoire incrémenté. La recherche linéaire compare l'élément de données attendu avec chacun des éléments de données de la liste ou du tableau. La complexité temporelle moyenne de la recherche linéaire est Ο (n) et la complexité la plus défavorable est Ο (n2). Les données dans les tableaux / listes cibles n'ont pas besoin d'être triées.

Passons aux prochaines questions d'entrevue sur les structures de données et les algorithmes

11. Qu'est-ce qu'une recherche binaire?

Répondre:
Une recherche binaire ne fonctionne que sur des listes ou des tableaux triés. Cette recherche sélectionne le milieu qui divise la liste entière en deux parties. Tout d'abord, le milieu est comparé.
Cette recherche compare d'abord la valeur cible au milieu de la liste. S'il n'est pas trouvé, il prend alors une décision sur la météo. En informatique, la recherche binaire, également connue sous le nom de recherche à demi-intervalle, de recherche logarithmique ou de découpage binaire, est un algorithme de recherche qui trouve la position d'une valeur cible dans un tableau trié.

12. Qu'est-ce qu'un graphique?

Répondre:
Un graphique est une représentation imagée d'un ensemble d'objets où certaines paires d'objets sont reliées par des liens. Les objets interconnectés sont représentés par des points appelés sommets et les liens qui relient les sommets sont appelés arêtes. Une structure de données de graphe se compose d'un ensemble fini (et éventuellement mutable) de sommets ou de nœuds ou de points, ainsi qu'un ensemble de paires non ordonnées de ces sommets pour un graphe non orienté ou un ensemble de paires ordonnées pour un graphe orienté.

13. Qu'est-ce qu'une fonction récursive?

Répondre:
Une fonction récursive est une fonction qui s'appelle elle-même, directement ou appelle une fonction qui à son tour l'appelle. Chaque fonction récursive suit les propriétés récursives - critères de base où les fonctions cessent de s'appeler et approche progressive où les fonctions essaient de répondre aux critères de base à chaque itération. Une application importante de la récursivité en informatique est la définition de structures de données dynamiques telles que les listes et les arbres.

14. Qu'est-ce qu'une tour de Hanoi?

Répondre:
Tour de Hanoi, est un puzzle mathématique qui se compose de trois tours (chevilles) et de plus d'un anneau. Tous les anneaux sont de tailles différentes et empilés les uns sur les autres où le grand disque est toujours en dessous du petit disque. Le but est de déplacer la tour d'un disque d'une cheville à l'autre, sans casser ses propriétés. L'objectif de ce jeu est de déplacer les disques un par un du premier piquet au dernier piquet. Et il n'y a qu'une seule condition, nous ne pouvons pas placer un plus gros disque sur un plus petit disque.

15. Donnez quelques exemples d'algorithmes gourmands.

Répondre:
Les problèmes ci-dessous trouvent leur solution en utilisant une approche d'algorithme gourmand -
• Problème de voyageur de commerce
• Algorithme de Spanning Tree minimal de Prim
• Algorithme de Spanning Tree minimal de Kruskal
• Algorithme de Spanning Tree minimal de Dijkstra
• Graphique - Coloration de la carte
• Graphique - Vertex Cover
• Problème de sac à dos
• Problème de planification des travaux

Article recommandé

Ceci a été un guide pour la liste des questions et réponses d'entrevue sur les structures de données et les algorithmes afin que le candidat puisse réprimer facilement ces questions d'entrevue sur les structures de données et les algorithmes. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. 10 meilleures structures de données et algorithmes C ++ | Les bases
  2. Les meilleurs langages de programmation pour l'apprentissage des algorithmes
  3. Questions d'entrevue SSRS - Comment résoudre les 10 principales questions
  4. Questions d'entrevue sur la sécurité du réseau - Top et les plus posées