数据结构1800题-错题集-第七章

接着搞数据结构错题集(⊙o⊙)…

序号标题为解答,引用为题目和答案

  1. 借助排列组合的原理,每两个顶点之间只有一条边,相当于n个顶点中无序的选取2个顶点,C(n,2) = n (n-1) / 2

设无向图的顶点个数为 n,则该图最多有( B )条边
A.n-1 B.n(n-1)/2 C. n(n+1)/2 D.0 E. n2

  1. 连通是指任意两个顶点连通
    解析:无向边需要n-1个边把结点串联起来,但是有向边需要再加一个边,使得任意两个顶点联通起来

一个 n 个顶点的连通有向图, 其边的个数至少为 ( B )。
A.n-l B.n C.n+l D.2n

  1. 所有的结点都可以打通就最少1个连通分量
    单独的一个结点也是一个连通分量,总共n个结点就有n个连通分量

一个有 n 个结点的图,最少有( 1 )个连通分量,最多有( n )个连通分量

  1. 因为无向图是没有方向的,每个顶点的度A-B,B-A都表示的同一条边

在一个无向图中,所有顶点的度数之和等于所有边数( 2 )倍,在一个有向图中,所
有顶点的入度之和等于所有顶点出度之和的( 1 )倍

  1. 借鉴牛客网 牛友的图解,解释从二叉树到有向无环图(DAG)转化,省去重复的结点
    在这里插入图片描述

用有向无环图描述表达式 (A+B)* ((A+B )/A),至少需要顶点的数目为 ( A )。【中山大学
1999 一、 14】
A.5 B. 6 C. 8 D.9

  1. 用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应的顶点,则输出的顶点序列是( )。
    如果是队列:拓扑有序
    如果是栈:逆拓扑有序
  2. 邻接表:反映的是顶点出度的情况。
    逆邻接表:反映的是顶点的入度情况。
    十字链表:整合邻接表和逆邻接表。(针对有向图的存储结构进行了优化)
    邻接多重表:存储无向图的方式,可看作是邻接表和十字链表的结合

下面结构中最适于表示稀疏无向图的是( C ),适于表示稀疏有向图的是( BDE )。
A.邻接矩阵 B.逆邻接表 C.邻接多重表 D.十字链表 E.邻接表

  1. A(i,k)表示Vi 和 Vk之间 存在路径
    A^m(i,j)表示Vi和Vj之间至少存在一条长度为m的路径

用相邻矩阵 A 表示图,判定任意两个顶点 Vi 和 Vj 之间是否有长度为 m 的路径相连,
则只要检查( A^m )的第 i 行第 j 列的元素是否为零即可。

深度和广度的选择不按有向和无向来选择。深度优先适合目标比较明确,以找到目标为主要目的的情况,而广度优先更适合在不断扩大遍历范围时找到相对最优解的情况

  1. a->e->d->f->c,没问题;到c后,其两个邻接点a与f均已被访问,按c->f->d->e->a回溯时候发现,e顶点仍有未被访问的顶点b,于是a->e->d->f->c->b
    在这里插入图片描述

无向图 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

下面哪一方法可以判断出一个有向图是否有环(回路)(A B) :【东北大学 2000 4、2(4 分)】
A.深度优先遍历 B. 拓扑排序 C. 求最短路径 D. 求关键路径

  1. Prim算法的时间复杂度
    邻接表存储时,是 O(n+e)
    图的时候 是O(n^2)

  2. 深度优先搜索,是从图中的一个顶点出发,每次遍历当前访问顶点的临界点,一直到访问的顶点没有未被访问过的临界点为止。然后采用依次回退的方式,查看来的路上每一个顶点是否有其它未被访问的临界点。访问完成后,判断图中的顶点是否已经全部遍历完成,如果没有,以未访问的顶点为起始点,重复上述过程。

  3. 广度优先搜索类似于树的层次遍历。从图中的某一顶点出发,遍历每一个顶点时,依次遍历其所有的邻接点,然后再从这些邻接点出发,同样依次访问它们的邻接点。按照此过程,直到图中所有被访问过的顶点的邻接点都被访问到。

  4. 拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件:
    ①每个顶点出现且只出现一次。
    ②若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。(有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说。)

  5. 拓扑排序规则,不允许在顺序之前就执行了某个结点

已知有向图 G=(V,E),其中 V={V1,V2,V3,V4,V5,V6,V7} ,
E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G
的拓扑序列是( A )。
A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7
C.V1,V3,V4,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7

  1. 关键路径: 从源点到汇点具有最大长度的路径 。并且关键路径可能会有多条。如果最长路径不能完成则工程不能按时完成
  2. 无向图G的极大连通子图称为G的连通分量( Connected Component)。任何连通图的连通分量只有一个。
  3. 有向图中的极大强连通子图称作有向图的强连通分量。
  4. 用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。
  5. 连通图上各边权值均不相同,则该图的最小生成树是唯一的。
  6. 克鲁斯卡尔算法(Kruskal’s algorithm)是贪心算法(Greedy Algorithm)最小生成树
  7. 最小生成树问题是构造连通网的最小代价生成树
  8. 若一个有向图的邻接矩阵对角线以下元素均为零,则该图的拓扑有序序列必定存在。
  9. 判断一个无向图是一棵树的条件是有n个顶点,n-1条边的无向连通边
  10. 若有n表示图中顶点数目,则有n(n-1)
  11. 如果含 n 个顶点的图形形成一个环,则它有 n棵生成树
  12. 对于一个具有 n个顶点 e 条边的无向图的邻接表的表示,则表头向量大小为 n,邻
    接表的边结点个数为 2e
  13. 遍历图的过程实质上是 查找顶点的临界点的过程,breath-first search 遍历图的时间复杂度 O(n + e);depth-first
    search遍历图的时间复杂度 O(n + e),两者不同之处在于 访问顶点的顺序不同,反映在数据结构上的差别是队列和栈
  14. 求图的最小生成树有两种算法, 克鲁斯卡尔算法适合于求稀疏图的最小生成树
  15. Prim(普里姆)算法适用于求 边稠密的网的最小生成树
  16. 对于含 N 个顶点 E 条边的无向连通图,利用 Prim 算法生成最小代价生成树其时间复杂
    度为 O(n2),利用 Kruskal 算法生成最小代价生成树其时间复杂度为 O(eloge)
  17. Dijkstra 最短路径算法从源点到其余各顶点的最短路径的路径长度按 增序次序依次产生,该算法弧上的权出现 负值情况时, 不能正确产生最短路径。
  18. AOV 网中 ,结点表示 活动,边表示 活动间的优先关系。AOE 网中 ,结点表示 事件,边表示 边上的权代表活动的持续时间
  19. 在AOE网中,从源点到汇点路径上个活动时间总和最长的路径成为关键路径
  • 1
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值