计算机二级考试公共基础知识——第二章数据结构与算法

第二章数据结构与算法
算法
算法的基本概念
所谓算法,是指解决问题方案的准确而完备的描述
可行性
①算法中的每一个步骤必须能够实现
②算法执行的结果要能够达到预期的目的
确定性
指算法中每一个步骤都必须有明确的定义,不允许有模棱两可的解释,也不允许有多义性
有穷性
指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止,算法的有穷性还应包括合理的执行时间的含义
拥有足够的情报
一个算法执行的结果总是与输入的初始数据有关,不同的输入将会有不同的结果,输出一般来说,当算法拥有足够的情报时,此算法才是有效的,而当提供的情报不够使算法可能无效
综上所述,所谓算法是一组严谨的定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次序下终止
算法设计基本方法
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法
列举法
基本思想:根据提出的问题,列举所有可能的情况,并用问题中给定的条件,检验哪些是需要的,哪些是不需要的
注意点:当列举可能情况较多时,列举算法的工作量将会很大,因此,在用列举法设计算法时,使方案优化,尽量减少运算工作量
归纳法
基本思想:通过列举少量的特殊情况,经过分析,最后找出一般的关系
归纳是一种抽象,即从本质现象中找出一般关系
本质上讲归纳就是通过观察一些简单而特殊的情况,最后总结出一般性的结论
注意点:由于在归纳过程中不可能对所有情况进行举例,因此,最后由归纳得到的结论还只是一种猜测,还需要对这种猜测加以必要的证明
递推法
基本思想:从已知的初始条件出发,逐次推出所要求的中间结果和最后结果
初始条件或问题本身已给定,或者通过对问题分析与简化而确定。
递归法
基本思想:在解决一些复杂问题时,为了降低问题的复杂程度,一般总是将问题逐层分解,最后归纳为一些简单的问题
这种将问题逐层分解的过程,实际上并没有对问题进行求解,而只是解决了最后那些最简单的问题后,再沿着原本分解的逆过程,逐步进行综合,这就是递归
直接递归
如果一个算法p直接调用自己,称为直接递归调用
间接递归
如果算法p调用了另一个算法q,而算法q又调用了算法p称为间接递归调用
本质上递推和递归都属于归纳法,通常情况下,递归算法要比递推算法清晰易读,且结构比较简练
减半递推技术
是分治法的一种
基本思想:所谓减半,是将问题的规模减半,而问题性质不变。所谓递推,是重复减半的过程
回溯法
基本思想:通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,对于每一步的试探,若试探成功,则得到问题的解,若试探失败就逐步回退,换别的线路,再进行试探
常用于难以归纳,并且无法举例的问题
算法复杂度
时间复杂度
执行算法所需要的计算工作量,用算法在执行过程中所需基本运算的执行次数来度量算法的工作量,基本运算反映了算法运算的主要特征
空间复杂度
只执行这个算法所需的内存空间
数据结构的基本概念
为解决大量数据元素在计算机中如何组织,以便提高数据处理效率,节省计算机储存空间,这是进行数据处理的关键问题
数据结构研究的三个方面的问题
数据的逻辑结构
数据集合中,各数据元素之间所固有的逻辑关系
数据的存储结构
在对数据进行处理时,各数据元素在计算机中的存储关系
对各种数据结构进行的运算
什么是数据结构?
数据结构概论
简单地说,数据结构是指相互有关联的数据元素的集合
数据处理
对数据集合中的各元素,以各种方式进行运算,包括插入,删除,查找,更改等运算,也包括对数据元素进行分析等
数据元素具有广泛含义
一般来说,现实世界中客观存在的一切个体都可以是数据元素
一般情况下,在具有相同特征的数据元素集合中,

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值