It has been a while since I started working on a city transportation testbed framework, codename “Keiko“, and, during the process I found some obstacles that I have overcome one way or another; but I have also realized of the importance of data structures, and the programming language I am using, Objective-C, lacks plenty of them (as opposed to, for instance, Java).
For that reason, and since transportation is a great area to study traversal (routing) algorithms, as well as the typical problems of finding the minimal path (and its derivatives), I decided to start a parallel project to create a small library of common data structures. Starting with… hyper-graphs! And its name is… Objective-HyperGraph!
Why hyper-graphs and not just graphs? Well… because hyper-graphs are just an abstraction (and powerful) of graphs, hence, it would not make much sense augmenting the design later on to allocate hyper-graphs when a graph is a hyper-graph with the constraint of no more than two nodes per edge (while a hyper-graph can have… any!).
Ok… this project is also a consequence of my M.Sc. thesis :) where I studied hyper-graphs heavily… and I guess I married them (sort of ;)
I shall say that I am not actively using this library with Keiko, but I have modified its design to use it in a future version. It is not that I do not trust Objective-HyperGraph project, but rather a question of efficiency, Keiko is using two-dimensional adjacency matrices (to be honest… three-dimensional ;) and at this stage of development I would have to throw away all that, hence I prefer to continue testing and debugging that design so Objective-Hyper-Graph can benefit from it later on (and Keiko will benefit as well).
At the same time, Objective-HyperGraph aims at being more than a library for graphs/hyper-graphs in Objective-C. I would like to see an efficient and simple library of data structures in Objective-C and… open-source!
So… let’s bring those queues, stacks, lists, vectors, trees, heaps,… are you up to the challenge of collaborating with classical algorithms? Or why not your own algorithms?
Check it out at Google Code ;)


Leyendo diversos medios de comunicación de las últimas dos semanas (las mismas que la llamada “Ley Antitabaco” disfruta de “vida”…) uno puede llegar a la conclusión de que acabamos de criminalizar al fumador por vía parlamentaria, con el beneplácito (y yo creo que también algo de recreo) de la sociedad.


myself