Sorting 使用8个元素合并排序17个比较
我在解决一个问题时遇到了这个解决方案,创建数字1到8的顺序,这将导致merge sort进行最坏情况下的17次比较Sorting 使用8个元素合并排序17个比较,sorting,mergesort,Sorting,Mergesort,我在解决一个问题时遇到了这个解决方案,创建数字1到8的顺序,这将导致merge sort进行最坏情况下的17次比较 [7,3,5,1,8,4,6,2],我解决了它,发生了16次比较,根据解决方案,是17次比较?如有任何解释,将不胜感激 需要4次比较才能创建4个大小为2的排序运行。需要2组3个比较来创建2个大小为4的排序运行。然后需要7次比较才能创建1次大小为8的排序运行。我正确地得到了前2次(4次比较和6次比较),但我仍然不确定最后如何得到7次,最后得到了6次。介意再详细说明一下吗?我使用的是计
[7,3,5,1,8,4,6,2]
,我解决了它,发生了16次比较,根据解决方案,是17次比较?如有任何解释,将不胜感激 需要4次比较才能创建4个大小为2的排序运行。需要2组3个比较来创建2个大小为4的排序运行。然后需要7次比较才能创建1次大小为8的排序运行。我正确地得到了前2次(4次比较和6次比较),但我仍然不确定最后如何得到7次,最后得到了6次。介意再详细说明一下吗?我使用的是计数反转。最后一次通过合并两个大小为4的已排序运行,以创建一个大小为8的已排序运行。在最坏的情况下,除了刚才复制的最后一个剩余元素外,每个移动的元素都有一个比较,因此有7个比较。