1.0.2 • Published 4 months ago
@slotify/dsa v1.0.2
@slotify/dsa
A comprehensive collection of data structures and algorithms implemented in TypeScript.
Overview
This library provides efficient, well-tested implementations of common data structures and algorithms to help developers build performant applications. Each implementation is thoroughly documented with time and space complexity analysis.
Features
- Type Safety: Fully written in TypeScript with complete type definitions
- Performance: Optimized implementations with documented time and space complexity
- Comprehensive: Covers a wide range of algorithms and data structures
- Well-Documented: Detailed documentation with examples and use cases
- Modular: Import only what you need to keep your bundle size small
Installation
# Using npm
npm install @slotify/dsa
# Using yarn
yarn add @slotify/dsa
# Using pnpm
pnpm add @slotify/dsa
# Using bun
bun add @slotify/dsa
Import Options
The library supports multiple import styles to fit your preferences and needs:
Import the Entire Library
import * as slotify from '@slotify/dsa';
// Use binary search
const index = slotify.binarySearch.binarySearch([1, 2, 3, 4, 5], 3);
// Use bitwise operations
const result = slotify.bitwise.setBit(42, 3);
// Use sorting algorithms
const sortedArray = slotify.sorting.quick([5, 3, 8, 4, 2]);
Import Specific Modules
import * as bitwise from '@slotify/dsa/bitwise';
import * as binarySearch from '@slotify/dsa/binary-search';
import * as sorting from '@slotify/dsa/sorting';
// Use binary search directly
const index = binarySearch.binarySearch([1, 2, 3, 4, 5], 3);
// Use bitwise operations directly
const result = bitwise.setBit(42, 3);
// Use sorting algorithms directly
const sortedArray = sorting.quick([5, 3, 8, 4, 2]);
Import Specific Functions
import { setBit, isBitSet } from '@slotify/dsa/bitwise';
import { binarySearch, lowerBound } from '@slotify/dsa/binary-search';
import { quick, merge, bubble } from '@slotify/dsa/sorting';
// Use imported functions directly
const index = binarySearch([1, 2, 3, 4, 5], 3);
const result = setBit(42, 3);
const sortedArray = quick([5, 3, 8, 4, 2]);
Documentation
For detailed documentation of each technique, please refer to the docs directory:
- Trie Documentation
- Heap Documentation
- Graph Documentation
- Max Heap Documentation
- Min Heap Documentation
- AVL Tree Documentation
- LRU Cache Documentation
- Disjoint Set Documentation
- Sorting Algorithms Documentation
- Bitwise Operations Documentation
- Binary Search Documentation
- Priority Queue Documentation
- Binary Search Tree Documentation
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Author
Sandip Patel - sandip254@gmail.com