Skip to content

docs(data-structures): bring RedBlackTree docs in line with its siblings - #7313

Open
tomas-zijdemans wants to merge 2 commits into
denoland:mainfrom
tomas-zijdemans:docs-red-black-tree
Open

docs(data-structures): bring RedBlackTree docs in line with its siblings#7313
tomas-zijdemans wants to merge 2 commits into
denoland:mainfrom
tomas-zijdemans:docs-red-black-tree

Conversation

@tomas-zijdemans

@tomas-zijdemans tomas-zijdemans commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Updates RedBlackTree's documentation to explain comparator uniqueness, iteration order, and the cost of its public operations. Docs and comments only.

The class documentation replaces the AVL recommendation with a comparison against BinarySearchTree, which can degrade to linear time on ordered input. Its complexity table now covers 16 operations and properties, including inherited traversals. Bounds describe full traversal with constant-time comparison and mapping functions.

Two complexity details deserve a close look:

  • lvlValues() has an O(n²) worst-case bound because the inherited implementation shifts an array queue.
  • from() takes O(n) when copying a RedBlackTree without compare or map. Supplying either option requires reinsertion, with an O(n log n) bound.

Both from() overloads document deduplication. The examples use scoped imports and assertions, and short comments identify the insertion and removal balancing cases. Public documentation uses @typeParam and {@linkcode} consistently.

Validation: env -u NO_COLOR deno task ok passes, including 7,446 tests and 3,269 steps. All nine RedBlackTree doc examples and 14 unit tests also pass individually, as does deno doc --lint data_structures/mod.ts. Emitted JavaScript matches the PR base exactly.

The first full run hit color assertions with NO_COLOR set and one filesystem abort-test failure. The targeted rerun and full rerun passed.

I used Claude Code to help investigate and write this change, and Codex to review and correct the documentation.

@codecov

codecov Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.03%. Comparing base (ca58f94) to head (31329fa).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7313   +/-   ##
=======================================
  Coverage   95.03%   95.03%           
=======================================
  Files         617      617           
  Lines       51637    51637           
  Branches     9359     9359           
=======================================
  Hits        49075    49075           
  Misses       2021     2021           
  Partials      541      541           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant