2.0.3 • Published 6 months ago

max-heap-typed v2.0.3

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

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

What

Brief

This is a standalone Max Heap 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 max-heap-typed --save

yarn

yarn add max-heap-typed

snippet

TS

    import {MaxHeap} from 'data-structure-typed';
    // /* or if you prefer */ import {MaxHeap} from 'heap-typed';

    const maxHeap = new MaxHeap<{ keyA: string }>();
    const myObj1 = {keyA: 'a1'}, myObj6 = {keyA: 'a6'}, myObj5 = {keyA: 'a5'}, myObj2 = {keyA: 'a2'},
        myObj0 = {keyA: 'a0'}, myObj9 = {keyA: 'a9'};
    maxHeap.add(1, myObj1);
    maxHeap.has(myObj1)  // true
    maxHeap.has(myObj9)  // false
    maxHeap.add(6, myObj6);
    maxHeap.has(myObj6)  // true
    maxHeap.add(5, myObj5);
    maxHeap.has(myObj5)  // true
    maxHeap.add(2, myObj2);
    maxHeap.has(myObj2)  // true
    maxHeap.has(myObj6)  // true
    maxHeap.add(0, myObj0);
    maxHeap.has(myObj0)  // true
    maxHeap.has(myObj9)  // false
    maxHeap.add(9, myObj9);
    maxHeap.has(myObj9)  // true
    
    const peek9 = maxHeap.peek(true);
    peek9 && peek9.val && peek9.val.keyA  // 'a9'
    
    const heapToArr = maxHeap.toArray(true);
    heapToArr.map(item => item?.val?.keyA)  // ['a9', 'a2', 'a6', 'a1', 'a0', 'a5']
    
    const values = ['a9', 'a6', 'a5', 'a2', 'a1', 'a0'];
    let i = 0;
    while (maxHeap.size > 0) {
        const polled = maxHeap.poll(true);
        polled && polled.val && polled.val.keyA  // values[i]
        i++;
    }

JS

    const {MaxHeap} = require('data-structure-typed');
    // /* or if you prefer */ const {MaxHeap} = require('heap-typed');

    const maxHeap = new MaxHeap();
    const myObj1 = {keyA: 'a1'}, myObj6 = {keyA: 'a6'}, myObj5 = {keyA: 'a5'}, myObj2 = {keyA: 'a2'},
        myObj0 = {keyA: 'a0'}, myObj9 = {keyA: 'a9'};
    maxHeap.add(1, myObj1);
    maxHeap.has(myObj1)  // true
    maxHeap.has(myObj9)  // false
    maxHeap.add(6, myObj6);
    maxHeap.has(myObj6)  // true
    maxHeap.add(5, myObj5);
    maxHeap.has(myObj5)  // true
    maxHeap.add(2, myObj2);
    maxHeap.has(myObj2)  // true
    maxHeap.has(myObj6)  // true
    maxHeap.add(0, myObj0);
    maxHeap.has(myObj0)  // true
    maxHeap.has(myObj9)  // false
    maxHeap.add(9, myObj9);
    maxHeap.has(myObj9)  // true
    
    const peek9 = maxHeap.peek(true);
    peek9 && peek9.val && peek9.val.keyA  // 'a9'
    
    const heapToArr = maxHeap.toArray(true);
    heapToArr.map(item => item?.val?.keyA)  // ['a9', 'a2', 'a6', 'a1', 'a0', 'a5']
    
    const values = ['a9', 'a6', 'a5', 'a2', 'a1', 'a0'];
    let i = 0;
    while (maxHeap.size > 0) {
        const polled = maxHeap.poll(true);
        polled && polled.val && polled.val.keyA  // values[i]
        i++;
    }

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

9 months ago

1.54.2

9 months ago

1.53.0

10 months ago

1.53.2

9 months ago

1.53.1

10 months ago

1.54.1

9 months ago

1.54.0

9 months ago

1.52.9

10 months ago

1.52.8

10 months ago

1.52.5

10 months ago

1.52.6

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.8

2 years ago

1.49.5

2 years ago

1.49.7

2 years ago

1.49.6

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.8

2 years ago

1.48.7

2 years ago

1.48.9

2 years ago

1.48.5

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.45.1

2 years ago

1.45.0

2 years ago

1.45.3

2 years ago

1.45.2

2 years ago

1.46.2

2 years ago

1.46.1

2 years ago

1.46.3

2 years ago

1.46.6

2 years ago

1.46.5

2 years ago

1.46.8

2 years ago

1.46.7

2 years ago

1.43.1

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.35.1

2 years ago

1.37.0

2 years ago

1.35.0

2 years ago

1.39.1

2 years ago

1.37.3

2 years ago

1.33.7

2 years ago

1.39.2

2 years ago

1.37.4

2 years ago

1.33.8

2 years ago

1.39.0

2 years ago

1.37.2

2 years ago

1.33.6

2 years ago

1.39.5

2 years ago

1.37.7

2 years ago

1.39.6

2 years ago

1.37.8

2 years ago

1.39.3

2 years ago

1.37.5

2 years ago

1.39.4

2 years ago

1.37.6

2 years ago

1.37.9

2 years ago

1.40.0

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.42.6

2 years ago

1.42.5

2 years ago

1.42.8

2 years ago

1.42.7

2 years ago

1.42.9

2 years ago

1.32.0

2 years ago

1.34.2

2 years ago

1.34.3

2 years ago

1.32.2

2 years ago

1.34.1

2 years ago

1.38.2

2 years ago

1.36.4

2 years ago

1.34.6

2 years ago

1.36.5

2 years ago

1.34.7

2 years ago

1.32.9

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.36.8

2 years ago

1.38.7

2 years ago

1.36.9

2 years ago

1.38.4

2 years ago

1.36.6

2 years ago

1.34.8

2 years ago

1.38.5

2 years ago

1.34.9

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.38.8

2 years ago

1.3.1

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.43.0

2 years ago

1.41.2

2 years ago

1.41.5

2 years ago

1.41.4

2 years ago

1.41.7

2 years ago

1.41.6

2 years ago

1.41.9

2 years ago

1.41.8

2 years ago

1.31.0

2 years ago

1.21.4

2 years ago

1.21.3

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