查找逆序对很简单,自己变成就是几行,思路也是十分简单。但是题目要求用递归的方法,和合并排序很相似,网上也有很多人提供具体的程序,但是我对这种递归排序还是不能清晰得理解,所以在这里就不贴出来了,只放上了自己写的很low的算法实现代码。

public class inversion {

public static void find_inversion(ArrayList a) {

// 查找数组逆序对的java实现(自己的方法)

int num = 0;

for(int i =0;i

for(int j =i+1;j

if(a.get(i)>a.get(j)){

System.out.print("("+a.get(i)+","+a.get(j)+") ");

num++;

}

}

}

System.out.println("");

System.out.println("逆序对个数:"+num);

}

public static void main(String[] args) {

// 测试查找逆序对

ArrayList a = new ArrayList();

//从控制台获取要排序的数,“#”键结束

Scanner sc = new Scanner(System.in);

while(sc.hasNextInt()){

if(sc.equals("#")){

break;

}

a.add(sc.nextInt());

}

find_inversion(a);

}

}

?

逆序对java_算法导论学习||查找逆序对相关推荐

  1. 算法导论中C语言代码,算法导论-学习笔记与进度

    算法导论 阅读进度 第一部分 基础知识 第一章 计算中算法的角色 Done 1.1 算法 输入与输出 算法可以解决哪些问题 数据结构 技术 一些比较难的问题 1.2 作为一种技术的算法 效率 算法和其 ...

  2. 【算法导论学习-29】动态规划经典问题02:最长公共子序列问题(Longest common subsequence,LCS)...

    2019独角兽企业重金招聘Python工程师标准>>> 问题描述:序列X={x1,x2,-,xn},Y={y1,y2,-,yn},当Z={z1,z2-,zn}是X的严格递增下标顺序( ...

  3. 【算法导论学习-012】n个数随机等概率的抽样m个

    算法法导论>P129页课后题5.3-7 suppose we want to create a random sample of the set {1,2,3,-,n}, thatis, an ...

  4. 单链表逆置 java_单链表的就地逆置--java实现(含头节点和不包含头节点)

    前沿:链表是面试中经常问道的知识点,比如链表反转,就地反转,判断单链表是否相交,判断链表是否有环等都是常问的问题.今天说一下单链表就地反转. 本文从包含头节点和不包含头节点两种链表都提供了相应的就地反 ...

  5. 算法导论学习笔记1_循环不变式

    循环不变式 1. 循环不变式和数学归纳法 2. 循环不变式的三条性质 3. 利用循环不变式分析插入排序 4. 练习题 2.1.3 1. 循环不变式和数学归纳法 在数学中,数学归纳法常用于证明给定命题在 ...

  6. 【算法导论学习笔记】第3章:函数的增长

    原创博客,转载请注明: http://www.cnblogs.com/wuwenyan/p/4982713.html  当算法的输入n非常大的时候,对于算法复杂度的分析就显得尤为重要,虽然有时我们能通 ...

  7. 算法导论学习笔记 第7章 快速排序

    对于包含n个数的输入数组来说,快速排序是一种时间复杂度为O(n^2)的排序算法.虽然最环情况的复杂度高,但是快速排序通常是实际应用排序中最好的选择,因为快排的平均性能非常好:它的期望复杂度是O(nlg ...

  8. 算法导论学习笔记 第6章 堆排序

    在本章中介绍了另一种排序算法:堆排序(heapsort).与归排序一样,但不同于插入排序的是,堆排序的时间复杂度式(Onlgn).而与插入排序相同,但不同于归并排序的是,堆排序同样具有空间原址性(我理 ...

  9. 算法导论学习笔记 第2章 算法基础

    本章介绍了一个贯穿本书的框架,后续的算法设计都是在这个框架中进行的. 本章通过插入排序和归并排序两种常见的算法来说明算法的过程及算法分析,在分析插入排序算法时,书中是用了循环不变式证明了算法的正确性, ...

最新文章

  1. ssh 连接_怎样解决Linux环境下远程连接ssh速度慢的问题
  2. C语言 | 语句概述
  3. mysql按日期获取最新_mysql获取按日期排序获取最新的记录
  4. php5.4 的 php-fpm 的重启
  5. 小技巧之nvidia-smi
  6. Liunx系统命令sed的使用
  7. 一个新时代的降临:智慧的医疗系统
  8. 【转贴】蚂蚁和大象的恩怨
  9. cuda 实现sift gpu_超原版速度110倍,针对PyTorch的CPU到GPU张量迁移工具开源
  10. 拉起客户端 Universal Links Scheme Open App iOS(Deep Link)
  11. pyautogui获取鼠标位置及循环点击指定位置按钮
  12. AE、PR视频压缩导出mp4、mov格式插件:AfterCodecs1.6.1汉化破解版
  13. PCAN监测can总线状态设置
  14. hadoopsnappy解压_配置Hadoop2.7.2和Hbase1.1.5支持Snappy解压压缩库
  15. 秘籍:MSN好友IP地址随便查
  16. matlab读int16读文件_[转载]Matlab中的textread textscan读取文本文件
  17. Ubuntu 16.04 VCS+Verdi安装总结
  18. 手机变速齿轮_变速齿轮神途官方版下载-变速齿轮神途手游官方版下载 v2.20190828-114手机乐园...
  19. 云计算基础及应用 第一章 云计算基础
  20. 凡客和PPG都是半斤八两

热门文章

  1. ABAP TBL鼠标滚动到某行某列
  2. android怎么监听多点触摸_110寸高清触摸一体机
  3. python输出杨辉三角啊二维数组_Java输出杨辉三角形(使用二维数组)
  4. java小数转换成百分数_在java中如何把小数转化成百分数
  5. mysql列目录_mysql列直接存储图片路径
  6. 怎么看承重_怎么选购到一个好的工具柜,这些方面要考虑
  7. BUUCTF(pwn)hgame2018_flag_server(简单的栈溢出)
  8. c语言中用于判断ch是否是字符的表达式,最新C语言复习题集资料
  9. Python基础教程:字符串中split与rsplit的方法原理教程
  10. python元类的简单了解