- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-
-
-
-. word.zl-
-
. word.zl-
数据构造与算法试题
一、 单项选择题
1、在数据构造的讨论中把数据构造从逻辑上分为 〔C 〕
A 部构造与外部构造 B 静态构造与动态构造
C 线性构造与非线性构造 D 紧凑构造与非紧凑构造。2、采用线性链表表示一个向量时,要求占用的存储空间地址〔D 〕
A 必须是连续的 B 局部地址必须是连续的C 一定是不连续的 D 可连续可不连续
3、采用顺序搜索方法查找长度为 n 的顺序表时,搜索成功的平均搜索长度为
〔 D 〕。
A n B n/2 C (n-1)/2 D (n+1)/2
4、在一个单链表中,假设 q 结点是 p 结点的前驱结点,假设在 q 与 p 之间插入结点 s,那么执行〔 D 〕。
A s→link= p→lin;kp→link= s; B p→link= s;s→link= q;
C p→link= s→lin;ks→link= p; D q→link= s;s→link= p;
5、如果想在 4092 个数据中只需要选择其中最小的 5 个,采用〔 C 〕方法最好。
A 起泡排序 B 堆排序 C 锦标赛排序 D 快速排序
6、设有两个串 t和 p,求 p 在 t中首次出现的位置的运算叫做〔 B 〕。A 求子串 B 模式匹配 C 串替换 D 串连接
7、在数组 A 中,每一个数组元素 A [i][占j]用 3 个存储字,行下标 i从 1 到 8,列
下标 j从 1 到 10。所有数组元素相继存放于一个连续的存储空间中,那么存放该
数组至少需要的存储字数是〔 C 〕。
A 80 B 100 C 240 D 270
8、将一个递归算法改为对应的非递归算法时,通常需要使用〔 A 〕。A 栈 B 队列 C 循环队列 D 优先队列
9、一个队列的进队列顺序是 1, 2, 3,, 那4 么出队列顺序为〔 C 〕。
10、在循环队列中用数组 A [0.m.-1]存放队列元素,其队头和队尾指针分别为 front
和 rea,r 那么当前队列中的元素个数是〔 D 〕。
A ( fron-trear+ 1) %m B (rear-front+ 1) %m C (front-rear+ m ) %m D (rear-front+ m ) %m
11、一个数组元素 a[i与] 〔 A 〕的表示等价。A *〔a+i〕 B a+i C *a+i D a+i
12、假设需要利用形参直接访问实参,那么应把形参变量说明为〔 B 〕参数。A 指针 B 引用 C 值 D 变量
13、下面程序段的时间复杂度为〔 C 〕for (int i=0;im;i++)
for (int j=0;jn;j++) a[i][j]=i*j;
A O(m 2) B O(n2) C O(m*n) D O(m+n)
14、下面程序段的时间复杂度为〔 B 〕int f(unsignedint n) {
if(n= =0 || n= =1)return 1; else return n*f(n-1);
}
O(1) B O(n) C O(n2) D O(n!)
15、线性表假设是采用链式存储构造时,要求存中可用存储单元的地址( D ) 。A 必须是连续的
局部地址必须是连续的C 一定是不连续的
D 连续或不连续都可以
16、数据构造的定义为(D,S),其中 D 是( B )的集合。A 算法 B 数据元素 C 数据操作 D 逻辑构造
17、算法分析的目的是(A )。A 找出数据构造的合理性
B 研究算法中输入和输出的关系C 分析算法的效率以求改良
D 分析算法的易懂性和文档性
18、在一个单链表中,假设 p 所指结点不是最后结点,在 p 之后插入 s所指结点, 那么执行( B 。)
s-link=p;p-link=s;
s-link=p-link;p-link=s; C s-link=p-link;p=s;
D p-link=s;s-link=p;
19、设单链表中结点构造为(data,lin指k)针. q 所指结点是指针p 所指结点的直接前
驱,假设在*q 与*p 之间插入结点*s,那么应执行以下哪一个操作〔 B 〕A s-link=p-link;p-link=s; B q-link=s; s-link=p
C p-link=s-links;-link=p; D p-link=s; s-link=q;
20、设单链表中结点构造为(data,lin假k)设.想摘除结点*p 的直接后继,那么应执行以下哪一个操作〔 A 〕
p-link=p-link-link;
p=p-link; p-link=p-link-link;
p-link=p-link; D p=p-link-link;
21、设单循环链
文档评论(0)