Improve disjoint_set data structure

Open
#543 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Quiet
Tech stack
cpp
Domain
performance

Research direction

Start by inspecting the disjoint-set implementation in the pending directory and compare it with the modern implementations referenced by the proposal. Review the linked Wikipedia description and identify a concrete performance change, API, and evaluation plan; the work is complete when the proposal is specific enough to implement and review.

Written by the indexing model from the issue text.

Description

Before filing
  • I searched the existing issues and did not find a duplicate.
  • This is a concrete proposal, not an open-ended design question.
Kind of addition
  • New algorithm
  • New data structure
  • New property map or utility
  • New I/O format reader or writer
  • Extension to an existing component
  • Performance improvement
  • Other (specify below)
Motivation

A user requested it to be more "competitive" and "practical."

Proposed addition

Not sure yet. Need to compare with existing modern implementations first.

Relation to existing Boost.Graph components

It's hiding in the pending directory.

Prior art

https://en.wikipedia.org/wiki/Disjoint-set_data_structure?wprov=sfla1

Will add more as they become relevant.

  • Reference paper or textbook (cite below)
  • Implementation in another library (link below)
  • None / original idea

References:

Are you willing to contribute?
  • I'd like to submit the implementation as a pull request.
  • I can help with review or testing, but not the implementation.
  • I'm only proposing the idea.
Dominant language
C++
Stars
395
Forks
239
Avg merge
18h 50m
Merged PRs (30d)
20

Contributor guide

Open the contributing guide

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.

More from boostorg/graph

All issues in boostorg/graph

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.