公共基础知识讲义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章:数据结构与算法(约占10分)
算法
I=1 ’给变量I赋值为1
S=0 ’给变量S赋值为0
Do while I<=100 ’循环结构:当I小于100时循环
S=S+I ’对I的值累加求和
I=I+1 ’变量I的值每循环一次增加1
ENDDO ’循环结构:遇到ENDDO就返回DO处重新循环MSGBOX S ’输出求和变量S的值
算法是指解题方案的准确而完整的描述。
算法规定了解决某类问题所需的操作语句以及执行顺序,使其能通过有限的指令语句,在一定时间内解决问题。
算法是一个操作序列、有限长度、目的是解决某类问题。
注意:1、算法不等同于数学上的计算方法:因为很多数学计算公式也许无法在计算机上实现。
2、算法也不等同于程序:因为程序的编制不可能优于算法的设计。
算法的基本特征(算法具有动态性):可行性、确定性、有穷性、拥有足够的情报(指的是有输入和输出)
在设计一个算法时,必须要考虑算法的执行过程保证结果的可靠性。
算法的基本元素
第一要素:对数据对象的运算和操作
算数运算+ - * /
逻辑运算NOT AND OR
数据传输赋值,输入与输出
第二要素:算法的控制结构(决定了算法中各操作的执行顺序)顺序、选择、循环
算法设计的基本方法(计算机解题的过程实际上是实施某种算法)列举法(列举所有的解决方案)
根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的哪些是不需要的。
归纳法(特殊->一般)适合于列举量为无限的情况
通过列举少量的特殊情况,经过分析,最后找出一般的关系递推法(已知->未知)
从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果递归法(逐层分解)
将一个复杂问题归结为若干个较简单的问题,然后将这些较简单的内一个问题再归结为更简单的问题。。。
减半递推法(对问题分而治之)
“减半”是指将问题的规模减半,而问题的性质不变。所谓“递推”是指重复“减半”的过程
回溯法
复杂应用,找出一个解决问题的线索,然后沿着这个线索逐步多次“探、试”
算法的复杂度(一个算法所要付出的代价)
算法的复杂度可分为:时间复杂度和空间复杂度算法的复杂度是衡量算法好坏的量度。
1)时间复杂度
概念:指执行算法所需要的计算工作量(即算法的运算次数)
含义:算法执行过程中所需要的基本运算次数
影响计算工作量的主要因素:
第一、基本运算次数第二、问题规模
下面的方法不能用来度量算法的时间复杂度:
1)算法程序的长度或算法程序中语句(指令)条数
2)算法程序所执行的语句条数
3)算法程序执行的具体时间
时间复杂度的具体度量方法:在同一问题规模下,如果算法执行所需的基本运算次数取决于某一特定的输入时,可以用以用以下两种方法来分析的工作量:1)平均性态分析2)最坏情况复杂性分析
2)空间复杂度
概念:空间复杂度是指执行该算法所需要的存储空间、输入的初始数据所占的存储空间、算法执行过程中的额外空间。
注意:1)如果额外空间量相对于问题规模来说是常数,即额外空间量不随问题规模变化而变化,则称该算法是原地工作的
2)为了降低算法的空间复杂度,主要应减少需要处理的数据所占的存储空间以及额外空间,通常采用压缩存储技术。
考题练习
1、下列叙述正确的是
A)算法就是程序
B)算法强调的是利用技巧提高程序的执行效率
C)设计算法时只需考虑结果的可靠性
D)以上三种说法都不对
2、下面叙述正确的是
A)算法的执行效率与数据的存储结构无关
B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对
3、下列叙述中正确的是
A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小
C)一个算法的时间复杂度大,则其空间复杂度必定小
D)以上说法都不对
4)算法的空间复杂度是指
A)算法程序中变量的个数
B)算法程序中指令的条数
C)算法程序中各控制变量所占的额外空间
D)算法执行过程中所需的存储空间
数据结构
目的:提高数据的处理效率(一是提高数据处理的速度二是节省在数据处理过程中所占用的计算机存储空间)
基本概念
1)数据:在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
2)数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理
3)数据结构:是互相之间存在一种或多种特定关系的数据元素的集合。
数据结构的内容:
逻辑结构:数据元素之间的逻辑关系,从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
存储(物理)结构:是指数据元素及其关系在计算机内存中的表示,即数据的逻辑结构在计算机存储空间中的存放形式。
注意:对于同一个逻辑结构来说,采用不同的存储结构,其数据处理的效率是不同的。因此,在数据处理时,选择适合的存储结构很重要。
各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定相同。
由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此,为了表示存放各数据元素的本身,而且还需要存放各数据元素之间的前后件关系的信息。
逻辑结构与物理结构的关系
1)一种逻辑结构可以用不同的物理结构来实现
2)逻辑结构决定了算法的设计
3)物理结构决定了算法的实现
数据结构的图形表示
表示数据结构的常用方法:二元关系表和图形表示
例:一年四季的数据结构可以用图形表示为:
春->夏->秋->冬