上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 35 下一页
摘要: 2.2.6编写一个程序来计算自顶向下和自底向上的归并排序访问数组的准确次数。使用这个程序将N=1至512的结果绘制成曲线图,并将其和上限6NlgN比较。说明:Red线是6NlgN 、Green线是自顶向下、Blue线是自底向上。public class Merge{ private static C 阅读全文
posted @ 2018-10-27 09:06 修电脑的龙生 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 2.2.3用自底向上的归并排序解答练习2.2.2。 阅读全文
posted @ 2018-10-27 09:05 修电脑的龙生 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 2.2.4是否当且仅当两个输入的子数组都有序时原地归并的抽象方法才能得到正确的结果?证明你的结论,或者给出一个反例。答:是的。证明:归并前一个输入子数组中的元素索引前后相对位置在归并后不会发生改变,例如归并前子数组1中的元素次序为a1,a2,a3...an,那么在归并后仍就会是a1...a2...a 阅读全文
posted @ 2018-10-27 09:05 修电脑的龙生 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 2.2.1按照本节开头所示轨迹的格式给出原地归并的抽象merge()方法是如何将数组A E Q S U Y E I N O S T排序的。 阅读全文
posted @ 2018-10-27 09:04 修电脑的龙生 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 2.2.2按照算法2.4所示轨迹的格式给出自顶向下的归并排序是如何将数组E A S Y Q U E S T I O N排序的。 阅读全文
posted @ 2018-10-27 09:04 修电脑的龙生 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 2.1.38不同类型的元素。编写一个测试用例,生成由多种数据类型元素组成的数组,元素的主键值随机,包括:1)每个元素的主键均为String类型(至少长10个字符),并含一个double值;2)每个元素的主键均为double类型,并含有10个String值(每个都至少长10个字符);3)每个元素的主键 阅读全文
posted @ 2018-10-27 09:03 修电脑的龙生 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 2.1.37部分有序。编写一个测试用例 ,生成部分有序的数组,包括:1)95%有序,其余部分为随机值;2)所有元素和它们的正确位置的距离都不超过10;3)5%的元素随机分布在整个数组中,剩下的数据都是有序的。评估并验证这些输入数据对本节讨论的算法的性能的影响。插入排序在左边有序,右边随机的情况下排序 阅读全文
posted @ 2018-10-27 09:02 修电脑的龙生 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 2.1.36不均匀的数据。编写一个测试用例,生成不均匀的测试数据,包括:1)一半数据是0,一半是1;2)一半数据是0,1/4是1,1/4是2,以此类推;3)一半数据是0,一半是随机int值。评估并验证这些输入数据对本节讨论的算法的性能的影响。1)打乱次序后的结果:一百万个数10次运行的平均时间。选择 阅读全文
posted @ 2018-10-27 09:02 修电脑的龙生 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 2.1.35不均匀的概率分布。编写一个测试用例,使用非均匀分布的概率来生成随机排列数据,包括:1)高斯分布;2)泊松分布;3)几何分布;4)离散分布(一种特殊情况请见练习2.1.28)。评估并验证这些输入数据对本节讨论的算法的性能的影响。插入排序时高斯分布时间两倍于泊松分布、几何分布、离散分布。选择 阅读全文
posted @ 2018-10-27 09:01 修电脑的龙生 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 2.1.34罕见情况。编写一个测试用例,调用sort()方法对实际应用中可能出现困难或极端情况的数组进行排序。比如,数组可能已经有序的,或是逆序的,数组的所有主键相同,数组的主键只有两种值,大小为0或是1的数组。从以下运行结果可以看出:插入排序时:有序时用时会很少,反序时用时比随机排列和有序要多, 阅读全文
posted @ 2018-10-27 09:00 修电脑的龙生 阅读(195) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 35 下一页