public INode remove(){
  ArrayList<INode> min=tree.minimum();
  INode best=min.remove(0);
  hash.remove(best);
  if (min.size() > 0) {
    tree.insert(best.score(),min);
  }
  return best;
}

public INode remove ( ) { ArrayList < INode > min = tree . minimum ( ) ; INode best = min . remove ( 0 ) ; hash . remove ( best ) ; if ( min . size ( ) > 0 ) { tree . insert ( best . score ( ) , min ) ; } return best ; }
remove and return inode with minimum score value
