Top 17 des questions et réponses d'entretien sur liste chaînée
Voici les questions et réponses d'entretien de liste chaînée pour les candidats débutants et expérimentés pour obtenir l'emploi de leurs rêves.
1) Mentionnez ce que sont les listes liées ?
Une liste chaînée est une structure de données qui peut stocker une collection d'éléments. En d'autres termes, les listes chaînées peuvent être utilisées pour stocker plusieurs objets du même type. Chaque unité ou élément de la liste est appelé un nœud. Chaque nœud a ses propres données et l'adresse du nœud suivant. C'est comme une chaîne. Les listes liées sont utilisées pour créer des graphiques et des arbres.
Téléchargement PDF gratuit : questions et réponses d'entretien avec liste chaînée
2) Quel type d'allocation de mémoire est référencé pour les listes chaînées ?
L'allocation de mémoire dynamique est référencée pour les listes liées.
3) Mentionnez ce qu'est le parcours dans les listes chaînées ?
Le terme Traversal est utilisé pour désigner l'opération de traitement de chaque élément de la liste.
4) Décrivez ce qu'est Node dans la liste de liens ? Et nommer les types de listes chaînées ?
L'ensemble (données + lien) est appelé nœud. Les types de listes liées sont,
- Liste liée individuellement
- Liste doublement liée
- Multiplier la liste chaînée
- Liste circulaire liée
5) Mentionnez ce qu'est une liste à lien unique ?
Les listes à lien unique sont un type de Structure de données. Dans une liste à liaison simple, chaque nœud de la liste stocke le contenu du nœud et une référence ou un pointeur vers le nœud suivant de la liste. Il ne stocke aucune référence ou pointeur vers le nœud précédent.
6) Mentionnez quelle est la différence entre Linéaire tableau et liste chaînée ?
La différence entre le tableau linéaire et la liste liée est indiquée ci-dessous,
Linear Array | Liste liée |
La suppression et les insertions sont difficiles. | La suppression et les insertions peuvent être effectuées facilement. |
Pour l'insertion et la suppression, il faut des mouvements | Pour l'insertion et la suppression, cela ne nécessite pas de mouvement des nœuds |
Dedans, l'espace est gaspillé | L'espace n'y est pas perdu |
Il est cher | Il n'est pas cher |
Il ne peut être réduit ou prolongé en fonction des besoins | Il peut être réduit ou prolongé selon les besoins |
Pour bénéficier de chaque élément, le même laps de temps est nécessaire. | Pour profiter de chaque élément, un temps différent est nécessaire. |
Dans des emplacements de mémoire consécutifs, des éléments sont stockés. | Les éléments peuvent ou non être stockés dans des emplacements mémoire consécutifs |
On peut y accéder directement si on doit se rendre à un élément particulier | Pour atteindre un nœud particulier, vous devez parcourir tous les nœuds qui précèdent ce nœud. |
7) Mentionnez quelles sont les applications des listes liées ?
Les applications des listes liées sont,
- Les listes chaînées sont utilisées pour implémenter des files d'attente, des piles, des graphiques, etc.
- Dans les listes liées, vous n'avez pas besoin de connaître la taille à l'avance.
- Les listes liées vous permettent d'insérer des éléments au début et à la fin de la liste.
8) Que contient l'en-tête factice dans la liste chaînée ?
Dans la liste chaînée, l'en-tête factice contient le premier enregistrement des données réelles
9) Mentionnez les étapes pour insérer des données au début d'une liste liée individuellement ?
Les étapes pour insérer des données au début d'une liste à lien unique incluent :
- Créer un nouveau nœud
- Insérer un nouveau nœud en allouant le pointeur principal au nouveau pointeur suivant du nœud
- Mise à jour du pointeur principal au point du nouveau nœud.
Node *head; void InsertNodeAtFront(int data) { /* 1. create the new node*/ Node *temp = new Node; temp->data = data; /* 2. insert it at the first position*/ temp->next = head; /* 3. update the head to point to this new node*/ head = temp; }
10) Mentionnez quelle est la différence entre les listes à liaison simple et double ?
Les nœuds d'une liste doublement chaînée contiennent trois champs :
- Une valeur entière et
- Deux liens vers d'autres nœuds
- un pour pointer vers le nœud précédent et
- other pour pointer vers le nœud suivant.
Alors qu'une liste à chaînage unique contient des points uniquement vers le nœud suivant.
11) Mentionnez quelles sont les applications qui utilisent des listes chaînées ?
Les files d'attente et les piles sont souvent implémentées à l'aide de listes chaînées. Les autres applications sont la liste, l'arbre binaire, le saut, la liste chaînée déroulée, la table de hachage, etc.
12) Expliquez comment ajouter un élément au début de la liste ?
Pour ajouter un élément au début de la liste, vous devez procéder comme suit :
- Créer un nouvel élément et définir sa valeur
- Liez le nouvel élément pour pointer vers la tête de la liste
- Définir la tête de liste comme étant notre nouvel élément
Si vous utilisez une fonction pour effectuer cette opération, vous devez modifier la variable head. Pour ce faire, vous devez passer un pointeur à la variable de pointeur (un double pointeur). vous pourrez donc modifier le pointeur lui-même.
13) Mentionnez quel est le plus grand avantage des listes chaînées ?
Le plus grand avantage des listes chaînées est que vous ne spécifiez pas de taille fixe pour votre liste. Plus vous ajoutez d’éléments à la chaîne, plus la chaîne s’agrandit.
14) Mentionnez comment supprimer le premier nœud de la liste à chaînage unique ?
Pour supprimer le premier nœud de la liste liée individuellement
- Stocker le démarrage actuel dans un autre pointeur temporaire
- Déplacer le pointeur de départ d’une position vers l’avant
- Supprimer le nœud temporaire, c'est-à-dire le nœud de démarrage précédent, car nous avons la version mise à jour du pointeur de démarrage.
15) Mentionnez comment afficher la liste à chaînage unique du premier au dernier ?
Pour afficher la liste chaînée du premier au dernier,
- Créez une liste chaînée à l'aide de create().
- Vous ne pouvez pas modifier l'adresse stockée dans la variable globale "start", vous devez donc déclarer une variable temporaire - "temp" de type node
- Pour parcourir du début à la fin, vous devez attribuer l'adresse du nœud de départ dans la variable Pointeur, c'est-à-dire temp.
struct node *temp; //Declare temp temp = start; //Assign Starting Address to temp
Si la température est NULL, vous pouvez dire que le dernier nœud est atteint.
while(temp!=NULL) { printf("%d",temp->data); temp=temp->next; }
16) Mentionnez comment insérer un nouveau nœud dans la liste chaînée où le nœud gratuit sera disponible ?
Pour insérer un nouveau nœud dans la liste chaînée, le nœud libre sera disponible dans la liste disponible.
17) Mentionnez pour quelle liste d'en-tête vous constaterez que le dernier nœud contient le pointeur nul ?
Pour la liste d'en-têtes fondée, vous constaterez que le dernier nœud contient le pointeur nul.
Ces questions d'entretien vous aideront également dans votre soutenance
Vraiment gentil
ses très bonnes questions ………………………
Ça m'aide tellement merci
s'il vous plaît, comment pourrais-je résoudre ce problème
(liste chaînée avec nœud principal factice)
Étant donné deux listes chaînées L1 et L2, décidez d'une procédure en pseudo langage qui utilise la liste chaînée ADT pour insérer L2 après le troisième élément du dernier de L1
Si L1 est 1-2-3-4-5-6-7-8-9 et L2 est 1-1-1
The result is 1-2-3-4-5-6-7-1-1-1-8-9
vous devez d'abord parcourir L1 avec deux pointeurs :
pointer1 – à un pas de la tête.
pointer2 – 3 pas de la tête.
while (pointer2.next!=null){
pointeur2 = pointeur2.next ;
pointeur1 = pointeur1.next ;
}
// vous aurez maintenant un pointeur 1 pointant vers le 3ème nœud du dernier.
temp = pointeur1.suivant
pointeur1.next = L2 ;
traverseL2 jusqu'à la fin pour obtenir le dernier élément->
LastElementOfL2.Next = temp;
...
très bon