JuliaCollections / JuliaCollections/DataStructures.jl

Proposal: heap enhancements

Open
#9 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Julia
Stars
745
Forks
261
PR merge metrics
No merged PRs in 30d

Description

There are a couple of enhancements that may make heaps in this package more useful:

  1. Allow the user to specify an Ordering (as is used by the Sort machinery in Base).
  2. Make key-value pair storage possible/easy

The second proposal could be made possible by a specific Ordering, but would be more efficient if it were coded for in the data structure.

It may make sense to code these as separate data structures (I haven't looked at the code), implementing the AbstractHeap interface if that makes sense.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the package's heap implementations, the AbstractHeap interface, and the Ordering and Sort machinery in Base. Determine whether ordering support and key-value storage should be separate data structures or extensions to existing heaps. Done means the agreed heap enhancements are implemented with compatible interfaces and coverage for the new behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.