Pagini recente »
Borderou de evaluare (job #601990)
|
Borderou de evaluare (job #389306)
|
Borderou de evaluare (job #532029)
|
Borderou de evaluare (job #600933)
|
Diferențe pentru problema/pointeri între reviziile 18 și 20
Nu există diferențe între titluri.
Diferențe între conținut:
Problema cere, în esență, să transformați un arbore binar de căutare într-o listă liniară simplu înlănțuită, folosind exclusiv manipularea pointerilor.
|=. <!-- Textile ține morțiș să fie un caption aici. -->
|=. !problema/pointeri?pointeri01.png! |=. !problema/pointeri?pointeri02.png! |
|_=. Figura 1 |_=. Figura 2 |
Similar putem codifica listele dublu înlănțuite, folosind vectorii $st$ și $dr$ pentru a reține poziția nodului anterior și următor și o variabilă $prim$ pentru a reține poziția primului nod. Figura 4 arată o posibilă codificare a listei din Figura 2. Remarcați că vectorul $v$ este identic în Figurile 3 și 4.
|=. <!-- Textile ține morțiș să fie un caption aici. -->
|=. !problema/pointeri?pointeri03.png! |=. !problema/pointeri?pointeri04.png! |
|_=. Figura 3 |_=. Figura 4 |
h2. Restricții
* $1 ≤ N ≤ 100.000$;
* $1 ≤ v[i] ≤ 1.000.000.000$;
* toate numerele din arbore sunt distincte;
* $1 ≤ N ≤ 200.000$;
* înălțimea arborelui nu va depăși 1.000 de noduri.
h2. Exemplu
table(example).
table(example).
|_. pointeri.in |_. pointeri.out |
| 8 1
-1 2 -1 -1 -1 -1 0 6
Nu există diferențe între securitate.