软考题库

195 阅读3分钟

带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找 出从初始顶点到目标顶点之间的一条最短路径。假设从初始顶点到目标顶点之间存在路径,现 有一种解决该问题的方法:

① 设最短路径初始时仅包含初始顶点,令当前顶点u为初始顶点。

② 选择离u最近且尚未在最短路径中的一个顶点v,加入最短路径,修改当前顶点u = v。

③ 重复步骤②,直到u是目标顶点时为止。

请问上述方法能否求得最短路径?若该方法可行,请证明 ;否则,请举例说明。

设散列表为HT[0. . . 12],即表的大小为m = 13。现采用双散列法解决冲突,散列函数和再散 列函数分别为:

H0 (key) = key%13 注:%是求余数运算(= mod)

Hi = (Hi−1 + REV(key + 1)%11 + 1)%13; i = 1,2,3, ⋯ , m − 1

其中,函数REV(X)表示颠倒十进制数X的各位,如REV(37) = 73, REV(7) = 7等。若插入的关键 码序列为(2,8,31,20,19,18,53,27),请回答:

1)画出插入这 8 个关键码后的散列表。

2)计算查找成功的平均查找长度 ASL。

已知有 6 个顶点(顶点编号为0 ~ 5)的有向带权图G ,其邻接矩阵A为上三 角矩阵,按行为主序(行优先)保存在如下的一维数组中。

image.png

要求:

1)写出图G的邻接矩阵A。

2)画出有向带权图G。

3)求图G的关键路径,并计算该关键路径的长度。

若任意一个字符的编码都不是其他字符编码的前缀,则称这种编码具有 前缀特性。现有某字符集(字符个数≥ 2)的不等长编码,每个字符的编码均为二进制的 0、1 序 列,最长为L位,且具有前缀特性。请回答下列问题:

1)哪种数据结构适宜保存上述具有前缀特性的不等长编码?

2)基于你所设计的数据结构,简述从0/1串到字符串的译码过程。

3)简述判定某字符集的不等长编码是否具有前缀特性的过程。

设包含 4 个数据元素的集合S = {do′, for ′, repeat ′, ′whilee′},各元素的查 找概率依次为p1 = 0.35, p2 = 0.15, p3 = 0.15, p4 = 0.35。将S保存在一个长度为 4 的顺序表中, 采用折半查找法,查找成功时的平均查找长度为 2.2。

1)若采用顺序存储结构保存S,且要求平均查找长度更短,则元素应如何排列?应使用何种查找方 法?查找成功时的平均查找长度是多少?

2)若采用链式存储结构保存S,且要求平均查找长度更短,则元素应如何排列?应使用何种查找方 法?查找成功时的平均查找长度是多少?

某网络中的路由器运行 OSPF 路由协议,下表是路由器 R1 维护的主要链 路状态信息(LSI),R1 构造的网络拓扑图(见下图)是根据题下表及 R1 的接口名构造出来的网络拓扑。

image.png 请回答下列问题。

1)本题中的网络可抽象为数据结构中的哪种逻辑结构?

2)针对表中的内容,设计合理的链式存储结构,以保存表中的链路状态信息(LSI)。要求给出链 式存储结构的数据类型定义,并画出对应表的链式存储结构示意图(示意图中可仅以 ID 标识结 点)。

3)按照 Dijkstra 算法的策略,依次给出 R1 到达子网 192.1x.x 的最短路径及费用。