`
mmdev
  • 浏览: 12892990 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

数据结构之【数组和广义表】复习题

 
阅读更多

第 4 章 数组和广义表

一、选择题

1. 将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A中元素A6665(即该元素下标i=66,j=65),在B数组中的位置K为( B )。供选择的答案:

A. 198 B. 195 C. 197

2. 二维数组A的元素都是6个字符组成的串,行下标i的范围从0到8,列下标j的范圈从1到10。从供选择的答案中选出应填入下列关于数组存储叙述中( )内的正确答案。

(1)存放A至少需要(E )个字节;

(2)A的第8列和第5行共占( A )个字节;

(3)若A按行存放,元素A[8,5]的起始地址与A按列存放时的元素( B )的起始地址一致。

供选择的答案:

(1)A. 90 B. 180 C. 240 D. 270 E. 540

(2)A. 108 B. 114 C. 54 D. 60 E. 150

(3)A. A[8,5] B. A[3,10] C. A[5,8]D. A[0,9]

3. 设A是n*n的对称矩阵,将A的对角线及对角线上方的元素以列为主的次序存放在一维数组B[1..n(n+1)/2]中,对上述任一元素aij(1≤i,j≤n,且i≤j)在B中的位置为( B )。

A. i(i-l)/2+j B. j(j-l)/2+i C. j(j-l)/2+i-1 D. i(i-l)/2+j-1

4. A[N,N]是对称矩阵,将下面三角(包括对角线)以行序存储到一维数组T[N(N+1)/2]中,则对任一上三角元素a[i][j]对应T[k]的下标k是(B )。

A. i(i-1)/2+j B. j(j-1)/2+i C. i(j-i)/2+1D. j(i-1)/2+1

5. 设二维数组A[1.. m,1..n](即m行n列)按行存储在数组B[1.. m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为( A )。

A.(i-1)*n+j B.(i-1)*n+j-1 C. i*(j-1) D. j*m+i-1

6. 有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是(B )。

A. 60 B. 66 C. 18000 D. 33

7. 数组A[0..4,-1..-3,5..7]中含有元素的个数( B )。

A. 55 B. 45 C. 36 D. 16

8. 广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为( D )。

Head(Tail(Head(Tail(Tail(A)))))

A. (g) B. (d) C. c D. d

9. 已知广义表: A=(a,b), B=(A,A), C=(a,(b,A),B),求下列运算的结果:

tail(head(tail(C))) =( F )。

A.(a) B. AC. a D. (b) E. b F. (A)

10. 广义表运算式Tail(((a,b),(c,d)))的操作结果是( C )。

A. (c,d) B. c,d C. ((c,d)) D. d

11. 广义表L=(a,(b,c)),进行Tail(L)操作后的结果为(D)。

A. c B. b,c C.(b,c) D.((b,c))

12. 广义表((a,b,c,d))的表头是( A ),表尾是(D )。

A. a B.() C.(a,b,c,d)D.(b,c,d)

二、判断题

1. 数组不适合作为任何二叉树的存储结构。( × )

2. 从逻辑结构上看,n维数组的每个元素均属于n个向量。( √ )

3. 稀疏矩阵压缩存储后,必会失去随机存取功能。( √ )

4. 数组是同类型值的集合。( × )

5. 数组可看成线性结构的一种推广,因此与线性表一样,可以对它进行插入,删除等操作。( × )

6. 一个稀疏矩阵Am*n采用三元组形式表示, 若把三元组中有关行下标与列下标的值互换,并把m和n的值互换,则就完成了Am*n的转置运算。( × )

7. 二维以上的数组其实是一种特殊的广义表。( √ )

8. 广义表的取表尾运算,其结果通常是个表,但有时也可是个单元素值。( × )

9. 若一个广义表的表头为空表,则此广义表亦为空表。( × )

10. 广义表中的元素或者是一个不可分割的原子,或者是一个非空的广义表。(× )

11. 所谓取广义表的表尾就是返回广义表中最后一个元素。( × )

12. 广义表的同级元素(直属于同一个表中的各元素)具有线性关系。( √ )

13. 对长度为无穷大的广义表,由于存储空间的限制,不能在计算机中实现。( √ )

14. 一个广义表可以为其它广义表所共享。( √ )

三、 填空题

1.设广义表L=((),()), 则head(L)是(1) () ___;tail(L)是(2) (()_)__;L的长度是(3)2_ _;深度是 (4)_2 _。

2. 已知广义表A=(9,7,( 8,10,(99)),12),试用求表头和表尾的操作Head( )和Tail( )将原子元素99从A中取出来。

head(head(tail(tail(head(tail(tail(A)))))))

3. 广义表的深度是__表展开后所含括号的层数 ____。

4. 广义表(a,(a,b),d,e,((i,j),k))的长度是(1) 5,深度是(2) 3 _。

5. 已知广义表LS=(a,(b,c,d),e),运用head和tail函数取出LS中原子b的运算是_head(head(tail(LS)))_____。

6. 广义表A=(((a,b),(c,d,e))),取出A中的原子e的操作是: __head(tail(tail(head(tail(head(A))))))__。

四 应用题

1.数组A中,每个元素A[i,j]的长度均为32个二进位,行下标从-1到9,列下标从1到11,从首地址S开始连续存放主存储器中,主存储器字长为16位。求:

(1)存放该数组所需多少单元?

(2)存放数组第4列所有元素至少需多少单元?

(3)数组按行存放时,元素A[7,4]的起始地址是多少?

(4)数组按列存放时,元素A[4,7]的起始地址是多少?

(1)242 (2)22 (3)s+182 (4)s+142

2. 三维数组A[1..10,-2..6,2..8]的每个元素的长度为4个字节,试问该数组要占多少个字节的存储空间?如果数组元素以行优先的顺序存贮,设第一个元素的首地址是100,试求元素A[5,0,7] 的存贮首地址。

数组占的存储字节数=10*9*7*4=2520;A[5,0,7]的存储地址=100+[4*9*7+2*7+5]*4=1184

3. 数组,广义表与线性表之间有什么样的关系?

数组是具有相同性质的数据元素的集合,同时每个元素又有唯一下标限定,可以说数组是值和下标偶对的有限集合。n维数组中的每个元素,处于n个关系之中,每个关系都是线性的,且n维数组可以看作其元素是n-1维数组的一个线性表。

4. 什么是广义表?请简述广义表和线性表的主要区别。

线性表中的元素可以是各种各样的,但必须具有相同性质,属于同一数据对象。广义表中的元素可以是原子,也可以是子表。

广义表中的元素,可以是原子,也可以是子表,即广义表是原子或子表的有限序列,满足线性结构的特性:在非空线性结构中,只有一个称为“第一个”的元素,只有一个成为“最后一个”的元素,第一元素有后继而没有前驱,最后一个元素有前驱而没有后继,其余每个元素有唯一前驱和唯一后继。从这个意义上说,广义表属于线性结构

分享到:
评论

相关推荐

    算法-数据结构之【数组和广义表】复习题.rar

    算法-数据结构之【数组和广义表】复习题.rar

    数据结构考研资料大汇总 全集 考研必备

    ├─数据结构-考研复习题 │ │ 第10章 排序.doc │ │ 第11章 文件.doc │ │ 第1章 绪论.doc │ │ 第2章 线性表.doc │ │ 第3章 栈和队列.doc │ │ 第4章 串.doc │ │ 第5章 数组和广义表.doc │ │ ...

    数据结构考研资料(严蔚敏)

    ├─数据结构-考研复习题 │ │ 第10章 排序.doc │ │ 第11章 文件.doc │ │ 第1章 绪论.doc │ │ 第2章 线性表.doc │ │ 第3章 栈和队列.doc │ │ 第4章 串.doc │ │ 第5章 数组和广义表.doc │ │ 第6章 树...

    数据结构习题

    绪论习题 ,复习题 。线性表习题。数组和广义表习题。

    数据结构习题集

    数据结构考试复习资料,线性表,栈和队列,数组和广义表,串,树,图等等,还包括排序算法,C语言版

    十一章数据结构考研习题

    包括线性表,栈和队列,串,数组和广义表,树和二叉树,图,动态存储管理,集合,排序,文件等复习题

    数据结构与算法+计算机+精髓

    内容包括:数据结构概述、线性表、栈和队列、串、多维数组与广义表、二叉树与树、图、查找表、内部排序、外部排序、文件和数据结构程序设计方法。书中使用类C语言作为算法描述语言,且所有算法都可以在任何一种C语言...

    数据结构与算法-算法设计题

    数据结构与算法设计题包含线性表、栈与队列、数组、广义表、串、树、图、查找算法和排序算法的代表性算法设计题 可以高效的帮助学习数据结构的同学,在学习和复习方面。也可以让读者更好的掌握数据结构与算法的内涵

    数据结构08试题库.doc

    包含数据结构中的线性表、栈和队列、数组和广义表、树和图以及查找、排序算法共400多道题,供初学者复习之用

    习题和例题(数据结构题集).zip

    从导师那里考的数据结构的答案,里面包含每一章的知识总结以及课后习题与...第一章概论 第二章 线性表第三章 栈和队列 第四章 串 第五章 多维数组和广义表 第六章 树 第七章 图 第八章 排 序 第九章 查找 第十章 文 件

    软件工程之专题九:数据结构知识

    而在人工智能领域,依求解问题性质的差异将涉及到各种不同的数据结构,如广义表、集合、搜索树及各种有向图等等。学习数据结构目的是要熟悉一些最常用的数据结构,明确数据结构内在的逻辑关系,知道它们在计算机中的...

    数据结构(C++)有关练习题

    实验一 复习C++有关知识 实验目的: 通过实验掌握下列知识: 1、复习C++有关基本知识; 2、熟悉VC编程、编译和调试环境; 内容及步骤: 编写一个类Complex,定义复数的加法、减法、乘法和除法运算,...

    C#微软培训资料

    第七章 表 达 式 .58 7.1 操 作 符 .58 7.2 算术操作符和算术表达式.59 7.3 赋值操作符和赋值表达式.64 7.4 关系操作符和关系表达式.65 <<page 2>> page begin==================== 7.5 逻辑操作符和...

Global site tag (gtag.js) - Google Analytics