前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【趣学算法】Day1 算法简介+斐波那契数列

【趣学算法】Day1 算法简介+斐波那契数列

作者头像
周小末天天开心
发布2022-10-26 17:08:22
2910
发布2022-10-26 17:08:22
举报
文章被收录于专栏:周小末天天开心

14天阅读挑战赛

努力是为了不平庸~ 算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!

这里就要推荐陈小玉老师编著的趣学算法这本书了,本专题的学习也都将会围绕着这本书中的内容进行讲解

❤️一名热爱Java的大一学生,希望与各位大佬共同学习进步❤️ 🧑个人主页:@周小末天天开心 各位大佬的点赞👍 收藏⭐ 关注✅,是本人学习的最大动力 感谢! 📕该篇文章收录专栏—趣学算法


目录

一、什么是算法

 (1)算法介绍

(2)算法的特性

二、斐波那契数列

算法演示

总结


一、什么是算法

 (1)算法介绍

        算法是对问题求解方法的一种描述,它不依赖任何一种语言,既可以用自然语言、程序设计语言(C、C++、Java、Python等)描述,,也可以用流程图、框图来表示。通常情况下,为了更清楚地说明算法的本质,我们会去除计算机语言的语法规则和细节,采用“伪代码”来描述算法。“伪代码”介于自然语言和程序设计语言之间,它更符合人们的表达方式,容易理解,但它并不是严格的程序设计语言。如果要上机调试,则需要转换成标准的计算机程序设计语言才能运行。

(2)算法的特性

1)有穷性:算法是由若干条指令组成的有穷序列,总是在执行若干次后结束,不可能永不停止。

2)确定性:每条语句都有确定的含义,无歧义。

3)可行性:算法在当前环境条件下可以通过有限次运算来实现。

4)输入/输出:有零个或多个输入以及一个或多个输出。


二、斐波那契数列

斐波那契数列如下:1, 1,  2, 3, 5, 8, 13,  21 ,34……

特点:可以看出斐波那契数列的特点是从第三个数开始,以后的每一个数都等于前两个数之和

递归表达式如下:

算法演示

伪代码为:

代码语言:javascript
复制
int f(int n) {
    if(n == 1 || n == 2) {
        return 1;
    }
    return f(n - 1) + f(n - 2);
}

Java代码为:

代码语言:javascript
复制
import java.util.Scanner;
public class algorithm01 {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        // 输入一个数,输出其对应的斐波那契数
        System.out.println("输入一个数,输出其对应的斐波那契数列:");

        add a = new add();
        // 定义变量Fibonacci接收返回的斐波那契数
        int Fibonacci = a.f(scanner.nextInt());

        //输出
        System.out.println("对应的斐波那契数为" + Fibonacci);
    }


// add类
public class add {

    public int f(int n) {
        if(n == 1 || n == 2) {
            return 1;
        }
        return f(n - 1) + f(n - 2);
    }
}

查看输出结果:

可以看出输出了其对应的斐波那契数。


总结

        初学算法可能会觉得很难,其实难就难在不好理解,因为算法本身就具有一定的复杂性,这就需要多做题、多思考,让思维开放,才能真正领略算法的乐趣。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  (1)算法介绍
  • (2)算法的特性
  • 总结
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档