Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

jsheap

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsheap

Binary heap trees implementation

  • 0.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
8
increased by14.29%
Maintainers
1
Weekly downloads
 
Created
Source

jsheap Build Status

Binary heaps implementation in Javascript

A binary heap is a complete binary tree which satisfies the heap ordering property. The ordering can be one of two types:

  • the min-heap property: the value of each node is greater than or equal to the value of its parent, with the minimum-value element at the root.
  • the max-heap property: the value of each node is less than or equal to the value of its parent, with the maximum-value element at the root.

A heap is not a sorted structure and can be regarded as partially ordered: there is no particular relationship among nodes on any given level, even among the siblings. It is useful data structure when you need to remove the object with the highest (or lowest) priority. A common use of a heap is to implement a priority queue.

Time complexity

Install

$ npm install --save jsheap

API

HeapTree(params)

Initialises a HeapTree object

  • Parameters:
    • params: object with keys 'src' (source array) and 'check' (whether to perform a heapify)

HeapTree.getArray()

Gets the underlying array structure

HeapTree.heapify(arr)

Transform an array into a max-heap

HeapTree.level(i)

Gets the level of a node

HeapTree.parent(i)

Gets the parent of a node

HeapTree.left(i)

Gets the left child of a node

HeapTree.right(i)

Gets the right child of a node

ht.root()

Gets the root of the heap

ht.lastLeaf()

Gets the last leaf of the heap

ht.isEmpty()

Checks whether the heap is empty

ht.bubbleUp(i)

Bubble up a node to its correct position

ht.bubbleDown(i)

Bubble down a node to its correct position

ht.insert(k)

Inserts a node into the heap

ht.deleteRoot()

Deletes the root

ht.delete(i)

Deletes a node from the heap

Keywords

FAQs

Package last updated on 24 Apr 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc