@w1024020103
2017-01-19T23:14:14.000000Z
字数 967
阅读 484
cs
data
structure
In-order iteration( mid-order iteration)
Heap的Remove和Add: 先保持型不便,再一个一个换
data stucture:
public class priorityQueue<E> extends AbstractQueue<e> ...
public boolean offer (E e) {
if(e == null)
throw new NullPointerException();
modeCount++;
int i = size;
if (i >= queue ...
worst case: 需要从小到大排列 但给的原始是从大到小
best case: 需要从小到大排列 给的原始就是从小到大
j = ++i(先i自加,再赋值给j)
j = i++ (先把i赋值给j, i再自加)
int mid = low + (high - low)/2
这种方法一般不会overflow,因为这里面的中间值不可能超过high.
Mergesort算法的核心是merge
Extra memory: 但object无所谓,因为只需要暂时存储object的reference,而且又stable.所以一般object用mergesort;
而primitive一般用quicksort.