Skip to content

TypeScript Algorithm and Data Structures Library (ts-algo-lib) A comprehensive collection of common data structures and algorithms implemented in TypeScript. Features type-safe implementations of Binary Search Trees, Linked Lists, and more. Ideal for learning, interview preparation, and production-ready TypeScript projects.

Notifications You must be signed in to change notification settings

Slygriyrsk/ts-algo-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

TypeScript Algorithm and Data Structures Library (ts-algo-lib) A comprehensive collection of common data structures and algorithms implemented in TypeScript. Features type-safe implementations of Binary Search Trees, Linked Lists, and more. Ideal for learning, interview preparation, and production-ready TypeScript projects.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published