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

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

大家好,又见面了,我是你们的朋友全栈君。

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

转载于:https://www.cnblogs.com/Roni-i/p/9375450.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107397.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号