数据结构考情分析一 考试内容占比

第一章 绪论 5%

第二章 线性表 10%

第三章 和队列 15%

第四章 串 5%

第五章 数组和广义表 5%

第六章 树和二叉树 15%

第七章 图 15%

第九章 查找 15%

第十章 内部排序 15%

二 难易程度

较易试题 50%

中等试题 30%

较难试题 20%

三 考试题型

判断题:1分*10=10分

单选题:2分*25=50分

多选题:4分*5=20分

算法阅读题:3.5分*10=35分

综合应用题 :7分*5=35分

注:每年可能题量和分值会有细微差别,但题目类型未变

四 难点重点

树、图、查找、排序

五考试内容

第一章绪论

1.数据、数据元素、数据项、数据对象、数据结构、逻辑结构和物理结构等概念;

2.算法的定义、特性,时间复杂度和空间复杂度计算。

第二章线性表

1.线性表的定义;

2.顺序表的实现和常用算法:插入、删除等;

3.(带头/不带头)的单链表的常用算法:插入、删除、建表;

4.双链表和循环链表的实现方法和常用算法:插入、删除等;

5.顺序表、单链表、双链表、循环链表各自的优缺点。

第三章栈和队列

1.栈的定义、特点,顺序栈的实现方式和常用算法:入栈、出栈、获取栈顶元素;

2.计算出栈的可能序列;

3.队列的定义、特点,循环队列的实现方式和常用算法:入队、出队,队空和队满的判定条件,计算队列中元素的个数;

4.栈和队列的经典应用:数制转换、括号匹配、树的层次遍历、图的广度遍历等。

第四章串

1.串的定义,空串和空格串的区别,两个串相等,串的存储结构;

2.串的一些基本操作:求串长、子串的位置、串截取、串联接、串的模式匹配。

第五章数组和广义表

1.数组的特点,二维数组按行优先(列优先)存储时元素的下标和地址计算;

2.特殊矩阵的定义和压缩存储:对称矩阵、三角矩阵、对角矩阵、稀疏矩阵;

3.广义表的有关概念:表头、表尾、表长、表深,并学会计算。

第六章树和二叉树

1.树的基本概念和有关术语;

2.二叉树、完全二叉树、满二叉树的定义,二叉树的3大性质,完全二叉树的2大性质;

3.二叉树的存储结构,二叉树的常用算法:遍历递归算法、层次遍历算法、求叶子结点数量算法、求树的深度算法;

4.二叉树的线索化,有关线索树的常用算法:在中序线索二叉树中查找结点的前驱、在中序线索二叉树中查找结点的后继;

5.树的存储结构,树和森林转换成二叉树的方法;

6.哈夫曼树的概念,构造哈夫曼树并求其带权路径长度。

第七章图

1.图的定义;

2.图的相关术语:无向图、有向图、有向完全图、无向完全图、子图、连通图、强连通图、连通分量、顶点的度、入度、出度、顶点间的路径、路径长度等;

3.图的两种存储结构:邻接矩阵、邻接表(逆邻接表);

4.图的两种遍历方式:深度优先搜索遍历、广度优先搜索遍历

5.生成树和最小生成树的概念,最小生成树的构造方法:Prim、

6.求拓扑排序序列

7.求最短路径的和Floyd

第九章 查找

1.查找、查找表、平均查找长度等相关概念;

2.静态查找表:顺序查找和折半查找算法,分块查找的概念;

3.动态查找表:二叉排序树的概念、构造及其查找算法,平衡二叉树的概念;

4.哈希表的相关概念:构造哈希函数、冲突处理方法,构造函数为除留余数法,冲突处理为线性探测再散列时散列地址和平均查找长度的计算。

第十章 内部排序

1.插入类排序:直接插入排序和折半插入排序算法,了解希尔排序算法思想;

2. 交换类排序:冒泡排序算法,了解快速排序算法思想;

3. 交换类排序:简单选择排序算法,堆的定义,堆排序思想;

4. 归并排序和基数排序的概念;

5. 学会各种排序算法的比较:稳定、平均时间复杂度、最好/坏时间复杂度、空间复杂度,学会根据不同情形选择合适的排序算法。

6. 会写排序序列;

六 题目

1.简单

【判断题】算法的特性中要求一个算法有零个或多个输入,一个或多个输出。( )

【判断题】通过头插法创建的单链表与创建时输入的数据元素顺序相反。 ( )

【单选题】在栈中进行入栈和出栈的一端为( )

A.队尾 B.栈顶

C.栈底 D.队头

【单选题】按照传统的方法线索化二叉树时,通常把结点中空的左指针指向它的( )

A.后继 B.左孩子

C.右孩子 D.前趋

2.中等

【单选题】C 语言中一个 9×9 的二维数组,按行序为主的存储方式进行存储,则第 24 个元素对应的是( )

A.[5][2] B.[2][4]

C.[4][2] D.[2][5]

【综合应用题】已知一组权值2,3,4,11,请构造一颗哈夫曼树,其带权路径长度(WPL)值为( )

A.32 B.34

C.53 D.40

【算法阅读题】删除单链表List中第i个位置的数据元素,请选择( )

node{

data;

node *next;

} *;

int ( L, int i) {

,q;

P=(L,i-1);//p指向第i个位置的数据元素的结点

//删除前已检测第i个元素结点存在

q=p->next;

free(q); //释放q

;

G.p->next=q;

H.(0);

I.p=q->next;

J.p->next=q->next;

K.p=q;

3.难题

【综合应用题】一个双链表的结点结构如下:

{

data;

*prior , *next ;

} ;

P是指向双链表中某一结点的指针,请选择在p前插入结点q的正确代码( )

G.p->prior=q;q->prior=p->prior;q->next=p;p->prior->next=q;

H.q->next=p;p->prior=q;q->prior=p->prior;p->prior->next=q;

I.q->next=p;p->prior=q;p->prior->next=q;q->prior=p->prior;

J.q->prior=p->prior;q->next=p;p->prior->next=q;p->prior=q;

K.q->prior=p->prior;q->next=p;p->prior=q;p->prior->next=q;

L.p->prior=q;p->prior->next=q;q->prior=p->prior;q->next=p;

【综合应用题】对于序列 49,14,38,74,96,65,8,51,72,25 使用第一个数据元素为支点,经过一次快速排序后得到的序列是( )

G.14,38,49,74,96,65,8,51,72,25

H.14,38,49,8,25顺序表和链表的优缺点,51,65,72,74,96

I.25,8,14,49,38,51,65,72顺序表和链表的优缺点,74,96

J.8,14,25,38,49,51,65,72,74,96

K.8,14,25,38,49,65,51,96,74,72

L.25,14,38,8,49,65,96,51,72,74

【算法阅读题】从v出发广度优先搜索图G的算法。请选择合适的选项( )

void BFS (Graph G ,int v) {

for (i=0 ; ;i++)

[i]=FALSE ; /* 访问标志初始化 */

(Q);

if (![v]){

(Q,V);

while(!(Q)){

u=(Q);

[u]=TRUE;

visit(u);

for (w=(G,u); w; w=(G,u,w)) {

if (![w]) {

}}}}

G.[i]=TRUE; H.[i]=FALSE;

I.(Q,w); J.(Q);

K.w=(Q);

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注