Le 17 principali domande e risposte alle interviste con elenchi collegati
Ecco le domande e le risposte al colloquio della Linked List per matricole e candidati esperti per ottenere il lavoro dei loro sogni.
1) Menziona cosa sono le liste collegate?
Un elenco collegato è una struttura dati che può memorizzare una raccolta di elementi. In altre parole, gli elenchi concatenati possono essere utilizzati per memorizzare più oggetti dello stesso tipo. Ogni unità o elemento della lista viene definito nodo. Ogni nodo ha i propri dati e l'indirizzo del nodo successivo. È come una catena. Le liste collegate vengono utilizzate per creare grafici e alberi.
Download gratuito del PDF: domande e risposte all'intervista con elenco collegato
2) A quale tipo di allocazione di memoria si fa riferimento per le liste collegate?
L'allocazione dinamica della memoria si riferisce agli elenchi collegati.
3) Menzionare cos'è l'attraversamento negli elenchi collegati?
Il termine Traversal viene utilizzato per riferirsi all'operazione di elaborazione di ciascun elemento nell'elenco.
4) Descrivi cos'è Node nell'elenco dei collegamenti? E nominare i tipi di elenchi collegati?
Insieme (dati + collegamento) viene indicato come Nodo. I tipi di elenchi collegati sono,
- Elenco collegato singolarmente
- Elenco doppiamente collegato
- Moltiplica elenco collegato
- Elenco collegato circolare
5) Menzionare cos'è l'elenco collegato singolarmente?
Gli elenchi collegati singolarmente sono un tipo di struttura datiIn una lista concatenata singolarmente, ogni nodo della lista memorizza il contenuto del nodo e un riferimento o puntatore al nodo successivo nella lista. Non memorizza alcun riferimento o puntatore al nodo precedente.
6) Menziona qual è la differenza tra Linear Italia e l'elenco collegato?
La differenza tra array lineare e elenco collegato è mostrata di seguito,
lineare | Lista collegata |
---|---|
Le cancellazioni e gli inserimenti sono difficili. | Cancellazioni e inserimenti possono essere eseguiti facilmente. |
Per l'inserimento e la cancellazione necessita di movimenti | Per l'inserimento e la cancellazione non è necessario lo spostamento dei nodi |
In esso lo spazio è sprecato | In esso lo spazio non è sprecato |
È costoso | Non è caro |
Non può essere ridotto o ampliato a seconda delle esigenze | Può essere ridotto o ampliato a seconda delle esigenze |
Per usufruire di ciascun elemento è necessaria la stessa quantità di tempo. | Per usufruire di ciascun elemento è necessaria una quantità di tempo diversa. |
Gli elementi vengono memorizzati in locazioni di memoria consecutive. | Gli elementi possono essere memorizzati o meno in posizioni di memoria consecutive |
Possiamo arrivarci direttamente se dobbiamo recarci in un elemento particolare | Per raggiungere un particolare nodo è necessario attraversare tutti quei nodi che precedono quel nodo. |
7) Menzionare quali sono le applicazioni delle liste collegate?
Le applicazioni delle liste collegate sono,
- Gli elenchi collegati vengono utilizzati per implementare code, pile, grafici, ecc.
- Nelle liste collegate non è necessario conoscere la dimensione in anticipo.
- Gli elenchi collegati consentono di inserire elementi all'inizio e alla fine dell'elenco.
8) Cosa contiene l'intestazione fittizia nell'elenco collegato?
Nell'elenco collegato, l'intestazione fittizia contiene il primo record dei dati effettivi
9) Citare i passaggi per inserire i dati all'inizio di una lista singolarmente concatenata?
I passaggi per inserire i dati all'inizio di un elenco collegato singolarmente includono,
- Crea un nuovo nodo
- Inserisci il nuovo nodo assegnando il puntatore head al puntatore successivo del nuovo nodo
- Aggiornando il puntatore head al punto del nuovo nodo.
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) Menziona qual è la differenza tra elenchi collegati singolarmente e doppiamente?
I nodi di una lista doppiamente collegata contengono tre campi:
- Un valore intero e
- Due collegamenti ad altri nodi
- uno per puntare al nodo precedente e
- altro per puntare al nodo successivo.
Mentre un elenco collegato singolarmente contiene punti solo al nodo successivo.
11) Menziona quali sono le applicazioni che utilizzano elenchi collegati?
Sia le code che gli stack sono spesso implementati utilizzando liste concatenate. Altre applicazioni includono liste, alberi binari, skip, liste concatenate srotolate, tabelle hash, ecc.
12) Spiegare come aggiungere un elemento all'inizio dell'elenco?
Per aggiungere un elemento all'inizio dell'elenco, devi fare quanto segue:
- Crea un nuovo elemento e impostane il valore
- Collega il nuovo elemento in modo che punti all'inizio dell'elenco
- Imposta l'inizio dell'elenco come nuovo elemento
Se stai utilizzando una funzione per eseguire questa operazione, devi modificare la variabile head. Per fare ciò, devi passare un puntatore alla variabile puntatore (un doppio puntatore). quindi sarai in grado di modificare il puntatore stesso.
13) Menziona qual è il più grande vantaggio delle liste collegate?
Il vantaggio più grande degli elenchi collegati è che non specifichi una dimensione fissa per il tuo elenco. Più elementi aggiungi alla catena, più grande diventa la catena.
14) Menziona come eliminare il primo nodo dall'elenco collegato singolarmente?
Per eliminare il primo nodo dall'elenco collegato singolarmente
- Memorizza l'inizio corrente in un altro puntatore temporaneo
- Sposta il puntatore di avvio di una posizione avanti
- Elimina temp, ovvero il nodo iniziale precedente poiché abbiamo la versione aggiornata del puntatore iniziale
15) Menzionare come visualizzare l'elenco collegato singolarmente dal primo all'ultimo?
Per visualizzare l'elenco collegato singolarmente dal primo all'ultimo,
- Crea un elenco collegato utilizzando create().
- Non è possibile modificare l'indirizzo memorizzato nella variabile globale “start” pertanto è necessario dichiarare una variabile temporanea -“temp” di tipo node
- Per spostarsi dall'inizio alla fine, è necessario assegnare l'indirizzo del nodo iniziale nella variabile puntatore, ad esempio temp.
struct node *temp; //Declare temp temp = start; //Assign Starting Address to temp
Se la temperatura è NULL allora puoi dire che è stato raggiunto l'ultimo nodo.
while(temp!=NULL) { printf("%d",temp->data); temp=temp->next; }
16) Menzionare come inserire un nuovo nodo nell'elenco collegato dove sarà disponibile il nodo libero?
Per inserire un nuovo nodo nell'elenco collegato, il nodo libero sarà disponibile nell'elenco Avail.
17) Menziona per quale elenco di intestazioni troverai che l'ultimo nodo contiene il puntatore nullo?
Per l'elenco di intestazioni con messa a terra troverai che l'ultimo nodo contiene il puntatore nullo.
Queste domande del colloquio ti aiuteranno anche nel tuo viva(orale)
Così carino
sono delle domande davvero belle ……………
Mi aiuta tantissimo, grazie
per favore come potrei risolvere questo problema
(elenco collegato con nodo testa fittizio)
Date due liste concatenate L1 e L2, decidere una procedura in pseudo linguaggio che utilizzi lista concatenata ADT per inserire L2 dopo il terzo elemento dall'ultimo di L1
Se L1 è 1-2-3-4-5-6-7-8-9 e L2 è 1-1-1
The result is 1-2-3-4-5-6-7-1-1-1-8-9
devi prima attraversare L1 con due puntatori:
puntatore1 – un passo dalla testa.
puntatore2 – 3 passi dalla testa.
mentre (pointer2.next!=null){
puntatore2 = puntatore2.successivo;
puntatore1 = puntatore1.successivo;
}
// ora avrai un puntatore 1 che punta al terzo nodo dall'ultimo.
temp = puntatore1.next
puntatore1.successivo = L2;
traversL2 fino alla fine per ottenere l'ultimo elemento->
LastElementOfL2.Next = temperatura;
...
Molto Buone