Skip to content

理の織り (Ri no ori) stands for "Weaving Logic" in Japanese. This repository is about Data Structures and Algorithms

Notifications You must be signed in to change notification settings

Vaasu-Dhand/Ri-no-ori

Repository files navigation

Ri no ori

A tagged practice repository for data structures and algorithms with a CLI tool for finding and managing practice problems.

🏷️ Tagging System

Add tags to your files using this format at the top:

// tags: ['array', 'easy', 'sorting']

Recommended Tags

Difficulty:

  • easy, medium, hard

Data Structures:

  • array, string, linked-list, stack, queue, tree, graph, hash-table, heap

Algorithms:

  • sorting, searching, recursion, dynamic-programming, greedy, backtracking
  • bfs, dfs, binary-search, two-pointer, sliding-window

Problem Types:

  • counting, traversal, optimization, math, simulation

🚀 Setup

  1. Install dependencies:
npm install
  1. Make the CLI executable (optional):
chmod +x tag-finder.js
  1. Add tags to your files and start using the CLI!

📋 CLI Commands

List all tagged files

node tag-finder.js list
# or
npm run list

Show all available tags

node tag-finder.js tags

Find files by tags

# Find files with ANY of these tags
node tag-finder.js find array easy

# Find files with ALL of these tags (AND logic)
node tag-finder.js find array easy --all

# Just show count
node tag-finder.js find array --count

Get a random file for practice

# Random from all tagged files
node tag-finder.js random

# Random from specific tags
node tag-finder.js random --tags easy array

Show repository statistics

node tag-finder.js stats

📖 Usage Examples

# Find all easy problems
node tag-finder.js find easy

# Find array problems that are medium difficulty
node tag-finder.js find array medium --all

# Get a random easy problem to practice
node tag-finder.js random --tags easy

# Show what tags you're using
node tag-finder.js tags

📁 Project Structure

/algos
 - bfs.js               // tags: ['graph', 'traversal', 'bfs', 'medium']
 - dfs.js               // tags: ['graph', 'traversal', 'dfs', 'medium']
/data-structures
 - linked-list.js       // tags: ['linked-list', 'medium']
/exercise
 - Count-triplet.js     // tags: ['array', 'easy', 'counting']
 - factorial.js         // tags: ['recursion', 'easy', 'math']

About

理の織り (Ri no ori) stands for "Weaving Logic" in Japanese. This repository is about Data Structures and Algorithms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published