当前位置:首页 >> 计算机软件及应用 >>

福建专升本C语言复习 第二章算法


第二章 算法
2.1 算法的基本概念 2.2 算法描述语言 2.3 算法设计的基本方法 2.4 算法的复杂度分析

返回

2.1 算法的基本概念 算法是指解决方案的准确而完整的描述。 算法是指解决方案的准确而完整的描述。 程序=算法 数据结构 程序设计方法+语言工具和环境 程序 算法+数据结构 程序设计方法 语言工具和环境 算法 数据结构+程序设计方法 计算机算法可分为两大类别: 计算机算法可分为两大类别 : 数值运算算法和非数值 运算算法。 运算算法。

算法满足以下5个性质 算法满足以下 个性质: 个性质 输入:算法执行前输入量提供给算法 算法执行前输入量提供给算法。 输入 算法执行前输入量提供给算法。 输出:算法对输入数据处理的结果 算法对输入数据处理的结果。 输出 算法对输入数据处理的结果。 有穷性:执行有限步骤后结束 执行有限步骤后结束, 有穷性 执行有限步骤后结束,也须在有限的 时间内完成。 时间内完成。 确定性:每一步骤都有明确的含义 每一步骤都有明确的含义。 确定性 每一步骤都有明确的含义。 可行性:描述的每一个操作 描述的每一个操作, 可行性 描述的每一个操作,都可通过已实现 的基本运算,执行有限次后来完成。 的基本运算,执行有限次后来完成。

返回

2.2 算法描述语言
1.自然语言表示算法 自然语言表示算法
自然语言就是人们日常使用的语言,可以是汉语、 自然语言就是人们日常使用的语言,可以是汉语、英语或其它语 言。 如求1× 如求 ×2×3×4×5 其算法描述如下: 其算法描述如下: S1:使p=1 p=1 i=2 S2:使i=2 i,乘积仍放在变量 乘积仍放在变量p S3:使p×i,乘积仍放在变量p中,即p×i→p 的值加1 i+1 S4:使i的值加1,即i+1→i 如果i不大于5 返回重新执行步骤S 以及其后的步骤S S5: 如果 i 不大于 5 , 返回重新执行步骤 S3 以及其后的步骤 S4 和 S5 , 否则, 否则,算法结束 输出p S6:输出

2.流程图表示算法 流程图表示算法
流程图是用一些图框表示各种操作。 流程图是用一些图框表示各种操作。普遍采用的美国国家标准化 协会ANSI规定的一些常用的流程图符号有: ANSI规定的一些常用的流程图符号有 协会ANSI规定的一些常用的流程图符号有:
起止框 输入输出框 判断框 处理框 p×i→p ×i→ 或 流程线 连接点 注释框 N i>5 Y 常用流程图符号 结束 i+1→i → 开始 1→p →

2→i →

3.N-S流程图表示算法 流程图表示算法
1973年美国学者 年美国学者I.Nassi和 B.Shneiderman提出的一种新的流程 年美国学者 和 提出的一种新的流程 图形式。在这种流程图中,完全去掉了带箭头的流程线, 图形式。在这种流程图中,完全去掉了带箭头的流程线,全部算 法写在一个矩形框内。所采用的流程图符号为: 法写在一个矩形框内。所采用的流程图符号为:
A B 成立 A P 不成立 B 当 p 成立 A A 直到 p 成立

顺序结构

选择结构

循环结构

1→p →p 2→i →i p×i→p × →p i+1→i → 直到 i>5 打印p 打印

4.伪代码表示算法 伪代码表示算法
伪代码是介于自然语言和计算机语言之间的文字和符号来描述算 每一行(或几行)表示一个基本操作。 法,每一行(或几行)表示一个基本操作。 如: BEGIN(算法开始 算法开始) 算法开始 1→p →p 2→i i<=5 while i<=5 { p×i→p i+1 i+1→i } print p END(算法结束) END(算法结束)

5.计算机语言表示算法 计算机语言表示算法
如 main() { int i,p; p=1; i=2; while(i<=5) { p=p*i; i=i+1; } printf(“%d”,p); }

返回

2.3 算法设计基本方法
列举法:根据提出的问题,列举所有可能的情况,并用问题中给 列举法: 根据提出的问题, 列举所有可能的情况, 定的条件检验哪些是需要的,哪些是不需要的。 定的条件检验哪些是需要的,哪些是不需要的。 归纳法:通过列举少量的特殊情况,经过分析, 归纳法:通过列举少量的特殊情况,经过分析,最后找出一般的 关系。 关系。 递推法:从已知的初始条件出发, 递推法:从已知的初始条件出发,逐次推出所要求的各中间结果 和最后结果。 和最后结果。 递归法:将问题逐层分解,当解决了最后那些最简单的问题后, 递归法:将问题逐层分解,当解决了最后那些最简单的问题后, 再沿着原来分解的逆过程逐步进行综合。 再沿着原来分解的逆过程逐步进行综合。 回朔法:通过对问题的分析,找出一个解决问题的线索; 回朔法:通过对问题的分析,找出一个解决问题的线索;然后沿 着这个线索逐步试探。对于每一步试探,若试探成功, 着这个线索逐步试探。对于每一步试探,若试探成功,就得到问 题的解;若试探失败,就逐步回退,换别的路线再进行试探。 题的解;若试探失败,就逐步回退,换别的路线再进行试探。

返回

2.4 算法复杂度分析
算法的时间复杂度:执行算法所需要的计算工作量。 算法的时间复杂度:执行算法所需要的计算工作量。 算法的空间复杂度:执行算法所需要的内存空间。 算法的空间复杂度:执行算法所需要的内存空间。


相关文章:
C语言专升本5编程题(3月10日终版)
C语言专升本5编程题(3月10日终版)_IT认证_资格考试/认证_教育专区。C语言专升本计算机程序设计基础(c 语言) 习题 编程题 计算机程序设计基础(C 语言) 编程练习...
福建专升本英语的复习几点建议
英语作为一门语言无非不是听说读写译 但是因为时间紧迫所以在这里就不 啰嗦这些了 我们就从专升本英语考试的题型角度出发把福建专升本的英语考试 分为以下几个题型:...
福建专升本C语言模拟试题及参考答案
2012成考专升本英语考试词...1/2 相关文档推荐 2007年福建专升本C语言模拟......应填入的是 (D) A) i=p B) a[p]=a C) p=j D) p=i 二、填空题...
2009福建专升本C语言试题
福建专升本C语言复习指导 26页 5财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 2009福建专升本C语言试题 隐藏>> ...
C语言专升本3程序改错题(3月10日终版)
C语言专升本3程序改错题(3月10日终版)_专升本_成人教育_教育专区。C语言专升本...(C 语言) 程序改错练习题及参考答案 下面每个程序的划线处有语法或逻辑错误,请...
数据结构C语言版第2章练习题
数据结构C语言第2章练习题_专升本_成人教育_教育专区。数据结构习题2 ...()3. 链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动将后续各...
专升本C语言复习题
专转本 C 语言复习题 一、专转本 C 语言复习题 2 数学表达式 1、编写程序,其功能是:计算并输出下列多项式的值: S ? 1 ? 2 ? 3 ? ? n , 将结 果...
专升本C语言历年试题及答案
专升本C语言历年试题及答案_专升本_成人教育_教育专区。专升本 C 语言历年考试题及答案 一、单项选择题 1. A、 b-b B、float 2. A、a*b/c; 3. A、'n...
辽宁省专升本C语言知识点与算法小结
福建专升本C语言复习 第二... 10页 5财富值 杭电专升本C语言常用算法复... ...A? && ch <=??Z 4、输入任意三个整数(a b c 1)Max min:第一个数 ?...
2009福建专升本计科类真题
专升本,福建,计算机,全套,软件工程,入学考试 2009 年...a[3][4] 在 C 语言中,凡不加类型说明的函数,...21. 用普利姆 (Prim) 算法从右图中的顶点 1 开始...
更多相关标签: