国二公共基础知识

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

国二公共基础知识

第一章数据结构与算法

1.1算法

1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。

2.算法的基本要素:

(1)算法中对数据的运算和操作,包括:算术、逻辑、关系运算以及数据传输。

(2)算法的控制结构,一般都可由顺序、选择、循坏(重复)三种控制结构组合而成。

3.算法的设计基方法:列举法、归纳法、递推、递归、减半递推、回溯法。

4.算法的时间复杂度:是指算法所需要的计算工作量,由基本运算次数来度量。

5算法的空间复杂度:指执行算法所需要的内存空间。包括,算法程序所占空间、输入初始

数据所占的存储空间、算法执行过程中所需要的额外空间。

1.2数据结构的基本概念

1.数据结构主要研究以下三个方面:

(1)逻辑结构:数据集合中各数据元素之间所固有的逻辑关系。

(2)存储结构:在对数据进行处理时,各数据元素在计算机中的存储关系。

(3)对各种数据结构进行的运算。

2.数据处理:指对数据集合中各元素以各种方式进行运算,包括插入、删除、查找、更改、

以及对数据元素进行分析。

3.数据结构:是指带有结构的数据元素的集合,它包含以下两方面信息:

(1)表示数据元素的信息;

(2)表示各数据元素之间的前后件关系。

4.数据逻辑结构:B=(D,R)

B:数据结构

D:数据元素集合

R:各数据元素之间的前后件关系

5.数据存储结构:数据的逻辑结构在计算机存储空间中的存放形式,也叫物理结构。

常用的存储结构有顺序、链接、索引。

6.线性结构:若非空数据结构满足:(1)有且只有一个根结点;(2)每一个结点最多有一个

前件,也最多有一个后件。则称线性结构,也叫线性表。

1.3线性表及其顺序存储结构

1.线性表是由一组元素组成,可是以是矩阵。

2.线性表的顺序存储结构有两个基本特点:

(1)线性表中所有元素所占的存储空间是连续的;

(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。

3.线性表中第i个元素在计算机存储空间中的存储地址为:ADR(ai)=ADR(a1)+(i-1)k

4.在程序设计语言中,通常定义一个一维数组来表示线性表的顺序存储空间。

5.对线性表的各种处理:插入、删除、查找、排序、分解、合并、复制、逆转等。

6.插入:从最后一个元素开始向后移动,直到第i个元素。

7.删除:从第i+1个元素开始向后移动,直到第n个元素。

1.4栈和队列

1.栈:是限定在一端进行插入与删除的线性表,先进后出或后进先出。

2.栈顶:允许插入的一端,用top表示;栈底:允许删除的另一端,用bottom来表示。

3.用一维数组S(1:m)作为栈的顺序存储空间,其中m为栈的最大容量。

4.Top=0表示栈空;top=m表示栈满。

5.栈的基本运算有三种:

(1)入栈运算:在栈顶位置插入一个新元素

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

(3)读栈顶元素:指将栈顶元素赋给一个指定的变量

1.2队列:指允许在一端进行插入、而在另一端进行删除的线性表,先进先出或后进后出。

1.队尾:允许插入的一端,用尾指针( rear)来指向队尾元素

2.排头:允许删除的一端,用排头指针(front)指向排头元素

3.入队运算:在队尾插入一个元素,只涉及尾指针(rear)的变化

4.退队运算:在排头删除一个元素,只涉及排头指针(front)的变化

5.循环队列:将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供

队列环状使用。

6.循环队列的初始状态为空,即rear=front=m。

每进行一次入队运算,队尾指针就进一。当队尾指针rear=m+1时,则置rear=1。

第进行一次退队运算,排头指针就进一。当排头指针 front=m+1时,则置front=1。

7.当队列满和空时,都有front=rear

用S=0表示队列空,用S=1表示队列非空

(1)队列空的条件为S=0;

(2)队列满的条件为S=1且front=rear。

1.5线性链表的基本概念

1.链式存储方式,要求每个结点由两部分组成:(1)用于存放数据元素值,称数据域;

(2)用于存放指针,称指针域。

2.线性链表:线性表的链式存储结构。最后一个结点指针域为空(NULL或0),表链表终止。

3.线性单链表只能找到后件结点,不能找到前件结点。

4.线性双链表:(1)左指针,用以指向前件结点;(2)右指针,有以指向向件结点。

5.带链的栈:采用链式存储结构的栈,称为可利用栈。

6.循环链表有以下两个特点:

(1)在循环链表中增加了一个表头结点,其数据域为任意或根据需要来设置,指针域指向线性链表的第一个元素的结点。循环链表的头指针指向表头结点。

(2)循环链表中最后一个结点的指针域不是空,而是指向表头结点。

7.在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结占,面线性单链表做不到这一点。

1.6树与二叉树

1.树:树是一种简单的非线性结构。

2.具有层次关系的数据都可以用树这种数据结构来描述。

3.在树结构中,每一个结点都只有一个前件,称为父结点;没有前件的结点只有一个,称为根结点,简称树的根。

4.第一个结点可以有多个后件,它们都称为该结点的子结点;没有后件的结点称为叶子结点

相关文档
最新文档