Studiul etc "dicționar", "fișier" și "copac încărcat"

Titlul lucrării: STUDIUL ATD "DICTIONARY", "FILE" ȘI "STĂRUL LOADED"

Domeniu: Informatică, Cibernetică și Programare

Descriere: Uneori este necesar să verificați prezența unui element în acest set. Dicționarul poate fi implementat în trei moduri: 1 prin intermediul listelor sortate sau nesortate; 2 folosind vectori binari dacă elementele unui set dat sunt întregi; 3 Utilizând o matrice de lungime fixă ​​cu un pointer la ultima celulă umplută din această matrice, dacă dimensiunea setului nu depășește lungimea specificată a matricei, în caz contrar se utilizează listele legate. Valoarea inițială a segmentului este întotdeauna mai mică decât valorile elementelor sale.

Mărime fișier: 341 KB

Lucrarea a fost descărcată: 21 de persoane.

Lucrarea de laborator № 5

"STUDIUL DICTIONARULUI ATD", "FIȘIER" ȘI "PĂRFUL LOADED" »

Scopul lucrării: de a investiga și de a studia ADD "dicționar", "fișier" și "arbore încărcat".

Problema de lucru: să stăpânească abilitățile de desen structuri ATD „dicționar“, „fișier“, „trie“ și scrierea pe studiul acestor structuri în toate programele de limbaj de programare.

  1. să studieze descrierea lucrărilor de laborator;
  2. pe instrucțiunile date de profesor, pentru a dezvolta una dintre structurile: ADD "dicționar", "fișier" sau "copac încărcat";
  3. scrie un program;
  4. depanarea programului;
  5. rezolva problema;
  6. să emită un raport.

dicționar # 150; este un tip abstract de seturi. Aceste seturi stochează obiectele curente cu introducerea periodică sau îndepărtarea unora dintre ele. Uneori, este necesar să verificați prezența unui element în acest set.

Dicționarul poate fi implementat în trei moduri:

1) prin liste sortate sau netezite;

2) folosind vectori binari dacă elementele unui set dat sunt întregi;

3) folosind o matrice de lungime fixă ​​cu un pointer la ultima celulă umplută din această matrice, dacă mărimea setului nu depășește lungimea specificată a matricei, se utilizează și alte liste legate.

Mai jos este un exemplu de implementare a unui dicționar prin liste nesortate (vezi Figura 5.1). Există o serie de segmente. Fiecare segment are o valoare inițială și un indicator pentru primul bloc, urmat de alte blocuri sub forma unei structuri de listă. Valoarea inițială a unui segment este întotdeauna mai mică decât valorile elementelor blocurilor sale. Și pentru segmentul următor, valoarea inițială este mai mare decât valoarea inițială a segmentului anterior. Inserarea periodică și ștergerea elementelor dicționarului în exemple nu sunt date. Acestea pot fi dezasamblate independent pe baza materialului care a fost trecut anterior în lucrările de laborator anterioare.

Tipul pentru această structură de "dicționar" (vezi Figura 5.1) este reprezentat astfel:

writeln ('Introduceți elementul bloc');

dacă q<> nil apoi q ^ .next: = p;

Pentru a căuta un anumit element din "dicționar", trebuie să utilizați operatorul Poisk. Principiul de căutare din "dicționar", implementat prin listele asociate nesortate, seamănă cu o căutare secvențială indexată în tabel. Mai întâi, este căutat un interval în care elementul dorit ar trebui să fie localizat. În cazul unui "dicționar" # 150; acest segment. Și apoi printre elementele acestui interval, elementul căutat în sine este căutat de o căutare secvențială a elementelor. Pentru "dicționar" # 150; aceasta este o listă de blocuri.

dacă x_element_of_segment apoi writeln ('Elementul găsit într-unul din segmente!');

dacă x_in_segment atunci

dacă x_in_blok apoi writeln ('Element găsit în bloc!')

else writeln ("Nu există niciun element în bloc!")

Declarația Poisk utilizează, de asemenea:

1) operatorul x_element al segmentului. care verifică dacă elementul dorit este valoarea inițială a segmentului

pentru j: = 0 la B -1

dacă x = s [j] .element atunci x_element_of_segment: = Adevărat;

2) operatorul x _ in_segment. care definește segmentul în care elementul

Articole similare