归并排序求逆序对
来源:3-9 归并排序和快速排序的衍生问题
weixin_慕尼黑2067412
2019-07-28
写回答
1回答
-
liuyubobobo
2019-07-29
每次逆序对数量添加的过程,是当前右半部分指的那个元素,比左半部分指的元素小,右半部分的这个元素,和所有左半部分未处理的元素构成了逆序对。关键词是“未处理”。已经处理的元素没有影响。
请再仔细理解我的代码中的注释。
建议使用一个小的测试用,比如8, 7, 6, 5, 4, 3, 2, 1,实际跟踪一下这个程序,注意看一下,每次我们计算逆序对的时候,计算的是多少?这个数值到底表示哪些逆序对?有没有重复?有没有遗漏?
如果你认为if(j > r)的地方需要添加数值,这些数值对应的是哪些逆序对?(一旦你去具体思考是哪些逆序对,就会更清楚自己哪里想的不对了:))
继续加油!:)
232021-02-04
相似问题