摘要:
2.1.7对于逆序数组,选择排序和插入排序谁更快?答:选择排序。因为选择排序需要进行N(N-1)/2次比较,N次交换。插入排序需要N(N-1)/2次比较,N(N-1)/2次交换。 阅读全文
摘要:
2.1.4按照算法2.2所示轨迹的格式给出插入排序是如何将数组 E A S Y Q U E S T I ON排序的。 阅读全文
摘要:
2.1.2在选择排序中,一个元素最多可能会被交换多少次?平均可能会被交换多少次?答:1)设对N个元素进行排序,那么有N个位置用来摆放这N个元素。一个元素无论在排序前还是在交换后所处的位置只可能在1至N的某一个位置上,而排序后这个元素也一定在1至N的某个位置k上,当排序前和交换后这个元素没有在排序后的 阅读全文
摘要:
2.1.3构造一个含有N个元素的数组,使用选择排序(算法2.1)运行过程中a[j]<a[min](由此min会不断更新)成功的次数最大。答:逆序数组,例如: 5 4 3 2 1 阅读全文
摘要:
1.5.26Erdos-Renyi模型的均摊成本图像。开发一个用例,从命令行接受一个int值N,在0到N-1之间产生随机整数对,调用connected()判断它们是否相连,如果不是则调用union()方法(和我们的开发用例一样)。不断循环直到所有触点均相互连通。按照正文的样式将所有操作的均摊成本绘制 阅读全文
摘要:
2.1.1按照算法2.1所示轨迹的格式给出选择排序是如何将数组E A S Y Q U E S T I O N排序的。答: 阅读全文
摘要:
1.5.25随机网格的倍率测试。开发一个性能测试用例,从命令行接受一个int值T并进行T次以下实验:使用练习1.5.18的用例生成一个NXN的随机网络,所有连接的方向随机且排列随机。和我们的开发用例一样使用UnionFind来检查触点的连通性,不断循环直到所有触点均相互连通。对于每个N,打印出N值和 阅读全文
摘要:
1.5.24适用于Erdos-Renyi模型的快速算法。在练习1.5.23的测试中增加加权quick-union算法和使用路径压缩的加权quick-union算法。你能分辨出这两种算法的区别吗?答:加权quick-union最坏情况下树深度为lgN,N为节点数,路径压缩的加权quick-union算 阅读全文