数据结构习题3(数组)
一、选择题
1. 将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A中元素A6665(即该元素下标i=66,j=65),在B数组中的位置K为( )。供选择的答案:
A. 198 B. 195 C. 197
2. 二维数组A的元素都是6个字符组成的串,行下标i的范围从0到8,列下标j的范圈从1到10。从供选择的答案中选出应填入下列关于数组存储叙述中( )内的正确答案。
(1)存放A至少需要( E )个字节;
(2)A的第8列和第5行共占( B )个字节;
(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中的位置为( A )。
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+1 D. 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.有一个二维数组A,行下标的范围是0到8,列下标的范围是1到5,每个数组元素用相邻的4个字 节存储。存储器按字节编址。假设存储数组元素A[0,1]的第一个字节的地址是0。
存储数组A的最后一个元素的第一个字节的地址是( ⑧ )。若按行存储,则A[3,5]和A[5,3]的第一个字节的地址分别是( ③ )和( ⑤ )。若按列存储,则A[7,1]和A[2,4]的第一个字节的地址分别是( ① )和( ⑥ )。 供选择的答案: A~E:①28 ②
44 ③ 76 ④ 92 ⑤ 108 ⑥ 116 ⑦ 132 ⑧ 176 ⑨ 184 ⑩ 188
7.有一个二维数组A,行下标的范围是1到6,列下标的范围是0到7,每个数组元素用相邻的6个字节存储,存储器按字节编址。那么,这个数组的体积是( (12) )个字节。假设存储数组元素A[1,0]的第一个字节的地址是0,则存储数组A的最后一个元素的第一个字节的地址是( (11) )。若按行存储,则A[2,4]的第一个字节的地址是( ③ )。若按列存储,则A[5,7]的第一个字节的地址是( ⑨ )。 供选择的答案 A~D:①12
② 66 ③ 72 ④ 96 ⑤ 114 ⑥ 120 ⑦ 156 ⑧ 234 ⑨ 276 ⑩
282 (11)283 (12)288
8. 设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分(如下图所示)按行序存放在一维数组B[ 1, n(n-1)/2 ]中,对下三角部分中任一元素ai,j(i≤j), 在一维数组B中下标k的值是: (B)
A.i(i-1)/2+j-1 B.i(i-1)/2+j C.i(i+1)/2+j-1 D.i(i+1)/2+j
二、填空题
1. 假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置(基地址)为1000,则数组A的体积(存储量)为 288 ;末尾元素A57的第一个字节地址为 1282 ;若按行存储时,元素A14的第一个字节地址为 1072 ;若按列存储时,元素A47的第一个字节地址为 1276 。
2.设数组a[1„60, 1„70]的基地址为2048,每个元素占2个存储单元,若以列序为主序顺序存储,则元素a[32,58]的存储地址为 6501、6502 。
3.三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素 的 、 和 。
三、简答题
1. 已知二维数组Am,m采用按行优先顺序存放,每个元素占K个存储单元,并且第一个元素的存储地址为Loc(a11),请写出求Loc(aij)的计算公式。如果采用列优先顺序存放呢?
答 :行优先:Loc(aij)=Loc(a11)+[(i-1)*m+j-1]*K;
列优先:Loc(aij)=Loc(a11)+[(j-1)*m+i-1]*K
数据结构C语言版(第2版)严蔚敏人民邮电出版社课后习题答案
数据结构(C语言版)(第2版)
课后习题答案
李冬梅 2015.3II
目录
第 1 章 绪论 ................................................................ 1
第 2 章 线性表 .............................................................. 5
第 3 章 栈和队列 ............................................................ 13
第 4 章 串、数组和广义表 .................................................... 26
第 5 章 树和二叉树 .......................................................... 33
第 6 章 图 ................................................................. 43
第 7 章 查找 ................................................................ 54
第 8 章 排序 ............................................................... 651 第1章绪论
1 •简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结 构、抽象数据类型。
答案:
数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的 总称。如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、 图像、声音、动画等通过特殊编码定义后的数据。
数据结构考试题库含答案
数据结构考试题库含答案
数据结构习题集含答案
⽬录
⽬录 (1)
选择题 (2)
第⼀章绪论 (2)
第⼆章线性表 (4)
第三章栈和队列 (5)
第四章串 (6)
第五章数组和⼴义表 (7)
第六章树和⼆叉树 (7)
第七章图 (9)
第⼋章查找 (11)
第九章排序 (12)
简答题 (15)
第⼀章绪论 (15)
第⼆章线性表 (20)
第三章栈和队列 (22)
第四章串 (24)
第五章数组和⼴义表 (24)
第六章树和⼆叉树 (26)
第七章图 (31)
第⼋章查找 (33)
第九章排序 (34)
编程题 (36)
第⼀章绪论 (36)
第⼆章线性表 (36)
第三章栈和队列 (46)
第四章串 (46)
第五章数组和⼴义表 (46)
第六章树和⼆叉树 (46)
第七章图 (46)
第⼋章查找 (46)
第九章排序 (52)
选择题
第⼀章绪论1. 数据结构这门学科是针对什么问题⽽产⽣的?(A )
A、针对⾮数值计算的程序设计问题
B、针对数值计算的程序设计问题
C、数值计算与⾮数值计算的问题都针对
D、两者都不针对
2. 数据结构这门学科的研究内容下⾯选项最准确的是(D )
A、研究数据对象和数据之间的关系
B、研究数据对象
C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作
3. 某班级的学⽣成绩表中查得张三同学的各科成绩记录,其中数据结构考了90
分,那么下⾯关于数据对象、数据元素、数据项描述正确的是(C )A、某班级的学⽣成绩表是数据元素,90分是数据项
B、某班级的学⽣成绩表是数据对象,90分是数据元素
C、某班级的学⽣成绩表是数据对象,90分是数据项
D、某班级的学⽣成绩表是数据元素,90分是数据元素
4. *数据结构是指(A )。
A、数据元素的组织形式
B、数据类型
C、数据存储结构
D、数据定义
5. 数据在计算机存储器内表⽰时,物理地址与逻辑地址不相同,称之为(C )。
A、存储结构
B、逻辑结构
C、链式存储结构
D、顺序存储结构
6. 算法分析的⽬的是(C )
A、找出数据的合理性
数据结构习题第3章
第3章 栈和队列
一、选择题
1. 栈中元素的进出原则是( )
A.先进先出 B.后进先出 C.栈空则进 D.栈满则出
2. 已知一个栈的进栈序列为1, 2, …, n,其输出序列是p1, p2, … , pn ,若p1=n,则pi=( )
A. i B. n-i C. n-i+1 D. 不确定
3. 一个栈的输入序列为:a b c d e,则下列不可能是栈的输出序列的是( )。
A. b c d a e B. e d a c b C. b c a d e D. a e d c b
4. 判定一个栈ST(最多元素为m0)为空的条件是( )
A.ST->top<>0 B.ST->top=0 C.ST->top<>m0 D.ST->top=m0
5. 判定一个队列QU(最多元素为m0)为满队列的条件是( )
A.QU->rear - QU->front = = m0 B.QU->rear - QU->front -1= = m0
C.QU->front = = QU->rear D.QU->front = = QU->rear+1
6.数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为( )
A. r-f B.(n+f-r)% n C. n+r-f D. (n+r-f)% n
7. 栈和队列的共同点是( )。
A. 都是先进先出 B. 都是先进后出
C. 只允许在端点处插入和删除元素 D. 没有共同点
数据结构习题(含答案)
第一章 绪论
一、填空题
1. 数据是描述客观事物的数、字符以及所有能输入到计算机且能够被计算机程序加工处理的符号集合。_________是数据的基本单位;___________是数据的最小单位。通常被计算机加工处理的数据不是孤立无关的,而是彼此之间存在着某种联系,将这种数据间的联系称为________。
2. 数据结构进行形式化定义时,可以从逻辑上认为数据结构DS是_________的集合D和D上_________的集合R所构成的二元组:DS=(D,R)。
3. 已知某数据结构的二元组形式表示为:A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>}。则此数据结构属于_____________结构。
4. 一个算法的时间复杂度通常用问题规模大小的函数来表示,当一个算法的时间复杂度与问题规模n大小无关时,则表示为__________;成正比关系时,则表示为___________;成对数关系时,则表示为___________;成平方关系时,则表示为__________。
5. 数据结构的逻辑结构包括_____________、树型结构和图型结构三种类型,其中树型结构和图型结构合称为_____________;数据结构的存储结构主要包括____________和____________两种类型。
6. 线性结构的特点是:第一个结点_______前驱结点,其余结点有且仅有_______个前驱结点;最后一个结点_______后继结点,其余每个结点有且仅有_______个后继结点。
7. 树型结构的特点是:根结点没有________结点,其余每个结点有且仅有________个前驱结点;叶子结点_________后继结点,其余结点可以有_________个后继结点。
数据结构第五章数组习题
第五章数组习题
1、假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=( )。
A、808 B、818 C、1010 D、1020
2、数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是( )。
A、1175 B、1180 C、1205 D、1210
3、若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定aij(i
A、i*(i-1)/2+j B、j*(j-1)/2+i C、i*(i+1)/2+j D、j*(j+1)/2+i
4、对稀疏矩阵进行压缩存储目的是( )。
A、便于进行矩阵运算 B、便于输入和输出
C、节省存储空间 D、降低运算的时间复杂度
5、已知广义表L=((x,y,z), a, (u,t,w)),从L表中取出原子项t的运算是( )。
A、head(tail(tail(L))) B、tail(head(head(tail(L))))
C、head(tail(head(tail(L)))) D、head(tail(head(tail(tail(L)))))
6、已知广义表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))))
7、多维数组之所以有行优先顺序和列优先顺序两种存储方式是因为( )。
A、数组的元素处在行和列两个关系中
数据结构习题与答案
1 第 1 章 绪 论
课后习题讲解
1. 填空
⑴( )是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
【解答】数据元素
⑵( )是数据的最小单位,( )是讨论数据结构时涉及的最小数据单位。
【解答】数据项,数据元素
【分析】数据结构指的是数据元素以及数据元素之间的关系。
⑶ 从逻辑关系上讲,数据结构主要分为( )、( )、( )和( )。
【解答】集合,线性结构,树结构,图结构
⑷ 数据的存储结构主要有( )和( )两种基本方法,不论哪种存储结构,都要存储两方面的内容:( )和( )。
【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系
⑸ 算法具有五个特性,分别是( )、( )、( )、( )、( )。
【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性
⑹ 算法的描述方法通常有( )、( )、( )和( )四种,其中,( )被称为算法语言。
【解答】自然语言,程序设计语言,流程图,伪代码,伪代码
⑺ 在一般情况下,一个算法的时间复杂度是( )的函数。
【解答】问题规模
⑻ 设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为( ),若为n*log25n,则表示成数量级的形式为( )。
【解答】Ο(1),Ο(nlog2n)
【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。
2. 选择题
⑴ 顺序存储结构中数据元素之间的逻辑关系是由( )表示的,链接存储结构中的数据元素之间的逻辑关系是由( )表示的。
A 线性结构 B 非线性结构 C 存储位置 D 指针
【解答】C,D
【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。
数据结构习题(有答案)
______________________________________________________________________________________________________________
-可编辑修改- 第1章 绪
1.1 有下列几种二元组表示的数据结构,试画出它们分别对应的图形表示,并指出它们分别属于何种结构。
(1) A= ( D,R ),其中,D = { a1,a2,a 3,a4 }, R={ }
(2) B= ( D,R ),其中,D = { a,b,c,d,e}, R={ (a,b),(b,c),(c,d),(d,e)}
(3) C= ( D,R ),其中,D = { a,b,c,d,e,f,g}, R={ (d,b),(d,g),(b,a),(b,c),(g,e),(e,f)}
(4) K= ( D,R ),其中,D = { 1,2,3,4,5,6}, R={ <1,2>,<2,3>,<2,4>,<3,4>,<3,5>,<3,6>,<4,5>,<4,6>} (1) 集合
(2) 线性表 abcde
(3) 树 fgabcde (4) 图 145362
1.2 设n为正整数,求下列各程序段中的下划线语句的执行次数。
(1) i=1; k=0
while(i<=n-1)
{
k+=10*i ;
i++;
}
(2) for (int i=1; i<=n; i++)
for (int j=1; j<=n; j++)
{ c[i][j]=0;
for (int k=1; k<=n; k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j]
} 解:
(1) n-1
(2) ninjnkn11131
______________________________________________________________________________________________________________
数据结构期末复习题3
一、填空题
1.数据的最小单位是( C )。
A. 数据项 B. 数据类型 C.数据元素 D.数据变量
2.算法指的是( D )。
A.计算机程序 B.解决问题的计算方法
C.排序算法 D.解决问题的有限运算序列
3.下面关于线性表的叙述错误的是( C )。
A. 线性表采用顺序存储必须占用一片连续的存储空间
B. 线性表采用链式存储不必占用一片连续的存储空间
C. 线性表采用链式存储便于插入和删除操作的实现
D. 线性表采用顺序存储便于插入和删除操作的实现
5.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有( )个空指针域。
A. 2m-1 B. 2m C. 2m+1 D. 4m
6.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。
A. R-F B. F-R C. (R-F+M)%M D. (F-R+M)%M
7.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为( )。
A. BADC B. BCDA C. CDAB D. CBDA
8.设某完全无向图中有n个顶点,则该完全无向图中有( )条边。
A. n(n-1)/2 B. n(n-1) C. n2 D. n2-1
9. 满二叉树_______二叉树。
A. 一定是完全 B.不一定是完全 C.不是 D.不是完全
10.设某棵二叉树中有2000个结点,则该二叉树的最小高度为( )。
A. 9 B. 10 C. 11 D. 12
数据结构练习题及参考答案
1 数据结构练习题
第一部分 绪 论
一、单选题
1. 一个数组元素a[i]与________的表示等价。
A、 *(a+i) B、 a+i C、 *a+i D、 &a+i
2. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。
A、 参数类型 B、 参数个数 C、 函数类型
3. 若需要利用形参直接访问实参,则应把形参变量说明为________参数
A、 指针 B、 引用 C、 值
4. 下面程序段的时间复杂度为____________。
for(int i=0; i
for(int j=0; j
a[i][j]=i*j;
A、 O(m2) B、 O(n2) C、 O(m*n) D、 O(m+n)
5. 执行下面程序段时,执行S语句的次数为____________。
for(int i=1; i<=n; i++)
for(int j=1; j<=i; j++)
S;
A、 n2 B、 n2/2 C、 n(n+1) D、 n(n+1)/2
6. 下面算法的时间复杂度为____________。
int f( unsigned int n ) {
if ( n==0 || n==1 ) return 1; else return n*f(n-1);
}
A、 O(1) B、 O(n) C、 O(n2) D、 O(n!)
数据结构C语言版(第2版)严蔚敏人民邮电出版社课后习题答案 2
数据结构( C语言版)(第 2版)
课后习题答案
李冬梅
2015.3
目 录
第 1 章 绪论 ............................................................................................................................................................................................................................. 1
第 2 章 线性表 ....................................................................................................................................................................................................................... 5
第 3 章 栈和队列 .............................................................................................................................................................................................................. 13
第 4 章 串、数组和广义表 ...................................................................................................................................................................................... 26
