title: How to delete in a heap data structure?
body: <p>I understand how to delete the root node from a max heap but is the procedure for deleting a node from the middle to remove and replace the root repeatedly until the desired node is deleted?</p>
  
  <ol>
  <li><p>Is O(log n) the optimal complexity for this procedure?</p></li>
  <li><p>Does this affect the big O complexity since other nodes must be deleted in order to delete a specific node?</p></li>
  </ol>