简单算法的概念,并举例说明它在程序中的作用。

作者&投稿:舌媚 (若有异议请与网页底部的电邮联系)
关于C语言的问题~

这些问题课本中可能是有的,但是讲的太泛泛。
如果楼主是为了弄懂c语言可以看以下回答,如果是为了课本考试,那还是取搜索更好的回答。
1、算法是什么?算法就是程序执行步骤的方法。通俗的说就是,程序完成特定功能的过程如何实现?我们怎么实现这样的过程。它作用可以说是程序的灵魂。例如:我们实现a上的盘子放到c上。要求是只有a和b,b和e,a和d,c和d,c和e是通路。这时候,我们可以选怎么从a到c。一种a到b到e到c,一种a到d到c。当然哪个简单一目了然,但是这就是算法思想的最简单的体现了。
2、数据结构是什么?数据结构是数据的组织形式。就是我们如何设定数据的存储方法和如何利用这种存储方法进行数据的操作。例如:我们要求有两个人A和B,A的姓名,A的性别,A的年龄,B的姓名,B的性别,B的年龄。这样,你们组织他们呢?有c基础的都知道,封装结构体,形如:
typedef struct {
char name[20];
int age;
char sex;
}man;
man A;
man B;
如此我们就可以操作A和B的所有属性了。但是,我们也可以采用其他的数据结构来组织。例如:char Aname[20],int Aage;char Asex;等待,但是依然存在好与坏。
3、三种基本结构不知道你具体只什么,应该是说三种执行结构吧。包括:顺序结构、选择结构、循环结构。
三种结构的相同点显而易见:都是语句顺序执行的。
三种结构的不同点:顺序结构是语句顺次执行,直到最后一条语句。
选择结构可能会忽略部分语句的执行。例如条件为假的语句。
循环语句是执行一条语句多次,直到条件为假。

以上。希望对楼主有所帮助。

根据我个人的理解:
算法就是解决问题的具体的方法和步骤,所以具有以下性质:

1、有穷性: 一个算法必须保证执行有限步之后结束(如果步骤无限,问题就无法解决)
2、确切性:步骤必须明确,说清楚做什么。
3、输入:即解决问题前我们所掌握的条件。
4、输出:输出即我们需要得到的答案。
5、可行性:逻辑不能错误,步骤必须有限,必须得到结果。

算法通俗的讲:就是解决问题的方法和步骤。在计算机发明之前便已经存在。只不过在计算机发明后,其应用变得更为广泛。通过简单的算法,利用电脑的计算速度,可以让问题变得简单。

譬如:计算 1×2×3×4。。。。×999999999×1000000000
如果人为计算,可想而知,即使你用N卡车的纸张都很难计算出来,即使算出来了,也很难保证其准确性。
如果用VB算法:
dim a as integer
a=1
For i =1 to 1000000000
a=a*i
next i
input a
就这样,简单的算法,通过计算机强大的计算能力,问题就解决了。
关于这段算法的解释:i每乘一次,其数值都会增大1,一直乘到1000000000,这样,就将从1到1000000000的每个数都乘了。而且每乘一次,就将结束赋给a,这样,a就代表了前面的相乘的所有结果,一直乘到1000000000。最后得到的a,就是我们想要的。

〓以下是百度百科复制过来的,如果你有足够耐心,可以参考一下。

算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。
一个算法应该具有以下五个重要的特征:
1、有穷性: 一个算法必须保证执行有限步之后结束;
2、确切性: 算法的每一步骤必须有确切的定义;
3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
计算机科学家尼克劳斯-沃思曾著过一本著名的书《数据结构十算法= 程序》,可见算法在计算机科学界与计算机应用界的地位。
[编辑本段]算法的复杂度
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。
时间复杂度
算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模n 的函数f(n),算法的时间复杂度也因此记做
T(n)=Ο(f(n))
因此,问题的规模n 越大,算法执行的时间的增长率与f(n) 的增长率正相关,称作渐进时间复杂度(Asymptotic Time Complexity)。
空间复杂度
算法的空间复杂度是指算法需要消耗的空间资源。其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。同时间复杂度相比,空间复杂度的分析要简单得多。
详见百度百科词条"算法复杂度"
[编辑本段]算法设计与分析的基本方法
1.递推法
递推法是利用问题本身所具有的一种递推关系求问题解的一种方法。它把问题分成若干步,找出相邻几步的关系,从而达到目的,此方法称为递推法。
2.递归
递归指的是一个过程:函数不断引用自身,直到引用的对象已知
3.穷举搜索法
穷举搜索法是对可能是解的众多候选解按某种顺序进行逐一枚举和检验,并从众找出那些符合要求的候选解作为问题的解。
4.贪婪法
贪婪法是一种不追求最优解,只希望得到较为满意解的方法。贪婪法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费的大量时间。贪婪法常以当前情况为基础作最优选择,而不考虑各种可能的整体情况,所以贪婪法不要回溯。
5.分治法
把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。
6.动态规划法
动态规划是一种在数学和计算机科学中使用的,用于求解包含重叠子问题的最优化问题的方法。其基本思想是,将原问题分解为相似的子问题,在求解的过程中通过子问题的解求出原问题的解。动态规划的思想是多种算法的基础,被广泛应用于计算机科学和工程领域。
7.迭代法
迭代是数值分析中通过从一个初始估计出发寻找一系列近似解来解决问题(一般是解方程或者方程组)的过程,为实现这一过程所使用的方法统称为迭代法。
[编辑本段]算法分类
算法可大致分为基本算法、数据结构的算法、数论与代数算法、计算几何的算法、图论的算法、动态规划以及数值分析、加密算法、排序算法、检索算法、随机化算法、并行算法。
[编辑本段]举例
经典的算法有很多,如:"欧几里德算法"。
[编辑本段]算法经典专著
目前市面上有许多论述算法的书籍,其中最著名的便是《计算机程序设计艺术》(The Art Of Computer Programming) 以及《算法导论》(Introduction To Algorithms)。
[编辑本段]算法的历史
“算法”即演算法的大陆中文名称出自《周髀算经》;而英文名称Algorithm 来自于9世纪波斯数学家al-Khwarizmi,因为al-Khwarizmi在数学上提出了算法这个概念。“算法”原为"algorism",意思是阿拉伯数字的运算法则,在18世纪演变为"algorithm"。欧几里得算法被人们认为是史上第一个算法。 第一次编写程序是Ada Byron于1842年为巴贝奇分析机编写求解解伯努利方程的程序,因此Ada Byron被大多数人认为是世界上第一位程序员。因为查尔斯·巴贝奇(Charles Babbage)未能完成他的巴贝奇分析机,这个算法未能在巴贝奇分析机上执行。 因为"well-defined procedure"缺少数学上精确的定义,19世纪和20世纪早期的数学家、逻辑学家在定义算法上出现了困难。20世纪的英国数学家图灵提出了著名的图灵论题,并提出一种假想的计算机的抽象模型,这个模型被称为图灵机。图灵机的出现解决了算法定义的难题,图灵的思想对算法的发展起到了重要作用的。

1 什么叫算法
算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中,算法要用计算机算法语言描述,算法代表用计算机解一类问题的精确、有效的方法。算法+数据结构=程序,求解一个给定的可计算或可解的问题,不同的人可以编写出不同的程序,来解决同一个问题,这里存在两个问题:一是与计算方法密切相关的算法问题;二是程序设计的技术问题。算法和程序之间存在密切的关系。
算法是一组有穷的规则,它们规定了解决某一特定类型问题的一系列运算,是对解题方案的准确与完整的描述。制定一个算法,一般要经过设计、确认、分析、编码、测试、调试、计时等阶段。
对算法的学习包括五个方面的内容:① 设计算法。算法设计工作是不可能完全自动化的,应学习了解已经被实践证明是有用的一些基本的算法设计方法,这些基本的设计方法不仅适用于计算机科学,而且适用于电气工程、运筹学等领域;② 表示算法。描述算法的方法有多种形式,例如自然语言和算法语言,各自有适用的环境和特点;③确认算法。算法确认的目的是使人们确信这一算法能够正确无误地工作,即该算法具有可计算性。正确的算法用计算机算法语言描述,构成计算机程序,计算机程序在计算机上运行,得到算法运算的结果;④ 分析算法。算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。分析算法可以预测这一算法适合在什么样的环境中有效地运行,对解决同一问题的不同算法的有效性作出比较;⑤ 验证算法。用计算机语言描述的算法是否可计算、有效合理,须对程序进行测试,测试程序的工作由调试和作时空分布图组成。

2、算法的特性

算法的特性包括:① 确定性。算法的每一种运算必须有确定的意义,该种运算应执行何种动作应无二义性,目的明确;② 能行性。要求算法中有待实现的运算都是基本的,每种运算至少在原理上能由人用纸和笔在有限的时间内完成;③ 输入。一个算法有0个或多个输入,在算法运算开始之前给出算法所需数据的初值,这些输入取自特定的对象集合;④ 输出。作为算法运算的结果,一个算法产生一个或多个输出,输出是同输入有某种特定关系的量;⑤ 有穷性。一个算法总是在执行了有穷步的运算后终止,即该算法是可达的。
满足前四个特性的一组规则不能称为算法,只能称为计算过程,操作系统是计算过程的一个例子,操作系统用来管理计算机资源,控制作业的运行,没有作业运行时,计算过程并不停止,而是处于等待状态。

3、算法的描述

算法的描述方法可以归纳为以下几种:
(1) 自然语言;
(2) 图形,如N�S图、流程图,图的描述与算法语言的描述对应;
(3) 算法语言,即计算机语言、程序设计语言、伪代码;
(4) 形式语言,用数学的方法,可以避免自然语言的二义性。
用各种算法描述方法所描述的同一算法,该算法的功用是一样的,允许在算法的描述和实现方法上有所不同。
人们的生产活动和日常生活离不开算法,都在自觉不自觉地使用算法,例如人们到商店购买物品,会首先确定购买哪些物品,准备好所需的钱,然后确定到哪些商场选购、怎样去商场、行走的路线,若物品的质量好如何处理,对物品不满意又怎样处理,购买物品后做什么等。以上购物的算法是用自然语言描述的,也可以用其他描述方法描述该算法。


圆的等分计算公式简单算法
圆的等分计算公式简单算法如下:圆的等分计算公式:是指将一个圆平均分成n个部分时,每一份的弧长和圆心角度数的计算方式。这个公式对于几何学、物理学和工程学等领域都有着广泛的应用。在本文中,我将为您介绍圆的等分计算公式及其简单算法。首先,让我们来简要了解一下圆的基本概念。圆是由所有离圆心...

算法的单词算法的单词是什么
算法的单词有:calculus。算法的单词有:calculus。结构是:算(上下结构)法(左右结构)。拼音是:suànfǎ。词性是:名词。注音是:ㄙㄨㄢ_ㄈㄚˇ。算法的具体解释是什么呢,我们通过以下几个方面为您介绍:一、词语解释【点此查看计划详细内容】算法suànfǎ。(1)计算方法。二、引证解释⒈算术的旧称...

区块链员工怎么劝阻别人(区块链如何坑人)
如果是孩子的话,首先,告诉他上网的危害,并举出一些有关上网不利的例子。然后,更具实际情况进行限制,可以让他上网但必须限制时间。最后,最好带着这个人多出去,别老宅在家泡网。如果是大人,那就讲讲大道理。区块链项目合规怎么做? 目前的区块链项目合规分为两个版块: 一,区块链发币项目合规:基金会+法律合规...

十进制转八进制最简单的算法
将十进制数转换为八进制数的最简单算法是通过不断除以8,然后记录余数的方式进行。知识拓展:一、算法步骤:从右向左遍历十进制数的每一位数字。将每一位数字除以8,同时记录下余数。继续用商再次除以8,再次记录余数。重复这个过程,直到商为0为止。将记录的余数从右向左排列,即可得到对应的八进制数...

关于初中的NOIP问题
每题有5个备选答案,前10个题为单选题(即每题有且只有一个正确答案,选对得分),后10题为不定项选择题(即每题有1至5个正确答案,只有全部选对才得分)。普及组20个都是单选题。2、问题求解题:共2题,每题5分,共计10分。试题给出一个叙述较为简单的问题,要求学生对问题进行分析,找到一个合适的算法,并推算...

生男生女双岁单月 古传半月秘法的算法?
古传半月法的算法 单岁单月,双岁双月:生女孩。单岁双月,双岁单月,上半个月:生男孩。单岁双月,双岁单月,下半个月:生男孩(但误差较大)。其中月份指的是孕妈妈在孕前最后一次月事的第一天所处的农历月份,要特别注意是农历月份。岁数是指在怀孕之前的末次月经的第一天时的虚岁,这边要...

区块链的5大缺点有哪些,区块链的不足之处
“共识算法”是区块链里非常重要的概念,没有共时算法,也就没有区块链这个意义的存在。 布比区块链简介 布比区块链自成立以来一直专注于区块链技术与产品的研发与创新,拥有多项核心技术,并在多个方面取得了实质性的创新,形成多项核心技术成果,例如:可数学证明的分布式共识技术、快速的大规模账本存取技术、支持业务形态...

分式造句用分式造句
15、 给出了分式半环的概念和泛性质。16、 对具有多重极点的有理函数,本文给出了部分分式展开的实用算法,该算法不需求导数值。17、 近代伊始的西方哲学有以主客二分式的“自我”为原则的传统,这一传统对“自我”的认识势所必然会导致自我认识循环的困境。18、 本文对多元有理分式恒等定理,给出...

单共享栈
则 检验括号是否匹配的方法可用“期待的急迫程度”这个概念来描述。算法的设计思想: 读入表达式1)凡出现左括弧,则进栈; 2)凡出现右括弧,首先检查栈是否空 若栈空,则表明该“右括弧”多余, 否则和栈顶元素比较, 若相匹配,则“左括弧出栈” , 否则表明不匹配。 3)表达式检验结束时, 若栈空,则表明表达式中...

区块链对身体的好处有哪些,区块链主要作用
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。 区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪...

北林区18869857186: 简单算法的概念,并举例说明它在程序中的作用. -
军翰锋泰:[答案] 1 什么叫算法 算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法.在计算机科学中,算法要用计算机算法语言描述,算法代表用计算机解一类问题的精确、有效的方法.算法+数据结构=程序,...

北林区18869857186: 简单算法的概念,并举例说明它在程序中的作用. -
军翰锋泰: 1 什么叫算法算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法.在计算机科学中,算法要用计算机算法语言描述,算法代表用计算机解一类问题的精确、有效的方法.算法+数据结构=程序,求解一个...

北林区18869857186: 什么是算法? -
军翰锋泰: 算法(Algorithm)是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出.如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决...

北林区18869857186: 简述计算机计算法和程序之间的关系 -
军翰锋泰: 程序= 算法 + 数据结构 说简单点,算法就是一个步骤,比如你是一个厨师,你在做菜时,材料和调料的放入顺序肯定会有一个步骤,一个顺序,当然,你也可以一起放进去煮熟,但是也许没有传统工艺传承下来的那样好吃,数据结构就是数据的组织存放形式,比如在仓库里,同样的东西以何种方式存放最省空间,而且存取起来方便.

北林区18869857186: 高中数学必修三提纲. -
军翰锋泰: 高中数学必修3知识点 第一章算法初步 1.1.1算法的概念 1、算法概念: 在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成. 2. 算法的特...

北林区18869857186: 算法和程序有什么关系
军翰锋泰: ①程序是你写完源代码后,计算机编译后得到的可执行文件. ②算法一般结合数学思想,以下内容算是算法: 给数组按大小排序、查找数组某元素、图形处理算法、音频识别处理. 但广义上,用了顺序分支循环就是算法.

北林区18869857186: 蚁群算法的概念,最好能举例说明一些蚁群算法适用于哪些问题! -
军翰锋泰:[答案] 概念:蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法.它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为.蚁群算法是一种模拟进化算法...

北林区18869857186: 题目1:一个简单的算法演示程序(JAVA语言实现) -
军翰锋泰: 1. 选择一个算法(提供选择见下),利用各种方法(图形、动画等)演示算法的演示过程.2. 可以进行手动演示,也可以自动步进式演示.3. 允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔.4. 不同的算法输入要求见下....

北林区18869857186: 什么是算法与数据结构 -
军翰锋泰: 拿华腾的交通卡系统做例子吧 先说数据结构:程序里面有很多用户信息,这些信息是用结构体存放,是用链表的形式,还是用哈希表等等的方法进行排列,这个就是数据结构 算法:要从这些数据结构里找出一个结点,是用遍历搜索呢还是用折半搜索之类的方法,叫做算法.LZ可以体会下.

北林区18869857186: 简述算法的各种表示形式 -
军翰锋泰: 算法的描述方式主要有自然语言,流程图,伪代码等,它们的优势和不足可以简单地归纳如下:1、自然语言优势:自然语言描述的算法通俗易懂,不用专门的训练不足:a.由于自然语言的歧义性,容易导致算法执行的不确定性.b.自然语言的语...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网