逆序数是一种衡量一个序列和标准序列差异的办法。在只能交换相邻元素的情况下,每交换一次,逆序数增加或减少1。
在行列式计算里面,也决定了某一项系数的符号。
按照定义计算逆序数,需要O(n^2)的时间。
简单想了一下,思路和快速排序一样,要缩小比较的规模。
可以用原始序列构造一个二叉树。假设标准序列是升序的。那么每次比较向左插入就代表逆序数加1。当二叉树构造完成,就能得到逆序数的结果。
能够得到nlgn的时间复杂度。
thursdayhawk 博主文章分类:算法、数据结构 ©著作权
逆序数是一种衡量一个序列和标准序列差异的办法。在只能交换相邻元素的情况下,每交换一次,逆序数增加或减少1。
在行列式计算里面,也决定了某一项系数的符号。
按照定义计算逆序数,需要O(n^2)的时间。
简单想了一下,思路和快速排序一样,要缩小比较的规模。
可以用原始序列构造一个二叉树。假设标准序列是升序的。那么每次比较向左插入就代表逆序数加1。当二叉树构造完成,就能得到逆序数的结果。
能够得到nlgn的时间复杂度。
单链表逆序
一、问题描述先来说明一下什么是逆序数。大家比较熟悉的是自然排序,即数值较小数排在数值较大数的前面。
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M