数据结构模拟题1.docVIP

  • 356
  • 0
  • 约2.22千字
  • 约 3页
  • 2016-05-25 发布于重庆
  • 举报
数据结构模拟题1

数据结构模拟题1 教学站 学号 姓名 成绩 请将所有题的答案写在答题纸上! 一.单项① ② 是非线性数据结构 (A)线性表 (C)二叉排序树 (C)哈夫曼树 (D)循环链表 2. 线性表的顺序存储结构是通过何种方式表示元素之间的关系③ (A)后继元素地址 (B)元素的存储顺序 (C)左、右孩子地址 (D)后继元素的数组下标 3.线性链表是通过何种方式表示元素之间的关系④。 (A)后继元素的地址 (B)元素的存储顺序 (C)左、右孩子地址 (D)数组下标 4.在线性表顺序存储结构下,在第i个元素之前插入新元素一般需要⑤ (A)⑥结构 (A)逻辑 (B)存储 (C)逻辑和存储 (D)物理 6.用线性链表存储线性表时,要求存储空间⑦ (A)必须是连续的 (B) 连续不连续都可以 (C) 部分元素的存储空间必须是连续的 (D)必须是不连续的 7.对于经常要存取线性表任意指定位置元素的应用,线性表应采用⑧存储结构。 (A)⑨。 (A)存取受限的线性结构 (B)存取不受限的线性结构 (C)存取受限的非线性结构 (D)存取不受限的非线性结构 9.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为⑩。(1≤i≤n+1)A) O(0) (B) O(1) (C) O(n) (D) O(n2) 10.在p所指向的结点后插入由q指向的新结点的语句序列是(11) (A) p-next=q;q-next=p-next; (B) q=p-next;p-next=q; (C) q-next=p-next;p-next=q; (D) p=p-next; q-next=p; 11.在对二叉排序树进行遍历,可以得到该二叉树所有结点构成的。 A. 前序 B.中序 C.后序 D.按层次 1. 从逻辑结构来看,线性结构的特点是① 2.设Q为循环队列(设循环队列空间大小为MAXSIZE) 元素入队时如何修改队尾指针:Q.rear= ② 元素出队时如何修改队头指针:Q.front= ③ 3.列举二叉树④ 4.对有12个元素的有序表A[0..11]作二分查找,则为查找元素值等于A[4]的元素,所比较过的元素下标依次为⑥。 5.请列举构造哈希表时解决冲突的两种方法⑦。 6.数据结构课程中学习了哪两类矩阵的压缩存储 ⑧。 三.请解答下列问题 请用C语言给出顺序表(线性表的顺序存储结构)和线性链表(线性表的一种链式存储结构的类型定义。 有字符串序列为“3*-y-a/y(2”,试利用栈将字符串次序改为“3y-*ay2(/-”,请写出操作步骤。(可用X代表扫描该字符串过程中顺序取一个字符进栈的操作,用S代表从栈中取出一个字符加入到新字符串尾的操作。例如:ABC变为BCA,则操作步骤为XXSXSS。) 3.对于如图所示的图 (1) 画出该图的邻接表。 给出此图的以V0为起始结点的深度优先遍历序列,广度优先遍历序列。 给出此图一个拓扑序列。 4.用基数排序对下列序列排序:317、286、726、35、427、819、381,写出第二趟结束后的序列。 四.算法 1.试写出下面线性表操作算法的功能及参数的含义 void A(LinkList La, SqList Lb) { La=(LinkList)malloc(sizeof (LNode)); La-next=NULL; p=La; for (i=0; i=Lb.length-1;++i){ q=(LinkList)malloc(sizeof(LNode)); q-data=Lb.elem[i]; p-next=q; p=q; } q-next=NULL; } 2.下面算法的功能是:在无头结点的线性链表中删除第i元素结点,并用e返回其值,请在空缺处填入相应的语句或表达式。 Status ListDelete_L(LinkList L, int i, ElemType e) {//L是该链表的头指针 p=L; if(i==1) {//删除第1元素结点 ① } else { j=1; whil

文档评论(0)

1亿VIP精品文档

相关文档