数据结构第五章图习题教学文案
《数据结构》教案(精华版)
《数据结构》教案(精华版)《数据结构》教案(精华版)
前言
数据结构是计算机学科中的重要基础课程,它涉及到数据的存储、组织和管理。本教案旨在帮助学生掌握数据结构的基本概念、算法和应用,提高其解决实际问题的能力。
第一章:引言
在本章中,我们将介绍数据结构的基本概念和重要性。学生将了解到数据结构在计算机科学中的作用,以及为什么学习数据结构对于他们的职业发展至关重要。
1.1 数据结构的定义
数据结构是一种组织和存储数据的方式,它涉及到数据元素之间的关系,以及对这些关系的操作。
1.2 数据结构的分类
数据结构可以分为线性结构和非线性结构。线性结构中的数据元素之间存在一个明确的顺序关系,而非线性结构中的数据元素之间没有固定的顺序关系。
1.3 数据结构的应用
数据结构在计算机科学中有广泛的应用。例如,在数据库管理系统中,数据结构被用来组织和管理大量的数据;在图形图像处理中,数据结构被用来存储和操作图像数据。
第二章:线性结构
本章将介绍线性结构,包括线性表、栈和队列。学生将学习这些线性结构的定义、实现和应用。
2.1 线性表
线性表是一种最简单的数据结构,它由一组数据元素组成,这些元素按照线性的顺序存储。
2.2 栈
栈是一种特殊的线性表,它具有“先进后出”的特点。学生将学习栈的定义、实现和常见应用。
2.3 队列
队列是另一种特殊的线性表,它具有“先进先出”的特点。学生将学习队列的定义、实现和应用。
第三章:树结构
本章将介绍树结构,包括二叉树、搜索树和平衡树。学生将学习这些树结构的定义、实现和应用。
3.1 二叉树
二叉树是一种常见的树结构,它的每个节点最多有两个子节点。学
《数据结构及其应用》笔记含答案 第五章_树和二叉树
第5章树和二叉树
一、填空题
1、指向结点前驱和后继的指针称为线索。
二、判断题
1、二叉树是树的特殊形式。()
2、完全二叉树中,若一个结点没有左孩子,则它必是叶子。()
3、对于有N个结点的二叉树,其高度为。()
4、满二叉树一定是完全二叉树,反之未必。()
5、完全二叉树可采用顺序存储结构实现存储,非完全二叉树则不能。()
6、若一个结点是某二叉树子树的中序遍历序列中的第一个结点,则它必是该子树的后序遍历序列中的第一个结点。()
7、不使用递归也可实现二叉树的先序、中序和后序遍历。()
8、先序遍历二叉树的序列中,任何结点的子树的所有结点不一定跟在该结点之后。()
9、赫夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。()
110、在赫夫曼编码中,出现频率相同的字符编码长度也一定相同。()
三、单项选择题
1、把一棵树转换为二叉树后,这棵二叉树的形态是(A)。
A.唯一的B.有多种
C.有多种,但根结点都没有左孩子D.有多种,但根结点都没有右孩子
解释:因为二叉树有左孩子、右孩子之分,故一棵树转换为二叉树后,这棵二叉树的形态是唯一的。
2、由3个结点可以构造出多少种不同的二叉树?(D)
A.2 B.3 C.4 D.5
解释:五种情况如下:
3、一棵完全二叉树上有1001个结点,其中叶子结点的个数是(D)。
A.250 B. 500 C.254 D.501
解释:设度为0结点(叶子结点)个数为A,度为1的结点个数为B,度为2的结点个数为C,有A=C+1,A+B+C=1001,可得2C+B=1000,由完全二叉树的性质可得B=0或1,又因为C为整数,所以B=0,C=500,A=501,即有501个叶子结点。
《数据结构》课程教案
《数据结构》课程教案
课程类别:专业基础课
适用专业:计算机应用技术
授课学时:32学时
课程学分:4学分
一、课程性质、任务
课程性质:《数据结构》是计算机应用技术专业的必修课程,也是研究如何对数据进行组织和设计、如何编制高效率的处理程序的一门基础学科。
课程任务:
1、学习计算机程序编写中的数据组织和设计;
2、数据的物理结构和逻辑结构;
3、经典算法的设计和算法效率的分析。
二、课程培养目标:
(一)知识目标
通过理论学习和程序的编写,使学生系统地掌握程序中数据的组织、数据的物理结构和逻辑结构,在重要算法的实现上逐步提高编程能力。
(二)技能目标
通过课程的学习,让学生掌握重要的数据结构,对数据的逻辑结构和物理结构有深入的理解,同时能编写出使用重要算法知识的程序,并运用所学知识编写程序解决实际中的问题。
(三)素质目标
通过课程的学习,让学习学会自学,培养学生的自学能力、克服学习困难的能力,同时让学生掌握计算机编程中数据结构的学习方法,并养成严谨、认真、仔细、踏实、上进的好习惯。
三、选用教材与参考资料
教材版本信息
《数据结构与算法简明教程(Java语言版)》清华大学出版社叶小平陈瑛主编
教材使用评价
本教材经过两年的使用,得到了读者一致认可,同时也在不断改进,适合高职高专教学使用,内容基础、重难点突出,符合高职高专“理论够用、注重实践”的要求。
选用的参考资料
严蔚敏.吴伟民《数据结构(C语言版)》.清华大学出版社.2009年版
殷人昆.《数据结构》.清华大学出版社.1999年版
《C语言程序设计》.石油大学出版社
《C语言程序设计》.中国石油大学出版社.2006年版
数据结构第五章图习题
05 图
【单选题】
1. 设无向图G 中有五个顶点,各顶点的度分别为2、4、3、1、2,则G 中边数为(C )。
A、4条 B、5条 C、6条 D、无法确定
2. 含n 个顶点的无向完全图有(D )条边;含n 个顶点的有向图最多有(C )条弧;含n 个顶点的有向强连通图最多有(C )条弧;含n 个顶点的有向强连通图最少有(F)条弧;设无向图中有n 个顶点,则要接通全部顶点至少需(G )条边。
A 、n 2
B 、n(n+1)
C 、n(n-1)
D 、n(n-1)/2
E 、n+1
F 、n
G 、n-1
3. 对下图从顶点a 出发进行深度优先遍历,则(A )是可能得到的遍历序列。
A 、acfgdeb
B 、abcdefg
C 、acdgbef
D 、abefgcd
对下图从顶点a 出发进行广度优先遍历,则(D )是不可能得到的遍历序列。
A 、abcdefg
B 、acdbfge
C 、abdcegf
D 、adcbgef
4. 设图G 的邻接矩阵A=⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡010101010,则G 中共有(C )个顶点;若G 为有向图,则G 中共有(D )条弧;若G 为无向图,则G 中共有(B )条边。
A 、1
B 、2
C 、3
D 、4
E 、5
F 、9
G 、以上答案都不对
5. 含n 个顶点的图,最少有(B )个连通分量,最多有(D )个连通分量。
A 、0
B 、1
C 、n-1
D 、n
6. 用邻接表存储图所用的空间大小(A )。
A 、与图的顶点数和边数都有关
B 、只与图的边数有关
C 、只与图的顶点数有关
D 、与边数的平方有关
7. n 个顶点的无向图的邻接表最多有(B )个表结点。
《数据结构》第五章习题参考答案
《数据结构》第五章习题参考答案
一、判断题(在正确说法的题后括号中打“√”,错误说法的题后括号中打“×”)
1、知道一颗树的先序序列和后序序列可唯一确定这颗树。( ×)
2、二叉树的左右子树可任意交换。(×)
3、任何一颗二叉树的叶子节点在先序、中序和后序遍历序列中的相对次序不发生改变。(√)
4、哈夫曼树是带权路径最短的树,路径上权值较大的结点离根较近。(√)
5、用一维数组存储二叉树时,总是以前序遍历顺序存储结点。( ×)
6、完全二叉树中,若一个结点没有左孩子,则它必是叶子结点。( √)
7、一棵树中的叶子数一定等于与其对应的二叉树的叶子数。(×)
8、度为2的树就是二叉树。(×)
二、单项选择题
1.具有10个叶结点的二叉树中有( B )个度为2的结点。
A.8 B.9 C.10 D.11
2.树的后根遍历序列等同于该树对应的二叉树的( B )。
A. 先序序列
B. 中序序列
C. 后序序列
3、二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历:HFIEJKG 。该二叉树根的右子树的根是:( C )
A. E
B. F
C. G
D. H0
4、在下述结论中,正确的是( D )。
①具有n个结点的完全二叉树的深度k必为┌log2(n+1)┐;②二叉树的度为2;③二叉
树的左右子树可任意交换;④一棵深度为k(k≥1)且有2k-1个结点的二叉树称为满二叉树。
A.①②③B.②③④C.①②④D.①④
5、某二叉树的后序遍历序列与先序遍历序列正好相反,则该二叉树一定是( D )。A.空或只有一个结点B.完全二叉树
数据结构说课
同样的问题有不同的解决方法,什么样的方法才是最好的。这就要求学 生根据已学的知识去探索、探究,找到合理的解决方案。这样可以培养学生 分析问题、解决问题的能力。
4、 情感目标:
培养学生热爱科学、勇于探索、勇于创新、团结合作的精神。一门科学, 要有探索未知领域勇气、要有大胆创新的精神,只有这样才能进步。软件项 目的开发是集体智慧的结晶,它牵涉到多人,多部门甚至于跨行业,所以需 要集体的每个成员要有团结协作的精神,共同完成既定的任务。
<二>、教材建设:
该教材是根据教育部提出的“以综合素质培养为基础,以能力培养为主线” 的指导思想,结合高等职业教育的教学培养目标而编写的。本教材全面贯彻的 素质教育思想,从社会发展对高技术应用人才的需求出发,在内容的构建上结 合专业岗位对职业能力的需求确定教材的知识点、技能点和素质要求点,注重 对学生的创新精神和实践能力的培养。
一、 教材分析
<一>、课程性质:
《数据结构》是计算机软件技术专业的专业基础课程,从事程序必备知识。 进行软件开发,是软件技术专业学生的目标,而进行软件开必须有高效的解决 问题的方法(数据的存储和运算),该课程正是基于这一点而存在。要学这门 课程,要求学必须有程序设计和计算机硬件的基本知识(前期课程),如:C语 言或C++、计算机应用基础、计算机原理等。作为大二的软件技术专业的学生, 已经具备以上知识,具有软件开发的基本能力,有较为扎实的基础。所以现在 开设本课程,正合时宜。通过该门课程的学习,为以后进一步提高软件开的能 力,设计出优秀的程序打下良好的基础。同时该教材是由中国财政经济出版社 出版的高等职业教育规划教材。该教材为2009年第一版,作者杨谊。本教材适 应了高等职业教育发展的趋势,满足职业技术院校软件技术专业的实际需求。
数据结构第五章
5.2 数组的顺序表示和实现 由于计算机的内存结构是一维的, 因此用一维内存来表示多维数组,就必 须按某种次序将数组元素排成一列序列 ,然后将这个线性序列存放在存储器中 。 又由于对数组一般不做插入和删除 操作,也就是说,数组一旦建立,结构 中的元素个数和元素间的关系就不再发 生变化。因此,一般都是采用顺序存储 的方法来表示数组。
Loc(aij ) = Loc(a11) + [ (i-1)*n + j-1 ]*d
行aij前共有 i 行元素
本行前有是 j 个元素
ij
Loc (aij ) = Loc (a00) + ( i * n + j ) * d
?问题:若第一个元素为a00 (即下标为00)则Loc(aij)=? Loc(a )=首地址+前面所有元素所占存储空间的总数
课堂练习
1、设有数组A[i,j],数组的每个元素长度为3 字节,i 的值 为1 到8 ,j 的值为1 到10,数组从内存首地址BA 开始 顺序存放,当用以列为主存放时,元素A[5,8]的存储 首地址为( )。 A. BA+141 B. BA+180 C. BA+222 D. BA+225 2、 数组A[0..4,-1..-3,5..7]中含有元素的个数( )。 A. 55 B. 45 C. 36 D. 16 3、数组A[0..5,0..6]的每个元素占五个字节,将其按列优 先次序存储在起始地址为1000 的内存单元中,则元素 A[5,5]的地址是( )。 A. 1175 B. 1180 C. 1205 D. 1210
《数据结构》课程教学大纲
数据结构课程教学大纲
(DataStructure)
学时数:72
其中:实验学时:10
课外学时:0
学分数:4.5
适用专业:网络工程
一、课程的性质、目的和任务
数据结构是计算机、网络工程专业的必修学科基础课程,主要介绍:线性表、栈、队列、数组、串、树、二叉树、图等基本数据结构及其应用;排序及查找的原理与方法;数据的存储结构。通过本课程的学习使学生掌握基本数据结构的概念、特征、存贮结构及算法和算法分析的手段。熟悉基本结构在计算机学科的应用,,训练学习使用高级语言编写合理算法的能力。
二、课程教学的基本要求
(一)了解典型数据结构的逻辑关系,存贮结构,操作及算法的关系。
(二)熟练掌握各种基本数据结构的概念、特点、存贮方式、算法及分析评估。
(H)掌握基本算法分析方法。
(四)熟悉查找及排序的典型算法。
(五)针对实际问题,选择合理的数据结构及实现相应的操作。
三、课程的教学内容、重点和难点
第一章概论(2学时)
一、基本内容:
(一)数据、数据元类、数据类型、数据结构。
(二)算法与数据结构的关系。
(H)算法的描述,评价标准及评估。
第一节:基本概念和术语
第二节:抽象数据类型
第三节:算法分析
第四节:性能分析与度量
二、基本要求:
(一)熟悉数据结构基本概念
第二章线性表(8学时)
一、基本内容:
(一)线性表的定义及抽象操作。
(二)线性表的两种存贮结构及算法。
(H )链表的应用举例。
线性表
线性表的顺序表示与实现
线性表的链式表示与实现链表一元多项式的表示与实现 二、基本要求:
(一)掌握线性表的基本概念
(二)掌握线性表的各种算法重点:线性表的基本操作。
严蔚敏版数据结构第五章
元素个数
12
n 维数组
– 各维元素个数为 m1, m2, m3, …, mn – 下标为 i1, i2, i3, …, in 的数组元素的存储地址:
LOC ( i1, i2, …, in ) = a + ( i1*m2*m3*…*mn + i2*m3*m4*…*mn+ + ……+ in-1*mn + in ) * l
数组基址
C j
n
i i
前面若干元素占用 的地址字节总数
其中Cn=L, Ci-1=bi×Ci, 1<i≤n
一个元 素长度 第i维长度 与所存元素个数有关的系 数,可用递推法求出
14
N维数组的顺序存储表示(见教材P93)
#define MAX_ARRAY_DIM 8 //假设最大维数为8 typedef struct{ ELemType *base; //数组元素基址 int dim; //数组维数 int *bound; //数组各维长度信息保存区基址 int *constants; //数组映像函数常量的基址 }Array;
二维数组的特点: 2个下标,每个元素ai,j受到两个关系
(行关系和列关系)的约束: a11 a12 … a1n a21 a22 … a2n … … …… am1 am2 … amn
Amn=
一个m×n的二维数组可以 看成是m行的一维数组,或 者n列的一维数组。
数据结构第五章数组和广义表
数据结构第五章数组和广义表(总
6页)
--本页仅作为文档封面,使用时请直接删除即可--
--内页可以根据需求调整合适字体及大小--
第五章数组和广义表:习题
习题
一、选择题
1.假设以行序为主序存储二维数组A[1..100,1..100],设每个数据元素占两个存储单元,基地址为10,则LOC(A[5,5])=( )。
A. 808
B. 818
C. 1010
D. 1020
2.同一数组中的元素( )。
A. 长度可以不同 B.不限 C.类型相同 D. 长度不限
3.二维数组A的元素都是6个字符组成的串,行下标i的范围从0到8,列下标j的范
圈从1到10。从供选择的答案中选出应填入下列关于数组存储叙述中( )内的正确答案。
(1)存放A至少需要( )个字节。
(2)A的第8列和第5行共占( )个字节。
(3)若A按行存放,元素A[8]【5]的起始地址与A按列存放时的元素( )的起始地址
一致。
供选择的答案:
(1)A. 90 B. 180 C. 240 D. 270
(2) A. 108 B. 114 C. 54 D. 60
(3)[8][5] B. A[3][10] [5][8] [O][9]
4.数组与一般线性表的区别主要是( )。
A.存储方面
B.元素类型方面
C.逻辑结构方面
D.不能进行插入和删除运算
5.设二维数组A[1..m,1..n]按行存储在数组B[1..m×n]中,则二维数组元素A[i,j]在一维数组B中的下标为( )。
A. (i-l)×n+j
B. (i-l)×n+j-l
C.i×(j-l) D. j×m+i-l
《数据结构》教学大纲
《数据结构》教学大纲
课程类别:专业基础课
适用专业:计算机应用技术
授课学时:32学时
课程学分:4学分
一、课程性质、任务
课程性质:《数据结构》是计算机应用技术专业的必修课程,也是研究如何对数据进行组织和设计、如何编制高效率的处理程序的一门基础学科。
课程任务:
1、学习计算机程序编写中的数据组织和设计;
2、数据的物理结构和逻辑结构;
3、经典算法的设计和算法效率的分析。
二、课程培养目标:
(一)知识目标
通过理论学习和程序的编写,使学生系统地掌握程序中数据的组织、数据的物理结构和逻辑结构,在重要算法的实现上逐步提高编程能力。
(二)技能目标
通过课程的学习,让学生掌握重要的数据结构,对数据的逻辑结构和物理结构有深入的理解,同时能编写出使用重要算法知识的程序,并运用所学知识编写程序解决实际中的问题。
(三)素质目标
通过课程的学习,让学习学会自学,培养学生的自学能力、克服学习困难的能力,同时让学生掌握计算机编程中数据结构的学习方法,并养成严谨、认真、仔细、踏实、上进的好习惯。
三、选用教材与参考资料
教材版本信息
《数据结构与算法简明教程(Java语言版)》叶小平陈瑛主编
教材使用评价
本教材经过几年的使用,得到了读者一致认可,同时也在不断改进,适合高职高专教学使用,内容基础、重难点突出,符合高职高专“理论够用、注重实践”的要求。
选用的参考资料
严蔚敏.吴伟民《数据结构(C语言版)》.清华大学出版社.2009年版
殷人昆.《数据结构》.清华大学出版社.1999年版
《C语言程序设计》.石油大学出版社
《C语言程序设计》.中国石油大学出版社.2006年版
数据结构第五章 数组和广义表
n维数组中按行优先次序存储的数据元素的存 储位置的计算公式:
LOC[j1,j2,...,jn ] = LOC[0,0,...,0] +(j1× b2×..×bn+j2× b3×..×bn+..+jn-1× bn +jn)× L 上式称为n维数组的映像函数。数组元素的存储位置是其 下标的线性函数。
5.3
设对称矩阵A[0..5,0..5]压缩存储于一维数组S中,
若a34存放于S[k]中,则k=(13 )。
2、三角矩阵(上三角,下三角) 上三角矩阵的主对角线下方中的元素均为常数C或零。 下三角矩阵的主对角线上方均为常数C或零 a11 … a 1n a11 0 … 0 0 a22 … a 2 n a21 a22 … 0 ………………….. …………….. 0 0 … a nn an 1 an 2 … a n n (a)上三角矩阵
((1,2,12),(1,3,9), (3,1,-3), (3,6,14) (4,3,24)(6,1,15) ) , ,
1.三元组顺序表
用一维数组data来顺序存储表示三元组表。 #define MAXSIZE 12500 //假设非零元个数的最大值为12500 typedef union {
i j e 1 2 12 Triple data[MAXSIZE + 1];//非零元三元组表,data[0] 1 3 9 未用 3 1 -3 3 6 14 int mu, nu, tu; // 矩阵的行数、列数和非零元个数 4 3 24 } TSMatrix; // 稀疏矩阵类型 6 1 15
第五章 数据结构基础
5.2
线性结构
线性结构是一种最常用且最简单的数据结构,其结点之 间存在着一一对应的相互关系。无论是现实世界还是计算机 应用中,线性结构都有广泛的应用。如我们利用自然语言, 表述一句话或写作一篇文章都是把文字按照线性的方式组织 起来的;又如操作键盘向计算机中输入的信息也是线性结构。 本节主要介绍线性结构的存储表示、运算的具体实现等有关 内容。
学号 1001 1002 … … 姓名 张三丰 貂蝉 … … 性别 男 女 … … 出生时间 … … 入学时间 … … 籍贯 辽宁 山西 … … 院系 计算机系 计算机系 … … 班级 计061 计061 … …
5.1.1 什么是数据结构
表中每个学生各占一行,每行的信息说明一个学生的情况,是学生 档案表的基本单位,我们把整个学生档案为一个数据结构。表中的每一 行称为一个结点(也称为元素、记录表目等,是数据结构中的基本单位)。 每一行由一系列数据项组成,数据项又称字段,能唯一确定一个结点的 字段称为关键码。上例中学号字段就是关键码,它能唯一确定一个学生 的情况。
5.1.4 数据的运算
所谓数据的运算是指对于数据的进行某一特定处理的操 作。计算机中的数据运算是包括数值运算和抽象数据类型的 运算两方面内容的。在本书第一章中已经介绍了关于计算机 中数值运算的基本概念和方法,在本章中我们主要讨论抽象 数据类型的运算。数据的运算是定义在数据的逻辑结构上的, 而运算的具体的实现要在存储结构上进行。数据的每一种逻 辑结构都有一个运算的集合。常用的运算有检索、插入、更 新、排序等。
数据结构5
a 01 a 02 a11 a12 ... ... a m-1, a m-1,2 1
... ... ... ...
a 0,n-1 a1,n-1 ... a m-1,n-1
1
m-1 m
每个数据元素占L个存储单元; 每个数据元素占L个存储单元; LOC(0,0)表示数据元素a 的存储地址, LOC(0,0)表示数据元素a00的存储地址, 表示数据元素 是数组的起始地址(基地址); 是数组的起始地址(基地址) LOC(i,j)表示下标为(i,j)的数据元素 LOC(i,j)表示下标为(i,j)的数据元素 表示下标为(i,j) aij的存储地址 LOC(i,j)=LOC(0,0)+(j*m+i)*L
n阶矩阵; 阶矩阵; 非零元都集中在以主对角线为中心的带状区域中. 所有的非零元都集中在以主对角线为中心的带状区域中 所有的非零元都集中在以主对角线为中心的带状区域中.
Data Structure 2010-1-2 Page 14
压缩存储——对称矩阵 对称矩阵 压缩存储
仅存储下 三角
a11 a12 …. … ….. a1n a21 a22 …….. ……. a2n …………………. an1 an2 ……..
Data Structure
2010-1-2
Page 2
5.1 数组的定义 数组是线性表的推广
数据结构考研讲义 第五章 图
第四章图
4.1图的概念
1.图的定义
图是由一个顶点集V和一个弧集R构成的数据结构。
2.图的重要术语;
(1)无向图:在一个图中,如果任意两个顶点构成的偶对(v,w)∈E是无序的,即顶点之间的连线是没有方向的,则称该图为无向图。
(2)有向图:在一个图中,如果任意两个顶点构成的偶对(v,w)∈E是有序的,即顶点之间的连线是有方向的,则称该图为有向图。
(3)无向完全图:在一个无向图中,如果任意两顶点都有一条直接边相连接,则称该图为无向完全图。在一个含有n个顶点的无向完全图中,有n(n-1)/2条边。
(4)有向完全图:在一个有向图中,如果任意两顶点之间都有方向互为相反的两条弧相连接,则称该图为有向完全图。在一个含有n个顶点的有向完全图中,有n(n-1)条边。
(5)稠密图、稀疏图:若一个图接近完全图,称为稠密图;称边数很少(e<nlogn)的图为稀疏图。
(6)顶点的度、入度、出度:
顶点的度(degree)是指依附于某顶点v的边数,通常记为TD(v)。
在有向图中,要区别顶点的入度与出度的概念。顶点v的入度是指以顶点为终点的弧的数目,记为ID(v);
顶点v出度是指以顶点v为始点的弧的数目,记为OD(v)。
TD(v)=ID(v)+OD(v)。
(7)边的权、网图:与边有关的数据信息称为权(weight)。在实际应用中,权值可以有某种含义。边上带权的图称为网图或网络(network)。如果边是有方向的带权图,则就是一个有向网图。
(8)路径、路径长度:顶点vp到顶点vq之间的路径(path)是指顶点序列vp,vi1,vi2,…,vim,vq.。其中,(vp,vi1),(vi1,vi2),…,(vim,.vq)分别为图中的边。路径上边的数目称为路径长度。
《数据结构》教案.doc
教学内容及过程
板书或旁注
第一章:绪论
1.1数据结构概念
1.1.1为什么要学习数据结构
1.计算机处理问题的分类
(1)数值计算问题
(2)非数值性问题
2.非数值问题求解
算法+数据结构=程序
数据结构:是指数据的逻辑结构和存储结构算法:是对数据运
算的描述
1.1.2冇关概念和术语
数据
数据元素
数据项
数据结构:集合、线性、树型、阁状数
据结构:包拈物理结构、逻辑结构数
据的四种基木存储方法
(1)顺序存储方法
(2)链接存储方法
(3)索引存储方法
(4)散列存储方法
教学单元(章节):第一章:绪论
1.2算法描述
1.3算法分析
教学目的:理解算法的定义、特性、描述方法掌握简单的时间复杂度的估计
矢只要,克:算法的特性、描述方法、算法编制的质量要求、
数据结构的基本操作、时间复杂度、空间复杂度、
技育要,克:描述算法、分析简单算法的时间复杂度
教学方法:讲授+演示
教具及教学手段:投影
作业布置情况:P11; 3、4
课后分析与小结:
木节课的重点:算法的特点和描述,算法分析难点:算法时间复杂度的估计
教学单元(章节):C 语言第七章:数组
7.1 一维数组的定义和引用 7.2二维
数组的定义和引用 7.3字符数组
教学目的:理解一维数组、二维数组、字符数组的定义
掌握一维数组、二维数组、字符数组的引用和初始化方法 掌握一维数组、二维数组、字符数组的简单应用程序
知H 只要:一维数组、二维数组、字符数组的定义、引用、初始化 一维数组、二
维数组、字符数组相关的简单程序
主支育g 要,奈:用数组来处理相关问题的程序
教学方法:
讲授+渍示
P152; 7. 1 1)152; 7. 3 P153; 7.11 P153; 7.15
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
05 图
【单选题】
1. 设无向图G 中有五个顶点,各顶点的度分别为2、4、3、1、2,则G 中边数为(C )。 A、4条 B、5条 C、6条 D、无法确定
2. 含n 个顶点的无向完全图有(D )条边;含n 个顶点的有向图最多有(C )条弧;含n 个顶点的有向强连通图最多有(C )条弧;含n 个顶点的有向强连通图最少有(F)条弧;设无向图中有n 个顶点,则要接通全部顶点至少需(G )条边。
A 、n 2
B 、n(n+1)
C 、n(n-1)
D 、n(n-1)/2
E 、n+1
F 、n
G 、n-1
3. 对下图从顶点a 出发进行深度优先遍历,则(A )是可能得到的遍历序列。
A 、acfgdeb
B 、abcdefg
C 、acdgbef
D 、abefgcd
对下图从顶点a 出发进行广度优先遍历,则(D )是不可能得到的遍历序列。
A 、abcdefg
B 、acdbfge
C 、abdcegf
D 、
adcbgef
4. 设图G 的邻接矩阵A=⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡010101010,则G 中共有(C )个顶点;若G 为有向图,则G 中共有(D )条弧;若G 为无向图,则G 中共有(B )条边。
A 、1
B 、2
C 、3
D 、4
E 、5
F 、9
G 、以上答案都不对
5. 含n 个顶点的图,最少有(B )个连通分量,最多有(D )个连通分量。
A 、0
B 、1
C 、n-1
D 、n
6. 用邻接表存储图所用的空间大小(A )。
A 、与图的顶点数和边数都有关
B 、只与图的边数有关
C 、只与图的顶点数有关
D 、与边数的平方有关
7. n 个顶点的无向图的邻接表最多有(B )个表结点。
A 、n 2
B 、n(n-1)
C 、n(n+1)
D 、n(n-1)/2
8. 无向图G=(V ,E),其中:V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是(D )。
A 、a,b,e,c,d,f
B 、a,c,f,e,b,d
C 、a,e,b,c,f,d
D 、a,e,d,f,c,b
9. 图的BFS 生成树的树高比DFS 生成树的树高(A )。
A 、小或相等
B 、小
C 、大或相等
D 、大
10. 下列不正确的是(C)。
(1)求从指定源点到其余各顶点的迪杰斯特拉(Dijkstra)最短路径算法中弧上权不能为负的原因是在实际应用中无意义;
(2)利用Dijkstra求每一对不同顶点之间的最短路径的算法时间是O(n3);(图用邻接矩阵表示)
(3)Floyd求每对不同顶点对的算法中允许弧上的权为负,但不能有权和为负的回路。
A、(1),(2),(3)
B、(1)
C、(1),(3)
D、(2),(3)
11. 当各边上的权值(A)时,BFS算法可用来解决单源最短路径问题。
A、均相等
B、均互不相等
C、不一定相等
12. 若一个有向图具有拓扑排序序列,那么它的邻接矩阵必定为(C)。
A、对称矩阵
B、稀疏矩阵
C、三角矩阵
D、一般矩阵
13. 在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是(D)。
A、G中有弧
B、G中有一条从Vi到Vj的路径
C、G中没有弧
D、G中有一条从Vj到Vi的路径
14. 关键路径是AOE网中(B)。
A、从始点到终点的最短路径
B、从始点到终点的最长路径
C、人始点到终点的边数最多的路径
D、从始点到终点的边数最少的路径
15. 下面关于求关键路径的说法不正确的是(C)。
A、求关键路径是以拓扑排序为基础的
B、一个事件的最早开始时间同以该事件为尾的弧的活动最早开始时间相同
C、一个事件的最迟开始时间为以该事件为尾的弧的活动最迟开始时间与该活动的持续时间的差
D、关键活动一定位于关键路径上
【填空题】
1. 设无向连通图G含n个顶点e条边,则G的生成树含个顶点条边。
2. 连通分量是无向图的子图,生成树是无向连通图的子图。
3. 对稀疏图而言,在邻接矩阵和邻接表这两种存储结构中选择更为适宜。
4. 设无向图G含n个顶点e条边,则G的邻接表表示中含个边表结点。
5. 设有向图G含n个顶点e条弧,则G的邻接表表示中含个边表结点。
【计算题】
1. 设无向图如下,写出对该图从顶点a 出发进行广度优先遍历可能得到的所有遍历序列。
解:abcdefg 、abdcegf 、acbdfeg 、acdbfge 、adbcgef 、adcbgfe 。
2. 设有向图如下,写出对该图从顶点a 出发进行深度优先遍历可能得到的所有遍历序列。
解:abedc 、acbed 、acdbe 。
3. 设无向网如下,(1)写出其邻接矩阵;(2)基于该邻接矩阵求深度优先生成树和广度优先生成树;(3)基于该邻接矩阵按普里姆算法求最小生成树;(4)写出其邻接表;(5)基于该邻接表按克鲁斯卡尔算法求最小生成树。
解:
(1) ⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞6456252363794567555553
955434 (2)深度优先生成树:;广度优先生成树: