Implementation of some vector index structures for practice and in order to gauge the internals of such data structures and the algorithms associated with them.
The language of choice for this project was Golang for no reason but to get familiar with it. The reason for choosing vector indexes was to explore a unique and different set of data structures then the usual ones used for databases (like B-Tree, B+-Tree, etc ... These ones will be explored later).
The implementations would very naive, in the sense that I wouldn't expect to utilise them in any other project/product. They are purely for understanding and practice, and sometimes because an easier implementation of a structure is hard to come by (open sourced libraries are too complex).
That being said, the structures implemented thus far are:
- Vantage Point Tree
- Heirarchal Navigable Small World Graphs
More details about these structures can be found in the index files.