跳转到主要内容

data-structures

为 TypeScript/JavaScript 提供的全面的、类型安全的、零依赖的数据结构实现集合。

为什么使用这个库?

  • 🎯 类型安全:完整的 TypeScript 支持,带有泛型,提供完全的类型安全
  • 📦 零依赖:无外部依赖 - 轻量且安全
  • ⚡ 高性能:经过优化的实现,并附有时间复杂度文档
  • 🧪 经过充分测试:全面的测试覆盖率 (>85%)
  • 🌲 可 Tree Shake:只导入您需要的部分 - 最小化打包影响
  • 📚 文档齐全:提供大量示例的详细文档
  • 🔄 双重发布:在 JSR 和 npm 上均可用,实现最大兼容性

快速开始

几秒钟即可开始:

npm install @msnkr/data-structures
import { Queue, LRUCache } from '@msnkr/data-structures';

// FIFO Queue
const queue = new Queue<number>();
queue.enqueue(1);
queue.enqueue(2);
console.log(queue.dequeue()); // 1

// LRU Cache
const cache = new LRUCache<string, number>({ capacity: 100 });
cache.put('key', 42);
console.log(cache.get('key')); // 42

可用的数据结构

队列

  • Queue - 具有 O(1) 入队/出队操作的 FIFO 队列
  • Deque - 双端队列,两端都支持 O(1) 操作
  • PriorityQueue - 基于二叉堆的优先队列

链表

  • BinaryHeap - MinHeap 和 MaxHeap 实现,操作时间复杂度为 O(log n)

  • Trie - 用于高效字符串操作和自动补全的前缀树
  • RedBlackTree - 自平衡二叉搜索树,保证 O(log n) 性能

映射与缓存

  • SortedMap - 键值映射,键已排序(基于红黑树)
  • BiDirectionalMap - 一对一双向映射,支持 O(1) 查找
  • LRUCache - 最近最少使用缓存,自动淘汰

下一步

📖 学习基础知识

熟悉安装和基本用法。

📚 API 参考

探索上述所有 11 种数据结构的完整 API 文档!

社区与支持

许可证

MIT 许可证 - 欢迎在您自己的项目中使用!