Didaxis
lecție · Informatică

Modelul conceptual de listă

Elemente și tipuri de acces; model independent de limbaj.

Se face în:
Clasa a IX-a
Clasa a X-a
Clasa a XI-a
Actualizat la: 30 octombrie 2026
1pe scurtstratul 1 din 2 · rezumatul lecției

Pe scurt

O listă este o colecție ordonată de valori: elementele au poziții și se pot repeta. În , primul și ultimul element sunt egale, dar ocupă locuri diferite. Modelul de listă descrie ce operații dorim: acces la poziție, adăugare, ștergere și parcurgere. Implementarea concretă poate fi un tablou, o listă Python sau o structură înlănțuită, cu costuri diferite.

Desen la lecția „Modelul conceptual de listă”
2în detaliustratul 2 din 2 · pentru clasă și Bacalaureat

În detaliu

O listă este un model abstract: o colecție ordonată de elemente, în care ordinea contează și valorile se pot repeta. Modelul spune ce operații sunt disponibile: accesul la un element, adăugarea, inserarea pe o poziție, ștergerea și parcurgerea. Nu spune cum este memorată lista. Implementarea concretă poate fi un tablou, o listă Python (un tablou redimensionabil) sau o structură înlănțuită, cu costuri diferite pentru aceleași operații. Distincția dintre model și implementare se păstrează în toate lecțiile despre structuri de date.

Tipul de acces diferențiază structurile. Accesul direct găsește un element după poziție, într-un singur pas, indiferent de poziție: v[3] într-un tablou. Accesul secvențial pornește de la primul element și urmează pe rând legăturile până la elementul dorit, deci costă mai mult cu cât poziția este mai îndepărtată: așa se întâmplă într-o listă înlănțuită. Două cazuri particulare restrâng accesul: stiva permite operații numai la un capăt (LIFO, ultimul intrat este primul ieșit), iar coada adaugă la un capăt și scoate de la celălalt (FIFO, primul intrat este primul ieșit).

Exemplul 1 — operațiile de bază pe o listă Python.

valori = [4, 7, 4]
valori.append(9)
print(valori[1], len(valori))

După adăugare lista este [4, 7, 4, 9]; poziția 1 conține 7, iar lungimea este 4. Se afișează 7 4. Elementele 4 de pe pozițiile 0 și 2 sunt egale, dar ocupă locuri diferite, deci ambele se păstrează: o listă admite repetiții. Adăugarea la capăt este operația obișnuită, iar valori.insert(0, 1) produce [1, 4, 7, 4, 9] și mută spre dreapta toate cele patru elemente existente.

Exemplul 2 — costul accesului. Într-un tablou cu elementele , expresia v[1] dă 7 imediat, fără parcurgere. Într-o listă înlănțuită cu aceleași elemente trebuie pornit de la primul nod și urmată legătura către al doilea; pentru al -lea element se fac salturi. În schimb, inserarea unui element după un nod cunoscut costă într-o listă înlănțuită un număr constant de operații, pe când într-un tablou cere mutarea elementelor de după poziția respectivă. Alegerea implementării depinde deci de operația cea mai frecventă.

Exemplul 3 — stiva și coada ca liste restrânse. Dacă elementele , , sunt adăugate în această ordine, într-o stivă prima valoare scoasă este , iar într-o coadă este . Aceeași colecție de trei valori are deci două ordini de scoatere, în funcție de modelul ales. Pentru problemele de forma „ultima alegere se anulează prima” (parantezele, apelurile de funcții) se potrivește stiva; pentru cele de forma „se servește în ordinea sosirii” (parcurgerea în lățime) se potrivește coada.

Exemplul 4 — ștergerea. Ștergerea după poziție se face cu del valori[1], iar ștergerea după valoare cu valori.remove(4). Din lista [4, 7, 4, 9], instrucțiunea del valori[1] elimină 7 și mută spre stânga elementele de după el, deci rămâne [4, 4, 9]. Din lista [4, 7, 4], instrucțiunea valori.remove(4) elimină numai prima apariție a valorii 4 și lasă [7, 4]. Modelul de listă cere deci să precizezi ce ștergi: o poziție sau o valoare, iar cu valori repetate cele două operații nu dau același rezultat.

Greșeli frecvente

  • Greșit: într-o listă, o valoare repetată se păstrează o singură dată.
    Corect: lista păstrează fiecare apariție, pe pozițiile ei.
  • Greșit: lista și tabloul sunt același lucru.
    Corect: lista este un model abstract; tabloul este una dintre implementările posibile.
  • Greșit: accesul la al treilea element costă la fel în orice implementare.
    Corect: într-un tablou este direct, într-o listă înlănțuită cere parcurgere.
în contul tăuPremium

Testează-te pe această lecție

Lecția o citești aici, fără cont. Testele pe lecții și capitole sunt în cont, cu grile originale Didaxis și explicația fiecăreia: gratuit 10 grile pe zi, fără limită cu Premium, 49 de lei pe lună pentru fiecare copil.

Înainte și după

Surse și referințe

Redactare proprie, conform programei:

  • OMEC 6930/2025, MO 4 bis/2026, Informatică CS, p. 1632–1633 și 1653–1654; OMEC 4370/2026, anexa 8, p. 155–156; rocnee.eu
  • OMEC 4370/2026, anexa 8, Informatică IX intensiv, p. 155–156
  • OMEC 6930/2025, MO 4 bis/2026, Informatică CS, p. 1632–1633; rocnee.eu
  • OMEC 6930/2025, anexa 66, Informatică IX CS militar, Monitorul Oficial nr. 4 bis/8.01.2026, pp. 2563–2578; cdn.edupedu.ro; centralizator oficial actualizat prin OMEC 3224/2026, legislatie.just.ro
  • OMEC 6930/2025, MO 4 bis/2026, Informatică CS, p. 1653–1654; rocnee.eu
  • OMECI 5099/2009, anexa 5, Informatică, p. 4–5, clasa X intensiv; rocnee.eu
  • OMECI 5099/2009, anexa 5, Informatică, p. 4–5, clasa XI; plan de încadrare: OMEC 7723/2024, anexa 2, tabelele 1–25, legislatie.just.ro; filiera tehnologică: OMEC 7724/2024, anexa 4, tabelul calificării, legislatie.just.ro

Documente consultate

  • Programa școlară de informatică, clasa a IX-a, matematică-informatică (OMEC 6930/2025, anexa 42), p. 1632–1633 și 1653–1654; rocnee.eu
  • Programele școlare noi de informatică pentru clasele X–XII (OMEC 4370/2026, MO 591 bis/20.07.2026), CNCE, p. 155–156; rocnee.eu
  • Python Software Foundation, Python Tutorial, capitolul 5.1, docs.python.org/3/tutorial/datastructures.html

Desene: Redactare proprie (desen original), conform OMEC 6930/2025, Informatică IX; rocnee.eu

lecțiile sunt gratuite

Ai citit lecția. Acum verifică-te.