Repository navigation
Description
Student: Tarun Y
Task: R50-T027 · 7 of 10
Repository: https://github.com/S-AI-Projects/TheAlgorithms-JavaScript
Assigned working branch: student/e26b07f0633
Goal
Work on Data-Structures/Heap/BinaryHeap.js. Add an executable worked example explaining BinaryHeap from input through intermediate state to the final result. Use the smallest valid input and one ordinary input for BinaryHeap from Data-Structures/Heap/BinaryHeap.js. Write the literal inputs and independently calculated expected outputs in the tests before editing the implementation. The check must name the source line establishing each precondition. Fixture: Use the smallest valid input and one ordinary input for BinaryHeap from Data-Structures/Heap/BinaryHeap.js. Write the literal inputs and independently calculated expected outputs in the tests before editing the implementation. The check must name the source line establishing each precondition.
Steps
- Read Data-Structures/Heap/BinaryHeap.js, especially
BinaryHeapnear line 8. Record its public inputs, result, mutation behavior and any external dependencies before changing it. - Calculate the intermediate states by hand and compare them with one traced execution.
- Use the language’s existing documentation conventions; ensure examples use the real public names and valid imports.
- Implement work/R50-T027/check.py as a focused runner that executes the new checks and propagates failures. Native check to incorporate: run the repository test script in non-watch mode after installing from its lockfile; for browser-only code use a browser test instead of plain Node. Record the actual command and nonzero test count.
- Create the checks specified below and run
python3 work/R50-T027/check.py. Save inputs, expected versus actual results and tool versions in work/R50-T027/; a check must exit non-zero when an assertion fails. - Commit the repository change on branch R50-T027; prepare a PR to the organisation fork explaining the result and linking the checks. Keep each task independently reviewable. Remove work/R50-T027/ from a later upstream branch.
Done when
☐ The checked behavior is tied to BinaryHeap in Data-Structures/Heap/BinaryHeap.js; every assertion has an explicit expected value.
☐ Use the smallest valid input and one ordinary input for BinaryHeap from Data-Structures/Heap/BinaryHeap.js. Write the literal inputs and independently calculated expected outputs in the tests before editing the implementation. The check must name the source line establishing each precondition.
☐ Existing supported behavior and the public interface are preserved unless a failing regression demonstrates and documents a defect.
☐ The documentation example is executed by a check and its displayed output is asserted.
☐ The explanation identifies the decisive state transition rather than paraphrasing every line.
Additional task guidance
Additional curated task guidance
Item:
Data-Structures/Heap/BinaryHeap.js
Task type:
Executable documentation
Code change (goes into the PR):
Data-Structures/Heap/BinaryHeap.js: improve the existing docstring/JSDoc/Doxygen or neighboring README with a concrete example and expected output; add a test that executes that example.
Automated check:
python3 work/R50-T027/check.py
Prerequisites:
Node matching the project engines/CI, package manager selected by its lockfile, and Python 3.
Upstream PR rules:
Preserve the repository JavaScript style, use its test framework, and include JSDoc for changed public behavior. Submit coursework to the organisation fork first; keep work/ evidence out of any later upstream PR. Upstream acceptance is not a grading requirement. Policy: https://github.com/TheAlgorithms/JavaScript/blob/5c39e87a9a31f279c60f830ad74a845e4788a517/CONTRIBUTING.md
Source (pinned):
https://github.com/TheAlgorithms/JavaScript/blob/5c39e87a9a31f279c60f830ad74a845e4788a517/Data-Structures/Heap/BinaryHeap.js#L8
Change:
Replaces the shared task template with an item-specific contribution brief.
PR destination:
Upstream candidate after review
Submission checklist
- Complete this task and its checks.
- Add the required evidence and link your pull request here.
- Select this S-AI-Projects fork as the PR base repository.
- Request instructor review.
Keep this PR focused on this task. Do not submit assignment PRs to the upstream repository.
Activity
docs: add executable worked example for BinaryHeap (Issue S-AI-Projec…
9808Tarun commentedon Nov 12, 2026
pr: #65