“递归算法”求数组最大值(含详细注释解析C++)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介: “递归算法”求数组最大值(含详细注释解析C++)

一、信息须知:

递归算法(英语:recursion algorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。

二、非递归普通循环求解最大值

#include <iostream>
using namespace std;
int A[200];
int main()
{
    int n;cin>>n;
    for(int i=0;i<n;i++){
        cin>>A[i];
    }
    int flag=A[0];
    for(int i=2;i<n;i++){
        if(A[i]>flag) flag=A[i];//比较,赋值
    }
    cout<<flag<<endl;
    return 0;
}

image.gif

三、以归纳法设计“递归算法”求最大值

#include <iostream>
//以归纳法设计递归算法求数组最大值
using namespace std;
int A[200];int flag=0;//注意此处flag初值为0
void compare(int i){
    if(i>0){
        compare(i-1);//递归调用
        if(A[i]>A[flag])
            flag=i;
    }
}
int main()
{
    int n;cin>>n;//数组个数
    for(int i=0;i<n;i++){
        cin>>A[i];
    }
    compare(n-1);
    cout<<A[flag]<< endl;
    return 0;
}

image.gif

四、示例简单,感觉思想。

目录
相关文章
|
6天前
|
算法 测试技术
【算法】二分算法——寻找旋转排序数组中的最小值
【算法】二分算法——寻找旋转排序数组中的最小值
|
2天前
|
机器学习/深度学习 算法 TensorFlow
【深度学习】深度学习语音识别算法的详细解析
深度学习语音识别算法是一种基于人工神经网络的语音识别技术,其核心在于利用深度神经网络(Deep Neural Network,DNN)自动从语音信号中学习有意义的特征,并生成高效的语音识别模型。以下是对深度学习语音识别算法的详细解析
11 5
|
1天前
|
机器学习/深度学习 自然语言处理 负载均衡
揭秘混合专家(MoE)模型的神秘面纱:算法、系统和应用三大视角全面解析,带你领略深度学习领域的前沿技术!
【8月更文挑战第19天】在深度学习领域,混合专家(Mixture of Experts, MoE)模型通过整合多个小型专家网络的输出以实现高性能。从算法视角,MoE利用门控网络分配输入至专家网络,并通过组合机制集成输出。系统视角下,MoE需考虑并行化、通信开销及负载均衡等优化策略。在应用层面,MoE已成功应用于Google的BERT模型、Facebook的推荐系统及Microsoft的语音识别系统等多个场景。这是一种强有力的工具,能够解决复杂问题并提升效率。
|
3天前
|
存储 算法 Java
深入算法基础二分查找数组
文章深入学习了二分查找算法的基础,通过实战例子详细解释了算法的逻辑流程,强调了确定合法搜索边界的重要性,并提供了Java语言的代码实现。
深入算法基础二分查找数组
|
3天前
|
存储 缓存 算法
深入解析B树:数据结构、存储结构与算法优势
深入解析B树:数据结构、存储结构与算法优势
|
4天前
|
安全 编译器 C语言
|
5天前
|
算法
【算法】模拟算法——外观数组(medium)
【算法】模拟算法——外观数组(medium)
|
6天前
|
算法
【算法】前缀和——除自身以外数组的乘积
【算法】前缀和——除自身以外数组的乘积
|
6天前
|
算法
【算法】前缀和——寻找数组的中心下标
【算法】前缀和——寻找数组的中心下标
|
6天前
|
C++ 容器
C++中自定义结构体或类作为关联容器的键
C++中自定义结构体或类作为关联容器的键
13 0

热门文章

最新文章

推荐镜像

更多