数据结构与算法--pta复习

  • 拓扑排序:有向无环图中各顶点构成的有序序列

拓扑序一定是唯一的 F

如果从有向图 G 的每一点均能通过深度优先搜索遍历到所有其它顶点,那么该图一定不存在拓扑序列 T

AOE图的权值最大的边(活动)一定是关键活动  F

在关键路径上的活动都是关键活动,而关键活动也必在关键路径上。T

关键路径是AOE网中从源点到汇点的最短路径 F 最长路径

在AOE网络中,从源点到汇点具有最大长度的路径称为关键路径。完成AOE所表示的整个工程所需要的时间取决于关键路径的路径长度 T

The figure shows an AOV network. Which one of the following is a possible topological order of the network? 

数据结构与算法--pta复习_第1张图片

A.ABCDFEG

B.ADFCEBG

C.ACDFBEG 

D.ABDCEFG

How many distinct topological sequences are there in the following DAG?

数据结构与算法--pta复习_第2张图片

A.2

B.3

C.4

D.5

修改递归方式实现的图的深度优先搜索(DFS)算法,将输出(访问)顶点信息的语句移动到退出递归前(即执行输出语句后立即退出递归)。采用修改后的算法遍历有向无环图 G,若输出结果中包含 G 中的全部顶点,则输出的顶点序列是 G 的:

A.拓扑有序序列

B.逆拓扑有序序列

C.广度优先搜索序列

D.深度优先搜索序列

下图所示的 AOE 网表示一项包含 8 个活动的工程。活动 d 的最早开始时间和最迟开始时间分别是:

数据结构与算法--pta复习_第3张图片

A.3 和 7

B.12 和 12

C.12 和 14

D.15 和 15

关键路径:1356和13256→项目总时间=8+10+9=27

→由关键活动构成的从开始到完成的路径; 也是路径长度最长的路径。

d的最短路径=c+b=12

g最晚发生时间=项目总时间-g=21

d最晚发生时间=g最晚发生时间-d=14

  • B树

m阶B树的根结点最多有m棵子树  T

对B树删除某一关键字值时,可能会引起结点的分裂 F  删除时是:合并, 插入时是:分裂

基数排序是稳定的算法。T

基数排序只适用于以数字为关键字的情况,不适用于以字符串为关键字的情况。T

下列叙述中,不符合m阶B树定义要求的是:

A.叶结点之间通过指针链接 

B.根结点最多有m棵子树

C.所有叶结点都在同一层上

D.各结点内关键字均升序或降序排列

棵m阶的B+树和m阶的B-树的差异在于:

 (1)有n棵子树的结点中含有n个关键码;

 (2)所有的叶子结点中包含了全部关键码的信息,及指向含有这些关键码记录的指针,且叶子结点本身依关键码的大小按自小而大的顺序链接(有序!),此处可知A是B+的特征;

 (3)所有的非终端结点可以看成是索引部分,结点中仅含有其子树根结点中最大(或最小)的关键码,叶结点和非叶结点中存的有一些键值是一样的

高度为 5 的 3 阶 B 树含有的关键字个数至少是:

A.15

B.31

C.62

D.242

B树

除根结点外的所有非叶结点至少有[m/2]个子节点,最多m个

至少t-1个关键字,至多2t-1个(t为子节点),一个包含x个关键字的节点有x+1个孩子

根节点:至少2个孩子,关键字至少1

第2-5层:至少[3/2]=2个孩子,关键字至少1个

总:1+2+2*2+2*2*2+2*2*2*2=31

  • 回溯法

在N皇后问题中,由于其对应的决策树有N!个叶子结点,所以解决此问题的空间复杂度是Ω(N!)。F 理由错了:放置第一个皇后有 N 种可能,放置两个皇后不超过N(N-2)种可能,放置三个皇后不超过N(N - 2)(N - 4)种可能 ,以此类推。

在4皇后问题中,(x1​, x2​, x3​, x4​)对应4个皇后位置的列下标。在回溯剪枝过程中,状态(1, 3, 4, ?)会在(1, 4, 2, ?)之前被检查,并且它们对应的分支都没有解。T

关于回溯法以下叙述中不正确的是( )。

A.回溯法有“通用解题法”之称,它可以系统地搜索一个问题的所有解或任意解

B.回溯法是一种既带系统性又带跳跃性的搜索算法

C.回溯法需要借助队列这种结构来保存从根结点到当前扩展结点的路径

D.回溯法在生成解空间的任一结点时先判断该结点是否可能包含问题的解,如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向祖先结点回溯

回溯法在问题的解空间树中,按______策略,从根结点出发搜索解空间树。

A.广度优先

B.活结点优先

C.扩展结点优先

D.深度优先

  • 贪心算法

只有当局部最优跟全局最优解一致的时候,贪心法才能给出正确的解  T

哈夫曼编码是一种最优的前缀码。对一个给定的字符集及其字符频率,其哈夫曼编码不一定是唯一的,但是每个字符的哈夫曼码的长度一定是唯一的。F 不一定唯一

用于求最小生成树的Prim算法和Kruskal算法都是基于( )思想设计的算法。

A.分治算法

B.穷举

C.贪心算法

D.回溯算法

下面(   )是贪心算法的基本要素之一

A.重叠子问题

B.构造最优解

C.贪心选择性质

D.定义最优解

  • 分治法

给定两个 n×n 的矩阵 A 和 B,计算矩阵乘法 C=A⋅B 的简单方法的时间复杂度是 O(n3)。下面考虑用分治法的思路解决这个问题:

将每个矩阵按如下方式分裂为四个 2n​×2n​ 的子矩阵:

递归地计算 C 的每个块,如 C1​=A1​⋅B1​+A2​⋅B3​ 等等。这样做的时间复杂度比简单计算要低。F

分法法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题,分别解决子问题,最后将子问题的解组合起来形成原问题的解,这要求原问题和子问题()。

A.问题规模相同,问题性质相同

B.问题规模相同,问题性质不同

C.问题规模不同,问题性质相同

D.问题规模不同,问题性质不同

若分治法的时间递归式是:
T(n) = aT(n/b) + O(n^c)
那么把二分查找法看成分治法时,上述公式中的a,b,c分别是--

A.2,2,1

B.1,2,1

C.2,2,0

D.1,2,0

T(n)=a*T(n/b)+ f(n)

a:递推子问题的数量

n/b:子问题的规模

f(n):递推以外的计算工作

.实现大整数的乘法是利用的算法( )。

A.贪心法

B.动态规划法

C.分治策略

D.回溯法

  • 动态规划

用动态规划而非递归的方法去解决问题时,关键是将子问题的计算结果保存起来,使得每个不同的子问题只需要被计算一次。子问题的解可以被保存在数组或哈希散列表中。T

对给定的输入I 和一个给定的(确定性)算法A,如果A不会无限循环,则判定问题HALTING返回“真”,否则将无限循环。则HALTING问题是NP完全的。F

考虑有n件物品的背包问题,如果没有物品的大小超过n3,则这个问题就不再是NP难问题。F

下列算法中通常以自底向上的方式求解最优解的是( )。

A.备忘录法

B.动态规划法

C.贪心法

D.回溯法

动态规划的基本要素为____。

A.最优子结构性质与贪心选择性质

B重叠子问题性质与贪心选择性质

C.最优子结构性质与重叠子问题性质

D.预排序与递归调用

你可能感兴趣的:(数据结构,c语言)