算法分析与设计作业——
用分治法设计一个算法,在数组A中寻找最大元素和最小元素

public class b1113 {static int min=Integer.MAX_VALUE;static int max=Integer.MIN_VALUE;public static void main(String[] args) {int[] a={88,183,522,374,5,33224,5,12,7,847,96};mm(a,0,a.length-1);System.out.println("min:"+min+",max:"+max);}public static void mm(int[] a,int i,int j){if(i>j)return;//只剩1个数if(i==j){min=Math.min(min,a[i]);max=Math.max(max,a[i]);return;}//只剩2个数if(i==j-1){max=Math.max(max,Math.max(a[i],a[j]));min=Math.min(min,Math.min(a[i],a[j]));return;}//大于2个数else{int mid=(i+j)/2;mm(a,i,mid);mm(a,mid+1,j);}}
}

用分治法设计一个算法,在数组A中寻找最大元素和最小元素 Java代码相关推荐

  1. 4.6设计一个算法判断图G中从顶点u到v是否存在简单路径

    1. 题目描述 假设图G采用邻接表存储,设计一个算法判断图G中从顶点u到v是否存在简单路径 所谓简单路径是指路径上的顶点不重复.可采用深度优先遍历的方法 #include <bits/stdc+ ...

  2. 有一个顺序表L,其元素为整形数据,设计一个算法,将L中的所有小于表头元素的整数放在前半部分,大于表头元素的整数放在后半部分

    题目 有一个顺序表L,其元素为整形数据,设计一个算法,将L中的所有小于表头元素的整数放在前半部分,大于表头元素的整数放在后半部分 解答(天勤) /*************************** ...

  3. 铁路车厢调度问题。图 1 是一个铁道调车场的示意图,两侧铁道均为单向行驶 道,中间有一段用于调度的“栈道”,调车场的入口处有 n 节硬座和软座车厢(分 别用 H 和 S 表示),设计一个算法,把所有的

    铁路车厢调度问题.图 1 是一个铁道调车场的示意图,两侧铁道均为单向行驶 道,中间有一段用于调度的"栈道",调车场的入口处有 n 节硬座和软座车厢(分 别用 H 和 S 表示),设 ...

  4. 分治法在排序算法中的应用(JAVA)--快速排序(Lomuto划分、Hoare划分、随机化快排)

    分治法在排序算法中的应用--快速排序 时间复杂度:平均O(nlogn),最坏O(n^2) 如果说归并排序是按照元素在数组中的位置划分的话,那么快速排序就是按照元素的值进行划分.划分方法由两种,本节将主 ...

  5. 回溯法——设计一个算法在1、2、3... 9(顺序不能变)数字之间插入+ 或 - 或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性和全排列

    回溯法 题目描述: 设计一个算法在1.2.3- 9(顺序不能变)数字之间插入+ 或 - 或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性.例如1+2+34-5+67-8+9=100 分 ...

  6. 数据结构:假设有一个带头结点的单链表L,每个结点值由单个数字、小写字母和大写字母构成。设计一个算法将其拆分成3个带头结点的单链表L1、L2和L3,L1包含L中的所有数字结点,L2包含L中的所有小写字母

    假设有一个带头结点的单链表L,每个结点值由单个数字.小写字母和大写字母构成.设计一个算法将其拆分成3个带头结点的单链表L1.L2和L3,L1包含L中的所有数字结点,L2包含L中的所有小写字母结点,L3 ...

  7. 给定k个排好序的序列,设计一个算法确定2路合并次序,使所需的总比较次数最少。Java代码

    算法分析与设计作业 一.实验目的 (1)掌握贪心算法的基本思想: (2)能使用贪心算法求解一些相关问题: 二.实验内容 1.给定k个排好序的序列s1,s2,-,sk,用2路合并算法将这k个序列合并成一 ...

  8. 一串首尾相连的珠子(m个),有N种颜色(N《=10),设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。并分析时间复杂度与空间复杂度。

    一串首尾相连的珠子(m个),有N种颜色(N<=10),设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短.并分析时间复杂度与空间复杂度. 这道题在网上著名的帖子 微软等公司数据结构+ ...

  9. 设计一个算法,将一般算术表达式转化为逆波兰表达式,并求逆波兰表达式的值

    栈的设计与使用 实验内容 设计一个算法,将一般算术表达式转化为逆波兰表达式,并求逆波兰表达的值 解题思路 (1)一般算术表达(中缀表达),如#3×(4+2)/2-5#,#为表达式界定符,逆波兰表达式( ...

最新文章

  1. JavaScript---认识JavaScipt
  2. 无人驾驶中用到的八大坐标系
  3. 数理统计-5.4 三大抽样分布
  4. 【大会】AI能解决哪些问题?
  5. linux怎么才能算telnet成功_怎么表白才算成功呢
  6. 路由到另外一个页面_Nextjs使用解读一(项目搭建与路由系统)
  7. await原理 js_「速围」Node.js V14.3.0 发布支持顶级 Await 和 REPL 增强功能
  8. tomcat 设置xms xmx,采用startup.bat启动和采用操作系统服务启动区别
  9. SQL Server 2005高可用性之镜像功能
  10. 史上最详细的vsftpd配置文件讲解
  11. Cholesky 分解,QR分解
  12. note-Linux大棚命令百篇1 Shell基础及工具篇
  13. Mysql修改表中字段名称、字段类型
  14. 横河川仪压力变送器故障代码_横河川仪压力变送器
  15. 智慧街道智慧社区一体化综合管理平台Java商业源码
  16. Hadoop常备知识点
  17. [搞笑]MM买裤子 超强的
  18. 信息化绩效评价的内容(zt)
  19. 跨域MPLS Option C1
  20. 学生时代应如何做好程序员

热门文章

  1. HCIA-DATACOM-数据通信的基础
  2. 关于“未指定的错误”解答
  3. Android实战开发——引导页面(ViewPager)篇
  4. linux类似vc的软件,linux下能否使用VC之类的软件?
  5. 汇编语言王爽 实验第四章
  6. MCP2515 CAN芯片调试说明
  7. 【计算机网络实验】访问控制列表NAT应用——华为eNSP(详细实验报告+代码)
  8. 《查看Linux系统版本以及VMWARE快照》
  9. 翻译《CSS权威指南》第3版第1章有感
  10. 笃行致远 砥砺前行 华云数据西南区域公司正式乔迁