data structures - How are hashtables (maps) stored in memory? -
this question hashtables, might cover other data structures such linked lists or trees.
for instance, if have struct follows:
struct data { int value1; int value2; int value3; }
and each integer 4-byte aligned , stored in memory sequentially, key , value of hash table stored sequentially well? if consider following:
std::map<int, string> list; list[0] = "first";
is first element represented this?
struct listnode { int key; string value; }
and if key , value 4-byte aligned , stored sequentially, matter next pair stored?
what node in linked list?
just trying visualize conceptually, , see if same guidelines memory storage apply open-addressing hashing (the load under 1) vs. chained hashing (load doesn't matter).
it's highly implementation-specific. , not referring compiler, cpu architecture , abi, implementation of hash table. hash tables use struct contains key , value next each other, have guessed. others have 1 array of keys , 1 array of values, values[i]
associated value key @ keys[i]
. independent of "open addressing vs. separate chaining" question.
Comments
Post a Comment