1.37.2 • Published 2 years ago

priority-queue-typed v1.37.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

NPM GitHub top language npm eslint npm bundle size npm bundle size npm

What

Brief

This is a standalone Priority Queue data structure from the data-structure-typed collection. If you wish to access more data structures or advanced features, you can transition to directly installing the complete data-structure-typed package

How

install

npm

npm i priority-queue-typed --save

yarn

yarn add priority-queue-typed

snippet

TS

    import {PriorityQueue, MinPriorityQueue} from 'data-structure-typed';
    // /* or if you prefer */ import {PriorityQueue, MinPriorityQueue} from 'priority-queue-typed';

    const minPQ = new PriorityQueue<number>({nodes: [5, 2, 3, 4, 6, 1], comparator: (a, b) => a - b});
    minPQ.toArray()             //  [1, 2, 3, 4, 6, 5]
    minPQ.poll();
    minPQ.poll();
    minPQ.poll();
    minPQ.toArray()             //  [4, 5, 6]
    minPQ.peek()                //  4
    PriorityQueue.heapify({
        nodes: [3, 2, 1, 5, 6, 7, 8, 9, 10],
        comparator: (a, b) => a - b
    }).toArray()                //  [1, 2, 3, 5, 6, 7, 8, 9, 10]

    const priorityQueue = new MinPriorityQueue<number>();
    priorityQueue.add(5);
    priorityQueue.add(3);
    priorityQueue.add(7);
    priorityQueue.add(1);
    const sortedArray = priorityQueue.sort(); //  [1, 3, 5, 7]);

    const minPQ1 = new PriorityQueue<number>({nodes: [2, 5, 8, 3, 1, 6, 7, 4], comparator: (a, b) => a - b});
    const clonedPriorityQueue = minPQ1.clone();
    clonedPriorityQueue.getNodes()  //  minPQ1.getNodes()
    clonedPriorityQueue.sort()      //  [1, 2, 3, 4, 5, 6, 7, 8]
    minPQ1.DFS('in')                //  [4, 3, 2, 5, 1, 8, 6, 7]
    minPQ1.DFS('post')              //  [4, 3, 5, 2, 8, 7, 6, 1]
    minPQ1.DFS('pre')               //  [1, 2, 3, 4, 5, 6, 8, 7]

JS

    const {PriorityQueue, MinPriorityQueue} = require('data-structure-typed');
    // /* or if you prefer */ const {PriorityQueue, MinPriorityQueue} = require('priority-queue-typed');

    const minPQ = new PriorityQueue({nodes: [5, 2, 3, 4, 6, 1], comparator: (a, b) => a - b});
    minPQ.toArray()             //  [1, 2, 3, 4, 6, 5]
    minPQ.poll();
    minPQ.poll();
    minPQ.poll();
    minPQ.toArray()             //  [4, 5, 6]
    minPQ.peek()                //  4
    PriorityQueue.heapify({
        nodes: [3, 2, 1, 5, 6, 7, 8, 9, 10],
        comparator: (a, b) => a - b
    }).toArray()                //  [1, 2, 3, 5, 6, 7, 8, 9, 10]
    
    const priorityQueue = new MinPriorityQueue();
    priorityQueue.add(5);
    priorityQueue.add(3);
    priorityQueue.add(7);
    priorityQueue.add(1);
    const sortedArray = priorityQueue.sort(); //  [1, 3, 5, 7]);
    
    const minPQ1 = new PriorityQueue<number>({nodes: [2, 5, 8, 3, 1, 6, 7, 4], comparator: (a, b) => a - b});
    const clonedPriorityQueue = minPQ1.clone();
    clonedPriorityQueue.getNodes()  //  minPQ1.getNodes()
    clonedPriorityQueue.sort()      //  [1, 2, 3, 4, 5, 6, 7, 8]
    minPQ1.DFS('in')                //  [4, 3, 2, 5, 1, 8, 6, 7]
    minPQ1.DFS('post')              //  [4, 3, 5, 2, 8, 7, 6, 1]
    minPQ1.DFS('pre')               //  [1, 2, 3, 4, 5, 6, 8, 7]

API docs & Examples

API Docs

Live Examples

Examples Repository

Data Structures

Standard library data structure comparison

Benchmark

Built-in classic algorithms

Software Engineering Design Standards

2.0.3

6 months ago

2.0.1

7 months ago

2.0.0

8 months ago

1.53.4

9 months ago

1.53.3

9 months ago

1.53.6

9 months ago

1.53.5

9 months ago

1.53.8

9 months ago

1.53.7

9 months ago

1.53.9

9 months ago

1.54.3

8 months ago

1.54.2

9 months ago

1.53.0

10 months ago

1.53.2

9 months ago

1.53.1

9 months ago

1.54.1

9 months ago

1.54.0

9 months ago

1.52.9

10 months ago

1.52.5

10 months ago

1.52.6

10 months ago

1.52.8

10 months ago

1.52.4

10 months ago

1.52.3

12 months ago

1.52.2

12 months ago

1.52.1

1 year ago

1.52.0

2 years ago

1.51.9

2 years ago

1.51.8

2 years ago

1.51.7

2 years ago

1.51.5

2 years ago

1.51.4

2 years ago

1.51.0

2 years ago

1.51.2

2 years ago

1.51.1

2 years ago

1.51.3

2 years ago

1.50.9

2 years ago

1.50.8

2 years ago

1.50.7

2 years ago

1.50.6

2 years ago

1.50.5

2 years ago

1.50.4

2 years ago

1.50.3

2 years ago

1.50.2

2 years ago

1.50.1

2 years ago

1.50.0

2 years ago

1.49.9

2 years ago

1.49.5

2 years ago

1.49.7

2 years ago

1.49.6

2 years ago

1.49.8

2 years ago

1.49.4

2 years ago

1.49.3

2 years ago

1.49.2

2 years ago

1.49.1

2 years ago

1.49.0

2 years ago

1.48.6

2 years ago

1.48.5

2 years ago

1.48.8

2 years ago

1.48.7

2 years ago

1.48.9

2 years ago

1.37.0

2 years ago

1.37.3

2 years ago

1.33.7

2 years ago

1.37.4

2 years ago

1.33.8

2 years ago

1.37.2

2 years ago

1.37.7

2 years ago

1.37.8

2 years ago

1.37.5

2 years ago

1.37.6

2 years ago

1.37.9

2 years ago

1.40.0

2 years ago

1.44.0

2 years ago

1.44.1

2 years ago

1.48.0

2 years ago

1.48.2

2 years ago

1.48.1

2 years ago

1.48.4

2 years ago

1.48.3

2 years ago

1.34.2

2 years ago

1.34.3

2 years ago

1.34.1

2 years ago

1.38.2

2 years ago

1.34.6

2 years ago

1.34.7

2 years ago

1.38.0

2 years ago

1.40.0-rc

2 years ago

1.34.4

2 years ago

1.38.1

2 years ago

1.34.5

2 years ago

1.38.6

2 years ago

1.38.7

2 years ago

1.38.4

2 years ago

1.34.8

2 years ago

1.38.5

2 years ago

1.34.9

2 years ago

1.38.8

2 years ago

1.38.9

2 years ago

1.41.1

2 years ago

1.41.0

2 years ago

1.41.3

2 years ago

1.41.2

2 years ago

1.45.1

2 years ago

1.41.5

2 years ago

1.45.0

2 years ago

1.41.4

2 years ago

1.45.3

2 years ago

1.41.7

2 years ago

1.45.2

2 years ago

1.41.6

2 years ago

1.41.9

2 years ago

1.41.8

2 years ago

1.35.1

2 years ago

1.35.0

2 years ago

1.39.1

2 years ago

1.39.2

2 years ago

1.39.0

2 years ago

1.39.5

2 years ago

1.39.6

2 years ago

1.39.3

2 years ago

1.39.4

2 years ago

1.42.0

2 years ago

1.42.2

2 years ago

1.42.1

2 years ago

1.42.4

2 years ago

1.42.3

2 years ago

1.46.2

2 years ago

1.42.6

2 years ago

1.46.1

2 years ago

1.42.5

2 years ago

1.46.4

2 years ago

1.42.8

2 years ago

1.46.3

2 years ago

1.42.7

2 years ago

1.46.6

2 years ago

1.46.5

2 years ago

1.42.9

2 years ago

1.46.8

2 years ago

1.46.7

2 years ago

1.46.9

2 years ago

1.36.0

2 years ago

1.36.4

2 years ago

1.36.5

2 years ago

1.36.3

2 years ago

1.36.8

2 years ago

1.36.9

2 years ago

1.36.6

2 years ago

1.43.1

2 years ago

1.43.0

2 years ago

1.43.3

2 years ago

1.47.1

2 years ago

1.47.3

2 years ago

1.47.2

2 years ago

1.47.5

2 years ago

1.47.4

2 years ago

1.47.7

2 years ago

1.47.6

2 years ago

1.47.9

2 years ago

1.47.8

2 years ago

1.21.4

2 years ago

1.32.2

2 years ago

1.21.3

2 years ago

1.32.9

2 years ago

1.33.6

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.32.0

2 years ago

1.31.0

2 years ago

1.21.2

2 years ago

1.21.0

2 years ago

1.20.0

2 years ago

1.19.9

2 years ago

1.19.7

2 years ago

1.19.6

2 years ago

1.19.5

2 years ago

1.19.3

2 years ago