数据结构暨南大学期末试卷试题

合集下载

期末数据结构试题及答案

期末数据结构试题及答案

期末数据结构试题及答案期末数据结构试题(A)参考答案班别学号姓名成绩⼀、单项选择(每⼩题2分,共24分)1.若某线性表的常⽤操作是取第i个元素及其前趋元素,则采⽤( A )存储⽅式最节省时间A.顺序表B.单链表C.双链表D.单向循环2.串是任意有限个( B )A.符号构成的序列B.字符构成的序列C.符号构成的集合D.字符构成的集合3.设矩阵A(aij,1<=i,j<=10)的元素满⾜:aij<>0(i>=j,1<=i,j<=10),aij =0 (i若将A的所有⾮0元素以⾏为主序存于⾸地址为2000的存储区域中,每个元素占4个单元,则元素A[59]的⾸地址为( C )A.2340B.2336C.2220D.21604.如果以链表作为栈的存储结构,则退栈操作时( D )A.必须判别栈是否满⼲B.对栈不作任何判别C.判别栈元素的类型D.必须判别栈是否空5.设数组Data[0..m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执⾏出队操作的语句为( A )A.front=(front+1)%(m+1)B.front=(front+1)% mC.rear=(rear+1)% mD. front=front+16.深度为6(根的层次为1)的⼆叉树⾄多有( B )结点A.64B.63C.31D.327.将含100个结点的完全⼆叉树从根这⼀层开始,每层从左⾄右依次对结点编号,根结点的编号为1。

编号为47的结点X的双亲的编号为( C )A.24B.25C.23D.2⽆法确定8.设有⼀个⽆向图G=(V,E)和G'=(V',E'),如果G'为G的⽣成树,则下⾯不正确的说法是( D)A.G'为G的⼦图B.G'为G的⼀个⽆环⼦图C.G'为G的极⼩连通⼦图且V'=VD.G'为G的连通分量9.⽤线性探测法查找闭散列上,可能要探测多个散列地址,这些位置上的键值( D )A.⼀定都是同义词B.⼀定都不是同义词C.都相同D.不⼀定都是同义词10.⼆分查找要求被查找的表是( C )A.键值有序的链接表B.链接表但键值不⼀定有序表C.键值有序的顺序表D.顺序表但键值不⼀定有序表11.当初始序列已经按键值有序,⽤直接插⼊法对其进⾏排序,需要⽐较的次数为( B )A. n2B. n-1C. log2nD. nlog2n12.堆是⼀个键值序列{K1,K2,...,Ki,...,Kn},对i=1,2,...,└ n/2 ┘,满⾜( A)A. Ki<=K2i且Ki<=K2i+1(2i+1<=n)B.KiC. Ki<=K2i或Ki<=K2i+1(2i+1<=n)D.Ki<=K2i<=K2i+1⼆、判断题(正确的在括号内打"V",错的在括号内打"X",每⼩题1分,共10分)1.双链表中⾄多只有⼀个结点的后继指针为空( V )2.在循环队列中,front指向队列中第⼀个元素的前⼀位置,rear指向实际的队尾元素,队列为满的条件是front=rear( X)rear=front->next;3.对线性表进⾏插⼊和删除操作时,不必移动结点。

2022年暨南大学计算机科学与技术专业《计算机组成原理》科目期末试卷B(有答案)

2022年暨南大学计算机科学与技术专业《计算机组成原理》科目期末试卷B(有答案)

2022年暨南大学计算机科学与技术专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、下列关于虚拟存储器的说法,错误的是()。

A.虚拟存储器利用了局部性原理B.页式虚拟存储器的页面如果很小,主存中存放的页面数较多,导致缺页频率较低,换页次数减少,可以提升操作速度C.页式虚拟存储器的页面如果很大,主存中存放的页面数较少,导致页面调度频率较高,换页次数增加,降低操作速度D.段式虚拟存储器中,段具有逻辑独立性,易于实现程序的编译、管理和保护,也便于多道程序共享2、某机器字长32位,存储容量64MB,若按字编址,它的寻址范围是()。

A.8MB.16MBC.16MD.8MB3、某字长为8位的计算机中,已知整型变量x、y的机器数分别为[x]补=11110100,[y] 补=l0110000。

若整型变量z=2x+y/2,则z的机器数为()。

A.11000000B.00100100C.10101010D.溢出4、下列关于定点数原码一位乘算法的描述正确的是()。

I.符号位不参加运算,根据数值位的乘法运算结果确定结果的符号位II.在原码一位乘算法过程中,所有移位均是算术移位操作Ⅲ.假设两个n位数进行原码一位乘,部分积至少需要使用n位奇存器A.II,III C.只有IIIB.只有Ⅲ D.全错5、在浮点机中,判断原码规格化的形式的原则是()。

A.尾数的符号位与第一数位不同B.尾数的第一数位为1,数符任意C.尾数的符号位与第一位相同D.阶符与数符不同6、总线的数据传输速率可按公式Q=Wf/N计算,其中Q为总线数据传输速率,W为总线数据宽度(总线位宽/8),f为总线时钟频率,N为完成一次数据传送所需的总线时钟周期个数。

若总线位宽为16位,总线时钟频率为8MHz,完成一次数据传送需2个总线时钟周期,则总线数据传输速率Q为()。

A.16Mbit/sB.8Mbit/sC.16MB/sD.8MB/s7、下列有关总线定时的叙述中,错误的是()。

数据结构期末试题及答案

数据结构期末试题及答案

计算机科学与技术、网络工程本科《数据结构》期末考试试卷一、选择题〔单选题,每小题3分,共33分〕1.已知某二叉树的中序、层序序列分别为DBAFCE、FDEBCA,则该二叉树的后序序列为。

A.BCDEAF B.ABDCEF C.DBACEF D.DABECF 2.在11个元素的有序表A[1…11]中进行折半查找〔⎣⎦2/)low+〕,查找元素(highA[11]时,被比较的元素的下标依次是。

A.6,8,10,11 B.6,9,10,11 C.6,7,9,11 D.6,8,9,113.由元素序列〔27,16,75,38,51〕构造平衡二叉树,则首次出现的最小不平衡子树的根〔即离插入结点最近且平衡因子的绝对值为2的结点〕为。

A.27 B.38 C.51 D.754.利用逐点插入法建立序列〔50,72,43,85,75,20,35,45,65,30〕对应的二叉排序树以后,查找元素30要进行次元素间的比较。

A.4 B.5 C.6 D.75.循环链表的主要优点是。

A.不再需要头指针了B.已知某个结点的位置后,很容易找到它的直接前驱结点C.在进行删除后,能保证链表不断开D.从表中任一结点出发都能遍历整个链表6.已知一个线性表〔38,25,74,63,52,48〕,假定采用散列函数h〔key〕=key%7计算散列地址,并散列存储在散列表A[0…6]中,若采用线性探测方法解决冲突,则在该散列表上进行等概率查找时查找成功的平均查找长度为。

A.1.5 B.1.7 C.2.0 D.2.37.由权值为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为。

A.23 B.37 C.44 D.468.在最好和最坏情况下的时间复杂度均为O〔nlogn〕且稳定的排序方法是。

A.基数排序B.快速排序C.堆排序D.归并排序9.无向图G=(V,E),其中V={a,b,c,d,e,f},E={(a,b),〔a,e〕,(a,c),〔b,e〕,〔c,f〕,(f,d),〔e,d〕}。

数据结构期末考试试卷3套

数据结构期末考试试卷3套

数据结构一、判断题(共10分,每小题1分)(×)1、数据元素是数据的最小单位。

(×)2、串是由有限个字符构成的连续序列,串长度为串中字符的个数,子串是主串中符构成的有限序列。

(×)3、子串定位函数的时间复杂度在最坏情况下为O(n*m),因此子串定位函数没有实际使用的价值。

(×)4、在线性链表中删除中间的结点时,只需将被删结点释放。

(×)5、邻接表只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用。

(√)6、递归定义的数据结构通常用递归算法来实现对它的操作。

(√)7、在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和按层遍历,则具有相同的结果。

(√)8、已知指针P指向键表L的某结点,执行语句P=P->next不会删除该链表中的结点。

(√)9、对一个连通图进行一次深度优先搜索可以遍访图中的所有顶点。

(√)10、进行折半搜索的表必须是顺序存储的有序表。

二、填空题(共20分,每空1分)1、数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。

2、算法的五个重要特性是有穷性、确定性、可行性、输入、输出。

3、在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。

4、在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个直接前驱结点,叶子结点没有后续结点,其余每个结点的直接后续结点可以任意多个。

5、在具有n个单元的循环队列中,队满时共有n-1个元素。

6、向栈中压入元素的操作是先移动栈顶指针,后存入元素。

7、不包含任何字符(长度为0)的串称为空串;由一个或多个空格(仅由空格符)组成的串称为空白串。

8、如果含n个顶点的图形成一个环,则它有n 棵生成树。

9、有向图中的结点前驱后继关系的特征是一个结点可能有若干个前驱,也可能有若干个后继。

10、折半查找的存储结构仅限于_顺序存储结构__,且是有序的。

【数据结构期末试题及答案】样卷5

【数据结构期末试题及答案】样卷5

2020学年数据结构期末试题及答案(五)一、选择题1、设广义表L=((a,b,c)),则L的长度和深度分别为( C )。

A. 1和1B. 1和3C. 1和2D. 2和32、广义表((a),a)的表尾是( B )。

A. aB. (a)C. ()D. ((a))3、稀疏矩阵的常见压缩存储方法有( C )两种。

A. 二维数组和三维数组B. 三元组和散列表C. 三元组和十字链表D. 散列表和十字链表4、一个非空广义表的表头( D )。

A. 不可能是子表B. 只能是子表C. 只能是原子D. 可以是子表或原子5、数组A[0..5,0..6]的每个元素占5个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5][5]的地址是( A )。

A. 1175B. 1180C. 1205D. 12106、广义表G=(a,b(c,d,(e,f)),g)的长度是( A )。

A. 3B. 4C. 7D. 87、采用稀疏矩阵的三元组表形式进行压缩存储,若要完成对三元组表进行转置,只要将行和列对换,这种说法( B )。

A. 正确B. 错误C. 无法确定D. 以上均不对8、广义表(a,b,c)的表尾是( B )。

A. b,cB. (b,c)C. cD. (c)9、常对数组进行两种基本操作是( C )。

A. 建立和删除B. 索引和修改C. 查找和修改D. 查找与索引10、对一些特殊矩阵采用压缩存储的目的主要是为了( D )。

A. 表达变得简单B.对矩阵元素的存取变得简单C. 去掉矩阵中的多余元素D. 减少不必要的存储空间的开销11、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为()。

A. 13B. 33C. 18D. 4012、设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素ai,j(i>=j),在一维数组B的下标位置k 的值是( B )。

数据结构期末试卷及参考答案B

数据结构期末试卷及参考答案B

《数据结构》试卷(B)学号:姓名:日期:一.选择题(每小题2分,共30分,请写在答卷纸上):1.下面程序的时间复杂为()。

for(i=1,s=0; i<=n; i++) {t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;}A.O(n)B.O(n2)C.O(n3)D.O(n4)2.设某数据结构的二元组形式表示为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>},则数据结构A是()。

A.线性结构B.树型结构C.物理结构D.图状结构3.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。

A.q=p->next;p->data=q->data;p->next=q->next;free(q);B.q=p->next;q->data=p->data;p->next=q->next;free(q);C.q=p->next;p->next=q->next;free(q);D.q=p->next;p->data=q->data;free(q);4.栈和队列的共同特点是( )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点5.设某棵二叉树的中序遍历序列为ABCD,先序遍历序列为CABD,则后序遍历该二叉树得到序列为()。

A.BADCB.BCDAC.CDABD.CBDA6.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

数据结构期末试卷_含答案

数据结构期末试卷_含答案

三、程序填空题(本题共、链式表表示和实现线性表的部分程序如下,请在程序空白处填上适当的语句://线性表的单链表存储结构typedef struct LNode{线 订 装数据结构与算法A卷答案一、选择题:(本题共20小题,每题2分,共40分)1-5:CA、DBCC 6-10:BDDAB 11-15:AABBA 16-20:CCCBC二、分析运算题(本题共5小题,每题6分,共30 分)1、解答:(1)选链式存储结构。

它可以动态申请内存空间,不受表长度(即表中元素个数)的影响,插入、删除的时间复杂性为O(1);(2)选顺序存储结构。

顺序表可以随机存取,时间复杂性为O(1)。

2.CBADECBAEDCBEDACBDAECBDEA每对一个得1分,全对得6分,写错一个倒扣1分。

3.(3分)先序遍历序列:+-A/×BCD/EF (3分)4.(3分)后序遍历序列为:BHECIGFA D (3分)(1)(2分)(2)(2分)(3)(2分)三、程序填空题(本题共10空,每空2分,共20分)(1)p = L(2)p->next(3)p->next=q->next(4)free(q)(5)NULL或=NULL(6)printf(“%c”,BT->data)(7)Inorder(BT->right)(8) Push(S, exp[i]) 或 Push(S,‘(’)(9) GetTop(S)= ='('(10) Pop(S,e)四、算法设计题(本题共1小题,共10分)1、(10分)算法如下:答:void quickpass(sqlist r){int i=0; j=r.length-1; x=r.elem[0];while(i<j){while(i<j && r.elem[j]>x) j=j-1;if(i<j){r.elem[i]=r.elem[j];i=i+1;} while(i<j && r.elem[i]<x) i=i+1;if(i<j){r.elem[j]=r.elem[i];j=j-1;} }r.elem[i]=x;}。

数据结构期末考试试题(含答案)

数据结构期末考试试题(含答案)

数据结构期末考试试题(含答案)数据结构期末考试试题(含答案)第一题:多项式相加(20分)将两个多项式 P(x) 和 Q(x) 相加,结果存储在另一个多项式 S(x) 中,请写出相应的算法,并给出其时间复杂度分析。

答案:算法如下:1. 初始化一个空多项式 S(x)。

2. 分别取多项式 P(x) 和 Q(x) 的第一项,判断指数的大小关系,并将指数较小的项加入 S(x)。

3. 若指数相同,则将两项系数相加,并将结果加入 S(x)。

4. 重复步骤2和步骤3,直到两个多项式中的所有项都被处理完。

5. 返回结果多项式 S(x)。

时间复杂度分析:- 假设 P(x) 和 Q(x) 的项数分别为 m 和 n。

- 在最坏情况下,需要比较 m+n 次指数大小,并进行 m+n-1 次系数相加。

- 因此,该算法的时间复杂度为 O(m+n)。

第二题:循环队列设计(30分)请设计一个循环队列,实现入队、出队等基本操作,并给出时间复杂度分析。

答案:定义循环队列的结构体如下:```ctypedef struct {int *data; // 存储队列元素的数组int front; // 队首指针,指向队首元素的位置int rear; // 队尾指针,指向队尾的下一个位置int maxSize; // 队列的最大容量} CircularQueue;```基本操作的实现如下:1. 初始化循环队列:```cvoid initQueue(CircularQueue *queue, int maxSize) {queue->data = (int *)malloc(sizeof(int) * maxSize);queue->front = queue->rear = 0;queue->maxSize = maxSize;}```2. 入队操作:```cint enqueue(CircularQueue *queue, int value) {if ((queue->rear + 1) % queue->maxSize == queue->front) { return 0; // 队列已满,插入失败}queue->data[queue->rear] = value;queue->rear = (queue->rear + 1) % queue->maxSize;return 1; // 插入成功}```3. 出队操作:```cint dequeue(CircularQueue *queue, int *value) {if (queue->front == queue->rear) {return 0; // 队列为空,出队失败}*value = queue->data[queue->front];queue->front = (queue->front + 1) % queue->maxSize; return 1; // 出队成功}```时间复杂度分析:- 入队和出队操作的时间复杂度均为 O(1)。

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

数据结构暨南大学期末试卷试题
一、判断题(共10分)
1. 当静态链表采用数组实现时,插入与删除操作仍需移动元素。

2. 栈也是一种线性表,也同样有顺序存储结构和链式存储结构。

3. 二叉树的三种遍历算法区别仅在于对树根、左右子树访问先后顺序的不同。

4. 邻接表是图的一种顺序存储结构。

5. 二叉树就是度数为2的树。

6. 在哈希表中勿需比较就可找到记录在表中的位置。

7. 线性表的链式存储结构既方便其存取操作,也方便其插入与删除操作。

8. 顺序存储结构既适合于完全二叉树,也同样适合于一般的二叉树。

9.一个算法是正确的、高效率的,还不能说它就是一个“好”的算法。

10. 快速排序与堆排序的平均时间复杂度相同。

二、概念填空(共20分,每题2分)
1.对顺序存储结构的线性表,设表长为La;在各元素插入为等概率条件下,插入一个数据元素需平均移动表中元素_______ 个;在最坏情况下需移动表中元素
_______ 个。

2.从逻辑角度看,四种基本的数据结构可分为__________、
___________、____________和____________;两种存储结构为_____________和
_________________。

3.一个深度为,的满k(k>2)叉树,其第i层(若存在)有________个结点;编号为p(p>1)的结点其父结点(父结点为非根结点)编号是___________________。

4.具有n个结点的完全二叉树的深度为____________;编号为p(<n)的结点其右孩子(若存在)结点编号是___________。

5.堆栈被称为一个_____________的线性表;队列被称为一个_____________的线性表。

6.静态查找表的查找方法主要有:有序表查找及
________________________;在n个记录中进行折半查找,当查找不成功时,与关键字比较次数最多为_____________________。

7.一颗9阶的,_ 树,其每个结点(除根外)的子树数目为________________,关健字数目为________________。

8.内部排序方法大致可分为__________、___________、____________、
__________和_________等五类;简单排序方法的时间复杂度为_________。

9.外部排序分为两个相对独立的阶段。

首先产生有序子文件即___________;然后对它们进行__________,直至整个文件有序为止。

10.文件的组织方式有_________________等三种;顺序文件又可分为
_________________两大类。

三、算法(共70分)
要求:对1、2、3题,在它们的下划线处填空;对4、5、6、7题,从第7题以下的空白纸张处开始书写,标明题号且只写出最终结果即可。

1. 算法填空题 (12分)
Int Search_Bin(SSTable ST, KeyType key) {
在有序表ST中折半查找其关键字等于key的数据元素。

若找到,则函数值为该元素在表中的位置,否则为0。

Low =1; high=ST.length;
While (__________________){
mid=_______________________;
if EQ(key, ST.elem[mid].key) return mid;
else if LT( key, ST.elem[mid].key) high=______________;
else low=______________;
}
return 0;
}
2. 算法填空题 (9分)
中序遍历二叉树T的递归算法,对数据元素操作调用函数printf()。

struct TNode{
char data;
struct TNode * lchild, * rchild;
}
InOrderTraverse(struct TNode *T){
if (T){
InOrderTraverse(______________);
printf("%c",______________);
InOrderTraverse(______________);
}
}
3. 算法填空 (9分)
typedef struct{
char *base;
char *top;
int stacksize;
}SqStack;
void Pop(SqStack *S0, char *e){
//若栈不空,则删除栈顶元素,用e返回其值。

if(S0->top= =_____________) return;
______________;
*e=*(________________);
}
4. 给出一整数序列(4,2,5,6, 3),对其进行从小到大排序,分别选用直接插入排序、2—路归并排序及快速排序三种方法,写出这三种方法的一趟排序结果。

(10分)
5. 已知一颗3阶的B-树(见下图),依次插入关键字3及90,分别写出每插入一个关键字后所生成的B-树? (10分)。

6. 已知一无向带权图(见下图),写出其最小生成树 (10分)。

7. 已知4个结点的权值为,20,30,32,40,78,,构造一颗赫夫曼树,并写出其赫夫曼编码 (10分)。

相关文档
最新文档