Skip to content

Introduce Join-Based Algorithms in Batch Operations #11

@devarajabc

Description

@devarajabc

The current implementation of batch operations converts a sorted array into a perfectly balanced binary tree and colors all nodes black.
However, this approach is limited because:

  1. It can only handle node counts of the form $2^n - 1$.
  2. It cannot perform batch operations on a non-empty tree. (unjoinable)

To address these limitations, I propose introducing join-based algorithms for batch operations, inspired by Wikipedia’s red–black tree parallel algorithms section.

This involves introducing two new helper operations: rb_split and rb_join.

Ref:

A Verified Cost Analysis of Joinable Red-Black Trees :https://arxiv.org/pdf/2309.11056
Joinable Parallel Balanced Binary Trees: https://dl.acm.org/doi/pdf/10.1145/3512769

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions