Skip to content

Releases: singharyan006/algo-practice

v1.2.0 – Add Balanced Binary Search Tree project

13 Jul 16:33

Choose a tag to compare

✨ 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:

  • Tree class with:
    • Balanced buildTree() logic from sorted, unique arrays
    • Duplicate-free insertion logic
  • 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.md with 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

13 Jul 08:03
0cea3d9

Choose a tag to compare

✨ New Feature: HashMap

This release introduces a complete HashMap data structure implementation written from scratch.

✅ Highlights:

  • Custom HashMap class 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.md now 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

12 Jul 18:58
0248b04

Choose a tag to compare

✨ 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 generator
    • fibsRec.js – Recursive Fibonacci generator
  • merge-sort/

    • mergeSort.js – Recursive Merge Sort with custom merge logic
  • linked-list/

    • Node.js – Node class
    • LinkedList.js – Core singly linked list implementation
    • test.js – Test cases for linked list methods
    • README.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.