数据结构导论大题
第二章线性表
39.假设单链表的类型定义如下: typedef struct node { DataType data; struct node *next; }Node, * LinkList; 设计算法InitiateLinkList( )实现单链表的初始化。

第四章
72.给定数据序列{46,25,78,62,12,80},试按元素在序列中的次序将它们依次插入一棵初始为空的 二叉排序树,画出插入完成后的二叉排序树。
解析:通常采用逐点插入结点的方法来构造二叉排序树,其方法表述如下:设k={k1,k2,k3,…,kn}为数 据元素序列。从k1开始依次取序列中的元素,每取出一个数据元素ki按下列原则建立二叉排序树的一个结 点:①若二叉排序树为空,则ki就是该二叉排序树的根结点。②若二叉排序树非空,则将ki与该二叉排序树 的根结点的值进行比较。若ki小于根结点的值,则将ki插入到根结点的左子树中,否则将ki插入到根结点 的右子树中。
73.已知某棵二叉树的先序遍历和中序遍历的结果序列分别为ABCDEFGHI和BCAEDGHFI。 (1)试构造出该二叉树。 (2)给出该二叉树的后序遍历结果序列

第五章 图
94.写出下图所示的有向图邻接矩阵表示和所有拓扑排序序列。


拓扑序列:DABEFC;DAEBFC 解析:(1)D的入度为0,选D,删除D的两边,调整A的入度为0,E的入度为1,选A,删除A的两 边,调整E的入度为0,B的入度为0,选B,删除B的两边,调整C的入度为1,F的入度为1,选E,删 除E的一边,调整F入度为0,选F,删除F的一边,调整C的入度为0,输出C。(2)D的入度为0,选 D,删除D的两边,调整A的入度为0,E的入度为1,选A,删除A的两边,调整E的入度为0,B的入 度为0,选E,删除E的一边,调整F的入度为1,选B,删除B的两边,调整F入度为0,选F,删除F 的一边,调整C的入度为0,输出C。
95.设有向图的邻按表表示如题图所示,

解析:对有向图,第i个单链表中的结点个数只是顶点Vi的出度,即本题中每个顶点的出度数分别为0,2, 2,2,3,1。为了求入度, 必须遍历整个邻接表。在所有单链表中,其邻接点域的值为i的结点的个数是 顶点Vi 的入度,在本题中,对于V0,邻接点域的值为0的结点分别是V1、V4、V5,V0的入度数是3。同 理得出结点的入度数。





最短路径


入度为0








第六章 查找
第七章 排序

浙公网安备 33010602011771号