分治法——查找最大最小元素(C++)
#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++)相关推荐
- 分治法——查找最大最小元素(Python)
# 基本子算法(子问题规模小于等于 2 时) def get_max(max_list):return max(max_list) def get_min(min_list):return min(m ...
- Python算法——分治法查找数组中元素最小最大值
要求: 给定数组a1,a2,a3,...an,找出数组中最大值和最小值.(数组中两两各不相同) 分析: 算法思想类似于上图,将数组两两分为一组,如果数组元素奇数个,就把最后一个元素单独分为一组,然后分 ...
- 算法设计——用分治法查找数组元素的最大值和最小值、用分治法实现合并排序、最小费用问题、树的最大连通分支问题(代码实现)
代码链接:pan.baidu.com/s/15inIth8Vl89R1CgQ_wYc2g 提取码:gf13 算法分析与设计第 1 次实验 时间 2020.3.31 地点 软件大楼 127 实验名称 ...
- 分治法查找数组元素的最大值和最小值(python实现)
实验内容 给定任意几组数据,利用分治法的思想,找出数组中的最大值和最小值并输出 实验原理 利用分治法,将一个数组元素大于 2 的数组分成两个子数组,然后对每一个子数组递归调用,直到最小的子数组的元素个 ...
- [python] 分治法查找数组元素的最大值和最小值
分治法查找数组元素的最大值和最小值 分治法简介: 分治法从字面上的解释是"分而治之",就是把一个复杂的问题分成两个或者更多相同或者相似的子问题,再把子问题分成更小的子问题,直到最后 ...
- 寻找中项和第k小元素c语言,分治法第k小元素poj2104.ppt
分治法第k小元素poj2104 第六章 分 治 6.1 引言 分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之. 战略 算法设计技术 划分--治理- ...
- 分治法——查找问题 —— 寻找一个序列中第k小的元素和查找最大和次大元素
查找问题: 问题一:寻找一个序列中第k小的元素 对于给定的含有n个元素的无序序列,求这个序列中第k(1<=k<=n)小的元素 分析思路: 假设无序序列存放在a[0 - n-1]中,若将a递 ...
- 用分治法查找数组元素的最大值和最小值
算法分析: 代码实现: #include "stdio.h" #include "stdlib.h" #include "time.h" # ...
- 分治法 ——查找问题 —— 寻找两个等长有序序列的中位数
查找问题: 问题一:寻找两个等长有序序列的中位数 问题描述:对于一个长度为n的有序序列(假设均为升序序列)a[0 - n-1] ,处于中间位置的元素称为a的中位数. 例如,若序列a=(11,13,15 ...
- 【算法设计与分析】关于分治法的一些(伪)代码整理
分治法 合并排序 利用分治法求一个元素在数组中的最大位置 利用分治法求一个n元素数组的最大元素和最小元素的值 是否稳定 快速排序 合并排序 利用分治法求一个元素在数组中的最大位置 伪代码: MaxIn ...
最新文章
- 三流Java搞技术,二流Java搞框架,一流Java…
- 带你用4行代码训练RNN生成文本(附资源)
- [Python爬虫] 之五:Selenium 处理滚动条
- HDOJ acm steps 3.1.1
- Maven依赖管理和插件配置
- asp.net core WebAPI实现CRUD
- 前端开发必备的1个CSS框架
- Android 功耗(19)---LCD背光驱动节电技术-LABC/CABC
- 从 0 到 1 实现 React 系列 —— 组件和 state|props
- python文件写入_python读写不同编码txt文件
- Java 实现邮箱验证
- 移动光猫固件备份、刷机、改sn和mac等
- CCF计算机职业资格认证考试资料 部分题目答案 题库
- 量子笔记:量子计算祛魅
- horner算法matlab实现,使用Euclid和Horner算法的多项式求值
- 互联网时代下的市场营销
- 华为路由交换课程笔记10-GARP和GVRP
- 江苏省2022年普通高校专转本选拔考试 计算机专业大类专业技能 试题卷
- ArrayList 集合底层实现原理解析
- 华为手机wifi不显示连接到服务器,华为手机无线网已经连接但不能用怎么办