private void decreaseKeyUnchecked ( Entry < T > entry , double priority ) { /* First, change the node's priority. */ entry . mPriority = priority ; /* If the node no longer has a higher priority than its parent, cut it. * Note that this also means that if we try to run a delete operation * that decreases the key to -infinity, it's guaranteed to cut the node * from its parent. */ if ( entry . mParent != null && entry . mPriority <= entry . mParent . mPriority ) cutNode ( entry ) ; /* If our new value is the new min, mark it as such. Note that if we * ended up decreasing the key in a way that ties the current minimum * priority, this will change the min accordingly. */ if ( entry . mPriority <= mMin . mPriority ) mMin = entry ; }
Decreases the key of a node in the tree without doing any checking to ensure that the new priority is valid .