两类交换元素使序列有序 求最少交换次数的题

交换元素使序列有序求最少交换次数的题有两类,第一种是只能交换相邻元素使序列有序,求最小交换次数,假如是是序列升序,只需要求逆序对数。第二种是可以交换任意两个位置的元素,使之有序,求最小交换次数,答案是数字的个数减去交换数字形成的环(置换环)的个数。比如 {5 1 3 2 4 7 6 8 } ,求将这个序列变成升序序列的最小交换次数,那么这个序列中的环有 { 5 ,1,2,4},{7,6},{3},{8},那么最小交换次数就是 8-4,求降序的最小交换次数,只需要将序列逆置,再进行求解 。

posted @ 2018-07-27 08:31  Roni_i  阅读(1561)  评论(0编辑  收藏  举报