当前位置: 首页 > news >正文

打开算法之门,解释什么是算法

14天阅读挑战赛
努力是为了不平庸~
        算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!欢迎记录下你的那些努力时刻(算法学习知识点/算法题解/遇到的算法bug/等等),在分享的同时加深对于算法的理解,同时吸收他人的奇思妙想,一起见证技术er的成长~

目录

一.前言

二.什么是算法

三.算法有五个特征

四.算法的分类:


一.前言

如果说数学是皇冠上的一颗明珠,那么算法就是这颗明珠上的光芒,算法让这颗明珠更加熠熠生辉,为科技进步和社会发展照亮了前进的路。数学是美学,算法是艺术。走进算法的人,才能体会它的无穷魅力。

二.什么是算法

        算法,从字面意义上解释,就是用于计算的方法,通过该这种方法可以达到预期的计算结果。目前,被广泛认可的算法专业定义是:算法是模型分析的一组可行的,确定的,有穷的规则。通俗的说,算法也可以理解为一个解题步骤,有一些基本运算和规定的顺序构成。但是从计算机程序设计的角度看,算法由一系列求解问题的指令构成,能根据规范的输入,在有限的时间内获得有效的输出结果。算法代表了用系统的方法来描述解决问题的一种策略机制。
        完成同一件事的不同的算法完成的时间和占用的资源可能并不相同,这就牵扯到效率的问题。算法的基本任务是针对一个具体的问题,找到一个高效的处理方法,从而完成任务。而这就是我们的责任了。
        厉害的算法长什么样子?天下武功唯快不破,很多场合也适用。厉害的算法都反馈迅速。比如你刷头条,看到的所有的推荐几乎是实时推荐的,不是预先准备的。简单地说,就是你的每点击一个内容,都会产生新的推荐,新的标签,很有生命力。
        算法不能做什么?算法听起来似乎很厉害,但是还有很多事,算法还做不到。比如重要新闻的置顶、加权限、低级账号内容降权,都只能依靠人工。所以算法分发也不是把所有决策都交给机器。

        瑞士著名的科学家Niklaus Wirth教授曾提出:数据结构+算法=程序。

三.算法有五个特征

 一个典型的算法—般都可以抽象出5个特征:

  1. 有穷性:算法的指令或者步骤的执行次数和时间都是有限的。
  2. 确切性:算法的指令或步骤都有明确的定义。
  3. 输入:有相应的输入条件来刻画运算对象的初始情况。
  4. 输出:一个算应有明确的结果输出。
  5. 可行性:算法的执行步骤必须是可行的。

四.算法的分类:

根据应用分:

按照算法的应用领域,可以分为基本算法,数据结构相关算法,几何算法,图论算法,规划算法,数值分析算法,加密解密算法,排序算法,查找算法,并行算法,数值算法..…....

根据确定性分:

  1. 确定性算法:有限时间内完成,得到结果唯一。
  2. 非确定性算法:有限时间内完成,得到结果不唯一,存在多值性。

根据算法的思路分:

递推算法,递归算法,穷举算法,贪婪算法,分治算法,动态规划算法,迭代算法等。

相关文章:

  • 网站被降权会发生什么/seo发帖论坛
  • 网页设计好的网站/郑州粒米seo顾问
  • 沈阳网站建设专家/百度seo优化是做什么的
  • 馆陶做网站/免费建站的网站
  • 网站前台和后台对接实例/seo提供服务
  • 做网站需要懂代码么/互联网营销师资格证
  • 基于JAVA爱馨敬老院网站计算机毕业设计源码+系统+lw文档+部署
  • MyBatisPlus3.x
  • C语言|图解指针变量
  • Linux系统编程·进程概念引入
  • 苹果认证Apple Store Connenct api的使用
  • HashMap和Hashtable(全网最详细)
  • Linux10 -- 相关习题
  • 公司招人:34岁以上两年一跳的不要,开出工资以为看错了
  • JVM之对象的内存模型、创建过程、对象引用、生命周期
  • docker安装和优化
  • 【机器学习】Ensemble Learning 集成学习 + Python代码实战
  • 巷子里的酒