福建专升本数据结构模拟题以及答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题 2 线性表
2.1 单项选择题
1. 一个向量(即一批地址连续的存储单元)第一个元素的存储地址是 100,每个元素的 长度为 2,则第 5 个元素的地址是__ __。
A. 110
B. 108 C. 100 D. 120
2. 线性表的顺序存储结构是一种__ _的存储结构,而链式存储结构是一种__ _的存储
② A. 空间复杂性和时间复杂性 B. 正确性和简明性
C. 可读性和文档性
D. 数据复杂性和程序复杂性
5. 计算机算法指的是①
,它必具备输入、输出和②
等五个特性。
① A. 计算方法
B. 排序方法
C. 解决问题的有限运算序列
D. 调度方法
② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性
C. 确定性、有穷性和稳定性
D. 易读性、稳定性和安全性
1.2 填空题(将正确的答案填在相应的空中)
1. 数据逻辑结构包括
、
和
三种类型,树形结构和图形结构合称
为
。
2. 在线性结构中,第一个结点
前驱结点,其余每个结点有且只有
个前驱
结点;最后一个结点
后续结点,其余每个结点有且只有
个后续结点。
3. 在树形结构中,树根结点没有
1
10. 时间复杂度:. O (n 2 )
11. 时间复杂度:. O (log2n )
数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计 算机程序识别和处理的符号的集合。
数据元素是数据的基本单位。 数据对象是具有相同性质的数据元素的集合。 数据结构 指某一数据对象及该对象中所有数据成员之间的关系。 数据的逻辑结构从逻辑关系上描述数据,与数据的存储无关; 数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构 05 void print_descending(int x,int y,int z)//按从大到小顺序输出三个数 { scanf("%d,%d,%d",&x,&y,&z); if(x<y) x<->y; //<->为表示交换的双目运算符,以下同 if(y<z) y<->z; if(x<y) x<->y; //冒泡排序 printf("%d %d %d",x,y,z); }//print_descending
D. p= p->next->next;
14. 从一个具有 n 个结点的单链表中查找其值等于 x 结点时,在查找成功的情况下,需
平均比较____个结点。
A. n
B. n/2
C. (n-1)/2
D. (n+1)/2
15. 在一个具有 n 个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是__
__。
9. 分析下面算法(程序段), 该算法的时间复杂度是__ __。 s=0; for (i=0;i<n;i++) for (j=0;j<n;j++) for (k=0;k<n;k++) s=s+B[i][j][k]; sum=s;
10. 分析下面算法(程序段) 该算法的时间复杂度是__ __。 i=s=0;
while (s<n) { i++; s+=i; //s=s+i }
11. 分析下面算法(程序段) 该算法的时间复杂度是__ __。 i=1; while (i<=n) i=i*2;
12. 分析下面算法(程序段) 该算法的时间复杂度是__ __。 i=0; j=0; while(i+j<=n) { if(i>j) j++; else i++; }
C. s->next=p; q->next=s;
D. p->next=s; s->next=q;
12. 在一个单链表中,若 p 所指结点不是最后结点,在 p 之后插入 s 所指结点,则执行
____。
A. s->next=p; p->next=s;
B. s->next=p->next; p->next=s;
结构。
A.随机存取 B.索引存取 C.顺序存取 D.散列存取
3. 线性表的逻辑顺序与存储顺序总是一致的,这种说法__ _。
A. 正确
B. 不正确
4. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址__ _。
A. 必须是连续的
B. 部分地址必须是连续的
3
福建省 2010 年专升本数据结构资料,仅供内部交流,如有错误敬请指正。57105673@qq.com 吴国祥整理
C. 一定是不连续的 D. 连续或不连续都可以 5. 在以下的叙述中,正确的是__ _。
A. 线性表的顺序存储结构优于链表存储结构
B. 线性表的顺序存储结构适用于频繁插入/删除数据元素的情况
C. 线性表的链表存储结构适用于频繁插入/删除数据元素的情况
D. 线性表的链表存储结构优于顺序存储结构 6. 每种数据结构都具备三个基本运算:插入、删除和查找,这种说法__ _。
B. head->next= =NULL
C. head->next= =head
D. head!=NULL
9. 非空的循环单链表 head 的尾结点(由 p 所指向)满足____。
A. p->next= =NULL
B. p= =NULL
C. p->next= =head
D. p= =head
10. 在双向循环链表的 p 所指结点之后插入 s 所指结点的操作是____。
A. O(1) B. O(n)
C. O (n2)
D. O (nlog2n)
16. 给定有 n 个元素的向量,建立一个有序单链表的时间复杂度是__ __。
A. O(1))
B. O(n)
C. O (n2)
D. O (n*log2n)
设 A 是一个线性表(a1,a2,……,an),若采用顺序存储结构,则在等概率前提下,向其插入一
A. 正确
B. 不正确
7. 不带头结点的单链表 head 为空的判定条件是____。
A. head= =NULL
B. head->next= =NULL
C. head->next= =head
D. head!=NULL
8. 带头结点的单链表 head 为空的判定条件是____。
A. head= =NULL
q= p->next;
p->next= _ ___;
delete
;
//填空 //填空
在一个单链表中删除 p 所指结点(*p)时,应执行以下操作:__ __ (2004) 5. 在一个单链表中 p 所指结点之后插入一个 s 所指结点时,应执行 s->next=__ p->next=____的操作。
__和
1.2 1. 线性结构、树形结构、图形结构,非线性结构 2. 没有、1、没有、1 3. 前驱、1、后续、任意多个 4. 任意多个 5. 一对一、一对多、多对多 6. 有穷性、确定性、可行性、输入、输出 7. 时间复杂度:. O (n2) 8. 时间复杂度:. O (n2) 9. 时间复杂度:. O (n3)
B.映象
C.存储
D.关系
3. 在数据结构中,从逻辑上可以把数据结构分成
。
A.动态结构和静态结构
B.紧凑结构和非紧凑结构
C.线性结构和非线性结构
D.内部结构和外部结构
4. 算法分析的目的是① ,算法分析的两个主要方面是②
。
① A. 找出数据结构的合理性
B. 研究算法中的输入和输出的关系
C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性
3. 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算法,删 除表中所有大于 x 且小于 y 的元素(若表中存在这样的元素)同时释放被删除结点空间。
4. 已有线性链表 La,编制算法将该链表就地逆置。
struct slnode
{ int data; struct slnode *next; }
6. 算法的五个重要特性是__ __ , __ __ , ___ _ , __ _ , _ 7. 分析下面算法(程序段), 该算法的时间复杂度是__ __。
for (i=0;i<n;i++) for (j=0;j<n; j++) A[i][j]=0;
8. 分析下面算法(程序段), 该算法的时间复杂度是__ __。 for (i=0;i<n;i++) for (j=0; j<i; j++) A[i][j]=0;
___。
1.3 算法设计题
1. 试写一算法,自大到小依次输出顺序读入的三个数 X,Y 和 Z 的值. 2. 试写一算法,求出 n 个数据中的最大值。
习题答案
1.1 1. C , A 2. B,D 3. C 4. C, A 5. C,B
2
福建省 2010 年专升本数据结构资料,仅供内部交流,如有错误敬请指正。57105673@qq.com 吴国祥整理
D. s->left=p; s->right=p->right; p->right->left=s; p->right=s;
11. 在一个单链表中,已知 q 所指结点是 p 所指结点的前驱结点,若在 q 和 p 之间插入
s 结点,则执行____。
A. s->next=p->next; p->next=s; B. p->next=s->next; s->next=p;
A. p->right=s; s->left=p; p->right->left=s; s->right=p->right;
B. p->right=s; p->right->left=s; s->left=p; s->right=p->right;
C. s->left=p; s->right=p->right; p->right=s; p->right->left=s;
3. 在一个单链表中 p 所指结点之前插入一个 s (值为 e)所指结点时,可执行如下操作:
q=head;
while (q->next!=p) q=q->next;
s= new Node;
s->data=e; q->next= ; //填空 s->next= ; //填空
4. 在一个单链表中删除 p 所指结点的后继结点时,应执行以下操作:
6. 对于一个具有 n 个结点的单链表,在已知 p 所指结点后插入一个新结点的时间复杂
度是__ __;在给定值为 x 的结点后插入一个新结点的时间复杂度是__ __。
2.3 算法设计题:
1.设顺序表 va 中的数据元数递增有序。试写一算法,将 x 插入到顺序表的适当位置上,
以保持该表的有序性。
2.试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1, a2,…. an) 逆置为(an, an-1,…., a1)。
个元素需要移动的元素个数平均为__(5)__。2003 年程序员上午试题
A.n+l B.n/2 C.(n+l)/2 D.n
4
福建省 2010 年专升本数据结构资料,仅供内部交流,如有错误敬请指正。57105673@qq.com 吴国祥整理
2.2 填空题(将正确的答案填在相应的空中)
1. 单链表可以做__ __的链接存储表示。 2. 在双链表中,每个结点有两个指针域,一个指向____ __,另一个指向___ __。
福建省 2010 年专升本数据结构资料,仅供内部交流,如有错误敬请指正。57105673@qq.com 吴国祥整理
福建省 2010 年专升本数据结构练习题
习题 1 绪论
1.1 单项选择题
1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的① 、数据信息在计
算机中的② 以及一组相关的运算等的课程。
C. s->next=p->next; p=s;
D. p->next=s; s->next=p;
13. 在一个单链表中,若删除 p 所指结点的后续结点,则执行____。
A. p->next= p->next->next; B. p= p->next; p->next= p->next->next;
C. p->next= p->next;
① A.操作对象
B.计算方法 C.逻辑结构 D.数据映象
② A.存储结构
B.关系
C.运算
D.算法
2. 数据结构 DS(Data Struct)可以被形式地定义为 DS=(D,R),其中 D 是① 的有限
集合,R 是 D 上的② 有限集合。
① A.算法
B.数据元素
C.数据操作 D.数据对象
② A.操作
结点,其余每个结点有且只有
个直接前
驱结点,叶子结点没有
结点,其余每个结点的直接后续结点可以
。
4. 在图形结构中,每个结点的前驱结点数和后续结点数可以
。
5. 线性结构中元素之间存在
Hale Waihona Puke Baidu
关系,树形结构中元素之间存在
关系,图形
结构中元素之间存在
关系。
1
福建省 2010 年专升本数据结构资料,仅供内部交流,如有错误敬请指正。57105673@qq.com 吴国祥整理
2.1 单项选择题
1. 一个向量(即一批地址连续的存储单元)第一个元素的存储地址是 100,每个元素的 长度为 2,则第 5 个元素的地址是__ __。
A. 110
B. 108 C. 100 D. 120
2. 线性表的顺序存储结构是一种__ _的存储结构,而链式存储结构是一种__ _的存储
② A. 空间复杂性和时间复杂性 B. 正确性和简明性
C. 可读性和文档性
D. 数据复杂性和程序复杂性
5. 计算机算法指的是①
,它必具备输入、输出和②
等五个特性。
① A. 计算方法
B. 排序方法
C. 解决问题的有限运算序列
D. 调度方法
② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性
C. 确定性、有穷性和稳定性
D. 易读性、稳定性和安全性
1.2 填空题(将正确的答案填在相应的空中)
1. 数据逻辑结构包括
、
和
三种类型,树形结构和图形结构合称
为
。
2. 在线性结构中,第一个结点
前驱结点,其余每个结点有且只有
个前驱
结点;最后一个结点
后续结点,其余每个结点有且只有
个后续结点。
3. 在树形结构中,树根结点没有
1
10. 时间复杂度:. O (n 2 )
11. 时间复杂度:. O (log2n )
数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计 算机程序识别和处理的符号的集合。
数据元素是数据的基本单位。 数据对象是具有相同性质的数据元素的集合。 数据结构 指某一数据对象及该对象中所有数据成员之间的关系。 数据的逻辑结构从逻辑关系上描述数据,与数据的存储无关; 数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构 05 void print_descending(int x,int y,int z)//按从大到小顺序输出三个数 { scanf("%d,%d,%d",&x,&y,&z); if(x<y) x<->y; //<->为表示交换的双目运算符,以下同 if(y<z) y<->z; if(x<y) x<->y; //冒泡排序 printf("%d %d %d",x,y,z); }//print_descending
D. p= p->next->next;
14. 从一个具有 n 个结点的单链表中查找其值等于 x 结点时,在查找成功的情况下,需
平均比较____个结点。
A. n
B. n/2
C. (n-1)/2
D. (n+1)/2
15. 在一个具有 n 个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是__
__。
9. 分析下面算法(程序段), 该算法的时间复杂度是__ __。 s=0; for (i=0;i<n;i++) for (j=0;j<n;j++) for (k=0;k<n;k++) s=s+B[i][j][k]; sum=s;
10. 分析下面算法(程序段) 该算法的时间复杂度是__ __。 i=s=0;
while (s<n) { i++; s+=i; //s=s+i }
11. 分析下面算法(程序段) 该算法的时间复杂度是__ __。 i=1; while (i<=n) i=i*2;
12. 分析下面算法(程序段) 该算法的时间复杂度是__ __。 i=0; j=0; while(i+j<=n) { if(i>j) j++; else i++; }
C. s->next=p; q->next=s;
D. p->next=s; s->next=q;
12. 在一个单链表中,若 p 所指结点不是最后结点,在 p 之后插入 s 所指结点,则执行
____。
A. s->next=p; p->next=s;
B. s->next=p->next; p->next=s;
结构。
A.随机存取 B.索引存取 C.顺序存取 D.散列存取
3. 线性表的逻辑顺序与存储顺序总是一致的,这种说法__ _。
A. 正确
B. 不正确
4. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址__ _。
A. 必须是连续的
B. 部分地址必须是连续的
3
福建省 2010 年专升本数据结构资料,仅供内部交流,如有错误敬请指正。57105673@qq.com 吴国祥整理
C. 一定是不连续的 D. 连续或不连续都可以 5. 在以下的叙述中,正确的是__ _。
A. 线性表的顺序存储结构优于链表存储结构
B. 线性表的顺序存储结构适用于频繁插入/删除数据元素的情况
C. 线性表的链表存储结构适用于频繁插入/删除数据元素的情况
D. 线性表的链表存储结构优于顺序存储结构 6. 每种数据结构都具备三个基本运算:插入、删除和查找,这种说法__ _。
B. head->next= =NULL
C. head->next= =head
D. head!=NULL
9. 非空的循环单链表 head 的尾结点(由 p 所指向)满足____。
A. p->next= =NULL
B. p= =NULL
C. p->next= =head
D. p= =head
10. 在双向循环链表的 p 所指结点之后插入 s 所指结点的操作是____。
A. O(1) B. O(n)
C. O (n2)
D. O (nlog2n)
16. 给定有 n 个元素的向量,建立一个有序单链表的时间复杂度是__ __。
A. O(1))
B. O(n)
C. O (n2)
D. O (n*log2n)
设 A 是一个线性表(a1,a2,……,an),若采用顺序存储结构,则在等概率前提下,向其插入一
A. 正确
B. 不正确
7. 不带头结点的单链表 head 为空的判定条件是____。
A. head= =NULL
B. head->next= =NULL
C. head->next= =head
D. head!=NULL
8. 带头结点的单链表 head 为空的判定条件是____。
A. head= =NULL
q= p->next;
p->next= _ ___;
delete
;
//填空 //填空
在一个单链表中删除 p 所指结点(*p)时,应执行以下操作:__ __ (2004) 5. 在一个单链表中 p 所指结点之后插入一个 s 所指结点时,应执行 s->next=__ p->next=____的操作。
__和
1.2 1. 线性结构、树形结构、图形结构,非线性结构 2. 没有、1、没有、1 3. 前驱、1、后续、任意多个 4. 任意多个 5. 一对一、一对多、多对多 6. 有穷性、确定性、可行性、输入、输出 7. 时间复杂度:. O (n2) 8. 时间复杂度:. O (n2) 9. 时间复杂度:. O (n3)
B.映象
C.存储
D.关系
3. 在数据结构中,从逻辑上可以把数据结构分成
。
A.动态结构和静态结构
B.紧凑结构和非紧凑结构
C.线性结构和非线性结构
D.内部结构和外部结构
4. 算法分析的目的是① ,算法分析的两个主要方面是②
。
① A. 找出数据结构的合理性
B. 研究算法中的输入和输出的关系
C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性
3. 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算法,删 除表中所有大于 x 且小于 y 的元素(若表中存在这样的元素)同时释放被删除结点空间。
4. 已有线性链表 La,编制算法将该链表就地逆置。
struct slnode
{ int data; struct slnode *next; }
6. 算法的五个重要特性是__ __ , __ __ , ___ _ , __ _ , _ 7. 分析下面算法(程序段), 该算法的时间复杂度是__ __。
for (i=0;i<n;i++) for (j=0;j<n; j++) A[i][j]=0;
8. 分析下面算法(程序段), 该算法的时间复杂度是__ __。 for (i=0;i<n;i++) for (j=0; j<i; j++) A[i][j]=0;
___。
1.3 算法设计题
1. 试写一算法,自大到小依次输出顺序读入的三个数 X,Y 和 Z 的值. 2. 试写一算法,求出 n 个数据中的最大值。
习题答案
1.1 1. C , A 2. B,D 3. C 4. C, A 5. C,B
2
福建省 2010 年专升本数据结构资料,仅供内部交流,如有错误敬请指正。57105673@qq.com 吴国祥整理
D. s->left=p; s->right=p->right; p->right->left=s; p->right=s;
11. 在一个单链表中,已知 q 所指结点是 p 所指结点的前驱结点,若在 q 和 p 之间插入
s 结点,则执行____。
A. s->next=p->next; p->next=s; B. p->next=s->next; s->next=p;
A. p->right=s; s->left=p; p->right->left=s; s->right=p->right;
B. p->right=s; p->right->left=s; s->left=p; s->right=p->right;
C. s->left=p; s->right=p->right; p->right=s; p->right->left=s;
3. 在一个单链表中 p 所指结点之前插入一个 s (值为 e)所指结点时,可执行如下操作:
q=head;
while (q->next!=p) q=q->next;
s= new Node;
s->data=e; q->next= ; //填空 s->next= ; //填空
4. 在一个单链表中删除 p 所指结点的后继结点时,应执行以下操作:
6. 对于一个具有 n 个结点的单链表,在已知 p 所指结点后插入一个新结点的时间复杂
度是__ __;在给定值为 x 的结点后插入一个新结点的时间复杂度是__ __。
2.3 算法设计题:
1.设顺序表 va 中的数据元数递增有序。试写一算法,将 x 插入到顺序表的适当位置上,
以保持该表的有序性。
2.试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1, a2,…. an) 逆置为(an, an-1,…., a1)。
个元素需要移动的元素个数平均为__(5)__。2003 年程序员上午试题
A.n+l B.n/2 C.(n+l)/2 D.n
4
福建省 2010 年专升本数据结构资料,仅供内部交流,如有错误敬请指正。57105673@qq.com 吴国祥整理
2.2 填空题(将正确的答案填在相应的空中)
1. 单链表可以做__ __的链接存储表示。 2. 在双链表中,每个结点有两个指针域,一个指向____ __,另一个指向___ __。
福建省 2010 年专升本数据结构资料,仅供内部交流,如有错误敬请指正。57105673@qq.com 吴国祥整理
福建省 2010 年专升本数据结构练习题
习题 1 绪论
1.1 单项选择题
1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的① 、数据信息在计
算机中的② 以及一组相关的运算等的课程。
C. s->next=p->next; p=s;
D. p->next=s; s->next=p;
13. 在一个单链表中,若删除 p 所指结点的后续结点,则执行____。
A. p->next= p->next->next; B. p= p->next; p->next= p->next->next;
C. p->next= p->next;
① A.操作对象
B.计算方法 C.逻辑结构 D.数据映象
② A.存储结构
B.关系
C.运算
D.算法
2. 数据结构 DS(Data Struct)可以被形式地定义为 DS=(D,R),其中 D 是① 的有限
集合,R 是 D 上的② 有限集合。
① A.算法
B.数据元素
C.数据操作 D.数据对象
② A.操作
结点,其余每个结点有且只有
个直接前
驱结点,叶子结点没有
结点,其余每个结点的直接后续结点可以
。
4. 在图形结构中,每个结点的前驱结点数和后续结点数可以
。
5. 线性结构中元素之间存在
Hale Waihona Puke Baidu
关系,树形结构中元素之间存在
关系,图形
结构中元素之间存在
关系。
1
福建省 2010 年专升本数据结构资料,仅供内部交流,如有错误敬请指正。57105673@qq.com 吴国祥整理