计算机的算法具有哪些特性?
一个算法必须具备以下性质:
(1)算法首先必须是正确的,即对于任意的一组输入,包括合理的输入与不合理的输入,总能得到预期的输出。如果一个算法只是对合理的输入才能得到预期的输出,而在异常情况下却无法预料输出的结果,那么它就不是正确的。
(2)算法必须是由一系列具体步骤组成的,并且每一步都能够被计算机所理解和执行,而不是抽象和模糊的概念。
(3)每个步骤都有确定的执行顺序,即上一步在哪里,下一步是什么,都必须明确,无二义性。
(4)无论算法有多么复杂,都必须在有限步之后结束并终止运行,即算法的步骤必须是有限的。在任何情况下,算法都不能陷入无限循环中。
一个问题的解决方案可以有多种表达方式,但只有满足以上4个条件的解才能称之为算法。
综上所述,我选A、B、E,个人感觉C也选,但我不确定,希望不要误导你。
最好根据上面的解释或是算法书自己看一下。
1)首先一个算法必须是可行的,就是能解决所描述的问题,即“可行性”
2)在可行的基础上,必须在合理的,可以接受的时间范围内解决问题,即“有穷性”
3)从广泛的意义上讲,算法就是一个函数,函数就要求在任何条件下一个确定的输入对应一个唯一确定的输出,这就要求算法只有唯一的一条执行路径,不会产生二义性,即“确定性”
4)对于函数,算法必须有输入和输出,这里的输入不一定非要从键盘或者文件之类的给出,可以由程序直接给出,而输出也必须是同输入有特定的联系,且唯一对应,即“输入”和“输出”
计算机的算法具有可行性,有穷性、输入\输出、确定性。
计算机算法特点
1.有穷性。一个算法应包含有限的操作步骤,而不能是无限的。事实上“有穷性”往往指“在合理的范围之内”。如果让计算机执行一个历时1000年才结束的算法,这虽然是有穷的,但超过了合理的限度,人们不把他视为有效算法。
2. 确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。算法中的每一个步骤应当不致被解释成不同的含义,而应是十分明确的。也就是说,算法的含义应当是唯一的,而不应当产生“歧义性”。
3. 有零个或多个输入、所谓输入是指在执行算法是需要从外界取得必要的信息。
4. 有一个或多个输出。算法的目的是为了求解,没有输出的算法是没有意义的。
5.有效性。 算法中的每一个 步骤都应当能有效的执行。并得到确定的结果。
拓展资料:
重要算法
A*搜寻算法
俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。该算法像Dijkstra算法一样,可以找到一条最短路径;也像BFS一样,进行启发式的搜索。
Beam Search
束搜索(beam search)方法是解决优化问题的一种启发式方法,它是在分枝定界方法基础上发展起来的,它使用启发式方法估计k个最好的路径,仅从这k个路径出发向下搜索,即每一层只有满意的结点会被保留,其它的结点则被永久抛弃,从而比分枝定界法能大大节省运行时间。束搜索于20 世纪70年代中期首先被应用于人工智能领域,1976 年Lowerre在其称为HARPY的语音识别系统中第一次使用了束搜索方法。他的目标是并行地搜索几个潜在的最优决策路径以减少回溯,并快速地获得一个解。
二分取中查找算法
一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。这种搜索算法每一次比较都使搜索范围缩小一半。
Branch and bound
分支定界(branch and bound)算法是一种在问题的解空间树上搜索问题的解的方法。但与回溯算法不同,分支定界算法采用广度优先或最小耗费优先的方法搜索解空间树,并且,在分支定界算法中,每一个活结点只有一次机会成为扩展结点。
数据压缩
数据压缩是通过减少计算机中所存储数据或者通信传播中数据的冗余度,达到增大数据密度,最终使数据的存储空间减少的技术。数据压缩在文件存储和分布式系统领域有着十分广泛的应用。数据压缩也代表着尺寸媒介容量的增大和网络带宽的扩展。
Diffie–Hellman密钥协商
Diffie–Hellman key exchange,简称“D–H”,是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。
Dijkstra’s 算法
迪科斯彻算法(Dijkstra)是由荷兰计算机科学家艾兹格·迪科斯彻(Edsger Wybe Dijkstra)发明的。算法解决的是有向图中单个源点到其他顶点的最短路径问题。举例来说,如果图中的顶点表示城市,而边上的权重表示著城市间开车行经的距离,迪科斯彻算法可以用来找到两个城市之间的最短路径。
动态规划
动态规划是一种在数学和计算机科学中使用的,用于求解包含重叠子问题的最优化问题的方法。其基本思想是,将原问题分解为相似的子问题,在求解的过程中通过子问题的解求出原问题的解。动态规划的思想是多种算法的基础,被广泛应用于计算机科学和工程领域。比较著名的应用实例有:求解最短路径问题,背包问题,项目管理,网络流优化等。这里也有一篇文章说得比较详细。
欧几里得算法
在数学中,辗转相除法,又称欧几里得算法,是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。
最大期望(EM)算法
在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。最大期望经常用在机器学习和计算机视觉的数据聚类(Data Clustering)领域。最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;第二步是最大化(M),最大化在 E 步上求得的最大似然值来计算参数的值。M 步上找到的参数估计值被用于下一个 E 步计算中,这个过程不断交替进行。
快速傅里叶变换(FFT)
快速傅里叶变换(Fast Fourier Transform,FFT),是离散傅里叶变换的快速算法,也可用于计算离散傅里叶变换的逆变换。快速傅里叶变换有广泛的应用,如数字信号处理、计算大整数乘法、求解偏微分方程等等。
哈希函数
HashFunction是一种从任何一种数据中创建小的数字“指纹”的方法。该函数将数据打乱混合,重新创建一个叫做散列值的指纹。散列值通常用来代表一个短的随机字母和数字组成的字符串。好的散列函数在输入域中很少出现散列冲突。在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。
堆排序
Heapsort是指利用堆积树(堆)这种数据结构所设计的一种排序算法。堆积树是一个近似完全二叉树的结构,并同时满足堆积属性:即子结点的键值或索引总是小于(或者大于)它的父结点。
归并排序
Merge sort是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。
RANSAC 算法
RANSAC 是”RANdom SAmpleConsensus”的缩写。该算法是用于从一组观测数据中估计数学模型参数的迭代方法,由Fischler and Bolles在1981提出,它是一种非确定性算法,因为它只能以一定的概率得到合理的结果,随着迭代次数的增加,这种概率是增加的。该算法的基本假设是观测数据集中存在”inliers”(那些对模型参数估计起到支持作用的点)和”outliers”(不符合模型的点),并且这组观测数据受到噪声影响。RANSAC 假设给定一组”inliers”数据就能够得到最优的符合这组点的模型。
RSA加密演算法
这是一个公钥加密算法,也是世界上第一个适合用来做签名的算法。今天的RSA已经专利失效,其被广泛地用于电子商务加密,大家都相信,只要密钥足够长,这个算法就会是安全的。
并查集Union-find
并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。
Viterbi algorithm
寻找最可能的隐藏状态序列(Finding most probable sequence of hidden states)。
参考资料:计算机算法
计算机的算法具有的特性:
1.有穷性。一个算法应包含有限的操作步骤,而不能是无限的。事实上"有穷性"往往指"在合理的范围之内"。如果让计算机执行一个历时1000年才结束的算法,这虽然是有穷的,但超过了合理的限度,人们不把他视为有效算法。
2. 确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。算法中的每一个步骤应当不致被解释成不同的含义,而应是十分明确的。也就是说,算法的含义应当是唯一的,而不应当产生"歧义性"。
3. 有零个或多个输入、所谓输入是指在执行算法是需要从外界取得必要的信息。
4. 有一个或多个输出。算法的目的是为了求解,没有输出的算法是没有意义的。
5.有效性。 算法中的每一个 步骤都应当能有效的执行。并得到确定的结果。
计算机算法简介:
算法必须具备以下性质:
(1)算法首先必须是正确的,即对于任意的一组输入,包括合理的输入与不合理的输入,总能得到预期的输出。如果一个算法只是对合理的输入才能得到预期的输出,而在异常情况下却无法预料输出的结果,那么它就不是正确的。
(2)算法必须是由一系列具体步骤组成的,并且每一步都能够被计算机所理解和执行,而不是抽象和模糊的概念。
(3)每个步骤都有确定的执行顺序,即上一步在哪里;下一步是什么,都必须明确,无二义性。
(4)无论算法有多么复杂,都必须在有限步之后结束并终止运行;即算法的步骤必须是有限的。在任何情况下,算法都不能陷入无限循环中。
一个问题的解决方案可以有多种表达方式;但只有满足以上4个条件的解才能称之为算法。
计算机算法具有以下特性:1. 确定性:算法步骤明确,每一步都是明确的、可行的、不模糊的,具有确定性。2. 有限性:算法必须在有限步之内结束,不能出现死循环等概念。3. 输入输出:算法有输入和输出,输入是必要的,且能够完成指定的任务,输出是符合要求的结果。4. 可行性:算法是可以在现有计算机上实现,并且能够有效地解决具体问题的。算法缺乏可行性是没有意义的。5. 确定解:算法可以得出确定的解,且正确性可以被验证。6. 高效性:算法的步骤数量应该少,时间和空间效率应该高,以便在合理的时间内解决问题。7. 可重复性:在相同的输入情况下,算法应该能够得到相同的输出。8. 通用性:算法用于解决类似的问题,能够应用于许多领域和不同的问题。
算法的本质是解决问题的方法,是思想
在早期的时候,人们遇到新问题,必须要去解决它,经过“冥思苦想”,“反复探索尝试”, 最后总结归纳。这才形成了今天我们学习的各种算法。如果无法领会到解决问题的思想,无法总结归纳,就会有:“学算法有什么用?”。不知道为什么学,自然会认为学了没意义,没有用处。
2.一个算法应该具有以下五个重要的特征:
①有穷性: 算法的有穷性是指算法必须能在执行有限个步骤之后终止,换句话说就是一个算法必须总是在执行有穷步之后结束,且每一步都可在有穷时间内完成。
②确定性:算法中的每条指令必须有确切的定义,不会产生二义性,并且对于相同的输入只能得出相同的输出。
③可行性:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。
④输入: 一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件,这些输入取自于某个特定的对象集合。
⑤输出:一个算法有一个或多个的输出,这些输出是同输入有着特定关系的量,没有输出的算法是毫无意义的。
算法总是要解决特定的问题,问题来源就是算法的输入,期望的结果就是算法的输出,没有输入输出的算法是无意义的。
3.算法设计的5个要求:
①正确性:最基本要求,算法必须能解决某个问题的需求。
②可读性:算法的可读性有助于人的阅读与交流,容易调试和修改。
③健壮性:当输入的数据非法时,算法能适当做出反应或进行处理,而不会产生莫名其妙的输出结果。
④效率性:算法是为了解决大规模问题,因此需要运行效率足够快。
⑤存储性:算法在执行过程中,所需要的最大存储空间,应该尽可能的占用小。
效率性与存储性都与问题规模有关,求100人的平均分与求1000人的平均分,同一个算法的所花费的执行时间与存储空间显然是不一样的。
正确性,可读性,健壮性不仅仅是算法设计的要求,而是贯穿整个软件设计层次。单对于算法本身来说,我们最关注的层面是效率性。千万不能死板的认为,算法就是计算机程序。算法是一切解决问题的思想,语言描述,伪代码,流程图,各种符号或者控制表格同样是算法。
一个算法必须具备以下性质: (1)算法首先必须是正确的,即对于任意的一组输入,包括合理的输入与不合理的输入,总能得到预期的输出。如果一个算法只是对合理的输入才能得到预期的输出,而在异常情况下却无法预料输出的结果,那么它就不是正确的。 (2)算法必须是由一系列具体步骤组成的,并且每一步都能够被计算机所理解和执行,而不是抽象和模糊的概念。 (3)每个步骤都有确定的执行顺序,即上一步在哪里,下一步是什么,都必须明确,无二义性。 (4)无论算法有多么复杂,都必须在有限步之后结束并终止运行,即算法的步骤必须是有限的。在任何情况下,算法都不能陷入无限循环中。 一个问题的解决方案可以有多种表达方式,但只有满足以上4个条件的解才能称之为算法。
综上所述,我选A、B、E,个人感觉C也选,但我不确定,希望不要误导你。
最好根据上面的解释或是算法书自己看一下。
算法有哪些分类?
12. 并行算法:设计用于并行计算的算法,以提高处理大规模问题的速度。13. 机器学习算法:根据数据训练模型,如监督学习、非监督学习和半监督学习算法。14. 哈夫曼编码、树的遍历、最短路径算法等特定于图论的算法。请注意,算法的分类不是固定不变的,随着技术的发展和新问题的出现,可能会有新的算法...
算法的基本结构有哪些?
算法有顺序结构、条件分支结构、循环结构三种基本逻辑结构。1、顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的。它是任何一个算法都离不开的一种基本算法结构。顺序结构在程序框图中的体现就是用流程线将程序框自上...
算法有哪些特征啊?
3、输入项(Input)一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;4、输出项(Output)一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性(Effectiveness)算法中执行的任何计算步骤都是可以被分解为基本...
一个好的算法应该具备哪些特征?
一个好的算法应该具备以下特征:正确性:算法应该正确地解决问题,并且没有明显的错误。易于理解:算法应该清晰明了,容易理解,易于实现和调试。可证明性:算法应该有明确的证明,证明其正确性和最优性。效率:算法应该具有较高的效率,能够在可接受的时间内完成计算。稳定性:算法的结果应该稳定,不会...
算法的性质有哪些
算法的一般性质包括:(1) 通用性 对于那些符合输入类型的任意输入数据,都能根据算法进行问题求解,包保证计算结构的正确性。(2) 有效性 组成算法的每一条指令都必须是能够被人或机器确切执行的。(3) 确定性 算法每执行一步之后,对于它的下一步,应该有明确的指示。即,保证每一步...
算法有哪些基本结构?
算法有顺序结构、条件分支结构、循环结构三种基本逻辑结构。三种基本结构的共同点:(1)只有一个入口和出口 (2)结构内的每一部分都有机会被执行到,也就是说对每一个框来说都应当有一条从入口到出口的路径通过它,如图中的A,没有一条从入口到出口的路径通过它,就是不符合要求的算法结构。(3)结构...
算法有哪些分类?
算法:算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。目前国内外有关的研究和科学文献中对于算法分类这个术语还没有明确定义,算法分类简单可以根据算法设计原理、算法的具体应用和其他一些特性进行分类。可分为基本算法或根据...
智能学习算法有哪些
二、支持向量机算法 支持向量机是一种基于统计学习理论的分类算法,它通过找到能够将不同类别数据分隔开的超平面来实现分类。SVM算法对于处理高维数据、文本分类等问题具有优良的性能,并且在很多实际应用中取得了很好的效果。三、决策树算法 决策树是一种基于树形结构的分类与回归方法。它通过构建一系列决策...
算法有哪些分类
(一)基本算法 : 1.枚举 2.搜索: 深度优先搜索 广度优先搜索 启发式搜索 遗传算法 (二)数据结构的算法 (三)数论与代数算法 (四)计算几何的算法:求凸包 (五)图论 算法: 1.哈夫曼编码 2.树的遍历 3.最短路径 算法 4.最小生成树 算法 ...
ai算法有哪些
6、SVM算法,粒子群算法,免疫算法,种类太多了,各种算法还有改进版,比如说遗传神经网络。从某本书上介绍,各种算法性能、效力等各不同,应依据具体问题选择算法。典型人工智能算法有哪些1、人工智能主要典型算法,有梯度下降的算法,减少过拟合的dropout算法等等。2、人工智能算法有集成算法、回归算法、...
酆士硫酸: 一个算法必须具备以下性质:(1)算法首先必须是正确的,即对于任意的一组输入,包括合理的输入与不合理的输入,总能得到预期的输出.如果一个算法只是对合理的输入才能得到预期的输出,而在异常情况下却无法预料输出的结...
德城区18540394318: 计算机算法的算法特点 - ?
酆士硫酸: 原发布者:王子轩201004算法的特点:(1)有限性:一个算法的步骤序列是有限的.(2)确定性:算法中的每一步应该是确定的.(3)顺序性:算法分为若干有序的步骤,按顺序运行.(4)不唯一性:求解某一个问题的解法不一定是唯一的,...
德城区18540394318: 算法及其特性有哪些? - ?
酆士硫酸: 1.算法的重要特性(1)有穷性:一个算法必须在执行有穷步骤之后正常结束,而不能形成无穷循环. (2)确定性:算法中的每一条指令必须有确切的含义,不能产生多义性. (2)可行性:算法中的每一条指令必须是切实可执行的,即原则上可以通...
德城区18540394318: 计算机算法指的是什么?它的三个特征是什么? - ?
酆士硫酸:[答案] 算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制. 特征:有穷性 确定性 可行性
德城区18540394318: 程序算法具有哪些基本特征? ?
酆士硫酸: (1) 有穷性:一个算法必须在执行有限个操作步骤后终止; (2) 确定性:算法中每一步的含义必须是确切的,不可出现任何二义性; (3) 有效性:算法中的每一步操作都应该能有效执行,一个不可执行的操作是无效的.例如,一个数被0除的操作就是无效的,应当避免这种操作. (4) 有零个或多个输入:这里的输入是指在算法开始之前所需要的初始数据.这些输入的多少取决于特定的问题.有些非凡算法也可以没有输入. (5) 有一个或多个输出:所谓输出是指与输入有某种特定关系的量,在一个完整的算法中至少会有一个输出
德城区18540394318: 计算机算法必须具备5个特性? - ?
酆士硫酸: 有穷、可行、确定、输入和输出