数据结构-3_真题-无答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构-3
(总分88,考试时间90分钟)
一、单项选择题在每小题列出的四个选项中只有一个选项是符合题目要求的
1. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( )
A. 数据元素具有同一特点
B. 不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
C. 每个数据元素都一样
D. 数据元素所包含的数据项的个数要相等
2. 在下面的排序方法中,属于不稳定的排序方法的是( )
A. 直接插入排序
B. 冒泡法排序
C. 堆排序
D. 归并排序
3. 带头结点的单链表head为空的判断条件是( )
A. head=NULL
B. head—>next=NULL
C. head—>next=head
D. head!=NULL
4. 设散列函数为H(k)=k mod7,一组关键码为23,14,9,6,30,12和18,散列表T的地址空间为0.6,用线性探测法解决冲突,依次将这组关键码插入T中,得到的散列表为( )
5. 在一非空二叉树的中序遍历序列中,根结点的右边( )
A. 只有右子树上的所有结点
B. 只有右子树上的部分结点
C. 只有左子树上的所有结点
D. 只有左子树上的部分结点
6. 设图G采用邻接表存储,则拓扑排序算法的时间复杂度为( )
A. O(
B. O(n+
C. O(n2)
D. O(n×
7. 在一个链队列中,若f,r分别为队首、队尾指针,则插入s所指结点的操作为( )
A. f—>next=c;f=s;
B. r—>next=s;r=s;
C. s—>next=r;r= s
D. s—>next=f,f=s;
8. 邻接表存储结构下图的深度优先遍历算法结构类似于于叉树的( )
A. 先序遍历
B. 中序遍历
C. 后序遍历
D. 按层遍历
9. 非空的单循环链表L的尾结点P↑,满足( )
A. P↑.next=NULL;
B. P=NULL;
C. P↑.next=L;
D. P=L
10. 一个栈的人栈序列是a,b,c,d,e,则栈的不可能的输出序列是( )
A. e d c b a
B. d e c b a
C. d c e a b
D. a b c d e
11. 从具有n个结点的单链表中查找值等于x的结点时,在查找成功的情况下,平均需比较( )个结点。

A. n
B. n/2
C. (n-1)/2
D. (n+1)/2
12. 排序的重要目的是为了以后对已排序的数据元素进行( )
A. 打印输出
B. 分类
C. 查找
D. 合并
13. 对文件进行直接存取的是根据( )
A. 逻辑记录号去存取某个记录
B. 逻辑记录的关键字去存取某个记录
C. 逻辑记录的结构去存取某个记录
D. 逻辑记录的具体内容去存取某个记录
14. 线索二叉树是一种( )结构。

A. 物理
B. 逻辑
C. 存储
D. 线性
15. 在下面的排序方法中,不需要通过比较关键字就能进行排序的是( )
A. 箱排序
B. 快速排序
C. 插入排序
D. 希尔排序
二、填空题
16. 对无向图,其邻接矩阵是一个关于______对称的矩阵。

17. 多维数组和广义表是一种非常复杂的非线性结构,它们的逻辑特点是______。

18. 已知L是无表头结点的单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。

(1)在P结点之前插入S结点的语句序列是______;(2)在表首插入S结点的语句序列是______。

a P—>nex=S b P—>next=P—>next—>next c P—>next=S—>next d S—>next=P—>next e S—>next=L f Q=P g while(P—>next!=Q>P=P—>next h while(P—>next!=NULL)P=P—>next i P=L j L=S
19. 在散列技术中,处理冲突的方法有:______和______。

20. 如果我们定义一个长度为N的串空间,则它最多能放______个字符。

21. 假设在图G中任意的顶点设为vi,此顶点对应的度为D(vi),此图的顶点数为n。

则边数e和度数之间的关系为______。

22. ______的邻接矩阵不一定是不对称的。

23. 在串的匹配运算中,一般我们将主串称为______,而将子串称为______。

24. 当所有结点的权值都相等时,用这些结点构造的二叉排序树上只有______。

25. N个顶点的连通图,至少有______条边。

三、解答题
设有多项式
A(x)=7+3x+9x8+5x17
B(x)=8x+22x7一9x8
26. 用单链表给出A(x)的存储表示。

27. 用单链表给出B(x)的存储表示。

28. 以上述两个单链表为基础,通过插入和删除等运算得出A(x)+B(x)的存储表示,使其存储空间覆盖A(x)和B(x)的存储空间。

四、算法阅读题
29. 以下运算实现在循环队上判队空,请在______处用适当的语句予以填充。

int EmptyCycQueue(CycqcleueTp sq) { if(______)retum(1); else return(0); }
30. 以下算法在有序表R中用二分查找法查找键值等于K的元素,请分析程序,并在______上填充合适的语句。

int binsearch(sqtable R,keytype K) { low=l;hig=R.n;/*置查找区间初值。

low,hig分别标记查找区间的下、上界*/ while(low<=hig) { mid=(low+hig)/2; switch { case K==R.item[i].key:return(mid); /*找到,返回位置mid*/ case K <R.item[i].key:______.break;/*缩小区间*/ case K>R.item[i].key:______;break/*缩小区间*/ } } return(0); /*若区间长度已为0但仍不成功,则返回0,表示查找不成功*/ }
31. 以下运算实现在链栈上的退栈,请在______处用适当的语句予以填充。

int Pop(LStackTp*is,DataType*x) { LStackTp*P; if(1s!=NULL) { p=ls; *x=______; ls=ls—>next; ______; return(1); } else return(0); }
32. 分析下面程序段的时间复杂度______。

j=1; while(j<=n) {j=j*2; }
五、算法设计题
33. 对一个有t个非零值元素的m×n矩阵,用B[0..t,1..3]的数组来表示,其中第0行的三个元素分别是m,n,t,从第一行开始到最后一行,每行表示一个非零元素,第一列为矩阵元素行号,第二列为其列号,第三列为其元素量,对这样的表示法,试编写一个算法确定任意一个元素A[i][j]的位置,并考虑若修改其元素值须用多少时间?(设B中第1列原行号是递增的)。

相关文档
最新文档