天津理工大学数据结构2014复习提纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构期末复习范围
第一章算法与程序
1、何谓算法?简述算法的基本特性和表示方法。
2、如何评价一个算法?简述环路复杂度、空间复杂度和时间复杂
度的概念。
3、简述算法与程序的联系与区别,并列举常用的算法设计方法。第二章常用数据结构
1、数据类型与数据结构的联系与区别是什么?
2、数据类型的6个显著特征是什么?
3、举例说明数据结构的逻辑结构、数据的存储结构和数据的运算
三个方面的内容。
4、什么是线性结构?什么是非线性结构?举例说明。
第三章简单数据结构
1、线性表可用顺序表和单链表作为存储结构。问:
●两种存储表示各有哪些主要优缺点?
●如果有n个表同时并存,且处理过程中各表的长度会动态发生
变化,表的总数也可能自动改变;在此情况下应选用哪种存储
表示?为什么?
●若表的总数基本稳定,且很少插入和删除,但要求以最快速度
存取表中元素;这是应采取哪种存储表示?为什么?
2、设有一个栈,元素的进栈次序依次为A、B、C、D、E,问能否得到下面的出栈序列?若能请写出操作序列,若不能请说明原因?
●C、E、A、B、D
●C、B、A、D、E
●D、C、A、B、E
●A、C、B、E、D`
●A、B、C、D、E
●E、A、B、C、D
3、已知表达式的中缀表示为(A+B)*D+E/(F+A*D)+C,利用栈把它
改写成为后缀表示,并写出转换过程中栈的变化。
4、何为队列的上溢现像?解决方法有哪些?各种方法的工作原理
是什么?
第四章树与二叉树
1、已知一棵树边的集合为{(I,M),(I,N),(E,I),(B,E),(B,D),(A,B),(G,J), (G,K),(C,G),(C,F),(H,L),(C,H),(A,C)},请画出这棵树并回答如下问题:
●那个是根结点?
●那些是叶子结点?
●那个是结点G的双亲?
●那些是结点G的祖先?
●哪些是结点G的孩子?
●哪些是结点E的子孙?
●哪些是结点E的兄弟?哪些是结点F的兄弟?
●结点B和结点N的层次号分别是多少?
●树的深度是多少?树的度是多少?
●以结点C为根的子树的深度是多少?
2、分别画出有三个结点的树和有三个结点的二叉树的所有不同形态。
3、已知一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,……,nk个度为k的结点,问该树中有多少叶子结点?
4、一棵深度为h的满k叉树是这样的一棵树,他的第h层上的结点全部是叶子结点,其余各层上的每个结点都有k可非空子树。如果对深度为h的满k叉树按层次自上而下,同层次自左至右的顺序从1开始对所有结点编号,问:
●各层的结点数目是多少?
●编号为n的结点的双亲结点若存在,其编号是多少?
●编号为n的结点的第i个孩子结点若存在,其编号是多少?
●编号为n的结点有右兄弟的条件是什么?其右兄弟编号是多
少?
4、一棵含有n个结点的k叉树,可能达到的最大深度和最小深度
各为多少?
5、对于下图所示的一棵二叉树,分别写出:
●前序遍历序列
●中序遍历序列
●后序遍历序列
●层次遍历序列
6、已知一棵二叉树的前序序列为EBADCFHGIKJ,中序序列为
ABCDEFGHIJK。请画出该二叉树,并写出它的后序序列和层次序列。
7、已知一棵二叉树的后序序列为DCEGBFHGIKJ,中序序列为
DCBGEAHFIJK。请画出该二叉树,并写出它的前序序列和层次序列。
8、已知一棵二叉树的层次序列为ABCDEFGHIJ,中序序列为
DBGEHJACIF。请画出该二叉树,并写出它的前序序列和后序序列。
9、把下图所示的两棵树,分别转化为相应的二叉树。
P126
10、把下图所示的森林转化为相应的一棵二叉树。
P127
11、把下图所示二叉树转化为相应的树,然后分别写出其先根序列
和后根序列。
P127
12、给定一个权重集合为W={3,15,17,14,6,16,9,2},请画出相应的哈
夫曼树,并计算其带权路径长度WPL。
13、已知二叉树以二叉链表作为存储结构,编写按层次遍历该二叉
树的算法。
14、已知二叉树以二叉链表作为存储结构,编写按前序遍历该二叉
树的算法。
第五章图与网
1、对如下有向图给出其邻接矩阵、邻接表和逆邻接表,并计算每
个顶点的度。
P159 图5-34(a)
2、对如下有向图给出其邻接矩阵、邻接表和逆邻接表,并计算每
个顶点的度。
P159 图5-34 (b)
3、对下图分别给出:
⑴深度优先搜素遍历序列和深度优先生成树;
⑵广度优先搜素遍历序列和广度优先生成树;
⑶用Prim算法求得最小生成树的过程;
⑷用Kruskal算法求得最小生成树的过程。
P159 图5-35
4、对下图分别给出:
⑴邻接矩阵;
⑵用Dijkstra算法求从v1出发到各顶点的最短路径。
P159 图 5-36
5、用Floyd算法求下图中每对顶点间的最短路径。
P159 图 5-37
6、用邻接矩阵表示图时,若图中有100个顶点和100条边,则形
成的邻接矩阵中有多少个元素?有多少个非零元素?是否为稀疏矩阵?
7、用邻接矩阵表示图时,矩阵中元素的个数与顶点个数是否相
关?与边的条数是否相关?
8、有n个顶点的无向连通图至少有多少条边?有n个顶点的有向
强连通图至少有多少条边?
9、对于有n个顶点的无向图,若采用邻接矩阵表示如何判断以下
问题:
⑴图中有多少条边?
⑵任意两个顶点i和j之间是否有边相连?
⑶任意一个顶点的度是多少?
第六章数据结构的程序实现
1、阐述数据结构在问题建模中的重要作用。
第七章检索与基本算法
1、若对大小为n的顺序表和有序表分别进行顺序检索,在等概率
的前提下,工况时的平均检索长度是否相同:
⑴检索不成功,即表中没有关键字值等于给定值k的记录;