带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找 出从初始顶点到目标顶点之间的一条最短路径。假设从初始顶点到目标顶点之间存在路径,现 有一种解决该问题的方法:
① 设最短路径初始时仅包含初始顶点,令当前顶点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为上三 角矩阵,按行为主序(行优先)保存在如下的一维数组中。
要求:
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 的接口名构造出来的网络拓扑。
请回答下列问题。
1)本题中的网络可抽象为数据结构中的哪种逻辑结构?
2)针对表中的内容,设计合理的链式存储结构,以保存表中的链路状态信息(LSI)。要求给出链 式存储结构的数据类型定义,并画出对应表的链式存储结构示意图(示意图中可仅以 ID 标识结 点)。
3)按照 Dijkstra 算法的策略,依次给出 R1 到达子网 192.1x.x 的最短路径及费用。