第一章 数据构造与算法
通过对某些考生调查以及对近年真题总结分析,笔试某些经常考查是算法复杂度、数据构造概念、栈、二叉树遍历、二分法查找,读者应对此某些进行重点学习。
详细重点学习知识点:
1.算法概念、算法时间复杂度及空间复杂度概念
2.数据构造定义、数据逻辑构造及物理构造定义
3.栈定义及其运算、线性链表存储方式
4.树与二叉树概念、二叉树基本性质、完全二叉树概念、二叉树遍历
5.二分查找法
6.冒泡排序法
1.1算法
考点1 算法基本概念
考试链接:
考点1在笔试考试中考核几率为30%,重要是以填空题形式浮现,分值为2分,此考点为识记内容,读者还应当理解算法中对数据基本运算。
计算机解题过程事实上是在实行某种算法,这种算法称为计算机算法。
1.算法基本特性:可行性、拟定性、有穷性、拥有足够情报。
2.算法基本要素:
(1)算法中对数据运算和操作
一种算法由两种基本要素构成:一是对数据对象运算和操作;二是算法控制构造。
在普通计算机系统中,基本运算和操作有如下4类:算术运算、逻辑运算、关系运算和数据传播。
(2)算法控制构造:算法中各操作之间执行顺序称为算法控制构造。
描述算法工具普通有老式流程图、N-S构造化流程图、算法描述语言等。一种算法普通都可以用顺序、选取、循环3种基本控制构造组合而成。
考点2 算法复杂度
考试链接:
考点2在笔试考试中,是一种经常考查内容,在笔试考试中浮现几率为70%,重要是以选取形式浮现,分值为2分,此考点为重点识记内容,读者还应当识记算法时间复杂度及空间复杂度概念。
1.算法时间复杂度
算法时间复杂度是指执行算法所需要计算工作量。
同一种算法用不同语言实现,或者用不同编译程序进行编译,或者在不同计算机上运营,效率均不同。这表白使用绝对时间单位衡量算法效率是不适当。撇开这些与计算机硬件、软件关于因素,可以以为一种特定算法"运营工作量"大小,只依赖于问题规模(通惯用整数n表达),它是问题规模函数。即
算法工作量=f(n)
2.算法空间复杂度
算法空间复杂度是指执行这个算法所需要内存空间。
一种算法所占用存储空间涉及算法程序所占空间、输入初始数据所占存储空间以及算法执行过程中所需要额外空间。其中额外空间涉及算法程序执行过程中工作单元以及某种数据构造所需要附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作。在许多实际问题中,为了减少算法所占存储空间,普通采用压缩存储技术,以便尽量减少不必要额外空间。
疑难解答:算法工作量用什么来计算?
算法工作量用算法所执行基本运算次数来计算,而算法所执行基本运算次数是问题规模函数,即算法工作量=f(n),其中n是问题规模。
1.2数据构造基本概念
考点3 数据构造定义
考试链接:
考点3在笔试考试中,是一种经常考查内容,在笔试考试中浮现几率为70%,重要是以选取形式浮现,分值为2分,此考点为识记内容,读者还应当识记数据逻辑构造和存储构造概念。
数据构造作为计算机一门学科,重要研究和讨论如下三个方面:
(1)数据集合中个数据元素之间所固有逻辑关系,即数据逻辑构造;
(2)在对数据元素进行解决时,各数据元素在计算机中存储关系,即数据存储构造;
(3)对各种数据构造进行运算。
数据:是对客观事物符号表达,在计算机科学中是指所有能输入到计算机中并被计算机程序解决符号总称。
数据元素:是数据基本单位,在计算机程序中普通作为一种整体进行考虑和解决。
数据对象:是性质相似数据元素集合,是数据一种子集。
数据逻辑构造是对数据元素之间逻辑关系描述,它可以用一种数据元素集合和定义在此集合中若干关系来表达。数据逻辑构造有两个要素:一是数据元素集合,普通记为D;二是D上关系,它反映了数据元素之间先后件关系,普通记为R。一种数据构造可以表达到
B=(D,R)
其中B表达数据构造。为了反映D中各数据元素之间先后件关系,普通用二元组来表达。
数据逻辑构造在计算机存储空间中存储形式称为数据存储构造(也称数据物理构造)。
由于数据元素在计算机存储空间中位置关系也许与逻辑关系不同,因而,为了表达存储在计算机存储空间中各数据元素之间逻辑关系(即先后件关系),在数据存储构造中,不但要存储各数据元素信息,还需要存储各数据元素之间先后件关系信息。
一种数据逻辑构造依照需要可以表达到各种存储构造,惯用存储构造有顺序、链接、索引等存储构造。而采用不同存储构造,其数据解决效率是不同。因而,在进行数据解决时,选取适当存储构造是很重要。
考点4 线性构造与非线性构造
考试链接:
考点4在笔试考试中,虽然说不是考试经常考查内容,但读者还是对此考点有所理解,在笔试考试中浮现几率为30%,重要是以填空题浮现形式浮现,分值为2分,此考点为识记内容。
依照数据构造中各数据元素之间先后件关系复杂