好文档 - 专业文书写作范文服务资料分享网站

精品二级公共基础知识复习资料

天下 分享 时间: 加入收藏 我要投稿 点赞

第二部分 公共基础知识资料

第一章 数据结构与算法

【考点1】算法的基本概念

1、算法:是指一组有穷的指令集,是解题方案的准确而完整的描述。算法不等于程序,也不等于计算方法。 2、算法的基本特征:

1)确定性,算法中每一步骤都必须有明确定义,不允许有多义性;

2)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止; 3)可行性,算法原则上能够精确地执行; 4)拥有足够的情报。

3、算法的组成要素:一个算法由数据对象的运算和操作以及其控制结构这两部分组成。 4、算法的基本运算和操作:算术运算,逻辑运算,关系运算,数据传输。 5、算法的基本控制结构:顺序,选择(分支),循环(重复)。

6、算法基本设计方法:列举法、归纳法、递 推、递归、减半递推技术。

7、描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等; 【考点2】算法的复杂度

1、算法效率的度量——算法的复杂度:时间复杂度和空间复杂度。 1)算法时间复杂度:(基本运算次数)指执行算法所需要的计算工作量。通常,一个算法所用的时间包括编译时间和运行时间。 2)算法空间复杂度:(存储的空间)算法所需要的内存空间 。包括算法程序所占的空间,输入的初始数据所占的空间,算法执行过程中所需的额外空间。 空间复杂度和时间复杂度并 不相关。

【考点3】数据结构的基本概念 数据:数据是客观事物的符号表示,是能输入到计算机中并被计算程序识别和处理的符号的总称,如文档,声音,视频等。

数据元素:数据元素是数据的基本单位。数据元素是由若干的数据项构成的。 数据对象:数据对象是性质相同的数据元素的集合。

数据结构:是指由某一数据对象中所有数据成员之间的关系组成的集合。 数据项:数据项是数据的最小单位。 【考点4】逻辑结构和存储结构

1、数据结构可分为数据的逻辑结构(线性和非线性)和存储结构,运算。

1)数据的逻辑结构是对数据元素之间的逻辑关系的描述,与数据的存储无关,是面向问题的,是独立于计算机的。它包括数据对象和数据对象之间的关系。逻辑结构与计算机无关 2)数据的存储结构也称为数据的物理结构,是数据在计算机中的存放的方式,是面向计算机的,它包括数据元素的存储方式和关系的存储方式。数据存储结构是指数据的逻辑结构在计算机中的表示。

2、存储结构和逻辑结构的关系:一种数据的逻辑结构可以表示成多种存储结构即数据的逻辑结构和存储结构不一定一一对应。

3、常见的存储结构有:顺序(用于线性的数据结构),链接,索引等。采用不同的存储结构其数据处理的效率是不同的。(程序执行的效率与数据的存储结构密切相关)

【考点5】线性结构和非线性结构

1、 线性结构的条件(一个非空数据结构):(1)有且只有一个根结点;(2)每一个结点最多

有一个前件,也最多有一个后件。 例:春-夏-秋-冬

2、 非线性结构(树形结构和网状结构):不满足线性结构条件的数据结构。 例:父亲=儿子+女儿,孩子=父亲+母亲

栈、队列、双向链表是线性结构,树、二叉树为非线性结构。 【考点6】线性表及其顺序存储结构

1、线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。

2、在复杂线性表中,由若干项数据元素组成的数据元素称为记录;由多个记录构成的线性表称为文件。

3、非空线性表的结构特征:

(1)有且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件;

(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。 结点个数n称为线性表的长度,当n=0时,称为空表。 4、线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素所占的存储空间是连续的;

(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 (3)可以随机访问数据元素。 (4)不便于做插入和删除元素。

元素ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)*k,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。

5、顺序表的运算:查找、插入、删除。 【考点7】线性链表

线性链表是线性表的链式存储结构,数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。结点由两部分组成:(1) 用于存储数据元素值,称为数据域;(2) 用于存放指针,称为指针域,用于指向前一个或后一个结点。 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。 链式存储方式既可用于表示线性结构,也可用于表示非线性结构。

线性单链表中,HEAD称为头指针,HEAD=NULL(或0)称为空表。 数据域 指针域 数据域 指针域 图1 单链表的结构

双向链表有两个指针:左指针(Llink)指向前件结点,右指针(Rlink)指向后件结点。

L D R L D R 图2 双链表的结构

L D R ……

数据域 指针域 ……

循环链表:循环链表与单链表的不同的是它的最后一个结点的指针域存放的事指向第一个结点的指针而单链表存放的是空指针。

…… 图3 循环链表的结构

线性链表的基本运算:查找、插入、删除。 【考点8】栈 1、栈的基本概念

栈是一种特殊的线性表,只允许在表的一端进行插入和删除的线性表;插入,删除的一端为栈顶,另一端为栈底;当表中没有元素时为空栈。

栈是一种后进先出(或先进后出Last In First Out)的线性表。栈具有记忆功能。栈的实例:火车调度,子弹夹。

栈底指针不变,栈中元素随栈顶指针的变化而动态变化 栈具有记忆功能 栈支持子程序调用 2、栈的存储结构

顺序存储结构:用一组地址连续的存储单元即一维数组来存储; 链式存储:用线性链表来存储; 3、栈的基本运算

(1) 入栈运算,在栈顶位置插入元素;

(2) 退栈运算,删除元素(取出栈顶元素并赋给一个指定的变量);

(3) 读栈顶元素,将栈顶元素赋给一个指定的变量,此时指针无变化。 (4)栈中=栈底-栈顶+1 【考点9】队列 1.队列的基本概念

队列是一种特殊的线性表,只允许在表的一端插入,在另一端删除,允许插入的一端是队尾(rear),允许删除的一端为队头(front);当表中没有元素是空队列;队列是一种先进先出的线性表。(FIFO) 2、队列的存储结构 顺序存储:一维数组。 链式存储:线性链表。 3、队列的运算:

(1) 入队运算:从队尾插入一个元素; (2) 退队运算:从队头删除一个元素。

4、队列的顺序存储结构一般采用循环队列的形式。循环队列s=0表示队列为空;s=1且front=rear表示队满。

5、计算循环队列的元素个数:“尾指针减头指针”,若为负数,再加其容量即可。

循坏队列就是将队列存储空间最后一个位置绕到第一个位置,形成逻辑上的环状空间。 6、循坏队列的元素=对头-队尾 7、特点:

(1)队列只允许在队尾进行插入,而在对头进行删除。 (2)队列的修改原则是“先进先出”或“后进后出”。

(3)队列中元素随对头指针和队尾指针的变化而动态变化。 【考点10】树的基本概念

树是一种非线性结构,是n个结点的有限集。当n=0 时为空树,n>0时为非空树。结点的

精品二级公共基础知识复习资料

第二部分公共基础知识资料第一章数据结构与算法【考点1】算法的基本概念1、算法:是指一组有穷的指令集,是解题方案的准确而完整的描述。算法不等于程序,也不等于计算方法。2、算法的基本特征:1)确定性,算法中每一步骤都必须有明确定义,不允许有多义性;2)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤
推荐度:
点击下载文档文档为doc格式
6vcj10mr9i7dd7d92wae4uc568cqcf01a6g
领取福利

微信扫码领取福利

微信扫码分享