计算序列逆序数
2013-10-18 11:28
148 查看
逆序数是一种衡量一个序列和标准序列差异的办法。在只能交换相邻元素的情况下,每交换一次,逆序数增加或减少1。
在行列式计算里面,也决定了某一项系数的符号。
按照定义计算逆序数,需要O(n^2)的时间。
简单想了一下,思路和快速排序一样,要缩小比较的规模。
可以用原始序列构造一个二叉树。假设标准序列是升序的。那么每次比较向左插入就代表逆序数加1。当二叉树构造完成,就能得到逆序数的结果。
能够得到nlgn的时间复杂度。
在行列式计算里面,也决定了某一项系数的符号。
按照定义计算逆序数,需要O(n^2)的时间。
简单想了一下,思路和快速排序一样,要缩小比较的规模。
可以用原始序列构造一个二叉树。假设标准序列是升序的。那么每次比较向左插入就代表逆序数加1。当二叉树构造完成,就能得到逆序数的结果。
能够得到nlgn的时间复杂度。
相关文章推荐
- 在从ArcGIS Server 9.x更新到ArcGIS Server 10后,日志在ArcGIS Server Manager中无法显示
- 网络子系统69_路由表辅助程序
- 关于验证码的一些事
- Wireshark-数据包过滤和分析
- CSS3之多背景background使用示例
- 关于分离线程
- C#设计模式学习资料--原型模式
- echo同时输出到多个文件中
- SVN基本操作汇总
- 【转】JAVA 验证代理是否可用
- no such partition grub rescue的解决方案
- Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
- 逗号和分号
- ubuntu 12.04安装jdk
- 生产者和消费者问题
- WF学习第二天
- protobuf的c++生成简明过程示例
- 数据流程图的学习1
- linux常用快捷键
- Android应用防止反编译apk打包签名步骤