数据结构ppt习题整理1(2)

2020-02-21 18:32

b=‘ ‘

s=Concat(a,Concat(SubString(f,2,7),Concat(b,SubString(a,3,2)))) t=Replac(f,SubString(f,3,6),c) u=Concat(SubString(c,3,1),d) g=‘IS’

v=Concat(s,Concat(b,Concat(t,Concat(b,u)))),

试问: s, t, v, StrLength(s), Index(v,g),Index(u,g) 各是什么 ? 试问执行以下函数会产生怎样的输出结果? void demonstrate( ) {

StrAssign(s, 'THIS IS A BOOK');

Replace(s, SubString(s, 3, 7), 'ESE ARE'); StrAssign(t, Concat(s, 'S')); StrAssign(u, 'XYXYXYXYXYXY'); StrAssign(v, SubString(u, 6, 3)); StrAssign(w, 'W');

printf('t=',t,'v=',v,'u=',Replace(u, v, w)); } // demonstrate

已知:s='(XYZ)+* ',t='(X+Z)*Y'。试利用联接、求子串和置换等基本运算,将 s 转化为 t。

编写算法,从串 s 中删除所有和串 t 相同的子串。 编写算法,实现串的基本操作 Replace(&S,T,V)。

假设以块链结构作串的存储结构。试编写判别给定串是否具有对称性的算法,并要求算法的时间复杂度为 O(StrLength(S))。

第五章

假设有二维数组 A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置(基地址)为 1000,计算: 数组 A 的存储);

数组 A 的最后一个元素 a5,7 的第一个字节的地址; 按行存储时,元素 a1,4 的第一个字节的地址; 按列存储时,元素 a4,7 的第一个字节的地址。

假设按低下标优先存储整数数组A9×3×5×8时,第一个元素的字节地址是 100,每个整数占四个字节。问下列元素的存储地址是什么?

(1) a0000 (2) a1111 (3) a3125 (4) a8247

按高下标优先存储方式(以最右的下标为主序),顺序列出数组 A2×2×3×3 中所有元素 ai,j,k,l,为了简化表达,可以只列出 (i,j,k,l) 的序列。

设有上三角矩阵(aij)n×n,将其上三角元素逐行存于数组 B[m] 中( m 充分大) ,使得 B[k]=aij 且 k=f1(i)+f2(j)+c。试推导出函数 f1,f2 和常数 c (要求 f1 和 f2 中不含常数项)。

设有三对角矩阵(aij)n×n,将其三条对角线上的元素存于数组 B[3][n] 中,使得元素 B[u][v]=aij,试推导出从(i,j) 到(u,v) 的下标变换公式。

设有三对角矩阵(aij)n×n,将其三条对角线上的元素逐行地存于数组 B[3n-2] 中,使得 B[k]=aij,求:

(1) 用 i,j 表示 k 的下标变换公式; (2) 用 k 表示 i,j 的下标变换公式。 求下列广义表操作的结果: GetHead((p,h,w)); GetTail((b,k,p,h)); GetHead(((a,b),(c,d))); GetTail(((a,b),(c,d)));

GetHead(GetTail(((a,b),(c,d)))); GetTail(GetHead(((a,b),(c,d))));

GetHead(GetTail(GetHead(((a,b),(c,d))))); GetTail(GetHead(GetTail(((a,b),(c,d)))))。

利用广义表的 GetHead 和 GetTail 操作写出函数表达式,把原子 banana 分别从下列广义表中分离出来。

L1 = (apple,pear,banana,orange); L2 = ((apple,pear),(banana,orange)); L3 = (((apple),(pear),(banana),(orange))); L4 = (apple,(pear),((banana)),(((orange)))); L5 = ((((apple))),((pear)),(banana),orange); L6 = ((((apple),pear),banana),orange); L7 = (apple,(pear,(banana),orange)); 画出下列广义表的存储结构图。

((( )), a, ((b, c), ( ), d), (((e)))) ((((a), b)), ((( ), (d)), (e, f)))

已知右侧各图为广义表的存储结构图,写出各图表示的广义表。

第七章

已知有向图,请给出该图的 (1) 每个顶点的入/出度; (2) 邻接矩阵; (3) 邻接表; (4) 逆邻接表; (5) 强连通分量。

画出无向图的邻接多重表,使得其中每个无向边结点中第一个顶点号小于第二个顶点号,且每个顶点的各邻接边的链接顺序,为它所邻接到的顶点序号由小到大的顺序。列出深度优先和广度优先搜索遍历该图所得顶点序列和边的序列。

已知以二维数组表示的图的邻接矩阵如图所示。试分别画出自顶点出发进行遍历所得的深度优先生成树和广度优先生成树。

请对下边的无向带权图,

写出它的邻接矩阵,并按普里姆算法求其最小生成树; 写出它的邻接表,并按克鲁斯卡尔算法求其最小生成树。

试列出下图中全部可能的拓扑有序序列。

对于下图所示的 AOE 网络,计算各活动弧的 e(ai) 和 l(aj) 函数值,各时间(顶点)的 ve(vi) 和 vl(vj) 函数值;列出各条关键路径。

试利用 Dijkstra 算法求下图中从顶点 a 到其它各顶点间的最短路径,写出执行算法过程中各步的状态。

试利用 Floyd 算法求下图所示有向图中各对顶点之间的最短路径。

第九章


数据结构ppt习题整理1(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:310-恒定磁场的高斯定理和安培环路定理

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: