Skip to content

[FEATURE REQUEST] Smooth Sort Sorting Algorithm #6632

Closed

Description

@Harshsaini001

What would you like to Propose?

I would like to propose adding Smooth Sort, an optimized variant of Heap Sort developed by Edsger Dijkstra.
It adapts to partially sorted data, achieving near-linear performance in the best case.

Issue details

The repository currently lacks an implementation of Smooth Sort.
This algorithm complements existing sorts by offering adaptive, in-place sorting performance, improving efficiency for nearly sorted datasets.

Additional Information

No response

Activity

  1. Harshsaini001 commented on Oct 5, 2025

    @Harshsaini001
    Author

    Hi! I would like to work on this issue and add the implementation of Smooth Sort in the sorts package.
    Could you please assign it to me?

  2. Shovon0004 commented on Oct 9, 2025

    @Shovon0004

    Hi, I would like to work on this issue.
    Please assign it to me. Thank you!

  3. github-actions commented on Nov 9, 2025

    @github-actions

    This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contribution!

  4. GziXnine commented on Jan 8, 2026

    @GziXnine
    Contributor

    Hi maintainers

    I’d like to work on this issue and implement Smooth Sort in the Java sorts package.

    Planned approach:

    • Add a new SmoothSort.java implementation under the existing Java sorts structure.
    • Follow the same coding style and documentation format used by other sorting algorithms in the repository.
    • Implement Smooth Sort using Leonardo numbers with proper sift and trinkle operations.
    • Ensure the algorithm is in-place and handles edge cases (empty, single-element, nearly sorted arrays).
    • Include clear Javadoc describing the algorithm and its complexity.

    I’ll open a pull request once the implementation is ready.
    Please let me know if you have any preferences or suggestions. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions