首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

什么是算法?一切皆算法

编程知识
2024年08月29日 07:08

如果有人问我什么算法?我就一句话:算法就是对一类问题的最优求解路径。

1、计算机领域的算法概念

算法一直都是计算机领域非常重要的概念,具备极高的地位,各个公司对算法的考察也非常热衷。

我们只有在数学、计算机和人工智能领域会听到算法的概念,再加上似乎没人能讲清楚算法的概念。所以,一听到算法,很多人以为是个高深概念。

在计算机科学中,算法是指一个被定义好的、计算机可施行其指示的有限步骤或次序,常用于计算、数据处理和自动推理。

简单来说,算法就是一个定义明确的步骤集合,用来解决特定问题或执行特定任务。或者说算法是一种解决问题的方法,它通过一系列的步骤,逐步达到目标。

在编程中,算法被用来处理数据、执行计算、自动推理和做出决策。

我们常用的公共类算法很多,比如:

  • 排序算法:如快速排序、冒泡排序等,用于将数据按特定顺序排列。
  • 搜索算法:如二分查找,用于在数据集中找到特定元素。
  • 加密算法:如AES、RSA,用于数据加密和解密。
  • 路径规划算法:如Dijkstra算法,用于寻找最短路径。

2、算法只存在于计算机领域吗

我们基本只会在数学和计算机领域听过算法的概念,提到“算法”,很多人的第一反应是复杂的数学公式或计算机程序。那其他领域存在算法吗?

我的观点是,算法并不仅仅存在于科技领域,各个领域都存在算法。

为什么?因为算法是一个通用概念,它是一种解决问题的思维方式,它帮助我们理清思路,找到最优的解决方案。

算法说白了就是:对一类问题的最优求解路径

每个行业都存在各种各样的问题,每个问题都有对应的解决方法和步骤。有问题,有沉淀下来的解决路径,这不就是算法嘛。

所以每个行业都存在算法。我们不要把算法想的那么高深。

3、生活中的算法

比如在日常生活中,无论是农民在田间播种,还是建筑师设计大楼,甚至是我们在解决生活中的问题时,算法都无处不在。

农民种地的算法:农民要种出好的麦子,这个过程就是一个算法。首先,需要选择合适的种子,这是输入;然后,要根据天气、土壤和季节来决定何时播种,这相当于判断条件;最后,经过施肥、浇水、除草等一系列步骤,农民收获了粮食。这就是一个完整的算法过程。

建筑师的算法:建筑师设计一栋坚固的房子也是在执行一套算法。从选择建筑材料,到规划结构,再到每一个房间的布局,每一个步骤都是为了最终目标服务的。

日常生活中的算法:就连你早晨起床的过程也可以看作一个算法。你可能会在心里梳理一个步骤:起床、刷牙、洗脸、吃早餐、出门。这些看似简单的步骤,背后都有一个潜在的逻辑顺序,确保你能够顺利开始新的一天。

社会的算法:在社会中,规则和法律也是一种算法。它们帮助我们解决各种社会问题,维护秩序。比如,交通规则就是为了避免混乱和事故的一套算法;教育体系则是为了培养人才的一种算法。

程序员的算法:对于编程领域的算法,有两点说明:

  • 对于编程来说,编写高效的代码就是在执行算法。从需求分析到设计,再到编码、测试,每一步都是有目的、有方向的。
  • 为什么正常情况下我们不提“算法”俩字呢?因为常规的编码复杂度不高,在程序员的心目中低复杂度的流程和步骤还不足以称之为“算法”。但实际上简单的流程和步骤也是算法。

4、完结

算法就是对一类问题的最优求解路径,它存在于各行各业,无处不在。

本篇完结!欢迎 关注、加V(yclxiao)交流、全网可搜(程序员半支烟)

原文链接:https://mp.weixin.qq.com/s/s7pS_HUKjmfb-dNnHOyuBQ

From:https://www.cnblogs.com/mangod/p/18385803
本文地址: http://www.shuzixingkong.net/article/1542
0评论
提交 加载更多评论
其他文章 Semantic Kernel/C#:一种通用的Function Calling方法,文末附经测试可用的大模型
Funcion Calling介绍 函数调用允许您将模型如gpt-4o与外部工具和系统连接起来。这对于许多事情都很有用,比如为AI助手赋能,或者在你的应用程序与模型之间建立深度集成。 如果您了解或者使用过Semantic Kernel可能会发现除了OpenAI支持Function Calling的模
Semantic Kernel/C#:一种通用的Function Calling方法,文末附经测试可用的大模型 Semantic Kernel/C#:一种通用的Function Calling方法,文末附经测试可用的大模型 Semantic Kernel/C#:一种通用的Function Calling方法,文末附经测试可用的大模型
折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之日志管理
Quickwit 从底层构建,旨在 高效地索引非结构化数据,并在云存储上轻松搜索这些数据。 此外,Quickwit 开箱即支持 OpenTelemetry gRPC 和 HTTP(仅 protobuf)协议,并提供了一个 REST API,可以接收任何 JSON 格式的日志。 这让 Quickwit
折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之日志管理 折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之日志管理 折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之日志管理
[golang]查询ssl证书剩余有效天数并邮件提醒
前言 自从云厂商的免费ssl证书改成3个月,而且证书数量还是20个之后,自己网站的ssl证书就换成了其它免费方案。但是免费方案不会提醒证书过期,所以写个工具每天定时查询证书剩余有效天数,如果证书即将过期,就发送邮件提醒。 基本实现 最基本的代码功能就是检测网站ssl证书的有效天数,可以用命令行传参的
记录荒废了三年的四年.net开发的第三次面试,苏州斯莱克
现在就业的确崩了 这次面试的时间是8月28号。距离上一次面试已经过去了一个月了,距离开始找工作已经过去了2个月。没多少找工作经验的我也体会到了什么叫就业崩了。 看了一线码农的采访计划后,我也把苏州列为了找工作的地方之一。我成都感觉公司都翻烂了 要么工资高,15000,但要求开发测试运维一条龙,什么.
推荐一个Python打造的开源自动驾驶平台:Donkeycar!
1、引言 随着人工智能和自动驾驶技术的飞速发展,自动驾驶车辆的研究和开发成为了科技领域的热点。对于初学者、爱好者和学生而言,一款易于上手且功能强大的自动驾驶平台显得尤为重要。Donkeycar正是这样一款开源项目,它提供了一个轻量级、模块化的Python自驾车库,旨在促进快速实验和社区参与。本文将详
推荐一个Python打造的开源自动驾驶平台:Donkeycar! 推荐一个Python打造的开源自动驾驶平台:Donkeycar!
PCSR:已开源,三星提出像素级路由的超分辨率方法 | ECCV 2024
基于像素级分类器的单图像超分辨率方法(PCSR)是一种针对大图像高效超分辨率的新方法,在像素级别分配计算资源,处理不同的恢复难度,并通过更精细的粒度减少冗余计算。它还在推断过程中提供可调节性,平衡性能和计算成本而无需重新训练。此外,还提供了使用K均值聚类进行自动像素分配以及后处理技术来消除伪影。 来
PCSR:已开源,三星提出像素级路由的超分辨率方法 | ECCV 2024 PCSR:已开源,三星提出像素级路由的超分辨率方法 | ECCV 2024 PCSR:已开源,三星提出像素级路由的超分辨率方法 | ECCV 2024
Mono 现状与未来:从Wine-mono 到.NET 9
Mono 官网主页[1]和 Mono GitHub 页面今日发布公告[2],微软宣布将 Mono 项目移交给 WineHQ 组织,也就是 Linux 兼容 Windows 应用框架 Wine 的开发团队。微软从 2014 年开始向.NET 开源发展,当时微软宣布.NET Core即将开源[3]。然而
Mono 现状与未来:从Wine-mono 到.NET 9
Oracle同一台服务器创建多个数据库
有时候我们需要再同一台机器上创建多个数据库服务(不是单纯的数据库实例),每一个数据库可以有单独的服务运行,只是在一个机器环境而已。可以在不同的端口上监听,也可以在相同端口监听 创建多个数据库步骤 安装完Oracle数据库后,会自动安装很多工具,这里我们使用Database Configuration
Oracle同一台服务器创建多个数据库 Oracle同一台服务器创建多个数据库 Oracle同一台服务器创建多个数据库