数据结构第五章数组和广义表习题及答案
更新时间:2023-10-17 06:24:01 阅读量: 综合文库 文档下载
习题五 数组和广义表
一、单项选择题
1.常对数组进行的两种基本操作是( )
A.建立与删除 B. 索引与修改 C. 查找与修改 D. 查找与索引
2.对于C语言的二维数组DataType A[m][n],每个数据元素占K个存储单元,二维数组中任意元素a[i,j] 的存储位置可由( )式确定.
A.Loc[i,j]=A[m,n]+[(n+1)*i+j]*k B.Loc[i,j]=loc[0,0]+[(m+n)*i+j]*k C.Loc[i,j]=loc[0,0]+[(n+1)*i+j]*k D.Loc[i,j]=[(n+1)*i+j]*k
3.稀疏矩阵的压缩存储方法是只存储 ( )
A.非零元素 B. 三元祖(i,j, aij) C. aij D. i,j
4. 数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是( )。
A. 1175 B. 1180 C. 1205 D. 1210
5. A[N,N]是对称矩阵,将下面三角(包括对角线)以行序存储到一维数组T[N(N+1)/2]中,则对任一上三角元素a[i][j]对应T[k]的下标k是( )。
A. i(i-1)/2+j B. j(j-1)/2+i C. i(j-i)/2+1 D. j(i-1)/2+1 6. 用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j 沿链移动的操作为( )。
A. j=r[j].next B. j=j+1 C. j=j->next D. j=r[j]-> next 7. 对稀疏矩阵进行压缩存储目的是( )。
A.便于进行矩阵运算 B.便于输入和输出 C.节省存储空间 D.降低运算的时间复杂度
8. 已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是( )。
A. head(tail(LS)) B. tail(head(LS))
C. head(tail(head(tail(LS))) D. head(tail(tail(head(LS)))) 9. 广义表((a,b,c,d))的表头是( ),表尾是( )。
A. a B.() C.(a,b,c,d) D.(b,c,d) 10. 设广义表L=((a,b,c)),则L的长度和深度分别为( )。
A. 1和1 B. 1和3 C. 1和2 D. 2和3 11. 下面说法不正确的是( )。
A. 广义表的表头总是一个广义表 B. 广义表的表尾总是一个广义表 C. 广义表难以用顺序存储结构 D. 广义表可以是一个多层次的结构
二、填空题
1.通常采用___________存储结构来存放数组 。对二维数组可有两种存储方法:一种是以___________为主序的存储方式,另一种是以___________为主序的存储方式。
2. 用一维数组B与列优先存放带状矩阵A中的非零元素A[i,j] (1≤i≤n,i-2≤j≤i+2),B中的第8个元素是A 中的第_ _行,第_ _列的元素。
3.设n行n列的下三角矩阵A已压缩到一维数组B[1..n*(n+1)/2]中,若按行为主序存储,则A[i,j]对应的B中存储位置为_______。
4. 所谓稀疏矩阵指的是_ 。
5. 广义表简称表,是由零个或多个原子或子表组成的有限序列,原子与表的差别仅在于____ 。为了区分原子和表,一般用 ____表示表,用 _____表示原子。一个表的长度是指 __,而表的深度是指__ __
6.设广义表L=((),()), 则head(L)是 ;tail(L)是 ;L的长度是 ;深度是 __。
7.基于三元组的稀疏矩阵转置的处理方法有两种,以下运算按照矩阵A的列序来进行转置,请在___________处用适当的句子用以填充。
Trans_Sparmat(SpMatrixTp a,SpMatrixTp *b) { (*b).mu=a.nu;(*b).nu=a.mu;(*b).tu=a.tu; if(a.tu) { q=1;
for(col=1; ___________;col++) for(p=1;p<=a.tu;p++) if(___________==col)
{(*b).data[q].i=a.data[p].j; (*b).data[q].j=a.data[p].i; (*b).data[q].v=a.data[p].v; ___________; }
}
8. 完善下列程序。下面是一个将广义表逆置的过程。例如原来广义表为((a,b),c,(d,e)),经逆置后为:((e,d),c,(b,a))。
typedef struct glistnode {int tag;
struct glistnode *next; union{char data;
struct{struct glistnode *hp,*tp;}ptr; }val; }*glist,gnode; glist reverse(p) glist p;
{glist q,h,t,s; if(p==NULL) q=NULL; else
{if(1) { q=(glist)malloc(sizeof(gnode)); q->tag=0;
q->val.data=p->val.data; } else {(2)
if (3)
{t=reverse(p->val.ptr.tp); s=t;
while(s->val.ptr.tp!=NULL) s=s->val.ptr.tp; s->val.ptr.tp=(glist)malloc(sizeof(gnode));
s=s->val.ptr.tp;s->tag=1;s->val.ptr.tp=NULL;
s->val.ptr.hp=h; (4) __ }
else {q=(glist)malloc(sizeof(gnode));q->tag=1;
q->val.ptr.tp=NULL; (5) ; }
}
}
return(q); }第
5章 数组和广义表
一、单项选择题 1. C 2. C 3. A 4. A 5. B 6. A 7. C 8. C 9. C 10. C 11. A
二、填空题
1.顺序、列序、行序 2. 第1行 第3列
3.i(i-1)/2+j (1<=i,j<=n)
4. 非零元很少(t< 5. (1) 原子(单元素)是结构上不可再分的,可以是一个数或一个结构;而表带结构,本质就是广义表,因作为广义表的元素故称为子表。 (2)大写字母 (3)小写字母 (4)表中元素的个数(5)表展开后所含括号的层数 6.(1)() (2)(()) (3)2 (4)2 7. col<=a.nu, a.data[p].j, q++ 8. (1)(p->tag==0) //处理原子 (2)h=reverse(p->val.ptr.hp) //处理表头 (3)(p->val.ptr.tp) //产生表尾的逆置广义表 (4)s->val.ptr.tp=t; //连接 (5)q->val.ptr.hp=h //头结点指向广义表
正在阅读:
数据结构第五章数组和广义表习题及答案10-17
华中科技大学 微积分 极限习题课及答案05-24
2006年全国中学生英语能力竞赛(NEPCS)决赛高一年级组试题笔试部分 - 图文01-22
一张纸的自述作文06-21
笔袋的自述作文550字06-19
谁不喜欢玩作文600字06-26
今天我真开心作文600字06-24
种植牙修复牙齿松动的优势08-17
湖南大学市场营销模拟试题01-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 数据结构
- 数组
- 广义
- 习题
- 答案
- 机房动力、环境监控系统工程技术方案书分解 - 图文
- 发育生物学复习题(NCU)
- 银行营业网点综合安防建设项目解决方案 - 图文
- 《英美概况》试题(附答案)改进版
- 石油成品油供应链现状
- 配气机构复习提纲
- 邵寨煤矿主立井井颈壁座
- 2003-2009年MBA联考论证有效性分析解析
- 钢板桩基坑支护
- 100个关卡场景激发你的灵感 doc - 图文
- 小学语文阅读100例及答案(1-20)
- 经济与管理学院 - 耿敬进 - 1065123210 - 包头市生产性服务业与制造业互动融合发展研究
- 2016-2022年中国温度记录仪市场研究与市场分析预测报告(目录) - 图文
- 第三章 燃料组成分析
- 2009年汽车维修工高级技师理论考试复习题
- 省政府关于调整海安县部分镇行政区划的批复
- 熟读一百句英文,深谙七千个单词(2)
- 翻译
- 变频复习题及答案
- 高三理综周五测试题(3-22)