对象已移动

可在此处找到该文档 Max Heap in JavaScript – GeeksforGeeks – New Self New Life
New Self New Life
No Result
View All Result
  • Home
  • Entertainment
  • Celebrity
  • Cinema
  • Music
  • Digital Lifestyle
  • Social Media
  • Softwares
  • Devices
  • Home
  • Entertainment
  • Celebrity
  • Cinema
  • Music
  • Digital Lifestyle
  • Social Media
  • Softwares
  • Devices
New Self New Life
No Result
View All Result
Home Softwares

Max Heap in JavaScript – GeeksforGeeks

by admin
3 years ago
in Softwares
Best Coding Practices For Rest API Design
Share on FacebookShare on Twitter


class MaxHeap {

 constructor() {

     this.heap = [];

 }

  

 

 getLeftChildIndex(parentIndex) { return 2 * parentIndex + 1; }

 getRightChildIndex(parentIndex) { return 2 * parentIndex + 2; }

  

 getParentIndex(childIndex) {

     return Math.ground((childIndex - 1) / 2);

 }

  

 hasLeftChild(index) {

     return this.getLeftChildIndex(index) < this.heap.size;

 }

  

 hasRightChild(index) {

     return this.getRightChildIndex(index) < this.heap.size;

 }

  

 hasParent(index) {

     return this.getParentIndex(index) >= 0;

 }

  

 leftChild(index) {

     return this.heap[this.getLeftChildIndex(index)];

 }

  

 rightChild(index) {

     return this.heap[this.getRightChildIndex(index)];

 }

  

 mum or dad(index) {

     return this.heap[this.getParentIndex(index)];

 }

  

 swap(indexOne, indexTwo) {

     const temp = this.heap[indexOne];

     this.heap[indexOne] = this.heap[indexTwo];

     this.heap[indexTwo] = temp;

 }

  

 peek() {

     if (this.heap.size === 0) {

         return null;

     }

     return this.heap[0];

 }

   

 

 

 

 take away() {

     if (this.heap.size === 0) {

         return null;

     }

     const merchandise = this.heap[0];

     this.heap[0] = this.heap[this.heap.length - 1];

     this.heap.pop();

     this.heapifyDown();

     return merchandise;

 }

  

 add(merchandise) {

     this.heap.push(merchandise);

     this.heapifyUp();

 }

  

 heapifyUp() {

     let index = this.heap.size - 1;

     whereas (this.hasParent(index) && this.mum or dad(index) < this.heap[index]) {

         this.swap(this.getParentIndex(index), index);

         index = this.getParentIndex(index);

     }

 }

  

 heapifyDown() {

     let index = 0;

     whereas (this.hasLeftChild(index)) {

         let largerChildIndex = this.getLeftChildIndex(index);

         if (this.hasRightChild(index) && this.rightChild(index) > this.leftChild(index)) {

             largerChildIndex = this.getRightChildIndex(index);

         }

         if (this.heap[index] > this.heap[largerChildIndex]) {

             break;

         } else {

             this.swap(index, largerChildIndex);

         }

         index = largerChildIndex;

     }

 }

   

 printHeap() {

     var heap =` ${this.heap[0]} `

     for(var i = 1; i<this.heap.size;i++) {

         heap += ` ${this.heap[i]} `;

     }

     console.log(heap);

 }

}

  

var heap = new MaxHeap();

  

heap.add(10);

heap.add(15);

heap.add(30);

heap.add(40);

heap.add(50);

heap.add(100);

heap.add(40);

  

heap.printHeap();

  

console.log(heap.peek());

console.log(heap.take away());

  

heap.printHeap();



Source link

Tags: GeeksforGeeksHeapJavaScriptMax
Previous Post

S’pore startup Take App builds app to simplify WhatsApp ordering

Next Post

What Is a Divorce From Bed and Board?

Related Posts

Syncfusion restructures Essential Studio into multiple different suites to provide greater flexibility for developers
Softwares

Syncfusion restructures Essential Studio into multiple different suites to provide greater flexibility for developers

by admin
September 23, 2025
XZ attack reveals unlearned open-source security lessons
Softwares

XZ attack reveals unlearned open-source security lessons

by admin
September 22, 2025
Fixes, Polish, and security updates – Vivaldi Browser snapshot 3813.3
Softwares

Fixes, Polish, and security updates – Vivaldi Browser snapshot 3813.3

by admin
September 19, 2025
Fintech Software Development in 2025: Your Complete Guide
Softwares

Fintech Software Development in 2025: Your Complete Guide

by admin
September 20, 2025
User Guide for Odoo Zoho Analytics Connector
Softwares

User Guide for Odoo Zoho Analytics Connector

by admin
September 16, 2025
Next Post
What Is a Divorce From Bed and Board?

What Is a Divorce From Bed and Board?

Copilot X heralds a new era of AI-powered coding

Copilot X heralds a new era of AI-powered coding

  • Trending
  • Comments
  • Latest
I Only Have More Questions After Another Bizarre Outing With The Harrigans

I Only Have More Questions After Another Bizarre Outing With The Harrigans

April 20, 2025
Google’s AI Ambitions An ‘Existential Crisis’ For News Online

Google’s AI Ambitions An ‘Existential Crisis’ For News Online

September 6, 2025
Amazon Forgot to Take the 2024 MacBook Air Off Sale After Their Big Spring Event

Amazon Forgot to Take the 2024 MacBook Air Off Sale After Their Big Spring Event

April 4, 2025
Ecca Vandal’s “CRUISING TO SELF SOOTHE” video is an ode to skate culture

Ecca Vandal’s “CRUISING TO SELF SOOTHE” video is an ode to skate culture

March 10, 2025
Easy Blueberry Scones (With Frozen Blueberries)

Easy Blueberry Scones (With Frozen Blueberries)

April 10, 2025
A Global Recognition of Indi

A Global Recognition of Indi

April 21, 2025
Where will Prince Harry stay during UK visit without Meghan Markle?

Where will Prince Harry stay during UK visit without Meghan Markle?

September 8, 2025
10 Best Vampire TV Couples, Ranked

10 Best Vampire TV Couples, Ranked

September 7, 2025
Matthew McConaughey on Son Levi McConaughey Acting

Matthew McConaughey on Son Levi McConaughey Acting

September 24, 2025
Robert Irwin reveals he’s single and looking for an American girlfriend

Robert Irwin reveals he’s single and looking for an American girlfriend

September 24, 2025
Jimmy Kimmel Tears Up in Return to Late Night

Jimmy Kimmel Tears Up in Return to Late Night

September 24, 2025
New Zealand Delists Igor Makarov, Aligning With U.K. and Australia

New Zealand Delists Igor Makarov, Aligning With U.K. and Australia

September 23, 2025
Syncfusion restructures Essential Studio into multiple different suites to provide greater flexibility for developers

Syncfusion restructures Essential Studio into multiple different suites to provide greater flexibility for developers

September 23, 2025
Sweet Moment James Van Der Beek’s Wife & Kids Stole Spotlight at Dawson’s Creek Reunion

Sweet Moment James Van Der Beek’s Wife & Kids Stole Spotlight at Dawson’s Creek Reunion

September 23, 2025
Affordable Smartwatches: Why the Apple Watch SE 3 Stands Out

Affordable Smartwatches: Why the Apple Watch SE 3 Stands Out

September 23, 2025
Katy Perry Tells Fans She’s ‘Continuing to Move Forward’

Katy Perry Tells Fans She’s ‘Continuing to Move Forward’

September 23, 2025
New Self New Life

Your source for entertainment news, celebrities, celebrity news, and Music, Cinema, Digital Lifestyle and Social Media and More !

Categories

  • Celebrity
  • Cinema
  • Devices
  • Digital Lifestyle
  • Entertainment
  • Music
  • Social Media
  • Softwares
  • Uncategorized

Recent Posts

  • Matthew McConaughey on Son Levi McConaughey Acting
  • Robert Irwin reveals he’s single and looking for an American girlfriend
  • Jimmy Kimmel Tears Up in Return to Late Night
  • Home
  • Disclaimer
  • DMCA
  • Privacy Policy
  • Cookie Privacy Policy
  • Terms and Conditions
  • Contact us

Copyright © 2021 New Self New Life.
New Self New Life is not responsible for the content of external sites. slotsfree  creator solana token

No Result
View All Result
  • Home
  • Entertainment
  • Celebrity
  • Cinema
  • Music
  • Digital Lifestyle
  • Social Media
  • Softwares
  • Devices

Copyright © 2021 New Self New Life.
New Self New Life is not responsible for the content of external sites.

New Self New Life