郑州大学远程教育学院数据结构试题与答案.docx

上传人:b****3 文档编号:929948 上传时间:2022-10-14 格式:DOCX 页数:24 大小:108.29KB
下载 相关 举报
郑州大学远程教育学院数据结构试题与答案.docx_第1页
第1页 / 共24页
郑州大学远程教育学院数据结构试题与答案.docx_第2页
第2页 / 共24页
郑州大学远程教育学院数据结构试题与答案.docx_第3页
第3页 / 共24页
郑州大学远程教育学院数据结构试题与答案.docx_第4页
第4页 / 共24页
郑州大学远程教育学院数据结构试题与答案.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

郑州大学远程教育学院数据结构试题与答案.docx

《郑州大学远程教育学院数据结构试题与答案.docx》由会员分享,可在线阅读,更多相关《郑州大学远程教育学院数据结构试题与答案.docx(24页珍藏版)》请在冰豆网上搜索。

郑州大学远程教育学院数据结构试题与答案.docx

郑州大学远程教育学院数据结构试题与答案

郑州大学现代远程教育

《数据结构》课程(本科)

学习指导书

郭纯一编

■课程内容与基本要求

“数据结构”在计算机科学中是一门综合性的专业基础课。

本课程将主要介绍数据结构的基本概念和术语、非数值计算中常用的数据结构(线性表、栈和队列、串、树和图)和基本技术(查找和排序方法)三大部分。

本课程要求学生在掌握线性表、栈和队列、串、树和二义树、图等基本数据类型的基础上,会分析各种数据结构的特性,会根据应用需求为所涉及的数据合理选择适当的逻辑结构和存储结构,并能据此设讣实现问题的算法;还应初步掌握算法的时间和空间效率的分析方法。

■课程学习进度与指导

第一章

绪论

章节

课程内容

学时分配

学习指导

(均以课件学习为主)

第一章

绪论

4学时

重点掌握基本概念和时间复杂度的计算方法

第二章*

线性表

10学时

重点掌握顺序结构和链式结构表示线性表的方法和操作的实现;结合具体例子理解编程实现一个问题的2种方法

第三章

栈和队列

8学时

重点掌握栈和队列的特点以及它们各自的存储表示,尤其是顺序栈和循环队列的实现;结合具体例子理解栈和队列的应用

第四章

2学时

重点掌握串的术语、串操作结果和不同存储结构的特点

第七章*

树和二叉树

10学时

重点掌握二叉树的定义、存储、性质、遍历算法(递归)及应用、线索化;掌握树和森林与二义树的转换以及Huffman树和Huffman编码的构造方法

第八章

8学时

重点掌握图的术语、存储、遍历算法及应用;掌握最小生成树的2种构造方法及特点、会求拓扑排序序列和单源最短路径

第九章*

查找

8学时

重点掌握各种动态查找表的构造过程、性能分析、插入/删除方法;掌握静态查找表的顺序、折半和分块查找及ASL求法

第十章*

排序

8学时

掌握关于排序的术语及分类方法;重点掌握插入排序、交换排序、选择排序等内排序方法及其性能分析方法

一、章节学习U标与要求

1、理解数据抽象和信息隐蔽原则

2、掌握所有的基本概念和术语、掌握时间复杂度的计算方法、会用C语言描述抽象数据类型

和算法;能够熟练使用C语言编写程序

二、本章重点、难点

重点:

基本概念和术语,C语言描述算法的方式,简单程序的时间复杂度的求法。

难点:

时间复杂度的讣算方法和原则。

三、章节练习

(-)选择题:

1.具有线性结构的数据结构是。

A.图B.树C.集合D.栈

2.计算机算法是指。

A.计算方法和运算结果B.调度方法

C.解决某一问题的有限运算系列D.排序方法

3.线性结构中,最后一个结点有个后继结点。

A.0B.1C.任意多

4.算法分析的目的是。

A.找出数据结构的合理性B.研究算法中输入和输出的关系

C.分析算法的效率以求改进D.分析算法的可读性和可行性

5.具有非线性结构的数据结构是。

A.图B.线性表C.串D.栈

6.算法具有5个特性:

、、、输入和输出。

A.稳定性、确定性、可行性B.有穷性、确定性、可行性

C.有穷性、安全性、可行性D.有穷性、确定性、可移植性

7.设n为正整数。

则下面程序段的时间复杂度为。

i二1;k=0;

while(i<=n~l){

@k+=10*i;

i卄;

}

A.0

(1)B.0(n)C.O(nlogn)D.O(n')

8.设n为正整数。

则下面程序段的时间复杂度为。

k=0;

for(i=l;i<=n;i++){

for(j=i;j<=n;j卄)@k++;

}

A.0

(1)B.0(n)C.O(nlogn)D.O(n')

(2)判断题:

1.在数据结构中,从逻辑上可以把数据结构分为动态结构和静态结构两大类。

()

2.任何一个算法的设计•取决于数据的逻辑结构,而算法的实现则依赖于所釆用的存储结构。

()

3.数据元素是数据的不可分割的最小单位。

()

4.算法分析的两个主要方面是时间复杂度和空间复杂度。

()

第二章线性表

一、章节学习目标与要求

1、理解线性表的逻辑结构特性、顺序表和链表表示线性表的优缺点、循环链表和双向链表的特点。

2、掌握线性表的两种存储方式及其实现:

熟练掌握顺序表和链表的创建、插入元素、删除元素以及定位等常用操作的实现算法并会求相应算法的时间复杂度。

二、本章重点、难点

重点:

线性表的特点、两种表示方式及它们的运算实现,会求算法的时间复杂度。

难点:

单链表结构、特点及其实现

三、章节练习

(-)选择题:

1.顺序表是一种的存储结构,单链表是的存储结构。

A.顺序存取B.随机存取C.索引存取

2.顺序表中第一个元素的起始存储地址为100,每个元素的长度为4,则第五个元素的起始地

址是。

A.105B.110C.116D.120

3.非空循环单链表(head为头指针)的尾结点(由指针p所指示)应满足o

A.p-〉next=NULL;B.p二二NULL;C.p->next=head;D.p—head:

4.若在线性表的任何位置上插入元素的概率是相等的,那么在长度为n的顺序表中插入一个

元素时需平均移动个元素。

A.nB.(n~l)/2C.n/2D.(n+l)/2

5.在带头结点的非空单链表中,头结点的位置由指示,首元结点的存储位置由

指示,除首元结点外,其它任一元素结点的存储位置由指示。

A.头指针B.头结点的指针域的指针C.前驱结点的指针域的指针

6.单链表的头指针为p,若有头结点,则表空的判断条件是:

若不带头结点,

则表空的判断条件是o

A.p二二NULLB.p->next==NULLC.p->next-〉next二二NULL

(二)判断题:

1.在单链表中插入或删除元素时是以结点的指针变化来反映逻辑关系的变化,因此不需要移动

元素。

()

2.顺序表能够以元素在计算机内的物理位置的相邻性来表示线性表中元素之间的逻辑关系。

()

3.在不带头结点的非空单链表中,首元结点的存储位置由头指针指示,除首元结点外,其它任

一元素结点的存储位置由前驱结点的指针域的指针指示。

()

(三)问答题:

1.若线性表要求以最快的速度存取而表中元素变动不大,则应采取什么存储结构(顺序或链式

结构)?

为什么?

2.若线性表经常做插入/删除操作,则应采取什么存储结构?

为什么?

3.在单链表中设置头结点有什么作用?

(四)算法题:

1.设带头结点的单链表(L为头指针)中的数据元素递增有序。

设计算法,将x插入到链表的适当位置上,并仍保持该表的有序性。

2.设顺序表va中的数据元素递增有序。

设计算法,将x插入到顺序表的适当位置上,并仍保持该表的有序性。

3.设计算法,实现单链表的就地逆置,即利用原表的存储空间将线性表(①,归…,弘)逆置为

(%,an-n…,①)。

第三章栈和队列

一、章节学习目标与要求

1、理解用栈和队列解决实际问题的方法。

2、掌握栈和队列的定义以及特性、它们的2种不同的存储表示方法(特别是顺序栈和循环队

列)以及各种常见操作(如入、出操作)在不同表示方式上的实现。

二、本章重点、难点

重点:

栈和队列的定义、各种表示和实现方法,加深对线性结构的理解

难点:

循环队列的表示及为解决循环队列队空、队满判断条件相同而使用的不同实现方式;能在具体问题中灵活运用栈和队列结构。

三、章节练习

(一)选择题:

1.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是o

A.edcbaB.decbaC.dceabD.abcde

2.栈和队列的共同点是。

A.都是后进先出B.都是先进先出

C.都是只允许在端点处插入和删除元素D.无共同点

3.一个队列的入队序列是{1,2,3,4},则队列的输出序列是。

A.{4321}B.{1234}C.{1432}D.{3241}

4.栈的入栈序列是1,2,…,n,输出序列为pl,p2,…pn,若pl二n,则pi为。

A.iB.n-iC.n-i+1D.不确定

5.队列是限定在进行插入,在进行删除的线性表。

A.队头B.队尾C.任意位置

6.循环队列中,设队列元素依次存放在Q[O..m]中,f、r分别指示队头元素位置和队尾元素

的下一个位置,约定存储m个元素时为队满。

则队列空的判定方法是,队列满的判定方

法是。

A.f—rB.(f+l)%(m+l)=rC.(r+l)%(m+l)—fD.(r+1)%m—f

(二)判断题:

1.若用户无法估计所用队列的最大长度,则最好采用链队列。

()

2.在链队列上删除队头元素时,只需修改头结点中的指针,不必修改尾指针。

()

3.栈是限定仅在栈顶进行插入或删除操作的线性表。

()

4.队列是限定在队尾插入元素,在队头删除元素的线性表。

()

(三)问答与算法题:

1.对于一个栈,若输入序列依次为{A,B,C},试给出所有可能的输出序列。

2.假设将循环队列定义为:

以整型域变量front和length分别指示循环队列中队头元素位置和队列中元素个数,指针elem指示存放队列元素的连续空间的首地址,写出相应的入队列和出队列的算法。

第四章串

一、章节学习目标与要求

1、理解串的抽象数据类型的定义以及相关术语、理解串在文本编辑中的作用。

2、掌握字符串的定义及各种基本操作的运算结果以及串的各种存储表示的特点。

二、本章重点、难点

重点:

串的基本运算、吊的各种存储表示和特点。

继续加深对线性结构的理解

难点:

宙的不同存储结构,区分它们和高级语言中串的存储方式的不同。

三、章节练习

(-)选择题:

1.设串S二"IAMASTUDENT",则其串长是。

A.13B.14C.15D.16

2.设s二"HEISAWORKER",t二"WORKER"。

则Strindex(s,t,5)的返回值是。

A.4B.5C.6D.9E.10

3.串是一种特殊的线性表,其特殊性体现在。

A.可以顺序存储B.数据元素是一个字符

C.可以链接存储D.数据元素可以是多个字符

4.已知串s="ABCDEFGH',则s的所有不同子串的个数为。

A.8B.9C.36D.37

5.设串s二"Iamateacher.',则s的第8个字符起、长度为7的子串为。

A."teacher."B."teacher"C."ateacherD."teacher"

6.设串s二"student.”,t="good”,则执行Strinsert(s,1,t)后,s为。

A."goodstudent."B."goodstudent"

C."goodstudent"D."goodteacher"

(二)判断题:

1.空串和空格串是相同的。

()

2.如果两个串含有相同的字符,则它们是相同的。

()

3.串的基本操作和线性表的一样,都是以“单个元素”作为操作对象的。

()

4.在串的链式存储结构中,结点大小与存储密度之间没有关系。

()

第七章树和二叉树

一、章节学习目标与要求

1、理解树、二义树和森林的概念,理解线索化二义树的特性、创建方法及在线索二义树上寻找某结点的前驱和后继的方法;理解树与森林的存储方法。

2、掌握二叉树的性质

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1