数据结构(本)期末复习指导.pdf
《数据结构(本)期末复习指导.pdf》由会员分享,可在线阅读,更多相关《数据结构(本)期末复习指导.pdf(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数 据 结 构(本)期末复习指导第一部分课程考核说明一、考核说明数据结构(本)是中央广播电视大学计算机科学与技术(本科)专业的一门统设必修、学位课程。4学分,7 2 学时,其中实验2 4 学时,开设一学期。课程主要内容包括:数据结构和算法的基本概念、线性表、栈和队列、串、数组和广义表、树和图、查找和排序等。目的是使学生通过该课程的学习,深入地理解数据的逻辑结构和物理结构以及有关算法,掌握基本的程序设计技能,学会编制高效可靠的程序,为学习后续课程奠定基础。现将有关考核的几个问题说明如下:1 .考核对象2 0 0 7 年秋季起入学的计算机科学与技术专业(本科)学生。2 .考核依据以数据结构(本)课
2、程教学大纲为依据编制,考核说明是本课程形成性考核和终结性考试命题的基本依据。3 .考核方式采用形成性考核和终结性考试相结合的方式。4 .课程总成绩的记分方法课程总成绩按百分制记分,其中形成性考核所占的比例为3 0%,终结性考试占7 0%。60分为合格,可以获得课程学分。本课程的学位课程学分为7 0 分,即课程总成绩达到7 0 分及以上者有资格申请专业学位。5 .形成性考核的要求、形式及手段形成性考核主要考核学生形成性作业和实验的完成情况,占课程总成绩的3 0%形成性考核以作业册的形式下发,由各地电大根据学生作业和实验的完成情况进行考核。中央电大将不定期随机抽检各地电大学生的形成性作业及课程实验
3、报告。6 .终结性考试的要求及方式(1)考试要求考核要求分为了解、理解和掌握三个层次:了解:是 指(1)学习本课程主干知识点所需要的概念、方法、预备知识和相关内容。(2)就大部分学生目前的知识结构和基础理解和掌握有一定困难,有待今后进一步学习的内容。(3)在主干知识点基础上拓展的内容。这部分不属考核的主要内容。理解:是指要求学生准确全面领会的概念、方法和思路等。相关内容是本课程的主干知识点,要求学生能融汇贯通,并能利用所学知识分析解决相关问题。这部分是考核的主要范围。掌握:是指本课程最重要的知识点,能充分体现本课程的教学要求,要求学生在理解所学知识的基础上能灵活应用。能结合课程的不同知识点解决
4、综合性的问题和简单应用问题。这部分是考核的重点内容。(2)考核方式中央电大统一命题,闭卷考试。(3)组卷原则在考核说明所规定的内容和要求之内命题。在教学内容范围之内,按照理论联系实际原则,考察学生对所学知识应用能力的试题,不属于超纲。试题的难易程度和题量适当,按难易程度分为易、中、难三个层次:易占25%,中占45%,难 占30%o题量安排以大多数考生能在规定的考试时间内做完并有一定时间检查为原则。(4)试题类型及试卷结构试题题型有单项选择题、填空题、综合题和程序填空题四种题型。试卷结构如下:单项选择题:每小题2分,共30分填空题:每小题2分,共24分综合题:每小题10分,共30分程序填空题:每
5、空2分,共16分共100分(5)答题时限答题时限为9 0分钟。二、考核内容和要求第1章 绪 论(2学时)考核知识点1.数据结构的基本概念2.算法和算法分析的基本概念 考核要求1.理解数据结构的基本概念2.掌握逻辑结构、物理结构的概念及相互关系3.掌握本书介绍的四种基本结构的特点4.理解算法及其特性5.了解算法分析的一般概念第2章 线 性 表(8学时)考核知识点1 .线性表的定义、逻辑结构、顺序存储结构、链式存储结构2.线性表在顺序结构和链式结构上的基本操作和应用3.双向链表、循环链表的原理和相关操作 考核要求1 .理解线性表的定义及两种存储结构2.理解线性表顺序存储的特点、实现方法和应用。3.
6、掌握顺序表的基本操作(包括建立链表、遍历链表、删除、插入、查找)和应用。特别要求能够利用链表的操作和相关的程序设计技术编制有一定难度的程序。4.了解双向链表、循环链表的原理和相关操作。第 3章 栈 和 队 列(6学时)考核知识点1 .栈的定义、栈的存储结构(顺序存储、链式存储)和基本操作、栈的应用2.队列的定义、队列的存储结构(顺序存储、链式存储)、队列的应用3.循环队列的概念和实现方法 考核要求1 .掌握栈和队列的操作特点2.理解顺序栈、顺序队列的基本操作3.了解在实际编程中栈和队列的不同应用。理解循环队列的概念、实现方法。掌握循环队列判空、判满的条件4.能按照后续章节(例如二叉树、排序等)
7、的要求利用递归程序设计技术实现相关算法第4章 串(2学时)考核知识点1 .串类型定义、C语言中字符串的特点和处理方法2.串的顺序存储结构和链式存储结构3.串的基本运算和实现方法 考核要求1 .理解串的定义和存储方法2.了解串的基本操作和相关算法3.掌握用C语言处理字符串的语法规则第 5章 数组和广义表(2学时)考核知识点1.数组的定义和存储结构2.特殊矩阵和稀疏矩阵的存储结构3.广义表的定义和存储结构 考核要求1.了解数组的存储结构。2.掌握特殊矩阵进行压缩存储的下标转换公式。3.理解稀疏矩阵的压缩存储原理。4.掌握利用三元组表示稀疏矩阵的方法。5.了解广义表的概念和存储结构。第 6章 树和二
8、叉树(10学时)考核知识点1.树的基本概念2.二叉树的性质和存储结构3.二叉树的遍历和线索二叉树4.哈夫曼树及其应用 考核要求1.了解树和二叉树的定义2.掌握二叉树的基本性质,能利用相关性质解决简单计算问题3.了解二叉树的顺序存储结构4.掌握二叉树的链式存储结构、相关操作5.掌握二叉树的有关算法并能编程实现6 .掌握利用遍历序历构造二叉树的规则和具体步骤7 .掌握哈夫曼树的定义、性质和构造方法8 .了解哈夫曼树的应用第 7章图(6学时)考核知识点1.图的基本概念2.图的存储结构3.图的遍历4.最小生成树和最短路径。考核要求1.了解图的基本概念2.掌握图的存储方法(邻接矩阵、邻接表)3.掌握图的
9、深度优先和广度优先遍历的规则和步骤4.理解在连通图中求最小生成树的方法。了解求图的最短路径等相关算法及其应用第8章查 找(6学时)考核知识点1.线性表的查找(顺序查找、折半查找、分块查找)。2.二叉排序树的查找。3.哈希表(哈希表的定义、哈希函数的构造、处理冲突的方法、哈希表的查找和分析)。考核要求1 .了解查找的相关概念。2 .掌握顺序表的查找方法、步骤、程序实现、时间复杂度和平均查找长度。3 .掌握在有序的顺序表上进行折半查找的方法、步骤、程序实现。4 .掌握折半查找的判定树的构造方法。能利用判定树求平均查找长度。5 .掌握二叉排序树的确切定义,掌握建立二叉排序树的步骤和方法。理解在二叉排
10、序树中进行输入、删除操作的规则。6 .了解哈希表的相关概念和原理,了解常用哈希函数的构造和处理冲突的方法。理解哈希函数和哈希表的关系及在查找中的应用。第 9章 排 序(6学时)考核知识点1 .插入排序(直接插入排序、希尔排序)2 .交换排序(冒泡排序、快速排序)3 .选择排序(简单选择排序、堆排序)4.归并排序 考核要求1 .掌握教材中介绍的各种排序算法的基本原理、步骤。2 .能针对小规模具体实例,按相关排序算法的规则人工完成排序;能通过分析排序的中间结果判断所用的排序算法。3 .能正确理解相关排序算法的程序实例,并重点掌握算法中的关键步骤和关键语句。4 .掌握堆和特殊的完全二叉树的对应关系。
11、掌握建堆、筛选算法和完全二叉树相关操作的对应关系。三、试题类型及答案一、单项选择题(每小题2分,共3 0分)L数据结构中,与所使用的计算机无关的是数据的()结构。A.逻辑 B.物理 C.存储 D.逻辑与物理2 .下述各类表中可以随机访问的是()oA.单向链表 B.双向链表 C.单向循环链表 D.顺序表3 .在一个长度为n的顺序表中为了删除第5个元素,从前到后依次移动了 1 5 个元素。则原顺序表的长度为(A.2 1 B.2 0 C.1 9 D.2 54 .元素2,4,6按顺序依次进栈,则该栈的不可能的输出序列是()。A.6 4 2 B.6 2 4 C.4 2 6 D.2 6 45 .一个队列的
12、入队序列是5,6,7,8,则队列的输出序列是()。A.5 6 7 8 B.8 7 6 5C.7 8 6 5 D.可能有多种情况6 .串函数 S t r C m p (d ,“D )的 值 为().A.0 B.1 C.-1 D.37 .在一个单链表中,p、q分别指向表中两个相邻的结点,且 q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。A.p=q-n e x t B.p-n e x t=q C.p-n e x t=q-n e x t D.q-n e x t=N U L L8 .设一棵哈夫曼树共有n个非叶结点,则该树一共有()个结点。A.2*n T B.2*n +1 C.2*n
13、 D.2*(n T)9 .对如图1 所示二叉树进行中序遍历,结 果 是()。A.df eb a g c B.def b a g c C.def b a c g D.db a ef c g图 11 0 .任何一个无向连通图的最小生成树(A.至少有一棵 B.只有一棵 C.一定有多棵 D.可能不存在1 1 .设有一个1 0 阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1 开始),则矩阵中元素A&5 在一维数组B中的下标是(A.3 3 B.3 2 C.85 D.4 11 2 .一组记录的关键字序列为(3 7,70,4 7,2 9,3 1,85),利用快速
14、排序,以第一个关键字为分割元素,经过一次划分后结果为()A.3 1,2 9,3 7,85,4 7,7 0 B.2 9,3 1,3 7,4 7,7 0,85C.3 1,2 9,3 7,7 0,4 7,85 D.3 1,2 9,3 7,4 7,7 0,851 3 .对 n个元素进行冒泡排序,要求按升序排列,程序中设定某一趟冒泡没有出现元素交换,就结束排序过程。对某n个元素的排序共进行了 3 n-6 次元素间的比较就完成了排序,则()。A.原序列是升序排列B.原序列是降序排列C.对序列只进行了 2 趟冒泡D.对序列只进行了 3 趟冒泡1 4 .在一个栈顶指针为t o p 的链栈中删除一个结点时,用
15、x 保存被删除的结点,应执行()。A.x=t o p-da t a;t o p=t o p-n ex t;B.t o p=t o p-n ex t ;x=t o p;C.x=t o p;t o p=t o p-n ex t ;D.x=t o p-da t a;1 5 .串函数S t rC a t (a,b)的功能是进行串()。A.比较 B.复制 C.赋值 D.连接二、填 空 题(每小题2 分,共 2 4 分)1 .在一个单向链表中p 所指结点之后插入一个s 所指的新结点,应执行s-n ex t=p-nex t;和 操作。2 .根据数据元素间关系的不同特性,通常可分为、四类基本结构。3 .在一个
16、链队中,设 f 和 r分别为队头和队尾指针,则删除一个结点的操作为_。(结点的指针域为n ex t)4 .遍历二叉排序树可得到一个有序序列。5 .一棵有2 n-l 个结点的二叉树,其每一个非叶结点的度数都为2,则该树共有个叶结点。6 .如图1 所示的二叉树,其中序遍历序列为。图 17.对稀疏矩阵进行压缩存储,矩阵中每个非零元素所对应的三元组包括该元素的、和_ _ _ _ _ _ _ _ 三项信息。8.有一个有序表 2,3,9,1 3,33,42,45,63,74,77,82,95,1 1 0,用折半查找法查找值为82的结点,经_ _ _ _ _ _ _次比较后查找成功。9.图的深度优先搜索和广
17、度优先搜索序列不是唯一的。此断言是 的。(回答正确或不正确)1 0.哈希法既是一种存储方法,又是一种。1 1 .44.在对一组记录(5 5,39,97,22,1 6,73,65,47,88)进行直接插入排序时,当把第7个记录65 插入到有序表时,为寻找插入位置需比较 次。1 2.栈和队列的操作特点分别是 和。三、综 合 题(每小题1 0分,共 30分)1.已知序列 1 1,1 9,5,4,7,1 3,2,1 0,(1)试给出用归并排序法对该序列作升序排序时的每一趟的结果。(2)对上述序列用堆排序的方法建立初始堆(要求小根堆,以二叉树描述建堆过程)。2.设有序表为(1 3,1 9,25,36,4
18、8,5 1,63,84,91,1 1 6,1 35,200),元素的下标依次为1,2,1 2.(1)说出有哪几个元素需要经过3 次元素间的比较才能成功查到(2)画出对上述有序表进行折半查找所对应的判定树(树结点用下标表示)(3)设查找元素5,需要进行多少次元素间的比较才能确定不能查到.3.(1)设有查找表 5,1 4,2,6,1 8,7,4,1 6,3,依次取表中数据,构造一棵二叉排序树.(2)说明如何通过序列的二叉排序树得到相应序列的排序结果,对上述二叉排序给出中序遍历的结果.四、程序填空题(每空2分,共 1 6 分)1.以下冒泡法程序对存放在a l ,a 2 L,a n 中的序列进行冒泡排
19、序,完成程序中的空格部分,其中n 是元素个数,程序按升序排列。V o i d b s o r t (N O D E a ,i nt)N O D E t e m p;i nt i,j,f l a g;f o r(.i-l;(1);j+);f l a g=0;f o r (i=l;(2);i+)i f(a i .k e y a i+l .k e y)f l a g=l;t e m p=a i ;(3):(4);)i f(f l a g=0)b r e a k;)程序中f l a g 的功能是(5)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _7.以下程序
20、是后序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为l e f t 和 r i g h t,数据域为d a t a,其数据类型为字符型,BT指向根结点)。V o i d P o s t o r d e r (s t r u c t B T r e e N o d e *B T)i f(B T!=N U L L)_(1)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;_(2)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;(3);试题答案;一、单项选 择 题(每小题2 分,共 3 0 分)1.A 2.D 3.B 4.B5
21、.A 6.C7.C8.B 9.A 1 0.A1 1.A 1 2.D 1 3.D 1 4.A 1 5.D二、填 空 题(每小题2 分,共 2 4 分)1 .p-ne x t=s;2 .集合、线性、树形、图状3 .f=f-ne x t;4 .中序5 .n6 .d g b a e c h h i f7 .行号、列号、元素值8 .4次9 .正确1 0 .查找方法1 1 .3 次1 2 .先进后出先进先出三、综合题(每小题1 0 分,共 3 0 分)1.(1)初始 1 1,1 9,5,4,7,1 3,2,1 0第 一 趟 1 1,1 9 4,5 7,1 3 1 0 第 二 趟 4,5,1 1,1 9 2
22、,7,1 0,1 3 第 三 趟 2,4,5,7,1 0,1 b 1 3,1 9 J(2)2.(1)13,36,63,135(3)3 次(2)中序遍历中序 2,3,4,5,6,7,1 4,1 6,1 8四、程序填 空 题(每空2分,共 1 6 分)1.(1)j =n-l(2)i r i g h t)(3)p r i nt f(c”,B T fd a t a)第二部分期末综合练习题一、单项选择题(每小题2分)1 .针对线性表,在存储后如果最常用的操作是取第i 个结点及其前驱,则 采 用()存储方式最节省时间。A.单链表 B.双链表 C.顺序表 D.单循环链表2.带头结点的单向链表为空的判断条件是
23、()(设头指针为he a d)。A.he a d =N U L L B.he a d!=N U L LC.he a d-n e x t=he a d D.he a d-n e x t=N U L L3.链表所具备的特点是()。A.可以随机访问任一结点 B.占用连续的存储空间C.插入删除元素的操作不需要移动元素结点 D.可以通过下标对链表进行直接访问4.非空的单向循环链表的尾结点满足()(设头指针为he a d,指针p 指向尾结点)。A.p-n e x t =N U L L B.p=N U L L C.p=he a d D.p-n e x t=he a d5.数据结构中,与所使用的计算机无关的是
24、数据的()结构。A.物理 B.逻辑 C.存储 D.逻辑与物理6.算法的时间复杂度与()有关。A.所使用的计算机 B,计算机的操作系统C.算法本身 D.数据结构7.设有一个长度为n的顺序表,要在第i 个元素之前插入一个元素(也就是插入元素作为新表的第i 个元素),则移动元素个数为()。A.n-i+1 B.n-i C.n-i-1 D.i8.设有一个长度为n的顺序表,要删除第i个元素需移动元素的个数为(A.n-i+1 B.n-i C.n-i-1 D.i9.在一个单链表中,p、q分别指向表中两个相邻的结点,且 q所指结点是p 所指结点的直接后继,现要删除q 所指结点,可用的语句是()。A.p=q-n
25、e x t B.p-n e x t=q C.q-n e x t=N U L L D.p-n e x t=q-n e x t10.在一个单链表中p 所指结点之后插入一个s 所指的结点时,可 执 行()。A.p=s f n e x t B.p n e x t=s f n e x t;C.s-n e x t=p-n e x t;p-n e x t=s;D.p 今n e x t 二 s;s-n e x t=p-n e x t11.从一个栈顶指针为t o p 的链栈中删除一个结点时,用变量x保存被删结点的植,则执行()oA.x=t o p-d a t a;t o p=t o p f n e x t;B.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 期末 复习 指导
限制150内