摘要:
设A[1...n]是一个包含n个不同数的数组。如果在i<j的情况下,有A[i]>A[j],则(i,j)就成为A中的一个逆序对(inversion)。要确定一个数组中的逆序对的个数,可以采取分治法。将A分为两部分A1和A2,则A中逆序对的数目等于A1中逆序对的数目、A2中逆序对的数目和A1,A2合并时A1中比A2中元素大的数目。参考代码:#include <iostream>using namespace std;#define MAX_VALUE 99999//合并时计算逆序对数目int MergeCountReverse(int *a,int low,int mid, 阅读全文
posted @ 2011-10-23 22:50
江南烟雨hust
阅读(399)
评论(0)
推荐(0)

浙公网安备 33010602011771号