structuri de date - overflow stivă în limba rusă

Ce tipuri de structuri de date sunt? (Puteți specifica numele structurii într-un anumit limbaj de programare) Vreau să știu scopul lor, punctele forte și punctele slabe. Este, de asemenea, interesat în clasificarea, fie în adevăratul wiki scris? Listă de structuri de date Răspunsul mult timp până când nu este nevoie de fiecare structură, doar pentru scurt timp, de exemplu, pentru a spune ce este avantajul acestei structuri pe cealaltă (de exemplu, cel mai rapid timp, accesul la elementul, capacitatea de a modifica dinamic cantitatea de memorie, etc.) pot, la toate dintr-o dată, nu este necesară răspuns, dintr-o dată răspunsul va fi o sumă semnificativă, în cel puțin una dintre structurile care pot dezabona, cunosc bine, și voi adăuga la informațiile principale post. Foarte convenabil de a avea în fața ochilor mei o listă de la el și verificate alege.

1. Structuri de date liniare - o structură de date în care tranziția de la o celulă la alta nu este dependentă de condițiile logice, și anume numai elementele de conectare necondiționate sunt utilizate în structuri liniare.

1.1 Lista poate toate la fel ca și matrice, dar vă permite să adăugați elemente în orice locație, șterge elemente din orice locație și de a primi numărul actual de elemente.

1.2 asociativă matrice

  • tabele de dispersie O proprietate importantă este faptul că, în anumite ipoteze rezonabile, toate cele trei operații (căutare, insera, șterge elemente), în medie, sunt efectuate în O (1), timp în cel mai rău caz - O (n).
  • Iterație nu este în ordine crescătoare a cheilor
  • „Rehashing“ necesitatea de a crește numărul de obiecte stocate (?)
  • nu pot fi puse în aplicare rapid rulează operații suplimentare MIN, MAX și algoritm pentru a căuta în toate perechile stocate în ordine crescătoare sau descrescătoare a cheilor (?)
  • Ea nu acceptă ordinea, și nu păstrează ordinea elementelor (?)
  • posibilitatea de coliziune

1.4 Stiva Set de elemente de același tip, aranjate astfel încât să se adauge și extrage elementele pot fi la un singur capăt. Operații: adăuga un element în stivă, stiva pentru a obține ultimul element adăugat, verificați dacă stiva este goală.

1.5 Coadă Set de elemente de același tip, aranjate astfel încât acestea să poată fi adăugate numai la un capăt, și să primească - la celălalt capăt. Operații: adăugați un element la coada, pentru a obține primul element din coada, primi dimensiunea coadă.

1.5.1 prioritate Coadă

1.6 în decembrie - un tip special de linie. Decembrie (de la DEQ engleză -. Dublu coadă încheiat, adică o coadă cu două capete) - este o listă secvențială în care includerea sau eliminarea componentelor poate fi oricare dintre cele două capete ale listei. Un caz special de punte - punte cu intrare limitată și punte, cu o putere limitată.

  • elementul de comutare dreapta;
  • lăsat elementul de comutare;
  • o excepție de la elementul din dreapta;
  • element excepție de la stânga;
  • determinarea dimensiunii;
  • curățare.

2.2.3 roșu-negru copac

Scopul principal: B-copac pentru a stoca informațiile de pe hard disk. acces aleatoriu la hard disk-ul este foarte mare (milisecunde), deoarece este mișcări de viteză de rotație de disc și cap determinate. Prin urmare, este important să se reducă numărul de noduri care trebuie văzute la fiecare operație, adică înălțimea copacului, care se realizează prin ramificarea ridicată.

  • În toate cazurile, utilizarea adecvată a spațiului de stocare secundar ocupă mai mult de 50%. Odată cu creșterea gradului de memorie util este nici o reducere a calității serviciului.
  • de înregistrare de acces aleatoriu este realizat printr-un număr mic de suboperations (referindu-se la blocurile fizice).
  • În medie, puse în aplicare în mod eficient de închidere de operare și șterge înregistrări; menținând în același timp ordinea naturală a cheilor în scopul succesiunii, precum și echilibrul adecvat al arborelui pentru acces rapid aleatoriu.
  • Fixat prin comanda permise cheie de procesare eficientă lot
  • Principalul dezavantaj al B-copac este lipsa mijloacelor de eșantionare care datele cheie secundare.

2.2.6 arbore binar de căutare

2.2.6.1 arbori de căutare cu autoechilibrare

copac 2.2.6.1.1.1 Fibonacci

2.2.6.1.2 copac roșu-negru

2.2.6.1.3 copac Extinderea

2.2.7.2 heap binom

2.2.7.3 Fibonacci heap

copac 2.2.8 Sufix

2.2.8 trie

Există următoarea diviziune a structurilor:

Structuri de date statice

Structura de date semi-statice

Structuri de date dinamice

Structura de date non-linear

vedere generală a descrierii structurilor:

-scopul principal, descrierea

-punerea în aplicare rapidă a limbajului de programare (numele funcției sau clasei)

(?) - în dubiu, vă rugăm să corectați dacă brusc scris greșit Aprobă sau invers, pentru a evita ambiguitatea.

  • Array. Set de un număr fix de un singur tip de elemente care au capacitatea de a citi sau a scrie indicele elementului.
  • Listă. Poate că toate același lucru ca o matrice, dar vă permite să adăugați elemente în orice locație, șterge elemente din orice locație și de a primi numărul actual de elemente.
  • Set. set neordonată de elemente de același tip, fiecare dintre acestea putând fi găsite în setul de nu mai mult de o dată. Funcționarea de bază a unei multitudini: adăugarea unui element din set, eliminând elementul din setul, pentru a verifica dacă un element din set, obținând o multitudine de dimensiuni.
  • Dicționar. set neordonat de două tipuri de elemente, în care fiecare element al primului tip este conectat la un element al doilea tip, și fiecare element al primului tip (cheie) poate avea loc în dicționar cel mult o dată. Funcționarea de bază a unui dicționar: adăugarea unei perechi de perechi „cheie-valoare“, într-o eliminare cheie, verificați pentru cheia în dicționar, obținând valori ale cheii, obținerea numărului de perechi „cheie-valoare“.
  • Place. Set de elemente de același tip, aranjate astfel încât acestea să poată fi adăugate numai la un capăt, și să primească - la celălalt capăt. Operații: adăugați un element la coada, pentru a obține primul element din coada, primi dimensiunea coadă.
  • Stivă. Set de elemente de același tip, aranjate astfel încât să se adauge și extrage elementele pot fi la un singur capăt. Operații: adăuga un element în stivă, stiva pentru a obține ultimul element adăugat, verificați dacă stiva este goală.