当前位置:首页 » 操作系统 » 是不是算法

是不是算法

发布时间: 2022-07-27 08:16:17

㈠ 什么叫算法

算法,对应的英文单词是algorithm,这是一个很古老的概念,最早来自数学领域,是用于解决某一类问题的公式和思想。

计算机科学领域的算法,本质是一系列程序指令,用于解答特定的运算和逻辑问题。一般运用时间复杂度和空间复杂度来衡量算法好坏。

算法的应用领域多种多样:

  • 运算,例如计算两个数的最大公约数。

  • 查找,例如使用谷歌、网络搜索某一关键词得出数据和信息。

  • 排序:例如浏览电商网站时,商品按价格从低到高进行排序。

  • 最优决策:例如游戏中让AI角色找到迷宫的最佳路线。

参考资料:魏梦舒(@程序员小灰),《漫画算法:小灰的算法之旅》:电子工业出版社,2019-05

㈡ 关于编程,最重要的是不是算法想问一下要行成一个好的算法应该怎么样训练

算法跟数据结构都很重要 关于算法的书强烈建议看《算法导论》机械工业出版社的 恩 要学好算法啊 平时多练啊

㈢ 是不是任何一个算法都有明确的结果

应该是这样的,算法的特性里面有一点就是
"
输出项(Output)
一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
"

㈣ 操作系统是不是算法是否满足算法的有穷性原则

内存管理算法,硬件调度算法,进程管理,都是算法。
os也有结束:关机。

㈤ 什么是算法(不要从计算机的角度回答)

算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。算法(Algorithm)是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

㈥ 什么是算法

一、什么是算法
算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。算法常常含有重复的步骤和一些比较或逻辑判断。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模n 的函数f(n),算法执行的时间的增长率与f(n) 的增长率正相关,称作渐进时间复杂度(Asymptotic Time Complexity)。时间复杂度用“O(数量级)”来表示,称为“阶”。常见的时间复杂度有: O(1)常数阶;O(log2n)对数阶;O(n)线性阶;O(n2)平方阶。
算法的空间复杂度是指算法需要消耗的空间资源。其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。同时间复杂度相比,空间复杂度的分析要简单得多。
[font class="Apple-style-span" style="font-weight: bold;" id="bks_etfhxykd"]算法 Algorithm [/font]
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。
一个算法应该具有以下五个重要的特征:
1、有穷性: 一个算法必须保证执行有限步之后结束;
2、确切性: 算法的每一步骤必须有确切的定义;
3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
算法的设计要求
1)正确性(Correctness)
有4个层次:
A.程序不含语法错误;
B.程序对几组输入数据能够得出满足规格要求的结果;
C.程序对精心选择的、典型的、苛刻的、带有刁难性的几组输入数据能够得出满足规格要求的结果;
D.程序对一切合法的输入数据都能产生满足规格要求的结果。
2)可读性(Readability)
算法的第一目的是为了阅读和交流;
可读性有助于对算法的理解;
可读性有助于对算法的调试和修改。
3)高效率与低存储
处理速度快;存储容量小
时间和空间是矛盾的、实际问题的求解往往是求得时间和空间的统一、折中。
算法的描述 算法的描述方式(常用的)
算法描述 自然语言
流程图 特定的表示算法的图形符号
伪语言 包括程序设计语言的三大基本结构及自然语言的一种语言
类语言 类似高级语言的语言,例如,类PASCAL、类C语言。
算法的评价 算法评价的标准:时间复杂度和空间复杂度。
1)时间复杂度 指在计算机上运行该算法所花费的时间。用“O(数量级)”来表示,称为“阶”。
常见的时间复杂度有: O(1)常数阶;O(logn)对数阶;O(n)线性阶;O(n^2)平方阶
2)空间复杂度 指算法在计算机上运行所占用的存储空间。度量同时间复杂度。
时间复杂度举例
(a) X:=X+1 ; O(1)
(b) FOR I:=1 TO n DO
X:= X+1; O(n)
(c) FOR I:= 1 TO n DO
FOR J:= 1 TO n DO
X:= X+1; O(n^2)
“算法”一词最早来自公元 9世纪 波斯数学家比阿勒·霍瓦里松的一本影响深远的着作《代数对话录》。20世纪的 英国 数学家 图灵 提出了着名的图灵论点,并抽象出了一台机器,这台机器被我们称之为 图灵机 。图灵的思想对算法的发展起到了重要的作用。
算法是 计算机 处理信息的本质,因为 计算机程序 本质上是一个算法,告诉计算机确切的步骤来执行一个指定的任务,如计算职工的薪水或打印学生的成绩单。 一般地,当算法在处理信息时,数据会从输入设备读取,写入输出设备,可能保存起来以供以后使用。
这是算法的一个简单的例子。
我们有一串随机数列。我们的目的是找到这个数列中最大的数。如果将数列中的每一个数字看成是一颗豆子的大小 可以将下面的算法形象地称为“捡豆子”:
首先将第一颗豆子(数列中的第一个数字)放入口袋中。
从第二颗豆子开始检查,直到最后一颗豆子。如果正在检查的豆子比口袋中的还大,则将它捡起放入口袋中,同时丢掉原先的豆子。 最后口袋中的豆子就是所有的豆子中最大的一颗。
下面是一个形式算法,用近似于 编程语言 的 伪代码 表示
给定:一个数列“list",以及数列的长度"length(list)" largest = list[1] for counter = 2 to length(list): if list[counter] > largest: largest = list[counter] print largest
符号说明:
= 用于表示赋值。即:右边的值被赋予给左边的变量。
List[counter] 用于表示数列中的第 counter 项。例如:如果 counter 的值是5,那么 List[counter] 表示数列中的第5项。
<= 用于表示“小于或等于”。

㈦ 把a,b带入求方程解是不是算法

不是,算法是一类问题的统一的计算方法,算法不能等同于某个题目的解法

㈧ for循环是不是算法

不能说是算法吧 算法不是一种结构 也许某个算法中只有一个简单的for语句 但是不能将for语句说成算法 因为算法是用来解决某个问题的 而for结构本身不能解决问题 但是大家通常所说的、学习的是能够很好的解决问题的巧妙算法 所以 在大多数时候 你如果只是简单的用for循环罗列 大家不会认为你选择了一个算法
比如说 你要在一大堆数里找出某一个数 我可以通过一个个找 最后找出所需要的 这是算法 但是因为效率比较低 耗得时间久 所以说它是比较菜的算法 也可以将数里面排好序 用折半查找法或者其他查找的方法 这样能够完成一样的要求 但是我消耗的时间却可能只有上一个的十分之一 甚至百分之一 千分之一 所以我说它是比较好的算法
算法到底是好还是坏 通常通过2个方面来考虑 时间 空间 而影响算法选择的就是使用次数和问题规模
时间是运行算法所需要的时间,空间主要是指你使用算法所需要的内存,这2个都是与问题规模相关的
使用次数和问题规模是怎么影响算法选择的。 举个例子,你还是从一堆数里面寻找一个数,你如果只需要在里面寻找数寻找一两次,你就不应该使用我上面的方法, 因为你将它们排好序的时间足够你完成所需要的操作了,使用上面算法非但没减少时间,反倒增加了时间。
再比如说 如果那堆数只有几个数,那你也不需要使用上面的那些算法,你会发现当数不多的时候,不会减少计算时间,或者减少很少的时间。
一般来说 我们考虑算法只有当觉得我们不满意常规算法带来的时间空间损耗 或者常规算法不能实现我们的要求的时候,我们才考虑使用某种算法来优化或者实现
算法不只是一个函数或者其它什么的,它代表的就是一种思路,也不是你掌握了这个算法的一个应用 你就算掌握这个算法 所以学习算法 要理解透彻算法的思路 然后才能按照实际情况选择应用算法。举也许二段代码 完全不相同 但是说它们却用的是同一种算法 就是因为它们用的是同一种思路来解决了这个问题

㈨ 算法是不是一种计算方法

思路解析: 算法是解决某类问题的一系列步骤或程序,只要按照这些步骤执行,都能使问题得到解决.A选项显然是不正确的;B选项错在“判断一个数是否是一个素数的方法”仅是一个解决某一问题的算法,但不是算法的定义;C选项错在并不是所有的程序能够解决问题. 答案: D

㈩ 数学建模中,模型是不是算法

模型是对现实世界中具体问题(现象)的数学描述,可能通过一个或多个数学公式来描述一它。
算法则是解决这个问题(模型)的具体的过程。
打个比方:解决某个问题的数学描述是S=1+2+3+...+n,这个为模型
算法:1.依次计算1+2+3+...+n
2.使用公式n*(n+1)/2计算
3.使用首尾相加*2 + 中间数方式计算

热点内容
php怎么反编译 发布:2025-01-19 14:10:54 浏览:590
加密货币交易平台排名 发布:2025-01-19 13:58:21 浏览:741
红绿灯的编程 发布:2025-01-19 13:57:37 浏览:113
老男孩linux教程 发布:2025-01-19 13:44:48 浏览:941
买车怎么区分车配置 发布:2025-01-19 13:44:45 浏览:242
丢失缓存视频 发布:2025-01-19 13:44:09 浏览:183
C语言tp 发布:2025-01-19 13:26:20 浏览:107
手机qq改变存储位置 发布:2025-01-19 13:25:17 浏览:83
吃解压海鲜 发布:2025-01-19 13:23:50 浏览:820
sql子表 发布:2025-01-19 13:23:11 浏览:334