文档库 最新最全的文档下载
当前位置:文档库 › 计算机算法指的是什么

计算机算法指的是什么

计算机算法指的是什么
计算机算法指的是什么

计算机算法是以一步接一步的方式来详细描述计算机如何将输入转化为所要求的输出的过程,或者说,算法是对计算机上执行的计算过程的具体描述。

算法性质:

算法必须具有以下属性:

(1)该算法必须首先正确,即对于任何一组输入,包括合理的输入和不合理的输入,总是可以得到预期的输出。如果一个算法只能获得合理输入的预期输出,而不能在异常情况下预测输出结果,那么它是不正确的。

(2)该算法必须由一系列具体步骤组成,并且每个步骤都可以由计算机理解和执行,而不是抽象和模糊的概念。

(3)每个步骤都有一定的执行顺序,即上一步所在的位置;下一步是什么,必须清楚明确。

(4)无论算法多么复杂,它都必须在有限步长之后终止和终止;也就是说,算法的步骤必须是有限的。在任何情况下,算法都不应陷入无限循环。

解决问题的方法可以用多种方式表示。但是只有满足以上四个条件的解决方案才可以称为算法。

算法特点:

1.有穷性。一个算法应包含有限的操作步骤,而不能是无限的。事实上"有穷性"往往指"在合理的范围之内"。如果让计算机执行一个历时1000年才结束的算法,这虽然是有穷的,但超过了合理的限度,

人们不把他视为有效算法。

2. 确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。算法中的每一个步骤应当不致被解释成不同的含义,而应是十分明确的。也就是说,算法的含义应当是唯一的,而不应当产生"歧义性"。

3. 有零个或多个输入、所谓输入是指在执行算法是需要从外界取得必要的信息。

4. 有一个或多个输出。算法的目的是为了求解,没有输出的算法是没有意义的。

5.有效性。算法中的每一个步骤都应当能有效的执行。并得到确定的结果。

《计算机算法设计与分析》习题及答案

《计算机算法设计与分析》习题及答案 一.选择题 1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是(A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 4. 回溯法解旅行售货员问题时的解空间树是( A )。 A、子集树 B、排列树 C、深度优先生成树 D、广度优先生成树 5.下列算法中通常以自底向上的方式求解最优解的是(B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 6、衡量一个算法好坏的标准是( C )。 A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短 7、以下不可以使用分治法求解的是( D )。 A 棋盘覆盖问题 B 选择问题 C 归并排序 D 0/1背包问题 8. 实现循环赛日程表利用的算法是(A )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 9.下面不是分支界限法搜索方式的是(D )。 A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先 10.下列算法中通常以深度优先方式系统搜索问题解的是(D )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法

11.备忘录方法是那种算法的变形。( B ) A、分治法 B、动态规划法 C、贪心法 D、回溯法 12.哈夫曼编码的贪心算法所需的计算时间为(B )。 A、O(n2n) B、O(nlogn) C、O(2n) D、O(n) 13.分支限界法解最大团问题时,活结点表的组织形式是(B )。 A、最小堆 B、最大堆 C、栈 D、数组 14.最长公共子序列算法利用的算法是(B)。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 15.实现棋盘覆盖算法利用的算法是(A )。 A、分治法 B、动态规划法 C、贪心法 D、回溯法 16.下面是贪心算法的基本要素的是(C )。 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、定义最优解 17.回溯法的效率不依赖于下列哪些因素( D ) A.满足显约束的值的个数 B. 计算约束函数的时间 C.计算限界函数的时间 D. 确定解空间的时间 18.下面哪种函数是回溯法中为避免无效搜索采取的策略(B ) A.递归函数 B.剪枝函数 C。随机数函数 D.搜索函数 19. (D)是贪心算法与动态规划算法的共同点。 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、最优子结构性质 20. 矩阵连乘问题的算法可由( B )设计实现。 A、分支界限算法 B、动态规划算法 C、贪心算法 D、回溯算法 21. 分支限界法解旅行售货员问题时,活结点表的组织形式是( A )。

计算机算法试题(含答案)

算法设计与分析试卷 一、填空题(20分,每空2分) 1、算法的性质包括输入、输出、___、有限性。 2、动态规划算法的基本思想就将待求问题_____、先求 解子问题,然后从这些子问题的解得到原问题的解。 3、设计动态规划算法的4个步骤: (1)找出____,并刻画其结构特征。 (2)_______。 (3)_______。 (4)根据计算最优值得到的信息,_______。 4、流水作业调度问题的johnson算法: (1)令N1=___,N2={i|ai>=bj}; (2)将N1中作业依ai的___。 5、对于流水作业高度问题,必存在一个最优调度π,使得作业π(i)和π(i+1)满足Johnson不等式_____。 6、最优二叉搜索树即是___的二叉搜索树。 二、综合题(50分) 1、当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为∑ak(2<=k<=4)____(5分) 2、由流水作业调度问题的最优子结构性质可知,T(N,0)=______(5分)

3、最大子段和问题的简单算法(10分) int maxsum(int n,int *a,int & bestj) { intsum=0; for (int i=1;i<=n;i++) for (int j=i;j<=n;j++) int thissum=0; for(int k=i;k<=j;k++)_____; if(thissum>sum){ sum=thissum; ______; bestj=j;} } return sum; } 4、设计最优二叉搜索树问题的动态规划算法 OptimalBinarysearchTree (15分) Void OptimalBinarysearchTree(int a,int n,int * * m, int * * w) { for(int i=0;i<=n;i++) {w[i+1][i]=a[i]; m[i+1][i]=_

计算机算法设计与分析期末考试复习题

1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 4、最长公共子序列算法利用的算法是( B )。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 5. 回溯法解TSP问题时的解空间树是( A )。 A、子集树 B、排列树 C、深度优先生成树 D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 7、衡量一个算法好坏的标准是(C )。 A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短 8、以下不可以使用分治法求解的是(D )。 A 棋盘覆盖问题 B 选择问题 C 归并排序 D 0/1背包问题 9. 实现循环赛日程表利用的算法是( A )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 10、实现最长公共子序列利用的算法是( B )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法11.下面不是分支界限法搜索方式的是( D )。 A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先 12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 13. 一个问题可用动态规划算法或贪心算法求解的关键特征是问题的( B )。 A、重叠子问题 B、最优子结构性质 C、贪心选择性质 D、定义最优解14.广度优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 15.背包问题的贪心算法所需的计算时间为( B )。

计算机算法设计与分析习题及答案

计算机算法设计与分析习 题及答案 Prepared on 24 November 2020

《计算机算法设计与分析》习题及答案 一.选择题 1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是(A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 4. 回溯法解旅行售货员问题时的解空间树是( A )。 A、子集树 B、排列树 C、深度优先生成树 D、广度优先生成树 5.下列算法中通常以自底向上的方式求解最优解的是(B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 6、衡量一个算法好坏的标准是( C )。 A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短 7、以下不可以使用分治法求解的是( D )。 A 棋盘覆盖问题 B 选择问题 C 归并排序 D 0/1背包问题 8. 实现循环赛日程表利用的算法是(A )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 9.下面不是分支界限法搜索方式的是(D )。 A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先

10.下列算法中通常以深度优先方式系统搜索问题解的是(D )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 11.备忘录方法是那种算法的变形。( B ) A、分治法 B、动态规划法 C、贪心法 D、回溯法 12.哈夫曼编码的贪心算法所需的计算时间为(B )。 A、O(n2n) B、O(nlogn) C、O(2n) D、O(n) 13.分支限界法解最大团问题时,活结点表的组织形式是(B )。 A、最小堆 B、最大堆 C、栈 D、数组 14.最长公共子序列算法利用的算法是(B)。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 15.实现棋盘覆盖算法利用的算法是(A )。 A、分治法 B、动态规划法 C、贪心法 D、回溯法 16.下面是贪心算法的基本要素的是(C )。 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、定义最优解 17.回溯法的效率不依赖于下列哪些因素( D ) A.满足显约束的值的个数 B. 计算约束函数的时间 C.计算限界函数的时间 D. 确定解空间的时间 18.下面哪种函数是回溯法中为避免无效搜索采取的策略(B ) A.递归函数 B.剪枝函数 C。随机数函数 D.搜索函数 19. (D)是贪心算法与动态规划算法的共同点。

计算机算法设计与分析 试题

计算机算法设计与分析期末试题 一。选择题 1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 4、在下列算法中有时找不到问题解的是( B )。 A、蒙特卡罗算法 B、拉斯维加斯算法 C、舍伍德算法 D、数值概率算法 5. 回溯法解旅行售货员问题时的解空间树是( A )。 A、子集树 B、排列树 C、深度优先生成树 D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 7、衡量一个算法好坏的标准是(C )。 A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短 8、以下不可以使用分治法求解的是(D )。 A 棋盘覆盖问题 B 选择问题 C 归并排序 D 0/1背包问题 9. 实现循环赛日程表利用的算法是( A )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 10、下列随机算法中运行时有时候成功有时候失败的是(C ) A 数值概率算法 B 舍伍德算法 C 拉斯维加斯算法 D 蒙特卡罗算法 11.下面不是分支界限法搜索方式的是( D )。 A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 13.备忘录方法是那种算法的变形。( B ) A、分治法 B、动态规划法 C、贪心法 D、回溯法

计算机-数据结构与算法

第一章 数据结构与算法 1.1 算法 1 描述。 算法规定了解决某类问题所需的操作语句以及执行顺序,使其能通过有限的指令语句,在一定时间内解决问题。 算法是一个操作序列、有限长度,目的是解决某类问题。 *:算法不等于程序,也不等于计算方法。程序的编制不可能优于算法的设计。 2、算法的基本特征 (1)可行性。针对实际问题而设计的算法,执行后能够得到满意的结果。 (2)确定性。每一条指令的含义明确,无二义性。并且在任何条件下,算法只有唯一的一条执行路径,即相同的输入只能得出相同的输出。 (3)有穷性。算法必须在有限的时间内完成。有两重含义,一是算法中的操作步骤为有限个,二是每个步骤都能在有限时间内完成。 (4)拥有足够的情报。指的是有足够的输入和输出。 *:综上所述,所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。 3、算法的基本要素 一个算法通常由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。 (1)算法中对数据的运算和操作 每个算法实际上市按解题要求从环境能进行的所有操作中选择合适的操作所组成的一组指令序列。因此,计算机算法就是计算机能处理的操作所组成的指令序列。 在一般的计算机系统中,基本的运算和操作有以下四类: ①算术运算:主要包括加、减、乘、除等运算; ②逻辑运算:主要包括与(AND)、或(OR)、非(NOT) 等运算; ③关系运算:主要包括大于、小于、等于、不等于等运算 ④数据传输:主要包括赋值、输入、输出等操作。 (2)算法的控制结构 顺序、选择和循环。

4、算法的基本方法(计算机解题的过程实际上是在实施某种算法) (1)列举法(列举所有解决方案) 根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。 (2)归纳法(特殊->一般)适合于列举量为无限的情况 通过列举少量的特殊情况,经过分析,最后找出一般的关系。 (3)递推法(已知->未知) 从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。 (4)递归法(逐层分解) 将一个复杂的问题归结为若干个较简单的问题,然后将这些较简单的每一个问题再归结为更简单的问题 (5)减半递推法 “减半”是指将问题的规模减半,而问题的性质不变,所谓“递推”是指重复“减半”的过程。 (6)回溯法 复杂应用,找出解决问题的线索,然后沿着这个线索逐步多次“探”、“试”。 5、算法复杂度主要包括时间复杂度和空间复杂度。 算法的复杂度是衡量算法好坏的量度。 (1)算法时间复杂度是指执行算法所需要的计算工作量,可以用执行算法的过程中所需基本运算的执行次数来度量。 影响计算机工作量的主要因素: 第一:基本运算次数;第二:问题规模。 下面的方法不能用来度量算法的时间复杂度: 第一:算法程序的长度或算法程序中的语句(指令)条数; 第二:算法程序所执行的语句条数; 第三:算法程序执行的具体时间 (2 一个算法所用的内存空间包括: 1)算法程序所占用的存储空间; 2)输入的初始数据所占的存储空间;3)算法执行过程中的额外空间。 6、考题练习: 1)下列叙述正确的是() (A)算法就是程序 (B)算法强调的是利用技巧提高程序执行效率 (C)设计算法时只需考虑结果的可靠性 (D)以上三种说法都不对 2)下面叙述正确的是() (A)算法的执行效率与数据的存储结构无关 (B)算法的空间复杂度是指算法程序中指令(或语句)的条数 (C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 (D)以上三种描述都不对 3)下列叙述中正确的是() (A)一个算法的空间复杂度大,则其时间复杂度也必定大 (B)一个算法空间复杂度大,则其时间复杂度必定小 (C)一个算法的时间复杂度大,则其时间复杂度必定小

算法题__计算机算法设计与分析期末试题4套(含答案)

(1)用计算机求解问题的步骤: 1、问题分析 2、数学模型建立 3、算法设计与选择 4、算法指标 5、算法分析 6、算法实现 7、程序调试 8、结果整理文档编制 (2)算法定义:算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程 (3)算法的三要素 1、操作 2、控制结构 3、数据结构 算法具有以下5个属性: 有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。 确定性:算法中每一条指令必须有确切的含义。不存在二义性。只有一个入口和一个出口 可行性:一个算法是可行的就是算法描述的操作是可以通过已经实现的基本运算执行有限次来实现的。 输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。 输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。 算法设计的质量指标: 正确性:算法应满足具体问题的需求; 可读性:算法应该好读,以有利于读者对程序的理解;

健壮性:算法应具有容错处理,当输入为非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。 效率与存储量需求:效率指的是算法执行的时间;存储量需求指算法执行过程中所需要的最大存储空间。一般这两者与问题的规模有关。 经常采用的算法主要有迭代法、分而治之法、贪婪法、动态规划法、回溯法、分支限界法 迭代法也称“辗转法”,是一种不断用变量的旧值递推出新值的解决问题的方法。 利用迭代算法解决问题,需要做好以下三个方面的工作: 一、确定迭代模型。在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。 二、建立迭代关系式。所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。 三、对迭代过程进行控制。在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一

计算机算法总结

算法总结 1.穷举法 穷举法,又称暴力算法,即列举问题解空间所有可能情况,并逐个测试,从而找出符合问题条件的解。这份通常是一种费时算法,人工手动求解困难,但计算机的出现使得穷举法有了用武之地。例如:密码破译通常用的是穷举法,即将密码进行逐个推算直到找到真正的密码为止。理论上讲,穷举法可以破解任何一种密码,但对于一个长度为n位的密码,其可能的密码有2^n种。可见,当n较大时穷举法将成为一个NP难度问题。 典型例题 【百钱买百鸡问题】公元5世纪末,中国古代数学家张丘建在他的《算经》中提到了著名的―百钱买百鸡‖问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何? 分析:设鸡翁、鸡母、鸡雏的个数各为x、y、z,百钱买 百鸡问题可以用如下方程式表示: 5x+3y+z/3=100 x+y+z=100 1<=x<20,1<=y<33,3<=z<100,z mod3=0 对于百钱买白鸡问题,很容易用穷举法对x、y、z的取值,判断 方程(1)、(2)及z mod3=0是否成立,若成立,则是问题的一个 解。 百钱买白鸡问题求解算法: //百钱买白鸡问题穷举算法 //设鸡翁、鸡母、鸡雏的个数分别为x、y、z for(x=1;x<20;x++) for(y=1;y<33;y++) for(z=3;z<100;z++) if(x+y+z= =100)and(5x+3y+z/3==100)and(z mod 3==0) writeln(x,y,z) 上述算法是一个三重循环,最内层的条件判断需要执行19*32*97次,即58976。在条件判断中,利用了整数的求模运算,如果将鸡雏的个数设为3z,可以避免该项判断,且可减少内重循环次数。即: for(z=1;z<34;z++) if(x+y+3z==100)and(5x+3y+z==100) writeln(x,y,3z) 【0-1背包问题1】给定n种物品和一个背包,物品i的重量是W i,其价值为V i,背包的容量为W m。应如何选择装入背包的物品,使得装入背包的物品总价值最大? 分析:所谓0-1背包问题,是指在选择装入背包的 物品时,对每种物品i只有两种选择,即装入背包或 不装入背包。另外,不能将物品i装入背包多次,也 不能只装入部分的物品i。0-1背包问题是一种组合 优化的NP完全问题,最容易想到方法的就是穷举 法。 0-1背包问题求解的穷举算法。 //设数组w[0…n–1]存储n件物品的重量,数组c[0…n-1]存储 //n件物品的价值,数组b[0…n-1]为标识数组,若物品i未选

对计算机算法的认识

对计算机算法的认识 【摘要】随着计算机的发展和普及,我们现在越来越依赖计算机帮我们完成各种工作,通常我们会设计一些程序来解决问题,一个程序通常是由算法和数据结构共同构成,算法是用来解决“做什么”和“怎么做”的问题,它是一个程序的灵魂,只有明确清晰地知道解决问题的方法,我们才能设计解决步骤,才能完整地解决问题。算法可以是纯理论的,也可以由一个计算机程序实现。 【关键字】算法、概念、性质、设计 一、引言 算法是一个既熟悉又陌生的概念,说熟悉是因为我们从小就开始接触它,例如小学就学习的四则运算法则是先乘除后加减,有括号的要先运算括号里的;竖式的笔算方法、珠算口诀等都可以称作算法;我们从A地去到B地也要走一定的路线,此路线实际上也是一种算法;我们生活中的很多事情都要按照一定的步骤去做,虽然我们有时没有察觉,但是这些步骤其实就是一种算法。说陌生是因为算法的概念是人们在长期的科学探索中不断总结和提炼出来的,算法的多样性使得算法相当的灵活,而且他也是在不断地发展中的,所以要想完全地掌握算法是很难的。 在现代,特别是计算机迅猛发展的时期,算法更是被运用到了计算机的工作中。计算机可以解决很多问题,但是这并不是它本身的作用,必须是由人类给出解决问题的算法步骤,将其变成计算机指令,通过计算机的运算来解决这些问题,所以说算法在计算机中扮演一个相当重要的角色。我们只有深刻地认识到算法的概念,了解多种不同的算法,才能更好地将其运用,使计算机更好的为我们服务。 二、算法的概念 简单来说,算法是一系列解决问题的清晰指令。 举个例子:我们要从天津去上海,我们可以选择坐飞机、火车等方式,我们希望所花时间和金钱最少,假如我们选择做火车,我们可以制定下述步骤: 第一步:查看列车时刻表; 第二步:在列车时刻表中寻找是否有直接从天津到上海的直达车,如果有,我们可以选择该车,则任务完成; 第三步:如果没有,查找所有经过天津的列车,记录下来; 第四步:查找所有经过上海的列车,记录下来; 第五步:将第三、四步查找出来的信息整合,找出重合的交叉点,这个交叉点就是中转站A,我们可以从天津到A,再从A到上海。 这样的出行方法实际也是一种算法,我们选择“做什么”的方式是坐火车,接下来的步骤是在阐述“怎么做”,所以总结一下,算法实际就是对“做什么”和“怎么做”解决方案。 算法不是我们随便想怎么写就怎么写的,算法还具有几个基本特征:①有穷性:既是一个算法包含有限的操作步骤,不能是无限的。如上例,我们不能总是停留在不停地中转当中,应该是要在一定时间内到达目的地的。②确定性:算法的结果必须是正确的。在上例中,如果我们设计的路线不能到达上海,则该算法不具有正确性.。③有效性:算法的每一步都是有用处的。④输入及输出:输入原始数据,输出结果.。像上例中,所有经过天津上海的列车都算是算法的输入数据,而我们得到的出行路线则是输出。我们在脑子里勾画出算法了,但还需要清晰地表达出来,这就涉及到一个算法表示的问题,通常来说,算法有三种表示方法,一是用汉语、英语等自然语言表示,这种方式通俗易懂,但是也具有很大的缺陷,既是文字冗长,很容易出现歧义,而且输入到计算机中似乎也是有点不切实际。由于这种方法的不足,我们进行改进,产生了流程图法和伪码法等。就我们学习而言,

计算机算法指的是什么

计算机算法(将输入转化为所要求的输出的过程): 计算机算法是以一步接一步的方式来详细描述计算机如何将输入转化为所要求的输出的过程,或者说,算法是对计算机上执行的计算过程的具体描述。 性质: 一个算法必须具备以下性质: (1)算法首先必须是正确的,即对于任意的一组输入,包括合理的输入与不合理的输入,总能得到预期的输出。如果一个算法只是对合理的输入才能得到预期的输出,而在异常情况下却无法预料输出的结果,那么它就不是正确的。 (2)算法必须是由一系列具体步骤组成的,并且每一步都能够被计算机所理解和执行,而不是抽象和模糊的概念。 (3)每个步骤都有确定的执行顺序,即上一步在哪里;下一步是什么,都必须明确,无二义性。 (4)无论算法有多么复杂,都必须在有限步之后结束并终止运行;即算法的步骤必须是有限的。在任何情况下,算法都不能陷入无限循环中。 一个问题的解决方案可以有多种表达方式;但只有满足以上4个条件的解才能称之为算法。 特点: 1.有穷性。一个算法应包含有限的操作步骤,而不能是无限的。事实上“有穷性”往往指“在合理的范围之内”。如果让计算机执行

一个历时1000年才结束的算法,这虽然是有穷的,但超过了合理的限度,人们不把他视为有效算法。 2. 确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。算法中的每一个步骤应当不致被解释成不同的含义,而应是十分明确的。也就是说,算法的含义应当是唯一的,而不应当产生“歧义性”。 3. 有零个或多个输入、所谓输入是指在执行算法是需要从外界取得必要的信息。 4. 有一个或多个输出。算法的目的是为了求解,没有输出的算法是没有意义的。 5.有效性。算法中的每一个步骤都应当能有效的执行。并得到确定的结果。

计算机算法指的是什么

计算机算法是以一步接一步的方式来详细描述计算机如何将输入转化为所要求的输出的过程,或者说,算法是对计算机上执行的计算过程的具体描述。 算法性质: 算法必须具有以下属性: (1)该算法必须首先正确,即对于任何一组输入,包括合理的输入和不合理的输入,总是可以得到预期的输出。如果一个算法只能获得合理输入的预期输出,而不能在异常情况下预测输出结果,那么它是不正确的。 (2)该算法必须由一系列具体步骤组成,并且每个步骤都可以由计算机理解和执行,而不是抽象和模糊的概念。 (3)每个步骤都有一定的执行顺序,即上一步所在的位置;下一步是什么,必须清楚明确。 (4)无论算法多么复杂,它都必须在有限步长之后终止和终止;也就是说,算法的步骤必须是有限的。在任何情况下,算法都不应陷入无限循环。 解决问题的方法可以用多种方式表示。但是只有满足以上四个条件的解决方案才可以称为算法。 算法特点: 1.有穷性。一个算法应包含有限的操作步骤,而不能是无限的。事实上"有穷性"往往指"在合理的范围之内"。如果让计算机执行一个历时1000年才结束的算法,这虽然是有穷的,但超过了合理的限度,

人们不把他视为有效算法。 2. 确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。算法中的每一个步骤应当不致被解释成不同的含义,而应是十分明确的。也就是说,算法的含义应当是唯一的,而不应当产生"歧义性"。 3. 有零个或多个输入、所谓输入是指在执行算法是需要从外界取得必要的信息。 4. 有一个或多个输出。算法的目的是为了求解,没有输出的算法是没有意义的。 5.有效性。算法中的每一个步骤都应当能有效的执行。并得到确定的结果。

相关文档
相关文档 最新文档