希尔排序,增强版的插入排序.交换不相邻(相隔为h)的元素对数组进行局部排序,并最终用插入排序将局部有序的数组排序. 1.插入排序是希尔排序的特殊情况,h=1; 2.希尔排序的最后一次排序,还是利用的插入排序 希尔排序多数组进行多次排序,而且最后一次还利用插入排序,那为什么希尔排序会比插入排序要快呢? 注意希尔排序最后一次用插入排序(h=1)进行排序时,数组已经局部有序. 而插入排序的性能
记录几个测试算法性能的工具类,方便以后测试算法. Stopwatch类:可以得到算法的执行时间(单位:s,小数点后3位) 1: public class Stopwatch { 2: private long start; 3: 4: public Stopwatch() { 5: st
2.3.weighted-quick-union——加权quick-union算法 上篇的quick-union算法的效率之所以低(平方级别),最主要的原因是union(p,q)方法,随意将一棵树连接到另一棵树上(一棵树对应一个连通分量)。 1.如果是小树(高度低)连接到大树的根节点(高度高),则小树的高度加1,而整个树的高度不变。 2.如果是大树(高度高)连接到
详细解析参照算法(第4版)1.5章——案例研究:union—find算法 1.union-find法的API public class UF UF(int N) 以
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号