Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/agnivade/pgm
A Go implementation of the PGM index
https://github.com/agnivade/pgm
Last synced: 26 days ago
JSON representation
A Go implementation of the PGM index
- Host: GitHub
- URL: https://github.com/agnivade/pgm
- Owner: agnivade
- License: mit
- Created: 2021-04-16T07:19:00.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-24T05:36:53.000Z (over 1 year ago)
- Last Synced: 2024-06-20T11:52:50.326Z (5 months ago)
- Language: Go
- Size: 18 MB
- Stars: 14
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PGM-index
A Go implementation of the PGM index
## What is a PGM index?
[Website](https://pgm.di.unipi.it/) | [Paper](http://www.vldb.org/pvldb/vol13/p1162-ferragina.pdf)
> The Piecewise Geometric Model index (PGM-index) is a data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes while providing the same worst-case query time guarantees.
Paolo Ferragina and Giorgio Vinciguerra. The PGM-index: a fully-dynamic compressed learned index with provable worst-case bounds. PVLDB, 13(8): 1162-1175, 2020.
**Credit**
- The Rotating Calipers algorithm is ported from https://github.com/bkiers/RotatingCalipers. Complete credit goes to its author.
- The Monotone Chain algorithm for the convex hull is from https://en.wikibooks.org/wiki/Algorithm_Implementation/Geometry/Convex_hull/Monotone_chain.