{"id":9151,"date":"2022-07-19T10:11:10","date_gmt":"2022-07-19T10:11:10","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=9151"},"modified":"2022-12-14T10:40:39","modified_gmt":"2022-12-14T10:40:39","slug":"priority-queue-using-binary-heap","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/","title":{"rendered":"Priority Queue using Binary Heap"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223739975-Article.jpg\" alt=\"\" \/><\/p>\n<h3>What is the priority queue?<\/h3>\n<p>Priority queues are abstract data structures where each element in the queue has a priority value. For example, in any airline, baggage under the \u201cFirst-Class\u201d or \u201cBusiness\u201d arrives before other baggage.<br \/>\nA <a href=\"https:\/\/prepbytes.com\/blog\/queues\/priority-queue-introduction\/\" title=\"priority Queue\">priority Queue<\/a> is a type of queue that follows the given below properties:<\/p>\n<ul>\n<li>An item with higher priority will be dequeued before the item with lower priority.<\/li>\n<li>If two elements present in the priority queue are having the same priority, then they will be served according to the order in which they are present in the queue.<\/li>\n<\/ul>\n<p>The priority queue is widely used in many applications like job scheduling algorithms, CPU and Disk scheduling, and managing various resources shared between different processes, etc.<\/p>\n<h3>How is the Priority Value assigned in the Priority Queue?<\/h3>\n<p>Usually, an element&#8217;s value is considered for assigning the priority. For example, the element with bigger value will have a higher priority than the element with lower value.<br \/>\nWe can also set priorities according to our demand.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223756706-Image-01.png\"><\/p>\n<h3>The main difference between a queue and a priority queue:<\/h3>\n<ol>\n<li>In the queue, the element inserted first will be dequeued first. But in the case of a priority queue, the element which is having highest priority will be dequeued first.<\/li>\n<li>When an element is popped out of the priority queue, the result will be in the sorted order, it can be either increasing or decreasing. While in queue elements are popped out in the order of FIFO (First in First out).<\/li>\n<\/ol>\n<h3>What is Binary Heap?<\/h3>\n<p><a href=\"https:\/\/prepbytes.com\/blog\/tree\/why-is-binary-heap-preferred-over-bst-for-priority-queue\/\" title=\"Binary heap\">Binary heap<\/a> is a complete tree i.e. All the levels of the tree are completely filled except the leaf nodes or last level and have all keys on the left. Due to this property, Binary heaps are suitable to be stored in an array.<br \/>\nA binary heap is either a min-heap or a max heap.<br \/>\nIn the min-heap, the value at the root node is smaller than all the nodes present in the binary heap, and in the max heap, the value at the root node is greater than all the nodes present in the binary heap.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223779559-Image-02.png\"><\/p>\n<h3>Implementation of Priority Queue<\/h3>\n<p>We can implement priority queues by using different data structures like an array, a linked list, a heap data structure, or a binary search tree. But Heap data structure provides an efficient implementation of priority queues.<\/p>\n<p>Hence, we will use a heap data structure for implementing the priority queue in this article. We will use max-heap to implement the operations of the priority queue.<\/p>\n<p>A time analysis of different implementations of priority queue is given below.<\/p>\n<table>\n<thead>\n<tr>\n<th>Operations<\/th>\n<th>peek<\/th>\n<th>insert<\/th>\n<th>delete<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Linked List<\/td>\n<td>O(1)<\/td>\n<td>O(n)<\/td>\n<td>O(1)<\/td>\n<\/tr>\n<tr>\n<td>Binary Heap<\/td>\n<td>O(1)<\/td>\n<td>O(log n)<\/td>\n<td>O(log n)<\/td>\n<\/tr>\n<tr>\n<td>Binary Search Tree<\/td>\n<td>O(1)<\/td>\n<td>O(log n)<\/td>\n<td>O(log n)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Operations of Priority Queue:<\/h3>\n<ol>\n<li>\n<p><strong>Insert<\/strong><br \/>\nIt is done by the following steps:<\/p>\n<ul>\n<li>Insert the new item at the end of the tree.<\/li>\n<li>Perform the Heapify function on the tree.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Delete<\/strong><br \/>\nIt is done by the following steps:<\/p>\n<ul>\n<li>Select the item which is to be deleted from the tree.<\/li>\n<li>Swap the value with the last item from the tree.<\/li>\n<li>Remove the last item.<\/li>\n<li>Perform the Heapify function on the tree. <\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Peek<\/strong><br \/>\nThis operation will return the maximum item from the Heap without deleting the node.<\/p>\n<\/li>\n<\/ol>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_9159 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_9159 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_9159 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_9159 .wpsm_nav-tabs > li.active > a, #tab_container_9159 .wpsm_nav-tabs > li.active > a:hover, #tab_container_9159 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_9159 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_9159 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_9159 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_9159 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_9159 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_9159 .wpsm_nav-tabs > li > a:hover , #tab_container_9159 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_9159 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_9159 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_9159 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_9159 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_9159 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_9159 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_9159 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9159 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_9159 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9159 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_9159 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_9159\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_9159\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_9159_1\" aria-controls=\"tabs_desc_9159_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_9159_2\" aria-controls=\"tabs_desc_9159_2\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C++<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_9159_3\" aria-controls=\"tabs_desc_9159_3\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Java<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_9159_4\" aria-controls=\"tabs_desc_9159_4\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Python<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_9159\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_9159_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"c\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include &lt;stdio.h&gt;\r\nint size = 0;\r\nvoid swap(int *a, int *b) {\r\n  int temp = *b;\r\n  *b = *a;\r\n  *a = temp;\r\n}\r\n\r\n\/\/ Function to heapify the tree\r\nvoid heapify(int array[], int size, int i) {\r\n  if (size == 1) {\r\n    printf(&quot;Single element in the heap&quot;);\r\n  } else {\r\n    \/\/ Find the largest among root, left child and right child\r\n    int largest = i;\r\n    int l = 2 * i + 1;\r\n    int r = 2 * i + 2;\r\n    if (l &lt; size &amp;&amp; array[l] &gt; array[largest])\r\n      largest = l;\r\n    if (r &lt; size &amp;&amp; array[r] &gt; array[largest])\r\n      largest = r;\r\n\r\n    \/\/ Swap and continue heapifying if root is not largest\r\n    if (largest != i) {\r\n      swap(&amp;array[i], &amp;array[largest]);\r\n      heapify(array, size, largest);\r\n    }\r\n  }\r\n}\r\n\r\n\/\/ Function to insert an element into the tree\r\nvoid insert(int array[], int newNum) {\r\n  if (size == 0) {\r\n    array[0] = newNum;\r\n    size += 1;\r\n  } else {\r\n    array[size] = newNum;\r\n    size += 1;\r\n    for (int i = size \/ 2 - 1; i &gt;= 0; i--) {\r\n      heapify(array, size, i);\r\n    }\r\n  }\r\n}\r\n\r\n\/\/ Function to delete an element from the tree\r\nvoid deleteRoot(int array[], int num) {\r\n  int i;\r\n  for (i = 0; i &lt; size; i++) {\r\n    if (num == array[i])\r\n      break;\r\n  }\r\n\r\n  swap(&amp;array[i], &amp;array[size - 1]);\r\n  size -= 1;\r\n  for (int i = size \/ 2 - 1; i &gt;= 0; i--) {\r\n    heapify(array, size, i);\r\n  }\r\n}\r\n\r\n\/\/ Print the array\r\nvoid printArray(int array[], int size) {\r\n  for (int i = 0; i &lt; size; ++i)\r\n    printf(&quot;%d &quot;, array[i]);\r\n  printf(&quot;&#92;n&quot;);\r\n}\r\n\r\n\/\/ Driver code\r\nint main() {\r\n  int array[10];\r\n\r\n  insert(array, 3);\r\n  insert(array, 4);\r\n  insert(array, 9);\r\n  insert(array, 5);\r\n  insert(array, 2);\r\n\r\n  printf(&quot;Max-Heap array: &quot;);\r\n  printArray(array, size);\r\n\r\n  deleteRoot(array, 4);\r\n\r\n  printf(&quot;After deleting an element: &quot;);\r\n\r\n  printArray(array, size);\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\r\n\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_9159_2\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"cpp\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n\/\/ Priority Queue implementation in C++\r\n\r\n#include &lt;iostream&gt;\r\n#include &lt;vector&gt;\r\nusing namespace std;\r\n\r\n\/\/ Function to swap position of two elements\r\nvoid swap(int *a, int *b) {\r\n  int temp = *b;\r\n  *b = *a;\r\n  *a = temp;\r\n}\r\n\r\n\/\/ Function to heapify the tree\r\nvoid heapify(vector&lt;int&gt; &amp;hT, int i) {\r\n  int size = hT.size();\r\n  \r\n  \/\/ Find the largest among root, left child and right child\r\n  int largest = i;\r\n  int l = 2 * i + 1;\r\n  int r = 2 * i + 2;\r\n  if (l &lt; size &amp;&amp; hT[l] &gt; hT[largest])\r\n    largest = l;\r\n  if (r &lt; size &amp;&amp; hT[r] &gt; hT[largest])\r\n    largest = r;\r\n\r\n  \/\/ Swap and continue heapifying if root is not largest\r\n  if (largest != i) {\r\n    swap(&amp;hT[i], &amp;hT[largest]);\r\n    heapify(hT, largest);\r\n  }\r\n}\r\n\r\n\/\/ Function to insert an element into the tree\r\nvoid insert(vector&lt;int&gt; &amp;hT, int newNum) {\r\n  int size = hT.size();\r\n  if (size == 0) {\r\n    hT.push_back(newNum);\r\n  } else {\r\n    hT.push_back(newNum);\r\n    for (int i = size \/ 2 - 1; i &gt;= 0; i--) {\r\n      heapify(hT, i);\r\n    }\r\n  }\r\n}\r\n\r\n\/\/ Function to delete an element from the tree\r\nvoid deleteNode(vector&lt;int&gt; &amp;hT, int num) {\r\n  int size = hT.size();\r\n  int i;\r\n  for (i = 0; i &lt; size; i++) {\r\n    if (num == hT[i])\r\n      break;\r\n  }\r\n  swap(&amp;hT[i], &amp;hT[size - 1]);\r\n\r\n  hT.pop_back();\r\n  for (int i = size \/ 2 - 1; i &gt;= 0; i--) {\r\n    heapify(hT, i);\r\n  }\r\n}\r\n\r\n\/\/ Print the tree\r\nvoid printArray(vector&lt;int&gt; &amp;hT) {\r\n  for (int i = 0; i &lt; hT.size(); ++i)\r\n    cout &lt;&lt; hT[i] &lt;&lt; &quot; &quot;;\r\n  cout &lt;&lt; &quot;&#92;n&quot;;\r\n}\r\n\r\n\/\/ Driver code\r\nint main() {\r\n  vector&lt;int&gt; heapTree;\r\n\r\n  insert(heapTree, 3);\r\n  insert(heapTree, 4);\r\n  insert(heapTree, 9);\r\n  insert(heapTree, 5);\r\n  insert(heapTree, 2);\r\n\r\n  cout &lt;&lt; &quot;Max-Heap array: &quot;;\r\n  printArray(heapTree);\r\n\r\n  deleteNode(heapTree, 4);\r\n\r\n  cout &lt;&lt; &quot;After deleting an element: &quot;;\r\n\r\n  printArray(heapTree);\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\r\n\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_9159_3\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"java\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\nimport java.util.ArrayList;\r\n\r\nclass Heap {\r\n  \/\/ Function to heapify the tree\r\n  void heapify(ArrayList&lt;Integer&gt; hT, int i) {\r\n    int size = hT.size();\r\n    \/\/ Find the largest among root, left child and right child\r\n    int largest = i;\r\n    int l = 2 * i + 1;\r\n    int r = 2 * i + 2;\r\n    if (l &lt; size &amp;&amp; hT.get(l) &gt; hT.get(largest))\r\n      largest = l;\r\n    if (r &lt; size &amp;&amp; hT.get(r) &gt; hT.get(largest))\r\n      largest = r;\r\n\r\n    \/\/ Swap and continue heapifying if root is not largest\r\n    if (largest != i) {\r\n      int temp = hT.get(largest);\r\n      hT.set(largest, hT.get(i));\r\n      hT.set(i, temp);\r\n\r\n      heapify(hT, largest);\r\n    }\r\n  }\r\n\r\n  \/\/ Function to insert an element into the tree\r\n  void insert(ArrayList&lt;Integer&gt; hT, int newNum) {\r\n    int size = hT.size();\r\n    if (size == 0) {\r\n      hT.add(newNum);\r\n    } else {\r\n      hT.add(newNum);\r\n      for (int i = size \/ 2 - 1; i &gt;= 0; i--) {\r\n        heapify(hT, i);\r\n      }\r\n    }\r\n  }\r\n\r\n  \/\/ Function to delete an element from the tree\r\n  void deleteNode(ArrayList&lt;Integer&gt; hT, int num) {\r\n    int size = hT.size();\r\n    int i;\r\n    for (i = 0; i &lt; size; i++) {\r\n      if (num == hT.get(i))\r\n        break;\r\n    }\r\n\r\n    int temp = hT.get(i);\r\n    hT.set(i, hT.get(size - 1));\r\n    hT.set(size - 1, temp);\r\n\r\n    hT.remove(size - 1);\r\n    for (int j = size \/ 2 - 1; j &gt;= 0; j--) {\r\n      heapify(hT, j);\r\n    }\r\n  }\r\n\r\n  \/\/ Print the tree\r\n  void printArray(ArrayList&lt;Integer&gt; array, int size) {\r\n    for (Integer i : array) {\r\n      System.out.print(i + &quot; &quot;);\r\n    }\r\n    System.out.println();\r\n  }\r\n\r\n  \/\/ Driver code\r\n  public static void main(String args[]) {\r\n\r\n    ArrayList&lt;Integer&gt; array = new ArrayList&lt;Integer&gt;();\r\n    int size = array.size();\r\n\r\n    Heap h = new Heap();\r\n    h.insert(array, 3);\r\n    h.insert(array, 4);\r\n    h.insert(array, 9);\r\n    h.insert(array, 5);\r\n    h.insert(array, 2);\r\n\r\n    System.out.println(&quot;Max-Heap array: &quot;);\r\n    h.printArray(array, size);\r\n\r\n    h.deleteNode(array, 4);\r\n    System.out.println(&quot;After deleting an element: &quot;);\r\n    h.printArray(array, size);\r\n  }\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\r\n\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_9159_4\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"cpp\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n# Priority Queue implementation in Python\r\n\r\n\r\n# Function to heapify the tree\r\ndef heapify(arr, n, i):\r\n    # Find the largest among root, left child and right child\r\n    largest = i\r\n    l = 2 * i + 1\r\n    r = 2 * i + 2\r\n\r\n    if l < n and arr[i] < arr[l]:\r\n        largest = l\r\n\r\n    if r < n and arr[largest] < arr[r]:\r\n        largest = r\r\n\r\n    # Swap and continue heapifying if root is not largest\r\n    if largest != i:\r\n        arr[i], arr[largest] = arr[largest], arr[i]\r\n        heapify(arr, n, largest)\r\n\r\n\r\n# Function to insert an element into the tree\r\ndef insert(array, newNum):\r\n    size = len(array)\r\n    if size == 0:\r\n        array.append(newNum)\r\n    else:\r\n        array.append(newNum)\r\n        for i in range((size \/\/ 2) - 1, -1, -1):\r\n            heapify(array, size, i)\r\n\r\n\r\n# Function to delete an element from the tree\r\ndef deleteNode(array, num):\r\n    size = len(array)\r\n    i = 0\r\n    for i in range(0, size):\r\n        if num == array[i]:\r\n            break\r\n\r\n    array[i], array[size - 1] = array[size - 1], array[i]\r\n\r\n    array.remove(size - 1)\r\n\r\n    for i in range((len(array) \/\/ 2) - 1, -1, -1):\r\n        heapify(array, len(array), i)\r\n\r\n\r\narr = []\r\n\r\ninsert(arr, 3)\r\ninsert(arr, 4)\r\ninsert(arr, 9)\r\ninsert(arr, 5)\r\ninsert(arr, 2)\r\n\r\nprint (\"Max-Heap array: \" + str(arr))\r\n\r\ndeleteNode(arr, 4)\r\nprint(\"After deleting an element: \" + str(arr))\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\r\n\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_9159 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_9159 a\"),jQuery(\"#tab-content_9159\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t\n<p>This article tried to discuss the concept of <strong>Priority Queue using Binary Heap<\/strong>. Hope this blog helps you understand the concept. To practice problems you can check out <a href=\"#\"><\/a> at <a href=\"https:\/\/www.prepbytes.com\/\"> Prepbytes<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is the priority queue? Priority queues are abstract data structures where each element in the queue has a priority value. For example, in any airline, baggage under the \u201cFirst-Class\u201d or \u201cBusiness\u201d arrives before other baggage. A priority Queue is a type of queue that follows the given below properties: An item with higher priority [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[128],"tags":[],"class_list":["post-9151","post","type-post","status-publish","format-standard","hentry","category-queues"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Queues Priority | Queue Using Binary Heap | Prepbytes Blog<\/title>\n<meta name=\"description\" content=\"The priority queue is widely used in many applications like job scheduling algorithms, CPU and Disk scheduling, and managing various resources shared between different processes, etc.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Queues Priority | Queue Using Binary Heap | Prepbytes Blog\" \/>\n<meta property=\"og:description\" content=\"The priority queue is widely used in many applications like job scheduling algorithms, CPU and Disk scheduling, and managing various resources shared between different processes, etc.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-19T10:11:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-14T10:40:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223739975-Article.jpg\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Priority Queue using Binary Heap\",\"datePublished\":\"2022-07-19T10:11:10+00:00\",\"dateModified\":\"2022-12-14T10:40:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/\"},\"wordCount\":582,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223739975-Article.jpg\",\"articleSection\":[\"Queues\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/\",\"name\":\"Queues Priority | Queue Using Binary Heap | Prepbytes Blog\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223739975-Article.jpg\",\"datePublished\":\"2022-07-19T10:11:10+00:00\",\"dateModified\":\"2022-12-14T10:40:39+00:00\",\"description\":\"The priority queue is widely used in many applications like job scheduling algorithms, CPU and Disk scheduling, and managing various resources shared between different processes, etc.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223739975-Article.jpg\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223739975-Article.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Queues\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/queues\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Priority Queue using Binary Heap\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Queues Priority | Queue Using Binary Heap | Prepbytes Blog","description":"The priority queue is widely used in many applications like job scheduling algorithms, CPU and Disk scheduling, and managing various resources shared between different processes, etc.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/","og_locale":"en_US","og_type":"article","og_title":"Queues Priority | Queue Using Binary Heap | Prepbytes Blog","og_description":"The priority queue is widely used in many applications like job scheduling algorithms, CPU and Disk scheduling, and managing various resources shared between different processes, etc.","og_url":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2022-07-19T10:11:10+00:00","article_modified_time":"2022-12-14T10:40:39+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223739975-Article.jpg","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Priority Queue using Binary Heap","datePublished":"2022-07-19T10:11:10+00:00","dateModified":"2022-12-14T10:40:39+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/"},"wordCount":582,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223739975-Article.jpg","articleSection":["Queues"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/","url":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/","name":"Queues Priority | Queue Using Binary Heap | Prepbytes Blog","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223739975-Article.jpg","datePublished":"2022-07-19T10:11:10+00:00","dateModified":"2022-12-14T10:40:39+00:00","description":"The priority queue is widely used in many applications like job scheduling algorithms, CPU and Disk scheduling, and managing various resources shared between different processes, etc.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223739975-Article.jpg","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1658223739975-Article.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/priority-queue-using-binary-heap\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Queues","item":"https:\/\/prepbytes.com\/blog\/category\/queues\/"},{"@type":"ListItem","position":3,"name":"Priority Queue using Binary Heap"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=9151"}],"version-history":[{"count":3,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9151\/revisions"}],"predecessor-version":[{"id":9428,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9151\/revisions\/9428"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=9151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=9151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=9151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}