17 populaarseimat lingitud loendi intervjuu küsimust ja vastust
Siin on Linked Listi intervjuu küsimused ja vastused nii värsketele kui ka kogenud kandidaatidele oma unistuste töökoha saamiseks.
1) Mainige, mis on lingitud loendid?
Lingitud loend on andmestruktuur, mis võib salvestada üksuste kogumit. Teisisõnu saab lingitud loendeid kasutada mitme sama tüüpi objekti salvestamiseks. Iga loendi ühikut või elementi nimetatakse sõlmeks. Igal sõlmel on oma andmed ja järgmise sõlme aadress. See on nagu kett. Lingitud loendeid kasutatakse graafikute ja puude loomiseks.
Tasuta PDF-i allalaadimine: lingitud loendi intervjuu küsimused ja vastused
2) Mis tüüpi mälu eraldamine on seotud lingitud loendite jaoks?
Lingitud loendite puhul viitab dünaamiline mälu eraldamine.
3) Mainige, mis on lingitud loendites läbimine?
Terminit Traversal kasutatakse loendi iga elemendi töötlemise toimingu viitamiseks.
4) Kirjeldage, mis on linkide loendis sõlm? Ja nimetage lingitud loendite tüübid?
Koos (andmed + link) nimetatakse sõlmeks. Lingitud loendite tüübid on
- Üksiklingitud loend
- Topeltlingitud loend
- Lingitud loendi korrutamine
- Ringikujuline lingitud loend
5) Mainige, mis on üksikult lingitud loend?
Üksiklingitud loend on teatud tüüpi andmete struktuurÜksikult lingitud loendis salvestab iga loendi sõlm sõlme sisu ja viite või pointeri loendi järgmisele sõlmele. See ei salvesta viidet ega pointerit eelmisele sõlmele.
6) Mainige, mis vahe on Lineaarsel Array ja lingitud loend?
Erinevused lineaarse massiivi ja lingitud loendi vahel on näidatud allpool,
lineaarse reaga | Lingitud loend |
---|---|
Kustutamine ja sisestamine on keeruline. | Kustutamist ja lisamisi saab teha lihtsalt. |
Sisestamiseks ja kustutamiseks vajab see liigutusi | Sisestamiseks ja kustutamiseks ei nõua see sõlmede liigutamist |
Selles raisatakse ruumi | Selles ruumi ei raisata |
See on kallis | See ei ole kallis |
Seda ei saa vastavalt nõuetele vähendada ega pikendada | Seda saab vastavalt nõuetele vähendada või pikendada |
Iga elemendi kasutamiseks on vaja sama palju aega. | Iga elemendi kasutamiseks on vaja erinevat aega. |
Järjestikustesse mälukohtadesse salvestatakse elemente. | Elemente võib, aga ei pruugita salvestada järjestikustesse mälukohtadesse |
Me jõuame sinna otse, kui peame minema konkreetse elemendi juurde | Konkreetse sõlmeni jõudmiseks peate läbima kõik need sõlmed, mis on enne seda sõlme. |
7) Nimetage, millised on lingitud loendite rakendused?
Lingitud loendite rakendused on
- Lingitud loendeid kasutatakse järjekordade, virnade, graafikute jms rakendamiseks.
- Lingitud loendites ei pea te suurust ette teadma.
- Lingitud loendid võimaldavad sisestada elemente loendi algusesse ja lõppu.
8) Mida sisaldab lingitud loendi näivpäis?
Lingitud loendis sisaldab näiv päis tegelike andmete esimest kirjet
9) Mainige samme andmete sisestamiseks üksikult lingitud loendi algusesse?
Üksiklingitud loendi algusesse andmete sisestamise sammud hõlmavad järgmist:
- Looge uus sõlm
- Sisestage uus sõlm, määrates peakursori uue sõlme järgmisele kursorile
- Peaosuti värskendamine uue sõlme juurde.
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) Nimetage, mis vahe on üksik- ja topeltlingitud loenditel?
Topeltlingitud loendi sõlmed sisaldavad kolme välja:
- Täisarv väärtus ja
- Kaks linki teistele sõlmedele
- üks, mis osutab eelmisele sõlmele ja
- muu, et osutada järgmisele sõlmele.
Seevastu üksikult lingitud loend sisaldab punkte ainult järgmisele sõlmele.
11) Nimetage, millised on rakendused, mis kasutavad lingitud loendeid?
Nii järjekordi kui ka pinu rakendatakse sageli lingitud loendite abil. Muud rakendused on loend, binaarpuu, vahelejätmine, lahtirullitud lingitud loend, räsitabel jne.
12) Selgitage, kuidas lisada üksus loendi algusesse?
Üksuse lisamiseks loendi algusesse peate tegema järgmist.
- Looge uus üksus ja määrake selle väärtus
- Linkige uus üksus, et osutada loendi päisele
- Määrake loendi esiosa meie uueks üksuseks
Kui kasutate selle toimingu tegemiseks funktsiooni, peate muutma pea muutujat. Selleks tuleb suunata kursor osuti muutujale (topeltkursor). nii saate kursorit ise muuta.
13) Nimetage, mis on lingitud loendite suurim eelis?
Lingitud loendite suurim eelis on see, et te ei määra oma loendile kindlat suurust. Mida rohkem elemente ketti lisate, seda suuremaks kett muutub.
14) Mainige, kuidas kustutada esimene sõlm üksikult lingitud loendist?
Esimese sõlme kustutamiseks üksikult lingitud loendist
- Salvestage praegune algus teises ajutises kursoris
- Liigutage stardiosutit üks positsioon ettepoole
- Kustuta temp, st eelmine algussõlm, kuna oleme värskendanud Start Pointeri versiooni
15) Mainige, kuidas kuvada üksikult lingitud loend esimesest viimaseni?
Üksiklingitud loendi kuvamiseks esimesest viimaseni,
- Looge lingitud loend, kasutades create().
- Globaalse muutuja “start” sees salvestatud aadressi ei saa muuta, seetõttu tuleb deklareerida üks ajutine muutuja - “temp” tüüpi node
- Algusest lõpuni liikumiseks peaksite määrama osuti muutuja algussõlme aadressi, st temp.
struct node *temp; //Declare temp temp = start; //Assign Starting Address to temp
Kui temp on NULL, võite öelda, et viimane sõlm on saavutatud.
while(temp!=NULL) { printf("%d",temp->data); temp=temp->next; }
16) Mainige, kuidas lisada uus sõlm lingitud loendisse, kus tasuta sõlm on saadaval?
Uue sõlme lisamiseks lingitud loendisse on tasuta sõlm saadaval saadavuse loendis.
17) Nimetage, millise päiste loendi jaoks leiate, et viimane sõlm sisaldab nullkursorit?
Maandatud päiste loendi puhul leiate, et viimane sõlm sisaldab nullkursorit.
Need intervjuu küsimused aitavad ka teie viva (suuline)
Nii kena
selle päris head küsimused ………………………
See aitab mind väga, tänan
palun, kuidas saaksin selle probleemi lahendada
(lingitud loend näivpeasõlmega)
Arvestades kahte lingitud loendit L1 ja L2, otsustage pseudokeeles protseduur, mis kasutab ADT lingitud loendit L2 lisamiseks L1 viimasest kolmandast elemendist
Kui L1 on 1-2-3-4-5-6-7-8-9 ja L2 on 1-1-1
The result is 1-2-3-4-5-6-7-1-1-1-8-9
peate kõigepealt läbima L1 kahe osutiga:
pointer1 – üks samm peast.
osuti2 – 3 sammu peast.
while (pointer2.next!=null){
pointer2 = pointer2.ext;
pointer1 = pointer1.ext;
}
// nüüd on teil kursor 1, mis osutab viimasest 3. sõlmele.
temp = pointer1.ext
pointer1.ext = L2;
traversL2 lõpuni, et saada viimane element->
LastElementOfL2.Next = temp;
...
Väga hea