algorithms icon indicating copy to clipboard operation
algorithms copied to clipboard

Lru cache

Open Akshayy67 opened this issue 3 months ago • 2 comments

Akshayy67 avatar Oct 06 '25 20:10 Akshayy67

Summary

This PR adds a visualization for the LRU (Least Recently Used) Cache data structure.

What is LRU Cache?

A cache that stores a limited number of items and automatically evicts the least recently used item when capacity is exceeded. It's widely used in operating systems, databases, and web applications.

Implementation Details

  • Data Structure: Circular doubly-linked list + HashMap
  • Time Complexity: O(1) for both GET and PUT operations
  • Space Complexity: O(capacity)
  • Language: JavaScript

Visualization Features

  • Shows cache state after each operation (most recent → least recent)
  • Logs all operations with clear descriptions
  • Highlights the most recently used item
  • Demonstrates eviction behavior when capacity is exceeded
  • Includes comprehensive demonstration with multiple scenarios

Testing

Tested on Scratch Paper - All operations work correctly with no errors ✅ Code runs without any console errors ✅ Visualization displays properly ✅ All operations are logged correctly

Category

Uncategorized

Files Added

  • Uncategorized/LRU Cache/code.js - Implementation with visualization
  • Uncategorized/LRU Cache/README.md - Comprehensive documentation

Real-World Applications

  • Operating Systems (page replacement)
  • Web Browsers (cache management)
  • Databases (query caching)
  • CDNs (content delivery)
  • APIs (response caching)

Akshayy67 avatar Oct 06 '25 20:10 Akshayy67

Summary

This PR adds a visualization for the LRU (Least Recently Used) Cache data structure.

What is LRU Cache?

A cache that stores a limited number of items and automatically evicts the least recently used item when capacity is exceeded. It's widely used in operating systems, databases, and web applications.

Implementation Details

  • Data Structure: Circular doubly-linked list + HashMap
  • Time Complexity: O(1) for both GET and PUT operations
  • Space Complexity: O(capacity)
  • Language: JavaScript

Visualization Features

  • Shows cache state after each operation (most recent → least recent)
  • Logs all operations with clear descriptions
  • Highlights the most recently used item
  • Demonstrates eviction behavior when capacity is exceeded
  • Includes comprehensive demonstration with multiple scenarios

Testing

Tested on Scratch Paper - All operations work correctly with no errors ✅ Code runs without any console errors ✅ Visualization displays properly ✅ All operations are logged correctly

Category

Uncategorized

Files Added

  • Uncategorized/LRU Cache/code.js - Implementation with visualization
  • Uncategorized/LRU Cache/README.md - Comprehensive documentation

Real-World Applications

  • Operating Systems (page replacement)
  • Web Browsers (cache management)
  • Databases (query caching)
  • CDNs (content delivery)
  • APIs (response caching)

Akshayy67 avatar Oct 06 '25 20:10 Akshayy67