考研数据结构图的必背算法及知识点

考研数据结构图的必背算法及知识点
考研数据结构图的必背算法及知识点

1.最小生成树:无向连通图的所有生成树中有一棵边的权值总和最小的生成树

1.1 问题背景:

假设要在n个城市之间建立通信联络网,则连通n个城市只需要n—1条线路。这时,自然会考虑这样一个问题,如何在最节省经费的前提下建立这个通信网。在每两个城市之间都可以设置一条线路,相应地都要付出一定的经济代价。n个城市之间,最多可能设置n(n-1)/2条线路,那么,如何在这些可能的线路中选择n-1条,以使总的耗费最少呢?

1.2 分析问题(建立模型):

可以用连通网来表示n个城市以及n个城市间可能设置的通信线路,其中网的顶点表示城市,边表示两城市之间的线路,赋于边的权值表示相应的代价。对于n个顶点的连通网可以建立许多不同的生成树,每一棵生成树都可以是一个通信网。即无向连通图的生成树不是唯一的。连通图的一次遍历所经过的边的集合及图中所有顶点的集合就构成了该图的一棵生成树,对连通图的不同遍历,就可能得到不同的生成树。

图 G5无向连通图的生成树为(a)、(b)和(c)图所示:

G5

G5的三棵生成树:

可以证明,对于有n 个顶点的无向连通图,无论其生成树的形态如何,所有生成树中都有且仅有n-1 条边。

1.3最小生成树的定义:

如果无向连通图是一个网,那么,它的所有生成树中必有一棵边的权值总和最小的生成树,我们称这棵生成树为最小生成树,简称为最小生成树。

最小生成树的性质:

假设N=(V,{ E}) 是个连通网,U是顶点集合V的一个非空子集,若(u,v)是个一条具有最小权值(代价)的边,其中,

则必存在一棵包含边(u,v)的最小生成树。

1.4 解决方案:

两种常用的构造最小生成树的算法:普里姆(Prim)和克鲁斯卡尔(Kruskal)。他们都利用了最小生成树的性质

1.普里姆(Prim)算法:有线到点,适合边稠密。时间复杂度O(N^2)

假设G=(V,E)为连通图,其中V 为网图中所有顶点的集合,E 为网图中所有带权边的集合。设置两个新的集合U 和T,其中

集合U(顶点集)用于存放G 的最小生成树中的顶点,

集合T (边集合)存放G 的最小生成树中的边。

T ,U的初始状态:令集合U 的初值为U={u1}(假设构造最小生成树时,从顶点u1 出发),集合T 的初值为T={}。

Prim 算法的思想是:从所有u∈U,v∈V-U 的边中,选取具有最小权值的边(u,v)∈E,将顶点v 加入集合U 中,将边(u,v)加入集合T 中,如此不断重复,直到U=V 时,最小生成树构造完毕,这时集合T 中包含了最小生成树的所有边。

Prim 算法可用下述过程描述,其中用wuv 表示顶点u 与顶点v 边上的权值。

(1)U={u1},T={};

(2)while (U≠V)do

(u,v)=min{wuv;u∈U,v∈V-U }

T=T+{(u,v)}

U=U+{v}

(3)结束。

按照Prim 方法,从顶点1 出发,该网的最小生成树的产生过程如图:

为实现Prim 算法,需设置两个辅助closedge,用来保存U到集合V-U 的各个顶点中具有最小权值的边的权值。对每个Vi∈(V-U )在辅助数组中存在一个相应的分量closedge [i-1],它包括两个域:

typedef struct ArcNode

{

int adjvex; //adjex域存储该边依附的在U中的顶点

VrType lowcost; //lowcost域存储该边上的权重

}closedge[MAX_VERTEX_NUM];

显然:

初始状态时,U={v1}(u1 为出发的顶点),则到V-U 中各项中最小的边,即依附顶点v1的各条边中,找到一条代价最小的边(u0,v0)= (1,3)为生成树上一条边。

同时将v0(=v3)并入集合U中。然后修改辅助数组的值。

1)将closedge[2].lowcost = 0;//表示顶点V3三已经并入U

2) 由于边(v2,v3)的权值小于closedge[1].lowcost,故需修改closedge[1]为边(v2,v 3)及其权值,同理修改closedge[4],closedge[5].

closedge[1].adjvex = 3.

closedge[1].lowcost = 5.

closedge[4].adjvex = 1.

closedge[4].lowcost = 5.

closedge[5].adjvex = 3.

closedge[5].lowcost = 6.

以此类推,直至U = V;

下图给出了在用上述算法构造网图7.16的最小生成树的过程中:

Prim 算法实现:

按照算法框架:

(1)U={u1},T={};

(2)while (U≠V)do

(u,v)=min{wuv;u∈U,v∈V-U }

T=T+{(u,v)}

U=U+{v}

(3)结束。

当无向网采用二维数组存储的邻接矩阵存储时,Prim 算法的C 语言实现为:

假设网中有n个顶点,则第一个进行初始化的循环语句的频度为n,第二个循环语句的频度为n-1。其中有两个内循环:其一是在closedge[v].lowcost中求最小值,其频度为n-1;其二是重新选择具有最小代价的边,其频度为n。由此,普里姆算法的时间复杂度为O (n2),与网中的边数无关,因此适用于求边稠密的网的最小生成树。

2.克鲁斯卡尔(Kruskal) :由点到线,适合边稀疏的网。时间复杂度:O(e * loge) Kruskal 算法是一种按照网中边的权值递增的顺序构造最小生成树的方法。

基本思想是:

1) 设无向连通网为G=(V,E),令G 的最小生成树为T,其初态为T=(V,{}),即开始时,最小生成树T 由图G 中的n 个顶点构成,顶点之间没有一条边,这样T 中各顶点各自构成一个连通分量。

2) 在E中选择代价最小的边,若该边依附的顶点落在T中不同的连通分量,则将此边加入到T中,否则舍弃此边而选择下一条边(若该边依附的两个顶点属于同一个连通分量,则舍去此边,以免造成回路)。依此类推,当T 中的连通分量个数为1 时,此连通分量便为G 的一棵最小生成树。

按照Kruskal 方法构造最小生成树的过程如图所示:

在构造过程中,按照网中边的权值由小到大的顺序,不断选取当前未被选取的边集中权值最小的边。依据生成树的概念,n 个结点的生成树,有n-1 条边,故反复上述过程,直到选取了n-1 条边为止,就构成了一棵最小生成树。

Kruskal 算法的实现:

算法的框架:

构造非连通图T=(V,{})

k = i= 0;//k为边数

while(k《< n-1) {

i++;

检查边E中第i条边的权值

最小边(u,v)

若(u,v)加入T不是T产生回路,

则(u,v)加入T,且k++

}

c语言实现:

C 语言实现Kruskal 算法,其中函数Find 的作用是寻找图中顶点所在树的根结点在数组father 中的序号。需说明的是,在程序中将顶点的数据类型定义成整型,而在实际应用中,可依据实际需要来设定。

2. AOV网与拓扑排序:由偏序定义得到拓扑有序的操作便是拓扑排序。建立模型是AOV网

2. 1.AOV网(Activity on vertex network)

所有的工程或者某种流程可以分为若干个小的工程或阶段,这些小的工程或阶段就称为活动。若以图中的顶点来表示活动,有向边(弧)表示活动之间的优先关系,则这样活动在顶点上的有向图称为AOV 网(Activity On Vertex Network)。在AOV 网中,若从顶点i 到顶点j之间存在一条有向路径,称顶点i是顶点j的前驱,或者称顶点j 是顶点i的后继。若是图中的弧,则称顶点i是顶点j 的直接前驱,顶点j 是顶点i 的直接后驱。

AOV 网中的弧表示了活动之间存在的制约关系。例如,计算机专业的学生必须完成一系列规定的基础课和专业课才能毕业。学生按照怎样的顺序来学习这些课程呢?这个问题可以被看成是一个大的工程,其活动就是学习每一门课程。这些课程的名称与相应代号如表所示。

课程之间的优先关系图:

该图的拓扑有序系列:

注意:

在AOV-网中不应该出现有向环,因为存在环意味着某项活动应以自己为先决条件。若设计

出这样的流程图,工程便无法进行。而对程序的数据流图来说,则表明存在一个死循环。因此,对给定的AOV-网应首先判定网中是否存在环。检测的办法是对有向图构造其顶点的拓扑有序序列,若网中所有顶点都在它的拓扑有序序列中,则该AOV-网中必定不存在环。

2.2.拓扑排序

离散数学基础知识:

首先复习一下离散数学中的偏序集合与全序集合两个概念。

若集合A 中的二元关系R 是自反的、非对称的和传递的,则R 是A 上的偏序关系。集合A 与关系R 一起称为一个偏序集合。

若R 是集合A 上的一个偏序关系,如果对每个a、b∈A 必有aRb 或bRa ,则R 是A上的全序关系。集合A 与关系R 一起称为一个全序集合。

直观地看,偏序指集合中仅有部分成员之间可比较,而全序指集合中全体成员之间均可比较。

[例如],图7.25所示的两个有向图,图中弧(x,y)表示x≤y,则(a)表示偏序,(b)表示全序。若在(a)的有向图上人为地加一个表示v2≤v3的弧(符号“≤”表示v2领先于v3),则(a)表示的亦为全序,且这个全序称为拓扑有序(Topological Order),而由偏序定义得到拓扑有序的操作便是拓扑排序。

2.3 拓扑排序算法

对AOV 网进行拓扑排序的方法和步骤是:

1、从AOV 网中选择一个没有前驱的顶点(该顶点的入度为0)并且输出它;

2、从网中删去该顶点,并且删去从该顶点发出的全部有向边;

3、重复上述两步,直到剩余的网中不再存在没有前驱的顶点为止。

这样操作的结果有两种:一种是网中全部顶点都被输出,这说明网中不存在有向回路;另一种就是网中顶点未被全部输出,剩余的顶点均不前驱顶点,这说明网中存在有向回路。以下图(a)中的有向图为例,图中v1,和v6没有前驱,则可任选一个。假设先输出v6, 在删除v6及弧之后,只有顶点v1没有前驱,则输出vl且删去vl及弧< v1,v2>、,之后v3和v4都没有前驱。依次类推,可从中任选一个继续进行。最后得到该有向图的拓扑有序序列为:

v6 - v1 - v4 - v3 - v2 - v5

图AOV-网及其拓扑有序序列产生的过程

(a)AOV-网;(b)输出v6之后;(c)输出v1之后;(d)输出v4之后;(e)输出v3之后;(f)输出v2之后

为了实现上述算法,对AOV 网采用邻接表存储方式,并且邻接表中顶点结点中增加一个记录顶点入度的数据域,即顶点结构设为:

顶点表结点结构的描述改为:

typedef struct vnode{ /*顶点表结点*/

int count /*存放顶点入度*/

VertexType vertex; /*顶点域*/

EdgeNode * firstedge; /*边表头指针*/

}VertexNode;

当然也可以不增设入度域,而另外设一个一维数组来存放每一个结点的入度。算法中可设置了一个堆栈,凡是网中入度为0 的顶点都将其入栈。为此,拓扑排序的算法步骤为:

1、将没有前驱的顶点(count 域为0)压入栈;

2、从栈中退出栈顶元素输出,并把该顶点引出的所有有向边删去,即把它的各个邻接顶点的入度减1;

3、将新的入度为0 的顶点再入堆栈;

4、重复②~④,直到栈为空为止。此时或者是已经输出全部顶点,或者剩下的顶点中没有入度为0 的顶点。

为了避免重复检测入度为零的顶点,可另设一栈暂存所有入度为零的顶点。

3. 关键路径(AOE网):在AOE-网中有些活动可以并行地进行,所以完成工程的最短时间是从开始点到完成点的最长路径的长度,路径长度最长的路径叫做关键路径(Critical Path)。

3.1AOE网:(Activity on edge network)

AOE网示意图若在带权的有向图中,以顶点表示事件,以有向边表示活动,边上的权值表示活动的开销(如该活动持续的时间),则此带权的有向图称为AOE网。

3.2 实际问题:

如果用AOE网来表示一项工程,那么,仅仅考虑各个子工程之间的优先关系还不够,更多的是关心整个工程完成的最短时间是多少;哪些活动的延期将会影响整个工程的进度,而加速这些活动是否会提高整个工程的效率。因此,通常在AOE网中列出完成预定工程计划所需要进行的活动,每个活动计划完成的时间,要发生哪些事件以及这些事件与活动之间的关系,从而可以确定该项工程是否可行,估算工程完成的时间以及确定哪些活动是影响工程进度的关键。

如图是一个假想的有11项活动的AOE-网:

其中有9个事件v1,v2,v3,…,v9,每个事件表示在它之前的活动已经完成,在它之后的活动可以开始。如v1表示整个工程开始,v9表示整个工程结束,v5表示a4和a5已经完成,a7和a8可以开始。与每个活动相联系的数是执行该活动所需的时间。比如,活动a 1需要6天,a2需要4天等。

和AOV-网不同,对AOE-网有待研究的问题是:

(1)完成整项工程至少需要多少时间?

(2)哪些活动是影响工程进度的关键?

3.3 关键路径

由于在AOE-网中有些活动可以并行地进行,所以完成工程的最短时间是从开始点到完成点的最长路径的长度(这里所说的路径长度是指路径上各活动持续时间之和,不是路径上弧的数目)。路径长度最长的路径叫做关键路径(Critical Path)。

AOE网有关的概念:

1)路径长度:路径上各个活动的持续时间之和

2)完成工程的最短时间:由于AOE网中有活动是并行进行的,所以完成工程的最短时间就是从开始点到完成点的最长路劲长度。

3)活动最早开始时间(earlist time)(e(i)):从开始点到顶点vi的最长路径称为事件vi 的最早发生时间。这个时间决定了以vi为尾的弧表示的活动的最早开始时间.

4)活动最晚开始时间(latest time)(l(i)):在不推迟整个工程完成的前提下,活动最迟开始的时间

5)完成活动的时间余量:该活动的最迟开始时间减去最早开始时间

6)关键路径(critical path):路径长度最长的路径称为关键路径

7)关键活动(critical activity):关键路径上的活动称为关键活动,关键活动的特点是:e

(i)=l(i)分析关键路径的目的就是辨别在整个工程中哪些是关键活动,以便争取提高关键活动的工作效率,缩短整个工程的工期。

3.4 解决方案:

由上分析可知,辨别关键活动就是要找e(i)=l(i)的活动。为了求得AOE-网中活动的e(i)

和l(i),首先求事件的最早发生时间ve(j)和最迟发生时间vl(j)。如果活动ai由弧表示,其持续时间记为dut(),则有如下关系:

e(i ) = ve(j)

l(i) = vl(k)-dut()

求ve(j)和vl(j)需分两步进行:

(1)从ve(0)开始向前递推

其中,T是所有以第j个顶点为头的弧的结合。

(2)从vl(n-1)=ve(n-1)起向后递推

其中,S是所有以第i个顶点为尾的弧的集合。

这两个递推公式的计算必须分别在拓扑有序和逆拓扑有序的前提下进行。也就是说ve(j-1)必须在vj 的所有前驱的最早发生时间求得之后才能确定,而vl(j-1)则必须在vj的所有后继的最迟发生时间求得之后才能确定。因此,可以在拓扑排序的基础上计算ve(j-1)和vl(j-1)。

3.5 关键路径的算法:

(1)输入e条弧,建立AOE-网的存储结构;

(2)从源点v0出发,令ve[0]=0,按拓扑有序求其余各顶点的最早发生时间ve[i] (1≤i≤n-1)。如果得到的拓扑有序序列中顶点个数小于网中顶点数n,则说明网中存在环,不能求关键路径,算法终止;否则执行步骤(3)。

(3)从汇点vn出发,令vl[n-1]=ve[n-1],按逆拓扑有序求其余各顶点的最迟发生时间vl

[i](n-2≥i≥0);

(4)根据各顶点的ve和vl值,求每条弧s的最早开始时间e(s)和最迟开始时间 l(s)。若某条弧满足条件e(s)=l(s),则为关键活动。

先将拓扑排序算法:TopologicalOrder()

CriticalPath便为求关键路径的算法:

考研数据结构必须掌握的知识点与算法-打印版

《数据结构》必须掌握的知识点与算法 第一章绪论 1、算法的五个重要特性(有穷性、确定性、可行性、输入、输出) 2、算法设计的要求(正确性、可读性、健壮性、效率与低存储量需求) 3、算法与程序的关系: (1)一个程序不一定满足有穷性。例操作系统,只要整个系统不遭破坏,它将永远不会停止,即使没有作业需要处理,它仍处于动态等待中。因此,操作系统不是一个算法。 (2)程序中的指令必须是机器可执行的,而算法中的指令则无此限制。算法代表了对问题的解,而程序则是算法在计算机上的特定的实现。 (3)一个算法若用程序设计语言来描述,则它就是一个程序。 4、算法的时间复杂度的表示与计算(这个比较复杂,具体看算法本身,一般关心其循环的次数与N的关系、函数递归的计算) 第二章线性表 1、线性表的特点: (1)存在唯一的第一个元素;(这一点决定了图不是线性表) (2)存在唯一的最后一个元素; (3)除第一个元素外,其它均只有一个前驱(这一点决定了树不是线性表) (4)除最后一个元素外,其它均只有一个后继。 2、线性表有两种表示:顺序表示(数组)、链式表示(链表),栈、队列都是线性表,他们都可以用数组、链表来实现。 3、顺序表示的线性表(数组)地址计算方法: (1)一维数组,设DataType a[N]的首地址为A0,每一个数据(DataType类型)占m个字节,则a[k]的地址为:A a[k]=A0+m*k(其直接意义就是求在数据a[k]的前面有多少个元素,每个元素占m个字节) (2)多维数组,以三维数组为例,设DataType a[M][N][P]的首地址为A000,每一个数据(DataType 类型)占m个字节,则在元素a[i][j][k]的前面共有元素个数为:M*N*i+N*j+k,其其地址为: A a[i][j][k]=A000+m*(M*N*i+N*j+k); 4、线性表的归并排序: 设两个线性表均已经按非递减顺序排好序,现要将两者合并为一个线性表,并仍然接非递减顺序。可见算法2.2 5、掌握线性表的顺序表示法定义代码,各元素的含义; 6、顺序线性表的初始化过程,可见算法2.3 7、顺序线性表的元素的查找。 8、顺序线性表的元素的插入算法,注意其对于当原来的存储空间满了后,追加存储空间(就是每次增加若干个空间,一般为10个)的处理过程,可见算法2.4 9、顺序线性表的删除元素过程,可见算法2.5 10、顺序线性表的归并算法,可见算法2.7 11、链表的定义代码,各元素的含义,并能用图形象地表示出来,以利分析; 12、链表中元素的查找 13、链表的元素插入,算法与图解,可见算法2.9 14、链表的元素的删除,算法与图解,可见算法2.10 15、链表的创建过程,算法与图解,注意,链表有两种(向表头生长、向表尾生长,分别用在栈、队列中),但他们的区别就是在创建时就产生了,可见算法2.11 16、链表的归并算法,可见算法2.12 17、建议了解所谓的静态单链表(即用数组的形式来实现链表的操作),可见算法2.13 18、循环链表的定义,意义 19、循环链表的构造算法(其与单链表的区别是在创建时确定的)、图解

青岛版小学数学知识结构脉络图

青岛版小学数学知识结构脉络图 同和小学 魏建 6.常见的量 (1)认识长度、面积、体积、容积、质量、时间等单位和单位间的进率 (2)不同单位的改写 数与运算 数与 代数 比与例比 式与方程 常见的量 1.数的认识 (1)整数、小数、分数、百分数和负数的意义、读写,认识数的组成、数位和计算单位。 (2)整数、小数、分数、百分数和负数的大小比较。 (3)大数的改写,分数、小数、百分数的互化。 (4)因数和倍数的认识,知道奇数、偶数、合数、质数的概念,会求最小公倍数合作大公因数。 2.数的运算 (1)整数、小数、分数、百分数的四则混合运算算理和计算方法 (2)四则混合运算的顺序和简便计算 (3)用四则混合运算解决问题 3.运算定律和基本性质 (1)认识加法运算定律、乘法运算定律 (2)减法和除法的性质 (3)积、商的变化规律 (4)分数、小数、比和比例的基本性质 4.比与比例 (1)比和比例的认识 (2)比例的基本性质,利用比例的基本性质解比例 (3)正比例和反比例的意义和判断,用正、反比例解决实际问题 (4)比例尺=图上距离:实际距离,比例尺的分类 5.式与方程 (1)用字母表示数、数量关系和公式 (2)方程和等式的意义 (3)等式的基本性质,以及用等式的基本性质解方程 (4)列方程解决问题

平面图形 图形与变换 图形与位置1.线 (1)认识直线、射线和线段(2)认识平行与垂直 (3) 图形 与几何立 体 图 形 2.角 (1)认识角 (2)角的大小和分类 (3)量角和画角 3.多边形的认识 (1)认识三角形,知道三角形的特性、三角形的分类和内角和 (2)认识正方形、长方形 (3)认识平行四边形和梯形的特征 (4)认识圆的各部分组成及相互关系 4.求平面图形的周长和面积 (1)求长方形、正方形、三角形和圆的周长 (2)求三角形、正方形、长方形、平行四边形、梯形和圆的面积 5.立体图形 (1)认识长方体、正方体、圆柱、圆锥的特征 (2)求长方体、正方体、圆柱的表面积 (3)求长方体、正方体、圆柱、圆锥的体积或容积 (8) 6.图形变换 (1)轴对称图形和轴对称变换 (2)平移和旋转现象及作图 (3)图形按比例放大或缩小 (9) 7.位置 (1)认识8个方向 (2)用方向和距离确定物体的位置 (3)用数对确定物体的位置 (10)

考研政治框架图(整理可打印)

马克思主义基本原理概论 绪论一、马克思主义是关于无产阶级和人类解放的科学 -二、世界的物质性及发展规律(唯物论、辩证法) 马克思主义哲学< 三、认识世界和改造世界(认识论) I四、人类社会及其发展规律(历史唯物论) 五、资产主义的形成及其本质(资本主义本质论) 六、资本主义发展的历史进程(资本主义发展 论) 七、社会主义社会及其发展 \ 科学社会主义J I八、共产主义是人类最崇高的社会理想 厂定义方式一一根本特性一一存在形态 怖击沖运动是物质的存在方式运动和静止的关系 物质观s时空是运动的物质的存在方式一一时空绝对性和相对性一一时空无限性社会的物 质性一一从实践岀发理解世界 I世界物质统一性原理一一一切从实际出发 .意识是物质世界长期发展的产物一一三个阶段一一类似感觉的反应特性一一语言外壳 意识的本质意识的主观形式和客观内容意识的主观性虚假映像 意识的能动作用一一目的性、创造性、对象性、生理调控性一一能动作用的条件性 (主观能动性和客观规律性的辩证关系 实践观 实践的本质 实践的基本特征 实践的基本形式 实践是人的存在方式实 践是社会生活的本质 正确的实践观点是人与自然统一的关键

辩证法考点 普遍联系- 联系的普遍性、客观性、多样性 - 方法论意义 两大特征 . 永恒发展-运动变化发展-新事物不可战胜原理-过程论 广矛盾范畴- 矛盾对立面- 矛盾关系 对立统一规律 L r 矛盾基本属性 同一性 斗争性 内 容/ 」 普遍性 令、矛盾问题的精髓 1特殊性 L 原因和结果 必然性和偶然性 五对范畴彳本质和现象 可能和现实 -形式和内容 厂归纳和演绎 四个方法_ 分析和综合 四丨方法 < 具体和抽 象 逻辑和历史的统一 ?辩证思维方法 认识论考点 主体客体中介 限定和超越的关系 真理及其客观性一一真理的形式主观性一一真理的一元性 真理观.绝对真理和相对真理的关系一一思维和至上性非至上性 真理和谬误的关系一一真理的具体性 -实理尺度真价值准度一逻辑值明畴—其特性准的确定性和不确定性 价值论 价值评价及其特点一一价值评价标准一一价值评价功能一一价值观 J 真理原则与价值原则一一真理与价值具体的历史的统一 历史唯物论考点 三大规律 亠、丄 辩 证 I 两点论重点论的统一 {主要的盾和次面和盾要方面 量变质变规律- 质、量、度。适度原则 - 质变和量变及其辩证关系 I 否定之否定规律- 肯定、否定- 辩证的否定观 认识的基础Y 5践与认识的辩证关系 : 动力标准目的 认识对实践的能动作用一一认识指导一一理论指导 '认识的目的 认识的主体和客体 主客体作用的三环节 实践对认识的决定作用一一来源

华南师范大学计算机学院925数据结构历年考研真题汇编34p

目 录 第一部分 历年考研真题汇编 .......................................................................................................................... 2000年华南师范大学计算机学院925数据结构考研真题 ................................................................. 1999年华南师范大学计算机学院925数据结构考研真题 ................................................................. 第二部分 兄弟院校真题汇编 .......................................................................................................................... 2011年厦门大学845数据结构考研真题 ............................................................................................... 2009年厦门大学845数据结构考研真题 ............................................................................................... 2008年厦门大学845数据结构考研真题 ............................................................................................... 2006年厦门大学496数据结构考研真题 ............................................................................................... 华南师范大学计算机学院 925数据结构历年考研真题汇编 最新资料,WORD 格式,可编辑修改!

2018考研计算机:数据结构重难点及复习建议

2018考研计算机:数据结构重难点及 复习建议 新东方在线推荐: 一、重难点解析和复习建议 数据结构的考查目标定位为掌握数据结构的基本概念、基本原理和基本方法,掌握数据的逻辑结构、存储结构以及基本操作的实现;能够对算法进行基本的时间复杂度和空间复杂度的分析;能够运用数据结构的基本原理和方法进行问题的分析求解,具备采用C、C++或JAVA语言设计程序与实现算法的能力。 当然,考生也不必因此而专门复习一遍C或C++程序设计,毕竟复习时间有限,而且数据结构要求的重点在于算法设计的能力,而不是编写代码的能力,因此,只要能用类似伪代码的形式把思路表达清楚就行,不用强求写出一个没有任何语法错误的程序。 下面我们来解析一下知识点: 线性表这一章里面的知识点不多,但要做到深刻理解,能够应用相关知识点解决实际问题。链表上插入、删除节点时的指针操作是选择题的一个常考点,诸如双向链表等一些相对复杂的链表上的操作也是可以出现在综合应用题当中的。 栈、队列和数组可以考查的知识点相比链表来说要多一些。最基本的,是栈与队列FILO和FIFO的特点。比如针对栈FILO的特点,进栈出栈序列的问题常出现在选择题中。其次,是栈和队列的顺序和链式存储结构,这里一个常考点是不同存储结构下栈顶指针、队首指针以及队尾指针的操作,特别是循环队列判满和判空的2种判断方法。再次,是特殊矩阵的压缩存储,这个考点复习的重点可以放在二维矩阵与一维数组相互转换时,下标的计算方法,比如与对角线平行的若干行上数据非零的矩阵存放在一维数组后,各个数据点相应的下标的计算。这一章可能的大题点,在于利用堆栈或队列的特性,将它们作为基础的数据结构,支持实际问题求解算法的设计,例如用栈解决递归问题,用队列解决图的遍历问题等等。 树和二叉树:这一章中我们从顺序式的数据结构,转向层次式的数据结构,要掌握树、二叉树的各种性质、树和二叉树的不同存储结构、森林、树和二叉树之间的转换、线索化二叉树、二叉树的应用(二叉排序树、平衡二叉树和Huffman树),重点要熟练掌握的,是森林、树以及二叉树的前中后三种遍历方式,要能进行相应的算法设计。这一部分是数据结构考题历来的重点和难点,复习时要特别关注。一些常见的选择题考点包括:满二叉树、完全二叉树节点数的计算,由树、二叉树的示意图给出相应的遍历序列,依据二叉树的遍历序列还原二叉树,线索化的实质,计算采用不同的方法线索化后二叉树剩余空指针域的个数,平衡二叉树的定义、性质、建立和四种调整算法以及回溯法相关的问题。常见的综合应用题考点包括:二叉树的遍历算法,遍历基础上针对二

计算机数据结构考研真题及其答案

第1章绪论 一、选择题 1. 算法的计算量的大小称为计算的()。【北京邮电大学2000 二、3 (20/8分)】 A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】 A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1),它必须具备(2)这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】 4.一个算法应该是()。【中山大学 1998 二、1(2分)】 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性D.A和C. 5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为()两大类。【武汉交通科技大学 1996 一、4(2分)】 A.动态结构、静态结构 B.顺序结构、链式结构

考研政治整体框架图

考研政治整体框架图

第一篇马克思主义基本原理概论 哲学: 马克思主义的产生和发展 绪论 马克思主义科学性与革命性的统一努力学习和自觉运用马克思主义 物质世界的客观存在 社会生活在本质上是实践的 联系和发展的普遍性 对立统一规律是事物发展的根本规律唯物辩证法是认识世界和改造世界的根本方法 马客观规律性与主观能动性 克思实践是认识的基础 基认识是主体对客体的能动的反映本认识运动的基本规律 原真理的客观性、绝对性、相对性(真理问题本身的唯物论和辩证法)理真理与价值真理的检验标准(真理检验标准的唯物论和辩证法)概真理与价值的统一 论 一切从实际出发 在实践中检验和发展真理 社会存在与社会意识

思生产剩余价值是资本主义生产方式的绝对规律主义政资本主义的政治制度和意识形态 资本主义的国家、政治制度及其本质治资本主义的意识形态及其本质 经济资本主义从自由竞争到垄断学垄断资本主义的发展原资本主义的发展的历史进程 经济全球化及其后果 理 当代资本主义的新变化 当代资本主义新变化的原因和实质 资本主义的历史地位

资本主义为社会主义所代替的历史必然性 社会主义从空想到科学、从理论到实践的发展列宁、斯大林领导下的苏维埃俄国对社会主义的探索 社会主义制度的建立社会主义从一国到多国的发展 无产阶级专政和社会主义民主 在实践中深化对社会主义基本特征的认识 社会主义在实践中发展和完善 经济文化相对落后的国家建设社会主义的艰巨性和长期性科社会主义发展道路的多样性学社会主义在实践探索中曲折前进 社马克思主义政党是新型的革命政党 会马克思主义政党在社会主义事业中的地位和作用马克思主义政党是社会主义革命和建设的领导核心 主义 马克思主义经典作家对共产主义社会的展望 共产主义社会的基本特征 共产主义是人类最共产主义社会是历史发展的必然趋势 实现共产主义是人类最伟大的事业崇高的社会理想 社会主义是走向共产主义的必由之路 在建设中国特色社会主义的进程中为实现共产主义而奋斗 树立共产主义远大理想,积极事业

考研数据结构图的必背算法及知识点

1.最小生成树:无向连通图的所有生成树中有一棵边的权值总和最小的生成树 1.1 问题背景: 假设要在n个城市之间建立通信联络网,则连通n个城市只需要n—1条线路。这时,自然会考虑这样一个问题,如何在最节省经费的前提下建立这个通信网。在每两个城市之间都可以设置一条线路,相应地都要付出一定的经济代价。n个城市之间,最多可能设置n(n-1)/ 2条线路,那么,如何在这些可能的线路中选择n-1条,以使总的耗费最少呢? 1.2 分析问题(建立模型): 可以用连通网来表示n个城市以及n个城市间可能设置的通信线路,其中网的顶点表示城市,边表示两城市之间的线路,赋于边的权值表示相应的代价。对于n个顶点的连通网可以建立许多不同的生成树,每一棵生成树都可以是一个通信网。即无向连通图的生成树不是唯一的。连通图的一次遍历所经过的边的集合及图中所有顶点的集合就构成了该图的一棵生成树,对连通图的不同遍历,就可能得到不同的生成树。 图 G5无向连通图的生成树为(a)、(b)和(c)图所示: G5 G5的三棵生成树:

可以证明,对于有n 个顶点的无向连通图,无论其生成树的形态如何,所有生成树中都有且仅有n-1 条边。 1.3最小生成树的定义: 如果无向连通图是一个网,那么,它的所有生成树中必有一棵边的权值总和最小的生成树,我们称这棵生成树为最小生成树,简称为最小生成树。 最小生成树的性质: 假设N=(V,{ E}) 是个连通网,U是顶点集合V的一个非空子集,若(u,v)是个一条具有最小权值(代价)的边,其中, 则必存在一棵包含边(u,v)的最小生成树。 1.4 解决方案: 两种常用的构造最小生成树的算法:普里姆(Prim)和克鲁斯卡尔(Kruskal)。他们都利用了最小生成树的性质 1.普里姆(Prim)算法:有线到点,适合边稠密。时间复杂度O(N^2)

2018考研政治大纲

2018考研政治大纲

2018年考研政治大纲 2018年全国硕士研究生招生考试思想政治理论考试大纲 Ⅰ.考试性质 思想政治理论考试是为高等院校和科研院所招收硕士研究生而设置的具 有选拔性质的全国招生考试科目,其目的是科学、公平、有效地测试考生掌握大学本科阶段思想政治理论课的基本知识、基本理论,以及运用马克思主义的立场、观点和方法分析和解决问题的能力,评价的标准是高等学校本科毕业生能达到的及格或及格以上水平,以保证被录取者具有基本的思想政治理论素质,并有利于各高等院校和科研院所在专业上择优选拔。 Ⅱ.考查目标 思想政治理论考试涵盖马克思主义基本原理概论、毛泽东思想和中国特色社会主义理论体系概论、中国近现代史纲要、思想道德修养与法律基础、形势与政策、当代世界经济与政治等高等学校思想政治理论课课程。要求考生: 1.准确地再认或再现学科的有关知识。 2.准确、恰当地使用本学科的专业术语,正确理解和掌握学科的有关范畴、规律和论断。 3.运用有关原理,解释和论证某种观点,辨明理论是非。 4.运用马克思主义的立场、观点和方法,比较和分析有关社会现象或实际问题。 5.结合特定的历史条件或国际、国内政治经济和社会生活背景,认识和评价有关理论问题和实际问题。 Ⅲ.考试形式和试卷结构 一、试卷满分及考试时间 本试卷满分为100分,考试时间为180分钟。 二、答题方式 答题方式为闭卷、笔试。 三、试卷内容结构

2.事物的普遍联系与发展 联系的内涵和特点。事物普遍联系原理的方法论意义。联系与运动、变化、发展。发展的实质。发展与过程。联系和发展的基本环节。 唯物辩证法的实质和核心。矛盾的同一性和矛盾的斗争性及其在事物发展中的作用。矛盾同一性和斗争性原理的方法论意义。矛盾的普遍性和特殊性的含义及相互关系。矛盾普遍性和特殊性辩证关系原理的意义。 事物存在的质、量、度。事物发展的量变和质变及其辩证关系。事物发展过程中的肯定和否定。辩证否定观的基本内容。否定之否定规律及其意义。 3.唯物辩证法是认识世界和改造世界的根本方法 客观辩证法与主观辩证法的统一。唯物辩证法是伟大的认识工具。矛盾分析方法是根本的认识方法。辩证思维方法与现代科学思维方法。以唯物辩证法为指导,不断增强思维能力。协调推进"四个全面"的战略布局和新发展理念对唯物辩证法的创造性运用。 (三)认识的本质及其发展规律 1.认识与实践 实践的本质、基本特征与基本形式。实践和认识活动中的主体、客体与中介。实践在认识中的决定作用。 唯物主义反映论与唯心主义先验论的对立。辩证唯物主义能动反映论与旧唯物主义直观反映论的区别。能动反映论的基本特点 认识过程中感性认识和理性认识及其相互关系。从感性认识向理性认识的飞跃。认识过程中的理性因素和非理性因素。从理性认识到实践的飞跃。认识的反复性和无限性。认识和实践的具体的历史的统一。 2.真理与价值 真理的客观性、绝对性和相对性。真理与谬误、成功与失败。实践是检验真理的唯一标准。实践标准的确定性与不确定性。 价值及其特征。价值评价及其特点和功能。树立正确的价值观。真理和价值的辩证统一关系。 3.认识世界与改造世界 认识世界和改造世界及其辩证关系。认识世界和改造世界必须勇于创新。自由与必然。一切从实际出发,实事求是。

计算机考研数据结构真题汇总

一.选择题篇 1. 算法的计算量的大小称为计算的()。【北京邮电大学2000 二、3 (20/8分)】 A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】 A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1)它必须具备(2)这三个特性。【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 4.一个算法应该是()。【中山大学 1998 二、1(2分)】 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C. 5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间

(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为()两大类。【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是()。【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)A.栈 B. 哈希表 C. 线索树 D. 双向链表 11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】FOR i:=1 TO n DO FOR j:=1 TO n DO x:=x+1; A. O(2n) B.O(n) C.O(n2) D.O(log2n)

最新数据结构考研大纲资料

数据结构考研大纲 【硕士研究生考试】 Ⅰ考查目标 计算机学科专业基础综合考试涵盖数据机构、计算机组成原理、操作系统和计算机网络等学科专业基础课程。要求考生比较系统地掌握上述专业基础课程的概念、基本原理和方法,能够运用所学的基本原理和基本方法分析、判断和解决有关理论问题和实际问题。 Ⅱ考试形式和试卷结构 一、试卷满分及考试时间本试卷满分为150分,考试时间为180分钟 二、答题方式答题方式为闭卷、笔试 三、试卷内容结构 数据结构45分计算机组成原理45分 操作系统35分计算机网络25分 四、试卷题型结构单项选择题80分(40小题,每小题2分)综合应用题70分 数据结构 【考查目标】 1.理解数据结构的基本概念;掌握数据的逻辑结构、存储结构及其差异,以及各种基本操作的实现。 2.掌握基本的数据处理原理和方法的基础上,能够对算法进行设计与分析。 3.能够选择合适的数据结构和方法进行问题求解。 一、线性表 (一)线性表的定义和基本操作 (二)线性表的实现 1.顺序存储结构 2.链式存储结构 3.线性表的应用 二、栈、队列和数组 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构 (三)栈和队列的链式存储结构 (四)栈和队列的应用 (五)特殊矩阵的压缩存储 三、树与二叉树 (一)树的概念 (二)二叉树 1.二叉树的定义及其主要特征 2.二叉树的顺序存储结构和链式存储结构 3.二叉树的遍历 4.线索二叉树的基本概念和构造 5.二叉排序树 6.平衡二叉树 (三)树、森林

1.书的存储结构 2.森林与二叉树的转换 3.树和森林的遍历 (四)树的应用 1.等价类问题 2.哈夫曼(Huffman)树和哈夫曼编码 四、图 (一)图的概念 (二)图的存储及基本操作 1. 邻接矩阵法 2. 邻接表法 (三)图的遍历 1. 深度优先搜索 2. 广度优先搜索 (四)图的基本应用及其复杂度分析 1. 最小(代价)生成树 2. 最短路径 3. 拓扑排序 4. 关键路径 五、查找 (一)查找的基本概念 (二)顺序查找法 (三)折半查找法 (四)B-树 (五)散列(Hash)表及其查找(六)查找算法的分析及应用 六、内部排序 (一)排序的基本概念 (二)插入排序 1. 直接插入排序 2. 折半插入排序 (三)气泡排序(bubble sort)(四)简单选择排序 (五)希尔排序(shell sort)(六)快速排序 (七)堆排序 (八)二路归并排序(merge sort)(九)基数排序 (十)各种内部排序算法的比较(十一)内部排序算法的应用

计算机考研数据结构统考历年真题

目前刚整理了2009-2015的试题过几天2016的也会上传上去 希望对你有帮助。。。。。。。 2009 1.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是 A.栈 B.队列 C.树 D.图 2.设栈S和队列Q的初始状态均为空,元素abcdefg依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是bdcfeag,则栈S的容量至少是 A.1 B.2 C.3 D.4 3.给定二叉树图所示。设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。若遍历后的结点序列为3,1,7,5,6,2,4,则其遍历方式是 A.LRN B.NRL C.RLN D.RNL 4.下列二叉排序树中,满足平衡二叉树定义的是 5.已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则完全二叉树的结点个数最多是 A.39 B.52 C.111 D.119 6.将森林转换为对应的二叉树,若在二叉树中,结点u是结点v的父结点的

父结点,则在原来的森林中,u和v可能具有的关系是I.父子关系 II.兄弟关系 III.u的父结点与v的父结点是兄弟关系 A.只有II B.I和II C.I和III D.I、II和III 7.下列关于无向连通图特性的叙述中,正确的是 I.所有顶点的度之和为偶数 II.边数大于顶点个数减1 III.至少有一个顶点的度为1 A.只有I B.只有II C.I和II D.I和III 8.下列叙述中,不符合m阶B树定义要求的是 A.根节点最多有m棵子树 B.所有叶结点都在同一层上 C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接 9.已知关键序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后得到的小根堆是 A.3,5,12,8,28,20,15,22,19 B.3,5,12,19,20,15,22,8,28 C.3,8,12,5,20,15,22,28,19 D.3,12,5,8,28,20,15,22,19 10.若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是 A.起泡排序 B.插入排序 C.选择排序 D.二路归并排序 41.(10分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。假定从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法:

数据结构考研必背算法5星

数据结构考研必背算法5星 文档说明:本文档是针对考研专业课《数据结构》所编写的,是对考研数据结构的核心算法进行总结,我们知道,不管是统考还是非统考,都会涉及至少10分的算法题(非统考至少25分),而这些题的答案都是在一些经典算法的思想上进行改进的,本文总结出必须要熟练掌握的算法,这些算法不管是考研初期还是冲刺,都应该高度重视,只要对这些代码进行熟练掌握,才能随机应变,希望对大家有所帮助;

线性表 1.逆转顺序表中的所有元素 void Reverse(int A[ ],int n){ int i,t; for(i=0;inext; while (P!=NULL){ if(p->data == X){ q->next = p->next; free(p); p=q->next; }else{ q = p; p = p->next; } } if(L->data == X){ q = L; L = L->next; free(q); } } 自我总结: 3.删除不带头结点单链表L中所有值为X的结点(递归) void Del_X(Linklist &L,Elemtype X){ LNode *p; if(L==NULL) return ; if(L->data == X){ P = L; L = L->next; free(p); Del_X(L,X); }else{ Del_X(L->next,X); } } 自我总结: 4.删除带头结点单链表L中所有值为X 的结点 void Del_X(Linklist &L,Elemtype X){ LNode *p = L->next,*pre = L, *q; while(P!=NULL){ if(P->data == X){ q = p; p=p->next; pre->next = p; free(q); }else{ pre = p; p=p->next; } } } 注:本算法是在无序单链表中删除满足某种条件的所有结点;如:若是要删除介于max 和min之间的所有结点,只需将if语句改为if(p->data>min&&p->data

人教版六年级下册数学知识结构图[1]

例1:什么叫比例比例的意义 比例基本性质 2 例2例3:解比例 4:例5例6求实际、图上距离,比例尺 3:成正比例的量 4——例6:成反比例的量 7:正比例和反比例的比较 :圆锥的体积计算 例2:圆锥的重量计算 :填写统计表 :制作单式条形统计图 :制作复式条形统计图 数的改写 数的整除分数小数的基本性质 运算定律和简便算法 简易方程 例4:分数应用题 例5:用比例解应用题 质量单位 名数的改写 平面图形的周长和面积 立体图形的表面积和体积

1.比例:表示两个相等的式子叫做比例。 2.基本性质:在比例里,两个外项的积等于两个内项的积。这叫做比例的基本性质。 外项 3.组成比例的四个数,叫做比例的项。两端的两项叫做比例的外项,中间的两项叫做比例的内项。 4.两个数相除又叫做两个数的比, 5.比的前项除以比的后项所得商,叫做比值。 6.比例的意义: 两个比值相等的两个比,用等于连接起来 80:2=200:5 80:200=2:5 师:以上这些比中,有整数比也有小数比和分数比,只要两个比的比值相等,我们就可以用等号把它们连接起来。把两个比值相等的比用等号连接起来的式子叫比例式。这节课我们就来学习比例的意义。(板书课题) 师:通过学习要求同学们明确比例的意义,掌握组成比例的条件,并根据不同要求,正确地列出比例式。师:什么叫比例?(启发学生回答并板书:表示两个比相等的式子叫做比例。) 师:(1)比例是由几个比组成的?(两个) (2)是否任意的两个比都能组成比例呢?(不是) (3)组成比例的条件是什么?(比值相等) 师:只要两个比的比值相等,就可以连成比例式。这就是判断两个比是否组成比例的条件。 7.正比例和反比例的意义 正比例和反比例 - 正比例 1.、用文字来描述:两种相关联的量,一种量变化,另一种量也随着变化,如果这两种量相对应的两个数的比值(也就是商)一定,这两种量就叫做成正比例的量,它们的关系叫做正比例关系,正比例的图像是一条直线

考研《数据结构》复习知识点归纳

《数据结构》复习重点知识点归纳 一.数据结构的章节结构及重点构成 数据结构学科的章节划分基本上为:概论,线性表,栈和队列,串,多维数组和广义表,树和二叉树,图,查找,内排,外排,文件,动态存储分配。 对于绝大多数的学校而言,“外排,文件,动态存储分配”三章基本上是不考的,在大多数高校的计算机本科教学过程中,这三章也是基本上不作讲授的。所以,大家在这三章上可以不必花费过多的精力,只要知道基本的概念即可。但是,对于报考名校特别是该校又有在试卷中对这三章进行过考核的历史,那么这部分朋友就要留意这三章了。 按照以上我们给出的章节以及对后三章的介绍,数据结构的章节比重大致为: ·概论:内容很少,概念简单,分数大多只有几分,有的学校甚至不考。 ·线性表:基础章节,必考内容之一。考题多数为基本概念题,名校考题中,鲜有大型算法设计题,如果有,也是与其它章节内容相结合。 ·栈和队列:基础章节,容易出基本概念题,必考内容之一。而栈常与其它章节配合考查,也常与递归等概念相联系进行考查。 ·串:基础章节,概念较为简单。专门针对于此章的大型算法设计题很少,较常见的是根据KMP进行算法分析。 ·多维数组及广义表:基础章节,基于数组的算法题也是常见的,分数比例波动较大,是出题的“可选单元”或“侯补单元”。一般如果要出题,多数不会作为大题出。数组常与“查找,排序”等章节结合来作为大题考查。 ·树和二叉树:重点难点章节,各校必考章节。各校在此章出题的不同之处在于,是否在本章中出一到两道大的算法设计题。通过对多所学校的试卷分析,绝大多数学校在本章都曾有过出大型算法设计题的历史。 ·图:重点难点章节,名校尤爱考。如果作为重点来考,则多出现于分析与设计题型当中,可与树一章共同构成算法设计大题的题型设计。 ·查找:重点难点章节,概念较多,联系较为紧密,容易混淆。出题时可以作为分析型题目给出,在基本概念型题目中也较为常见。算法设计型题中可以数组结合来考查,也可以与树一章结合来考查。 ·排序:与查找一章类似,本章同属于重点难点章节,且概念更多,联系更为紧密,概念之间更容易混淆。在基本概念的考查中,尤爱考各种排序算法的优劣比较此类的题。算法设计大题中,如果作为出题,那么常与数组结合来考查。

数据结构精选考研试题

数据结构精选考研试题 [注]:编写程序可选用任一种高语言,算法描述可采用类语言,必要时加上注释一、回答下列问题:[20分] 1、算法的定义和性质2、为什么说数组与广义表是线性表的推广? 3、什么是结构化程序设计? 4、哈希方法的基本思想 5、给出一不稳定排序方法名称与实例二、构造结果:[24分] 确定x:=x+1语句在下面程序段中的频率,要求写出分析过程。for i:=1 to n do for j:=1 to I do for k:=1 to j do x:=x+1 画出对长度为8的有序表进行折半查找的判定树,并求其在等概率时查找成功的平均查找长度。已知一棵二叉树如右图,给出对这棵二叉树进行前序、中序、后序遍历的结果序列.假设用于通讯的电文仅8个字母组成,字母在电文中出现的频率

分别为{2,3,5,7,11,4,13,15},试为这8个字母设计哈夫曼编码.在地址空间为0~15的散列区中,对以下关键字序列构G造哈希表,关键字序列为,H(x)=[i/2] ,其中i为关键字中第一字母在字母表中的序号。要求用线性探测开放定址法处理冲突,并求出在等概率情况下查找成功的平均查找长度。构造有7个元素组成的线性表一实例,是进行快速排序时比较次数最少的初始排序。三、写一算法,完成对这棵二叉树的左右子树的交换,设二叉树以二叉链表作存储结构。[15分] 四、编写一非递归算法,对一棵二叉排序树实现中序遍历。[15分] 五、编写程序,完成下列功能:[15分] 1.读入整数序列,以整数0作为序列的结束标志,建立一个单链表。2.实现单链表原地逆转,即单链表中结点指针方向反转,反转操作不使用额外的链表结点,可使用临时工作单元。例:输入序列为:1,8,4,3,0 六、

人教版小学数学知识结构图

实用文档 文案大全小学数学知识结构图数与计算 数一数 1~5的认识和加减法 6~10的认识和加减法20以内的进位加法 一上 20以内的退位减法 数的认识(读、写、顺序、比较大小)

整十数加一位数相应的减法 100以内数的认识 100以内的加法和减法(一)整十数加、减整十数 两位数加一位数、整十数(不进位) 两位数减一位数、整十数(不退位) 两位数加一位数(进位)

两位数减一位数(退位) 两位数加、减两位数一下11~20各数的认识 实用文档 文案大全100以内的加法和减法(二)(笔算)两位数加、减两位数 表内乘法(一)乘、除法的初步认识 2~6的乘法口诀(乘加、乘减) 表内乘法(二) 7~9的乘法口诀 万以内数的认识 1000以内的数的认识 10000以内的数的认识 整百、整千数的加减法 万以内的加、减法(一)口算:两位数加、减两位数 笔算:几百几十加、减几百

表内除法(一)除法的初步认识 用2~6的乘法口诀 求商 表内除法(二)用7~9的乘法口诀求商 二下 实用文档 文案大全 有余数的除法

多位数乘一位数 分数的初步认识 口算:整十、整百、整千乘一位(估算) 笔算 初步认识:平均分一个物体 简单的大小比较、加减法 三上 三位数加、减(包括两位加进位成三位) 万以内的加法和减法(二)(笔算) 三下

钝角(与直角比较来认识) 两位数乘两位数除数是一位数的除法口算:整十、整百、整千除一位 几百几十除一位 笔算 口算:乘整十、整百(估算) 笔算 实用文档 文案大全四上大数的认识亿以上数的认识 用计算器计算(包括探索规律)亿以内数的认识 三位数乘两位数口算:两位数乘一位数(进位) 及相应的几百几十乘一位 笔算:包括“因数和积的变化规律” 除数是两位数的除法口算:整十、整百、整千除一位 几百几十除一位(估算) 笔算:包括“商的变化规律” 小数的加法和减法

湖北工业大学计算机学院数据结构历年考研真题汇编

湖北工业大学计算机学院数据结构历年考研真题汇 编 Final approval draft on November 22, 2020

目 录 说明:数据结构科目代码更换频繁,2016年科目代码是836,本书以此为准。 湖北工业大学计算机学院 836数据结构历年考研真题汇编 最新资料,WORD 格式,可编辑修改!

2008年湖北工业大学计算机学院917数据结构历年考研真题汇编考研真题 试卷代号 917 试卷名称 数据结构 ①试题内容不得超过画线范围,试题必须打印,图表清晰,标注准确 ②考生请注意:答案一律做在答题纸上,做在试卷上一律无效。 二○○八年招收硕士学位研究生试卷 一.单项选择题(在每小题列出四个供选择的答案A .B .C .D 中,选一个正确的答案,将其代号填在答卷纸相应题号后的下横线上,每小题2分,共20分) 1.以下术语与数据的存储结构无关的是( )。 A .栈 B. 哈希表 C. 双向链表 D. 线索二叉树 2.在一个以 h 为头指针的双向循环链表中,指针p 所指的元素是尾元素的条件是( )。 A. p==h B. h->rlink==p C. p->llink==h D. p- >rlink==h 3.设栈S 和队列Q 的初始状态为空,元素a,b,c,d,e,f 依次通过栈S ,一个元素 出栈后即进队列Q ,若6个元素出队的序列是a,c,f,e,d,b ,则栈S 的容量至 少应该是( )。 A . 6 B. 5 C. 4 D. 3 4.用循环链表表示队列,设队列的长度为n ,若只设尾指针,则出队和入队的时 间复杂度分别为( )。 A .O(1),O(1) B. O(1),O(n) C. O(n),O(1) D. O(n),O(n) 5.设串s1=“ABCDEFG”, s2=“12345”,则strconcat (strsub (s1, 2, strlen(s2)), strsub (s1, strlen(s2), 7))的结果串是( )。 A .BCDEF B .BCDEFG C .EFG D .BCDEEFG 6.某二叉树T 有n 个结点,设按某种顺序对T 中的每个结点进行编号,编号为 1,2,… ,n ,且有如下性质:T 中任一结点V ,其编号等于V 左子树上的最 小编号减1,而V 的右子树的结点中,其最小编号等于V 左子树上结点的最大 编号加1。这时是按( )编号的。 A.中序遍历序列 B.前序遍历序列 C.后序遍历序列 D.层次遍历序列 7.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是 ( ) 。 A .(15,13,14,6,17,16,18) B.(15,17,16,18,13,6,14) C.(15,6,13,14,17,16,18) D. (15,13,6,14,17,18,16) 8.已知由7个顶点组成的无向图的邻接矩阵为: A B C D E F G

相关文档
最新文档