[so] [SO] [Tema1] General questions

Daniel Baluta daniel.baluta at gmail.com
Wed Feb 23 11:11:22 EET 2011


2011/2/23 Victor Carbune <victor.carbune at gmail.com>:
> Salut,
>
>>>> 2011/2/22 Laura Vasilescu <vasilescu.laura at gmail.com>:
>>>> > Tot oarecum de acest aspect:
>>>> > La redistribuire o să începem parcurgerea de sus în jos (de la bucket
>>>> > 0) și o să readăugăm cuvintele conform noilor valori hash calculate.
>>>> > Ce se întâmplă atunci când hash-ul vechi și hash-ul nou sunt identice?
>>>> > 1) cuvântul rămâne pe loc
>>>> > 2) cuvântul este șters din poziția actuală și adăugat la sfârșitul
>>>> > listei?
>>>>
>>>> Varianta 2, însă îl rog pe Ștefan să confirme.
> Care e argumentul pentru această operație?

Hmm, output determinist pentru testare? :)

>
> Mi se pare că doar adaugă complexitate inutilă (dacă e în bucket-ul
> care trebuie, de ce l-aș mai muta la sfârșitul listei?).

Cred că ai implementat cu liste, așadar nu cred că se adaugă complexitate
inutilă devreme ce actualizezi niște pointeri.

>> La operatiile de resize sunt parcurse toate bucketurile in ordine si
>> cuvintele sunt adaugate in noul hash in ordinea in care sunt intalnite
>> in vechiul hash. Nu trebuie pastrate timestampuri.
>
> Eu bănuiesc că trebuie să refolosim memoria alocată în hash, şi nu să
> alocăm un "nou hash".

Hmm, depinde de implementare aici. Dacă ai folosit liste pentru buckets
atunci clar refolosești memoria.

Disclaimer: răspunsurile sunt date din experiența mea în implementarea
temei. "Owner" pentru această temă  este Ștefan, doar lucrurile agreate de
el sunt "oficiale".

Tot ce spun eu îl puteți lua ca 99% adevărat.

thanks,
Daniel.


More information about the so mailing list