Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
introduce SortedDataSelection class (#144)
introduce SortedDataSelection class using a new pivot strategy SortedDataSelection uses a lot more memory than a selection but enables getting the k-highest element quickly (roughly O(log N) time). I went back a bunch with the fancy new GPT-4 chain of thought to make this. Includes tests. The next PR in this stack will allow faster in-order iteration over a list using a minheap structure. <!-- ELLIPSIS_HIDDEN --> ---- | 🚀 | This description was created by 39c3fa1 | |--------|--------| feat: add `SortedDataSelection` class for efficient data sorting and selection ### Summary: Introduce `SortedDataSelection` class for efficient data sorting and selection with tests, documentation updates, and future enhancements. **Key points**: - Introduces `SortedDataSelection` class in `selection.ts` for efficient k-highest element retrieval using a pivot strategy. - Supports sorting by numeric fields and quick selection using Quickselect algorithm. - Updates `DataSelection` to support new sorting functionality. - Adds `SelectionTile` class to manage tile-specific sorting data. - Updates exports in `deepscatter.ts` to include `SortedDataSelection`. - Adds tests for `SortedDataSelection` in `dataset.spec.js` to verify sorting and selection behavior. - Adds `publish_docs_if_stable.sh` script for documentation publishing. - Minor type and function adjustments in `utilityFunctions.ts`. - SortedDataSelection uses more memory but enables quick k-highest element retrieval. - Future PR will allow faster in-order iteration over a list using a minheap structure. ---- Generated with ❤️ by [ellipsis.dev](https://www.ellipsis.dev) <!-- ELLIPSIS_HIDDEN -->
- Loading branch information