首页 > 编程语言 >什么是算法?

什么是算法?

时间:2023-07-01 23:44:43浏览次数:56  
标签:功能 什么 算法 查找 比如 输入

扎实打牢数据结构算法根基,从此不怕算法面试系列之001 week01 02-01 什么是算法?

 

1、什么是算法?

为了明确什么是算法,我们会从简单的查找功能开始讲起。


查找其实一个一个非常简单的算法,
但我们会为这个查找功能的算法做如下工作:

  • 让查找的功能适应更多的数据类型
  • 通过查找的例子讲解如何编写正确的程序?
  • 为查找算法性能测试
  • 对一些常见算法做复杂度分析

2、定义算法

Algorithm的本意:解决问题的方法。
实际上,是指一系列解决问题的、清晰、可执行的计算机指令。


举了例子,生活中也有算法。
问路:如何去天安门?

比如数学题:
如何求解方程式?

比如菜谱:
菜的制作过程。


3、算法的五个特性

  • 1、有限性—不代表时间一定很短;
  • 2、确定性—不会产生二义性,表示算法内部每一个指令都是清晰的。不代表输入相同,输出一定不同;
  • 3、可行性—比如拿出最大的质数,这是不可行的;
  • 4、输入;
  • 5、输出。

通常一个函数,就可以看作为一个算法,输入参数、返回值分别对应为算法的输入输出。

标签:功能,什么,算法,查找,比如,输入
From: https://www.cnblogs.com/Leo_wl/p/17520187.html

相关文章

  • 数据结构和算法-2023.07.01
    数据结构杂记回忆以前的一些零散的知识点杂谈......
  • python: 举例说明什么是装饰器
    python:举例说明什么是装饰器━━━━━━━━━━━━━━━━━━━━━━━━━装饰器是Python中的一种高级特性,它允许我们在不修改原函数代码的情况下,对函数进行功能的扩展和修改。装饰器实际上是一个函数,它可以接受一个函数作为输入,并返回一个新的函数。下面是一个简单的......
  • 一文看懂什么是fork/join
    什么是Fork/JoinFork/Join是JUC并发包下的一个并行处理框架,实现了ExecutorService接口的多线程处理器,它专为那些可以通过递归分解成更细小的任务而设计,最大化的利用多核处理器来提高应用程序的性能。Fork/Join的运行流程大致如下所示:需要注意的是,图里的次级子任务可以一直分......
  • 什么是 CSR、SSR、SSG、ISR - 渲染模式详解
    本文以React、Vue为例,介绍下主流的渲染模式以及在主流框架中如何实现上述的渲染模式。前置知识介绍看渲染模式之前我们先看下几个主流框架所提供的相关能力,了解的可跳到下个章节。挂载组件到DOM节点这是主流框架最基本的能力,就是将组件渲染到指定的DOM节点上。在React......
  • 二叉树中的递归算法(二)
    从二叉树遍历看递归二叉树二叉树(binarytree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。二叉树的遍......
  • 明明是张表格脸,为什么要走向图片?(Excel批量处理图片合集)
    图片来源为函数类:Excel批量插入图片制图片的下拉选项图片就是图片类:批量插入图片把图片用在了数据透视表里只要是单元格对象的图片,不问出处:当函数遇上图片......
  • 2023-07-01:redis过期策略都有哪些?LRU 算法知道吗?
    2023-07-01:redis过期策略都有哪些?LRU算法知道吗?答案2023-07-01:缓存淘汰算法(过期策略)当Redis的内存超出物理内存限制时,内存中的数据就会频繁地与磁盘进行交换,这个过程叫做交换(swap)。由于交换的高开销,Redis的性能会急剧下降。对于访问频率较高的Redis实例来说,这样低效的存取效率......
  • 2023-07-01:redis过期策略都有哪些?LRU 算法知道吗?
    2023-07-01:redis过期策略都有哪些?LRU算法知道吗?答案2023-07-01:缓存淘汰算法(过期策略)当Redis的内存超出物理内存限制时,内存中的数据就会频繁地与磁盘进行交换,这个过程叫做交换(swap)。由于交换的高开销,Redis的性能会急剧下降。对于访问频率较高的Redis实例来说,这样低效的存取效率几乎......
  • 列车算法
    [资料来源](http://www.ssw.uni-linz.ac.at/General/Staff/TW/Wuerthinger05Train.pdf)http://www.ssw.uni-linz.ac.at/General/Staff/TW/Wuerthinger05Train.pdf程序可以在两次垃圾收集运行之间执行任何操作,例如更改指针。为了便于讨论,我们假设一个对象只适合于一个单块。考虑以......
  • 什么是负载均衡?
    负载均衡(LoadBalancing)是指将网络流量或工作负载分配到多个服务器或计算资源上,以提高系统的性能、可靠性和可扩展性。负载均衡的目标是使系统能够更好地处理用户的请求,并且避免某些服务器负载过高而导致性能下降或故障的情况。负载均衡可以在不同层次进行操作,包括:1.硬件负......