Releases: singharyan006/algo-practice
v1.2.0 – Add Balanced Binary Search Tree project
✨ New Feature: Balanced Binary Search Tree (BST)
This release adds a fully functional Balanced Binary Search Tree implementation written from scratch in JavaScript, as part of The Odin Project curriculum.
✅ Highlights:
Treeclass with:- Balanced
buildTree()logic from sorted, unique arrays - Duplicate-free insertion logic
- Balanced
- Supported operations:
insert(value)deleteItem(value)(handles all deletion cases)find(value)height(value)depth(value)isBalanced()rebalance()
- Traversal methods:
inOrderForEach(callback)preOrderForEach(callback)postOrderForEach(callback)levelOrderForEach(callback)
- Tree visualizer:
prettyPrint()for structured console output
- Full driver script for demonstration and testing
- Notes-style
README.mdwith visuals, examples, and key takeaways
📁 File Structure Added:
binary-search-tree/
├── Node.js # Node structure
├── Tree.js # Balanced BST implementation
├── driver.js # Demo and test runner
├── prettyPrint.js # Visualizer for tree structure
└── README.md # Notes + traversal explanations📦 Version
- Tag:
v1.2.0 - Target branch:
main
✅ This release brings your core data structure collection even closer to full coverage.
v1.1.0 – Add HashMap with Resizing, Collision Handling, and Full Test Suite
✨ New Feature: HashMap
This release introduces a complete HashMap data structure implementation written from scratch.
✅ Highlights:
- Custom
HashMapclass with:- Hashing function using prime multiplier
- Chained collision handling
- Dynamic resizing on load factor overflow
- Methods implemented:
set(),get(),has(),remove(),length(),clear(),keys(),values(),entries()
- Load factor threshold:
0.75 - Fully tested with sample data in
test.js - Notes-style documentation added to
hashmap/README.md
📁 File Structure Added:
hashmap/
├── hashMap.js # Main implementation
├── test.js # Manual test file
└── README.md # Notes + usage
✅ Root README Updated
README.mdnow includes the new HashMap section- Organized structure for all implemented data structures
📦 Version
- Tag:
v1.1.0 - Target branch:
main
v1.0.0 – Initial Release
✨ v1.0.0 – Initial Release
This release marks the first stable version of the algo-practice project. It includes core algorithm implementations and a foundational data structure, built as part of The Odin Project's curriculum.
📁 Included:
-
fibonacci/fibs.js– Iterative Fibonacci generatorfibsRec.js– Recursive Fibonacci generator
-
merge-sort/mergeSort.js– Recursive Merge Sort with custom merge logic
-
linked-list/Node.js– Node classLinkedList.js– Core singly linked list implementationtest.js– Test cases for linked list methodsREADME.md– Method documentation
-
README.md– Clean, structured root-level documentation
📚 Concepts Covered:
- Iterative vs Recursive logic
- Divide and conquer algorithm design
- Singly linked list structure & traversal
- Modular code organization
- Test-driven problem solving
This version is stable and ready for future enhancements such as insertAt(), removeAt(), stack/queue support, or more algorithm additions.