- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用标准
精彩文档
第一章 数据结构与算法
1.1 算法1、算法是指解题方案的准确而完整的描述。换句话说,算法是对特定问题求解步骤的一种描述。
I=1
I=1 ,变量I赋值为1
S=0 ,变量S赋值为0
DO WHILE I=100 ,循环结构,当I小于100时循环
S=S+I ,对I的值累加求和
I=I+1 ,变量I的值没循环一次增加1
LOOP ,循环结构,遇到loop返回DO处重新循环
MSGBOX S ,输出求和变量S的值
算法规定了解决某类问题所需的操作语句以及执行顺序,使其能通过有限的指令语句,在一定时间内解决问题。
算法是一个操作序列、有限长度,目的是解决某类问题。
*:算法不等于程序,也不等于计算方法。程序的编制不可能优于算法的设计。
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)一个算法的时间复杂度大,则其时间复杂度必定小
(D)以
文档评论(0)