#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
const int N=1000;
int mini,maxi;
int l[N];void maxMin(int i,int j,int &max,int &min);int main()
{int n;cout<<"请输入数组元素个数: ";cin>>n;cout<<"请输入"<<n<<"个元素:";for(int i=0;i<n;i++)cin>>l[i];maxMin(0,n-1,maxi,mini);cout<<"最大元素: "<<maxi<<endl;cout<<"最小元素: "<<mini<<endl;return 0;
}void maxMin(int i,int j,int &max,int &min)
{int min1,max1;if(i==j) max=min=l[i];    //表中只有一个元素时else if(i==j-1)           //表中有两个元素时if(l[i]<l[j]){max=l[j];min=l[i];}else{max=l[i];min=l[j];}else                      //表中多于两个元素时{int m=(i+j)/2;        //对半分割maxMin(i,m,max,min);  //求前部分子表中的最大、最小值maxMin(m+1,j,max1,min1);//求后部分子表中的最大、最小值if(max<max1) max=max1; //两子表最大元的大者为原表最大者if(min>min1) min=min1; //两子表最小元的小者为原表最小者}
}

分治法——查找最大最小元素(C++)相关推荐

  1. 分治法——查找最大最小元素(Python)

    # 基本子算法(子问题规模小于等于 2 时) def get_max(max_list):return max(max_list) def get_min(min_list):return min(m ...

  2. Python算法——分治法查找数组中元素最小最大值

    要求: 给定数组a1,a2,a3,...an,找出数组中最大值和最小值.(数组中两两各不相同) 分析: 算法思想类似于上图,将数组两两分为一组,如果数组元素奇数个,就把最后一个元素单独分为一组,然后分 ...

  3. 算法设计——用分治法查找数组元素的最大值和最小值、用分治法实现合并排序、最小费用问题、树的最大连通分支问题(代码实现)

    代码链接:pan.baidu.com/s/15inIth8Vl89R1CgQ_wYc2g  提取码:gf13 算法分析与设计第 1 次实验 时间 2020.3.31 地点 软件大楼 127 实验名称 ...

  4. 分治法查找数组元素的最大值和最小值(python实现)

    实验内容 给定任意几组数据,利用分治法的思想,找出数组中的最大值和最小值并输出 实验原理 利用分治法,将一个数组元素大于 2 的数组分成两个子数组,然后对每一个子数组递归调用,直到最小的子数组的元素个 ...

  5. [python] 分治法查找数组元素的最大值和最小值

    分治法查找数组元素的最大值和最小值 分治法简介: 分治法从字面上的解释是"分而治之",就是把一个复杂的问题分成两个或者更多相同或者相似的子问题,再把子问题分成更小的子问题,直到最后 ...

  6. 寻找中项和第k小元素c语言,分治法第k小元素poj2104.ppt

    分治法第k小元素poj2104 第六章 分 治 6.1 引言 分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之. 战略 算法设计技术 划分--治理- ...

  7. 分治法——查找问题 —— 寻找一个序列中第k小的元素和查找最大和次大元素

    查找问题: 问题一:寻找一个序列中第k小的元素 对于给定的含有n个元素的无序序列,求这个序列中第k(1<=k<=n)小的元素 分析思路: 假设无序序列存放在a[0 - n-1]中,若将a递 ...

  8. 用分治法查找数组元素的最大值和最小值

    算法分析: 代码实现: #include "stdio.h" #include "stdlib.h" #include "time.h" # ...

  9. 分治法 ——查找问题 —— 寻找两个等长有序序列的中位数

    查找问题: 问题一:寻找两个等长有序序列的中位数 问题描述:对于一个长度为n的有序序列(假设均为升序序列)a[0 - n-1] ,处于中间位置的元素称为a的中位数. 例如,若序列a=(11,13,15 ...

  10. 【算法设计与分析】关于分治法的一些(伪)代码整理

    分治法 合并排序 利用分治法求一个元素在数组中的最大位置 利用分治法求一个n元素数组的最大元素和最小元素的值 是否稳定 快速排序 合并排序 利用分治法求一个元素在数组中的最大位置 伪代码: MaxIn ...

最新文章

  1. 三流Java搞技术,二流Java搞框架,一流Java…
  2. 带你用4行代码训练RNN生成文本(附资源)
  3. [Python爬虫] 之五:Selenium 处理滚动条
  4. HDOJ acm steps 3.1.1
  5. Maven依赖管理和插件配置
  6. asp.net core WebAPI实现CRUD
  7. 前端开发必备的1个CSS框架
  8. Android 功耗(19)---LCD背光驱动节电技术-LABC/CABC
  9. 从 0 到 1 实现 React 系列 —— 组件和 state|props
  10. python文件写入_python读写不同编码txt文件
  11. Java 实现邮箱验证
  12. 移动光猫固件备份、刷机、改sn和mac等
  13. CCF计算机职业资格认证考试资料 部分题目答案 题库
  14. 量子笔记:量子计算祛魅
  15. horner算法matlab实现,使用Euclid和Horner算法的多项式求值
  16. 互联网时代下的市场营销
  17. 华为路由交换课程笔记10-GARP和GVRP
  18. 江苏省2022年普通高校专转本选拔考试 计算机专业大类专业技能 试题卷
  19. ArrayList 集合底层实现原理解析
  20. 华为手机wifi不显示连接到服务器,华为手机无线网已经连接但不能用怎么办

热门文章

  1. java项目目录_Java项目目录解释
  2. 在北京如何租房比较好?
  3. 前端地图之色斑图渲染(直接canvas叠加渲染)(三)——以leaflet为例
  4. 计算机病毒有几个阶段,计算机病毒发展9阶段
  5. 关于MCNS/DOCSIS兼容RF接口的RF接口MIB
  6. java 极光_极光IM系列之java后台集成
  7. 发那科机器人圆弧指令怎么用_发那科机器人走弧线的指令是什么
  8. 抖音快手微视去水印小程序!全网短视频无水印免费下载工具!
  9. sonar 加载mysql_sonar安装配置
  10. SpringBoot-Dubbo入门教程