数据结构复习之运算操作题(答案)
数据结构习题(含答案)

数据结构习题(含答案)数据结构习题(含答案)1. 题目描述:请实现一个栈,要求支持以下操作:push(x)将元素x 入栈;pop()弹出栈顶元素;top()返回栈顶元素;empty()判断栈是否为空。
解答:我们可以使用数组来实现栈的功能。
首先定义一个数组stack来存储栈中的元素,同时定义一个整型变量top来表示栈顶的索引位置。
初始时,将top设置为-1,表示栈中没有元素。
1.1 push(x)操作:当要将元素x入栈时,我们先将top的值加1,然后将x赋值给stack[top],即将x放入栈顶位置。
1.2 pop()操作:当调用pop()操作时,我们首先判断栈是否为空,即判断top的值是否为-1。
如果top等于-1,说明栈为空,无法进行pop()操作。
如果不为空,则将top的值减1,同时返回stack[top],即弹出栈顶元素。
1.3 top()操作:top()操作与pop()操作类似,只需在操作完成后不弹出栈顶元素,而是直接返回stack[top]即可。
1.4 empty()操作:empty()操作用来判断栈是否为空,只需判断top的值是否为-1即可。
如果top等于-1,则返回true,表示栈为空;否则返回false,表示栈不为空。
综上所述,我们可以用数组实现一个栈,满足push、pop、top和empty等操作。
2. 题目描述:请实现一个队列,要求支持以下操作:push(x)将元素x入队;pop()将队首元素出队;peek()返回队首元素;empty()判断队列是否为空。
解答:我们可以使用两个栈来实现一个队列的功能。
首先定义两个栈stack1和stack2,其中stack1用来存储新加入队列的元素,stack2用来存储队列中已经处理过的元素。
定义两个整型变量top1和top2,分别表示stack1和stack2的栈顶索引位置。
初始时,top1和top2均设置为-1,表示两个栈均为空。
2.1 push(x)操作:当要将元素x入队时,我们直接将x加入到stack1中,同时将top1的值加1。
数据结构复习习题和答案(DOC)

第一章绪论一、单项选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和操作等的学科。
① A.操作对象 B.计算方法 C·逻辑存储 D.数据映象② A.结构 B.关系 C.运算. D.算法2.数据结构被形式地定义为(D,R),其中D是①的有限集合,R是D上的②有限集合。
① A.算法 B.数据元素 C.数据操作 D.逻辑结构② A.操作 B.映象 C、存储 D.关系3.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构4·算法分析的目的是①,算法分析的两个主要方面是②。
① A. 找出数据结构的合理性 B.研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性5.计算机算法指的是①,它必具备输入、输出和②等五个特性。
① A. 计算方法 B.排序方法 C. 解决问题的有限运算序列 D.调度方法② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性 D.易读性、稳定性和安全性6. 线性表的逻辑顺序与存储顺序总是一致的,这种说法()。
A. 正确 B.不正确7. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。
A. 必须是连续的 B.部分地址必须是连续的C. 一定是不连续的D. 连续或不连续都可以8.数据结构通常是研究数据的()及它们之间的相互联系。
A.存储和逻辑结构 B.存储和抽象C.理想与抽象 D.理想与逻辑9.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为()。
A.存储结构 B.逻辑结构 C.顺序存储结构 D.链式存储结构11.非线性结构是数据元素之间存在一种()。
数据结构与算法复习题库含答案

数据结构与算法复习题库含答案1. 问题描述:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
答案:可以使用哈希表来解决此问题。
首先初始化一个空的哈希表,然后遍历数组中的每个元素。
对于每个元素,首先计算目标值与当前元素的差值,然后在哈希表中查找该差值。
如果找到了该差值,则说明存在两个数的和等于目标值,返回这两个数的下标;否则,将当前元素插入到哈希表中。
时间复杂度为O(n),其中n为数组的长度。
2. 问题描述:给定一个字符串,找出其中不含重复字符的最长子串的长度。
答案:可以使用滑动窗口来解决此问题。
维护一个窗口,其中包含没有重复字符的子串。
遍历字符串中的每个字符,如果该字符不在窗口中,将其加入窗口;如果该字符在窗口中,移动窗口的左边界直到窗口中不包含重复字符。
记录窗口的最大长度。
时间复杂度为O(n),其中n为字符串的长度。
3. 问题描述:给定一个字符串和一个单词列表,找出字符串中可以由单词列表中的单词组成的所有子串的起始位置。
答案:可以使用滑动窗口和哈希表来解决此问题。
首先统计单词列表中每个单词的出现次数。
然后遍历字符串中的每个位置作为子串的起始位置,维护一个滑动窗口。
在窗口中依次取出长度和单词列表中单词总长度相等的子串,在哈希表中统计子串中每个单词出现的次数。
如果窗口中的子串与单词列表中的单词出现次数一致,则记录该子串的起始位置。
时间复杂度为O(n*m),其中n为字符串的长度,m为单词列表中的单词个数。
4. 问题描述:给定一个无序的整数数组,找出其中缺失的第一个正整数。
答案:可以使用原地哈希表来解决此问题。
遍历数组中的每个元素,将每个正整数放到数组中对应的位置上。
遍历数组中的每个元素,如果该位置上的数不等于数组索引加一,则该索引加一即为缺失的第一个正整数。
时间复杂度为O(n),其中n为数组的长度。
5. 问题描述:给定一个字符串s,找到s中最长的回文子串。
答案:可以使用动态规划来解决此问题。
数据结构试题及答案_经典期末试题

一、一、单选题(每题 2 分,共20分)1. 1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2. 2.用链接方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3. 3.以下数据结构中哪一个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4. 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.6965. 5.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6. 6.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.10.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
A.5B.6C.7D.8二、二、填空题(每空1分,共26分)1. 1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
数据结构试题及答案(十套)

一、单选题(每题 2 分,共20分)1.对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图6.采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。
A.值B.函数C.指针D.引用8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。
A.行号B.列号C.元素值D.非零元素个数9.快速排序在最坏情况下的时间复杂度为()。
A.O(log2n) B.O(nlog2n)C.0(n) D.0(n2)10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1.数据结构是指数据及其相互之间的______________。
当结点之间存在M对N (M:N)的联系时,称这种结构为_____________________。
数据结构复习题及答案

数据结构复习题及答案一、选择题1. 在数据结构中,以下哪种数据结构允许在任何位置进行插入和删除操作?A. 栈B. 队列C. 链表D. 数组答案:C2. 以下哪个选项是二叉搜索树的特性?A. 所有左子树的节点值小于根节点值B. 所有右子树的节点值大于根节点值C. 所有左子树的节点值大于根节点值D. 所有右子树的节点值小于根节点值答案:A3. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构?A. 栈B. 队列C. 链表D. 数组答案:A二、填空题1. 在一个有n个节点的完全二叉树中,如果节点按层次从上到下、从左到右编号为1, 2, 3, ..., n,则第i个节点的左孩子节点的编号为____。
答案:2i2. 哈希表解决冲突的一种方法是使用链地址法,其中每个哈希表项是一个____。
答案:链表3. 在图的表示方法中,邻接矩阵适合表示____图,邻接表适合表示____图。
答案:稠密;稀疏三、简答题1. 描述什么是递归,并给出一个简单的递归算法的例子。
答案:递归是一种在算法中调用自身的方法,用于解决可以分解为相似子问题的问题。
一个简单的递归算法例子是计算阶乘:n! = n * (n-1)!,其中基本情况是0! = 1。
2. 解释什么是图的广度优先搜索(BFS)算法,并说明其在哪些情况下适用。
答案:广度优先搜索(BFS)是一种遍历或搜索树或图的算法,它从根节点开始,逐层遍历节点。
BFS适用于寻找最短路径或在层次结构中按层次顺序访问节点的情况。
四、编程题1. 给定一个单链表,请编写一个函数来反转该链表。
答案:(此处省略具体代码实现,只提供解题思路)要反转一个单链表,可以创建一个新的链表头节点,然后遍历原链表,将每个节点的next指针指向前一个节点,直到链表末尾。
最后,将新链表的头节点设置为原链表的最后一个节点的前驱节点。
(完整版)数据结构复习题(附答案)

(完整版)数据结构复习题(附答案)⼀、算法设计题(每题15分,共60分)答题要求:①⽤⾃然语⾔说明所采⽤算法的思想;②给出每个算法所需的数据结构定义,并做必要说明;③写出对应的算法程序,并做必要的注释。
1、有⼀个带头结点的单链表,每个结点包括两个域,⼀个是整型域info,另⼀个是指向下⼀个结点的指针域next。
假设单链表已建⽴,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留⼀个。
3、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个⼈按顺时针⽅向围坐成⼀圈,现从第s个⼈开始按顺时针⽅向报数,数到第m个⼈出列,然后从出列的下⼀个⼈重新开始报数,数到第m的⼈⼜出列,…,如此重复直到所有的⼈全部出列为⽌。
现要求采⽤循环链表结构设计⼀个算法,模拟此过程。
4、编程实现单链表的就地逆置。
23.在数组 A[1..n]中有n个数据,试建⽴⼀个带有头结点的循环链表,头指针为h,要求链中数据从⼩到⼤排列,重复的数据在链中只保存⼀个.5、设计⼀个尽可能的⾼效算法输出单链表的倒数第K个元素。
3、假设以I和O分别表⽰⼊栈和出栈操作。
栈的初态和终态均为空,⼊栈和出栈的操作序列可表⽰为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为⾮法序列。
(15分)(1)下⾯所⽰的序列中哪些是合法的?A. IOIIOIOOB. IOOIOIIOC. IIIOIOIOD. IIIOOIOO(2)通过对(1)的分析,写出⼀个算法,判定所给的操作序列是否合法。
若合法,返回true,否则返回false(假定被判定的操作序列已存⼊⼀维数组中)。
5、设从键盘输⼊⼀整数的序列:a1, a2, a3,…,an,试编写算法实现:⽤栈结构存储输⼊的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。
算法应对异常情况(⼊栈满等)给出相应的信息。
设有⼀个背包可以放⼊的物品重量为S,现有n件物品,重量分别为W1,W2,...,W n。
数据结构复习题(附答案)

数据结构复习题(附答案)1. 快速排序在最坏情况下的时间复杂度为( D )。
A.O(log2n) B.O(nlog2n) C.O (n) D. O (n2)2.设⼀棵⼆叉树的深度为k,则该⼆叉树中最多有( D )个结点。
A. 2k-1B. 2kC.2k-1D. 2k-13.⼆叉树中第i(i≥1)层上的结点数最多有( C )个。
A. 2iB. 2iC. 2i-1D. 2i-1 4.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为( A )。
A. p->next=p->next->nextB. p=p->nextC. p=p->next->nextD. p->next=p5.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,⼀个元素出栈后即进⼊队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量⾄少应该是( C )。
A. 6B. 4C. 3D. 26.设有以下四种排序⽅法,则( B )的空间复杂度最⼤。
A. 冒泡排序B. 快速排C. 堆排序D. 希尔排序7.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为( B )。
A. 3B. 4C. 5D. 18.根据⼆叉树的定义可知⼆叉树共有( B )种不同的形态。
A. 4B. 5C. 6D. 79.对⼀个算法的评价,不包括如下( A )⽅⾯的内容。
A.并⾏性 B.健壮性和可读性 C.正确性 D.时空复杂度10.在⼆叉排序树中插⼊⼀个结点的时间复杂度为( C )。
A.O(1) B.O(n) C.O(log2n) D.O(n2)11. 队列是⼀种( B )的线性表。
A.先进后出B.先进先出 C.只能插⼊D.只能删除12.采⽤开放定址法处理散列表的冲突时,其平均查找长度( C )。
A.低于链接法处理冲突 B. 与链接法处理冲突相同C.⾼于链接法处理冲突 D.⾼于⼆分查找13.设有序顺序表中有n个数据元素,则利⽤⼆分查找法查找数据元素X的最多⽐较次数不超过( A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.有6个元素A、B、C、D、E、F依次进栈,允许任何时候出栈,能否得到下列的每个出栈序列,若能,给出栈操作的过程,若不能,简述其理由。
(1)CDBEFA (2)ABEDFC (3)DCEABF (4)BAEFCD2.有4个元素a,b,c,d依次进栈,任何时候都可以出栈,请写出所有可能的出栈序列和所有不存在的序列。
3.用一维数组a[7]顺序储一个循环队列,队首和队尾指针分别用front和rear表示,当前队列中已有5个元素:23,45,67,80,34,其中,23为队首元素,front的值为3,请画出对应的存储状态,当连续做4次出队运算后,再让15,36,48元素依次进队,请再次画出对应的存储状态。
4.用于顺序存储一个队列的数组的长度为N,队首和队尾指针分别为front和rear,写出求此队列长度(即所含元素个数)的公式.参考答案(从简)1,(1)能: push(S,A), push(S,B), push(S,C), pop(S), push(S,D), pop(S), pop(S), push(S,E), pop(S), push(S,F), pop(S), pop(S).(2)能:push(S,A), pop(S), push(S,B), pop(S), push(S,C), push(S,D), push(S,E), pop(S), pop(S), push(S,F), pop(S), pop(S).(3)不能: 当E出栈时,AB必需在栈内,而后继A出栈先于B,不符合后进先出原则。
(4)不能: 当F出栈时,CD必需在栈内,而后继C出栈先于D,不符合后进先出原则。
2,所有可能的出栈序列:abcd; abdc; acbd; acdb; adcb;bacd; badc; bcad; bcda; bdca;cbad; cbda; cdba;dcba.所有不存在的序列:adbc;bdac;cabd; cadb; cdab;dabc; dacb; dbac; dbca; dcab.3,0 1 2 3 4 5 6------------------------------------------------------------------[80 34 23 45 67]↑rear ↑front[ 34 15 36 48 ]↑front ↑rear4,队列长度L的计算公式为:L = ( N+rear-front ) % N[ 说明:当rear>front 时,L = rear - front = ( N+rear-front ) % N;当rear<front 时,队列被分为两个部分,前部分在数组的尾部,其元素个数为N-1-front , 后部分在数组的首部,其元素个数为rear+1 , 所以:L =( rear+1+N-1 - front )%N= ( N+rear-front ) % N; ]1.已知一组元素为(46,25,78,62,12,37,70,29),画出按元素排列顺序输入生成的一棵二叉搜索树,再以广义表的形式给出该二叉搜索树.2.已知一棵搜索树的广义表表示为28(12(,16),49(34(30),72(63))),若从中依次删除72,12,49,28,等4个结点,试分别画出每删除一个结点后得到的图形表示的二叉搜索树,并写出对应的广义表表示.3.从空堆中开始依次向小根堆中插入集合{38,64,52,15,73,40,48,55,26,12}中的每个元素,试以顺序表的形式给出每插入一个元素后堆的状态.4.已知一个堆为{12,15,40,38,26,52,48,64},若从堆中依次删除4个元素,请给出每删除一个元素后的堆的状态.5.有7个带权结点,其权值分别为3,7,8,2,6,10,14,试以它们为叶子结点构造一棵哈夫曼树,给出其广义表表示.并计算出带权路径长度WPL.*6.在一份电文中共使用5种字符,即a.b.c.d.e,它们的出现频率依次为4,7,5,2,9,试画出对应的哈夫曼编码和传送电文的总长度.*7.一棵二叉树的广义表表示为A(B(,D(G ,),)C(E(,H),F)),试画出对应的图示二叉树*9.一组关键字为(36,75,83,54,12,67,60,40,92,72),试依次插入结点分别生成一棵二叉搜索树,并求查找每个元素的平均查找长度. 1.广义表:46( 52 (12 , 37 ( 29 )) , 78 ( 62 ( ,70 ))) 3. 38 38 64 38 64 52 15 38 52 64 15 38 52 64 73 15 38 40 64 73 52 15 38 40 64 73 52 48 15 38 40 55 73 52 48 64 15 26 40 38 73 52 48 64 55 12 15 40 38 26 52 48 64 55 73ASL =( 1 + 2×2 + 2×3 + 3×4.广义表:( ( ( ( 2 , 3 ) , 6 ) , 10 ) , ( ( 7 , 8 ) , 14 ) ) WPL = ( 10 + 14 )×2 + ( 6 + 7 + 8 )编码0000 011、如图7-13(a)和图7-13(b)所示,求:(1)每一个图的二元组表示。
(2)图7-13(a)中每个顶点的度,以及每个顶点的所有邻接点和所有边。
(3)图7-13(b)中每个顶点的入度、出度和度,以及每顶点的所有入边的出边。
(4)图7-13(a)中从v0到v4的所有简单路径及相应路径长度。
(5)图7-13(b)中从v0到v4的所有简单路径及相应带权路径长度。
(a)无向图(b)有向图图7—13运算题图12、根据图7-13(a)和图7-13(b),画出:(1)每个图的邻接邻接矩阵。
(2)每个图的邻接表。
(3)每个图的边集数组。
3、如图7-14所示,按下列条件分别写出从顶点v0出发按深度优先搜索遍历得到的顶点序列和按广度优先搜索遍历得到的顶点序列。
(1)假定它们均采用邻接矩阵表示。
(2)假定它们均采用邻接表表示,并且每个顶点邻接表中的结点都是按顶点序号从大到小的次序链接的。
(a)无向图(b)有向图图7—14运算题图24、已知一个图的二元组表示如下:V={0,1,2,3,4,5,6,7,8}E={(0,3),(0,4),(1,2),(1,4),(2,4),(2,5),(3,6),(3,7),(4,7),(5,8),(6,7),(7,8)}(1)画出对应的图形。
(2)假定从顶点0出发,给出邻接矩阵表示图的深度优先和广度优先搜索遍历的顶点序列。
(3)假定从顶点0出发,给出邻接表表示的图的深度优先和广度优先搜索遍历的顶点序列,假定每个顶点邻接表中的结点都是按顶点序号从大到小的次序链接的。
答案3.依照矩阵和邻接表所产生的两种遍历序列各自相等。
a图:深度优先遍历:0 1 2 8 3 4 5 6 7 9广度优先遍历:0 1 4 2 7 3 8 6 9 5b图:深度优先遍历:0 1 4 5 8 7 2 3 6广度优先遍历:0 1 3 4 2 6 7 5 84.深度优先遍历:0 3 6 7 4 1 2 5 8广度优先遍历:0 3 4 6 7 1 2 8 51、如图形8-18所示,针对有向图操作如下。
(1)画出最小生成树并求出它的权。
(2)从顶点v0出发,要据普里姆算法求出最小生成树的过程中,把依次得到的各条边按序写出来。
(3)根据克鲁斯卡算法求出最小生成树的过程中,把依次得到的各条边写出来。
2、如图8-19所示,利用狄克特拉算法求从顶点V0到其余各顶点的最短路径,并画出对应的图形表示。
3、已知一个图的二元组表示为:V={ 0,1,2,3,4,5,6,7 }E={(0,1)8,(0,3)2,(0,5)10,(1,2)6,(1,4)20,(1,6)12,(2,4)10,(2,7)15,(3,5)5,(3,6)7,(4,7)4,(5,6)6,(6,7)8 } (1)按照克鲁斯卡尔算法求出最小生成树,写出依次得到的各条边。
(2)按照狄克斯特算法求从顶点0到其余各顶点的最短路径。
( 1 ) ( 0 ,3 ), ( 4 ,7 ),( 3 ,5 ) ,( 5 ,6 ), ( 1 ,2 ) ,( 0 ,1 ) ,( 6 ,7 ) ( 2 ) 0→3:( 0 ,3 )0→5:( 0 ,3 ),( 3 ,5 ) 0→1:( 0 ,1 )0→6:( 0 ,3 ),( 3 ,6 ) 0→2:( 0 ,1 ),( 1 ,2 ) 0→7:( 0 ,3 ),( 3 ,6 ),( 6 ,7 ) 0→4:( 0 ,3 ),( 3 ,6 ),( 6 ,7 ),( 7 ,4 )4、如图形8-20所示,利用弗洛伊德算法求每对顶点之间的最短路径,即仿照如图形8-8的运算过程,给出从邻接矩阵出发每加入一个中间每加入一个中间点后矩阵状态。
5如图形8-21所示,试给出一种拓扑序列,若在它的邻接表存储结构中,每个顶点邻接表中的边结点都是按照终点序号从大到小链接的,则按此给出唯一一种拓扑序列。
6一个AOV 网的二元组表示为:V={0,1,2,3,4,5,6,7,8,9,10} E={<0,2>,<0,4>,<1,2>,<1,5>,<2,4>,<3,5>,<4,6>,<4,7>,<5,7>,<6,8>,<7,6>,<7,8>,<7,9>,<8,10>,<9,10>}在此AOV 网的邻接表存储中,若各顶点邻接表中的边结点是按照邻接顶点序号从大到小链接的,请写出按此邻接表和介绍表和介绍的拓扑排序算法得到得到的拓扑排序算法得到的拓扑序列。
提示:先画出图形再运算。
答案:1 0 2 4 3 5 7 6 8 9 107、如图形8-22所示的AOV 网,求:(1)每个事件的最早发生时间和最迟发生时间。
(2)完成整个工程至少需要多长时间。
(3)每项活动的最早开始时间和最迟开始时间以及开始时间余量。
(4)画出由所有关键活动所构成的图。
(5)哪些活动加速可使整个工程提前完成?图 8—18 无向带权图 (1)(2)普里姆算法的边的序列:( 0 ,1 ), ( 1 ,6 ),( 6 ,2 ) ,( 2 ,3 ), ( 3 ,4 ),( 4 ,5 )(3)克鲁斯卡算法的边的序列:( 1 ,6 ), ( 2 ,3 ),( 0 ,1 ) ,( 6 ,2 ), ( 3 ,4 ),( 4 ,5 )图 8—19 有向带权图不画图了,只写出边的序列。