1、使用直接计数法,计算排列逆序的直接方法是将逆序逐一枚举,同时计数。
(资料图片仅供参考)
2、例如:标准列是1 2 3 4 5,那么5 4 3 2 1的倒数算法:看第二个。
3、4前面有个5,标准栏4后面有个5,所以记住1。
4、同样,第三个3之前有4和5,都在标准列的3之后,所以记住2。
5、同样,2之前有3个,1之前有4个。
6、把这些数加在一起就是逆序数=1 2 3 4=10。
7、扩展信息:其他算法:1.合并和排序归并排序是将序列a[l,h]分成两半a[l,mid]和a[mid 1,h]进行归并排序,然后将这两半进行归并。
8、在归并过程中(设l=i=mid,mid 1=j=h),当a[i]=a[j]时,不存在逆序数;当a[i]a[j]时,前半段大于a[i]的数都大于a[j]。
9、如果你把一个[j]放在一个[i]的前面,你应该把mid 1-i加到倒数上。
10、因此,在合并和排序中,可以在合并过程中计算逆序数。
11、2.树形阵列由于树形数组的特点,求和是从当前节点向前计算的。
12、因此,在插入当前值时,需要计算还有多少小于该值的数字没有被插入。
13、这些没有插入的数字将在后面插入,从而形成逆序数字。
14、参考来源:百度百科-逆序号。
本文到此结束,希望对大家有所帮助。
X 关闭
Copyright © 2015-2023 非洲餐饮网版权所有 备案号:沪ICP备2022005074号-8 联系邮箱:58 55 97 3@qq.com