[Gambas-user] RFC: How to identify vertices and edges in a Graph class?
Benoît Minisini
gambas at ...1...
Mon Jul 7 16:39:52 CEST 2014
Le 07/07/2014 10:51, Tobias Boege a écrit :
>
> We keep these generalisations and advanced topics in mind but for now, one
> point I can and want readily apply is: in your opinion, it would be better
> to address vertices by Strings, in a human-readable form, not just integers,
> right? I'm still torn.
>
> I will make the Graph act like a Collection, i.e. once you have associated a
> value to an ID, that ID is not changed by other operations on the Graph. You
> had a point there; everything else hardly bearable for the programmer.
> However, I want to use Integers as IDs because they are easier to store and
> sort and abstract enough for the job.
>
> If you want to associate more human-readable names with your vertices, I
> think you can easily achieve it by having a Collection asscoaite your names
> with the numerical IDs. In fact that's what I'd do in the Graph internals if
> I was to offer String IDs.
>
> Regards,
> Tobi
>
Internally, you have to use an hash table anyway, haven't you? You just
don't want to necessarily use string keys, as they are heavier than
integer keys?
Anyway, you must use a Collection-like interface to access the graph
nodes (to be consistent with the other Gambas containers). You can use
integer keys with no problems, as later you can switch to string keys
and keep the backward-compatibility.
You can have both too : I mean having a Gambas hash table to reference
nodes by names, and a special hash table using integer keys. A void hash
table does not take a lot of memory.
Regards,
--
Benoît Minisini
More information about the User
mailing list