1.0.6 • Published 10 months ago

ts-algo-lib v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

TS Algorithm and Data Structures Library

This library provides implementations of various data structures and algorithms in TypeScript.

Installation

  1. Clone the repository:
git clone https://github.com/Slygriyrsk/ts-algo-lib.git
cd ts-algo-lib
  1. Install dependencies:
npm install
  1. Alternatively, you can install it directly from npm:
npm install ts-algo-lib

Available Data Structures

  • Binary Search Tree
  • Linked List
  • Stack
  • Queue
  • Priority Queue

Usage

import { BinarySearchTree, LinkedList, Stack, Queue, PriorityQueue } from 'ts-algo-lib';

// Binary Search Tree
const bst = new BinarySearchTree<number>();
bst.insert(5);
bst.insert(3);
bst.insert(7);
console.log(bst.search(3)); // true
console.log(bst.search(6)); // false

// Linked List
const list = new LinkedList<number>();
list.append(1);
list.append(2);
list.append(3);
console.log(list.toString()); // "1,2,3"

// Stack
const stack = new Stack<number>();
stack.push(1);
stack.push(2);
stack.push(3);
console.log(stack.pop()); // 3
console.log(stack.peek()); // 2

// Queue
const queue = new Queue<string>();
queue.enqueue('a');
queue.enqueue('b');
queue.enqueue('c');
console.log(queue.dequeue()); // 'a'
console.log(queue.front()); // 'b'

// Priority Queue
const pq = new PriorityQueue<string>();
pq.enqueue('Low', 3);
pq.enqueue('High', 1);
pq.enqueue('Medium', 2);
console.log(pq.dequeue()); // 'High'
console.log(pq.front()); // 'Medium'

Running Tests

To run the test suite:

npm test

Screenshot 2024-10-27 231634

Running Demo

To run the demo script:

npm run demo

Screenshot 2024-10-27 231605

Building the Project

To compile the TypeScript code to JavaScript:

npm run build

The compiled output will be in the dist directory.

Project Structure

ts-algo-lib/
├── src/
│   ├── interfaces/
│   │   └── Comparable.ts
|   |   └── Collection.ts
│   ├── trees/
│   │   ├── BinarySearchTree.ts
│   │   └── BinaryTreeNode.ts
│   ├── lists/
│   │   └── LinkedList.ts
│   ├── stack/
│   │   └── Stack.ts
│   ├── queue/
│   │   ├── Queue.ts
│   │   └── PriorityQueue.ts
│   ├── demo.ts
│   └── index.ts
├── tests/
│   ├── trees/
│   │   └── BinarySearchTree.test.ts
│   ├── lists/
│   │   └── LinkedList.test.ts
│   ├── stack/
│   │   └── Stack.test.ts
│   └── queue/
│       ├── Queue.test.ts
│       └── PriorityQueue.test.ts
├── package.json
├── tsconfig.json
├── jest.config.js
└── README.md

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1.0.6

10 months ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago