上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 35 下一页
摘要: 2.2.23改进。用实验评估正文中所提到的归并排序的三项改进(请见练习2.2.11)的效果,并比较正文中实现的归并和练习2.2.10所实现的归并之间的性能。根据经验给出应该在何时为子数组切换到插入排序。3)根据经验给出应该在何时为子数组切换到插入排序。依据下图的试验结果,得出子数组长度在16至18时 阅读全文
posted @ 2018-10-27 09:21 修电脑的龙生 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 2.2.23改进。用实验评估正文中所提到的归并排序的三项改进(请见练习2.2.11)的效果,并比较正文中实现的归并和练习2.2.10所实现的归并之间的性能。根据经验给出应该在何时为子数组切换到插入排序。1)用实验评估正文中所提到的归并排序与三项改进(请见练习2.2.11)的效果。通过以下实验得出,三 阅读全文
posted @ 2018-10-27 09:20 修电脑的龙生 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 2.2.22三向归并排序。假设每次我们是把数组分成三个部分而不是两个部分并将它们分别排序,然后进行三向归并。这种算法的运行时间的增长数量级是多少?运算时间增长数量级是O(Nlg3N)。public class E2d2d22{ public static void sort(Comparable[] 阅读全文
posted @ 2018-10-27 09:19 修电脑的龙生 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 2.2.21一式三份。给定三个列表,每个列表中包含N个名字,编写一个线性对数级别的算法来判定三份列表中是否含有公共的名字,如果有,返回第一个被找到了这种名字。算法:1)先将三个列表使用归并排序方法排序,形成小元素在前,大元素在后的排列。排序需要O(NlgN)时间复杂度。2)当三个列表的最顶元素相同时 阅读全文
posted @ 2018-10-27 09:18 修电脑的龙生 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 2.2.19倒置。编写一个线性对数级别的算法统计给定数组中的"倒置"数量(即插入排序所需的交换次数,请见2.1节)。这个数量和Kendall tau距离有关,请见2.5节。答:参考资料:https://en.wikipedia.org/wiki/Kendall_tau_distance1)Kenda 阅读全文
posted @ 2018-10-27 09:17 修电脑的龙生 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 2.2.20间接排序。编写一个不改变数组的归并排序,它返回一个int[]数组perm,其中perm[i]的值是原数组中第i小的元素的位置。public class E2d2d20{ private static int subArrayLenTrunONInsertionSort=15; publi 阅读全文
posted @ 2018-10-27 09:17 修电脑的龙生 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 2.2.18打乱链表。实现一个分治算法,使用线性对数级别的时间和对数级别的额外空间随机打乱一条链表。2.2.18 Shuffling a linked list. Develop and implement a divide-and-conquer algorithmthat randomly sh 阅读全文
posted @ 2018-10-27 09:16 修电脑的龙生 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 2.2.16自然的归并排序。编写一个自底向上的归并排序,当需要将两个子数组排序时能够利用数组中已经有序的部分。首先找到一个有序的子数组(移动指针直到当前元素比上一个元素小为止),然后再找出另一个并将它们归并。根据数组大小和数组中递增子数组的最大长度分析算法的运行时间。import java.util 阅读全文
posted @ 2018-10-27 09:15 修电脑的龙生 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 2.2.17链表排序。实现对链表的自然排序(这是将链表排序的最佳方法,因为它不需要额外的空间,且运行时间是线性对数级别的)。线性单链表自底向上自然归并排序算法:1)如果链表长度为0或1时排序完成。2)链表长度大于1时需要进行归并排序。2.1)最开始将first作为开始结点查找出sp,hi结点.2.2 阅读全文
posted @ 2018-10-27 09:15 修电脑的龙生 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 2.2.15自底向上的有序队列归并排序。用下面的方法编写一个自底向上的归并排序:给定N个元素,创建N个队列,每个队列包含其中一个元素。创建一个由这N个队列组成的队列,然后不断用练习2.2.14中的方法将队列的头两个元素归并,并将幸福空间要重新加入到队列结尾,直到队列的队列只剩下一个元素为止。impo 阅读全文
posted @ 2018-10-27 09:13 修电脑的龙生 阅读(295) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 35 下一页