- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
《计算机软件技术基础》
第一章算法
1.1算法的基本概念
算法:指解题方案的准确而完整的描述
算法的基本特征:
能行性(算法中的每一个步骤必须能够实现;算法执行的结果要能够达到预期的目的)
确定性(算法中的每一个步骤都必须是有明确定义的,不能摸棱两可,也不能有多义性)
有穷性(算法必须能在执行有限个步骤之后终止)
拥有足够的情报(算法执行的结果总是与输入的初始数据有关。不同输入对应不同输出)
算法:是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的、明确的,此顺序将
在有限的次数下终止。
算法的基本要素:
1.算法中对数据的运算和操作(算术运算、逻辑运算、关系运算、数据传输【赋值、输入、
输出】)
2.算法的控制结构(算法中各操作之间的执行顺序)
1.2算法描述语言
C语言描述和简单的算法描述语言
(1)符号与表达式:符号主要用以表述变量名、数组名等
(2)赋值语句
(3)控制转移语句:
无条件转移语句形式:GOTO标号
条件转移语句形式IFCTHENS
IFCTHENS1
ELSES2
(4)循环语句
WHILE语句:WHILECDOS
FOR语句:FORi=initTOlimitBYstepDOS
(5)其他语句
EXIT语句:退出某个循环,使控制转到包含EXIT语句的最内层的WHILE或FOR循环后面的
一个语句去执行
RETURN语句:结束算法的执行(允许使用用引号括起来的注释信息)
READ(INPUT)和WRITE(PRINT/OUTPUT)语句:用于输入输出
(6)算法中的注释总是用一对方括号【】括起来;复合语句用一对花括号{}括起来
1.3算法设计基本方法
1.列举法【例1.1】
基本思想:根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要
的,哪些是不需要的(通常解决“是否存在”“有多少种可能”类型问题)
特点:算法比较简单,但列举情况较多时,工作量将很大
寻找路径、查找、搜索等问题采用列举法有效
2.归纳法
基本思想:通过列举少量的特殊情况,经过分析,最后找出一般的关系
3.递推法(数学例题)
指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果(本质属于归纳法)
4.递归
基本思想:将问题逐层分解的过程,实际上并没有对问题进行求解,而只是当解决了最后那
些简单的问题后,再沿着原来分解的逆过程逐步进行综合【例1.3】
自己调用自己的过程称为递归调用过程
递归分为
直接递归:一个算法P显式地调用自己
间接递归:算法P调用另一个算法Q,而算法Q又调用算法P
5.减半递推技术(分治法)
减半:将问题的规模减半,而问题的性质不变
递推:重复“减半”的过程【例1.4】
6.回溯法
通过对问题的分析,找出一个解决问题的线索;然后沿着这个线索逐步试探。对于每一步的
试探,如果成功,就得到问题的解;若试探失败,就逐步回退,换别的路线再进行试探。(处
理复杂数据结构方面有广泛应用)【例1.5】
1.4算法的复杂度分析
算法的复杂度主要包括时间复杂度和空间复杂度
算法的时间复杂度:指执行算法所需要的计算工作量
可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量,同时还需对问题的
规模进行度量
综上,算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是
问题规模的函数,即
算法的工作量=f(n)
其中,n是问题的规模
在同一个问题规模下,如果算法执行所需的基本运算次数取决于某一特定输入时,可以用以
下两种方法来分析算法的工作量
(1)平均性态:用各种特定输入下的基本运算次数的带权平均数来度量算法分工作量A(n))
(2)最坏情况复杂性:在规模为n时,算法所执行的基本运算的最大次数W(n)
【例1.6】
算法的空间复杂度:指执行这个算法所需要的内存空间
一个算法所占用的存储空间包括:算法程序所占的空间、输入的初始数据所占的存储空间以
及算法执行过程中所需要的额外空间。
其中额外空间包括:算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空
间
如果额外空间量相对于问题规模来说是常数,则称该算法是原地(inplace)工作的
实际问题中,为减少算法所占的存储空间,通常采用压缩存储技术,以便
您可能关注的文档
- 牛津上海版八年级初二下册英语 第13讲-感叹句-教案.pdf
- 湖南省长沙市湖南师大附中梅溪湖中学2023-2024学年八年级上学期第一次月考数学试题及参考答案.pdf
- 节气农业气象谚语.pdf
- 2023年最新青岛版四年级科学上册全册单元测试题及答案.pdf
- 外研版英语四年级下册期末测试卷附答案(2套).pdf
- 新人教部编版九年级语文上册10 岳阳楼记 范仲淹.pdf
- 四年级上教研活动记录.pdf
- 人教版小学四年级数学下册单元同步习题.pdf
- 一年级数学日历练习题口诀.pdf
- 2023年一年级上册语文教学计划三篇.pdf
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)