Informatică Alte teme

Liste inlantuite exercitii rezolvate

Listele înlănțuite sunt structuri de date în programare unde elementele sunt stocate în noduri legate prin pointeri, permițând inserții și ștergeri eficiente. Exercițiile rezolvate implică operații precum inserarea, ștergerea și parcurgerea listelor. De exemplu, în C++, o listă înlănțuită simplă poate fi implementată cu noduri care conțin date și un pointer către următorul nod.

Exerciții rezolvate: Operații de bază

  1. 1
    Inserarea unui nod la început Crează un nod nou, setează pointerul său către capul listei, apoi actualizează capul listei. Exemplu în C++: 'newNode->next = head; head = newNode;'.
  2. 2
    Ștergerea unui nod cu valoare dată Parcurge lista pentru a găsi nodul, ajustează pointerii nodurilor învecinate și eliberează memoria. Exemplu: dacă ștergi nodul cu valoarea 5, pointerul anterior devine 'prev->next = current->next'.
  3. 3
    Parcurgerea și afișarea listei Iterează prin noduri folosind un pointer temporar și afișează datele. Exemplu în Python: 'while temp: print(temp.data); temp = temp.next'.

Exemple numerice de exerciții

  • Exercițiu 1: Inversarea listei Pentru lista 1->2->3, algoritmul schimbă pointerii pentru a obține 3->2->1, folosind pointeri anterior, curent și următor.
  • Exercițiu 2: Găsirea celui de-al n-lea nod de la sfârșit Pentru lista 10->20->30->40 și n=2, rezultatul este 30, calculat prin parcurgerea cu doi pointeri.
  • Exercițiu 3: Detectarea ciclurilor Verifică dacă lista are un ciclu folosind algoritmul lui Floyd (turtle și hare); exemplu: lista cu ciclu 1->2->3->2 returnează True.

Implementează manual liste înlănțuite într-un limbaj ca C sau Python pentru a consolida înțelegerea.

Mai multe din Alte teme