1.0.6 • Published 9 months ago

ts-algo-lib v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
9 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

9 months ago

1.0.4

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago