数据结构--重修作业题

合集下载

数据结构试卷及答案

数据结构试卷及答案

期末考试《数据结构》A 卷一、单项选择题(请将正确答案的字母填写在每 题对应的括号内,每小题1分,共20分)1、下面关于串的叙述中,哪一个是不正确的?()A .串是字符的有限序列B .空串是由空格构成的串C .模式匹配是串的一种重要运算D .串既可以采用顺序存储,也可以采用链式存储 2、设无向图的顶点个数为n ,则该图最多有()条边。

A . n-1B . n(n-1)/2C . n(n+1)/2D . 0 3、以下数据结构中,()是非线性数据结构。

A .树B .字符串C .队列D .栈4、下面关于线性表的叙述中,错误的是哪一个?()A .线性表采用顺序存储,必须占用一片连续的存储单元。

B .线性表采用顺序存储,便于进行插入和删除操作。

C .线性表采用链接存储,不必占用一片连续的存储单元。

D .线性表采用链接存储,便于插入和删除操作。

5、假设以数组A[m]存放循环队列的元素,其头尾指针分别为front 和rear ,则当前队列中的元素个数为()。

A . (rear-front+m)%mB . rear-front+1C . (front-rear+m)%mD . (rear-front)%m6、在单链表指针为p 的结点之后插入指针为s 的结点,正确的操作是()。

A . p->next=s; s->next=p->next;B . s->next=p->next; p->next=s;C . p->next=s; p->next=s->next;D . p->next=s->next; p->next=s; 7、设栈的输入序列是1, 2, 3, 4,则()不可能是其出栈序列。

A .1,2,4,3 B .2,1,3,4C .1,4,3,2D .4,3,1,2,8、广义表(a,(b,c),d,e )的表头和表尾分别为()。

A . a 和(b,c),d,eB . (a )和(b,c),d,eC . a 和((b,c), d,e)D . (a) 和((b,c), d,e)得分评卷人二、判断题,在正确的题后括号内打“J”,在错误的题后括号内打“X”(每小题1分,共10分)1、算法是由若干条指令组成的有穷序列,而一个程序不一定满足有穷性。

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不是线性数据结构?A. 数组B. 链表C. 树D. 图2. 在一个单链表中,删除一个节点的操作需要知道该节点的:A. 地址B. 值C. 索引D. 前驱节点的引用3. 栈(Stack)是一种:A. 线性表B. 树状结构C. 图结构D. 散列表4. 哈希表解决冲突最常用的方法是:A. 排序B. 链地址法C. 再散列D. 除留余数法5. 以下哪个排序算法是稳定的?A. 快速排序B. 冒泡排序C. 选择排序D. 堆排序二、简答题(每题10分,共30分)1. 简述数组和链表的区别。

2. 解释二叉搜索树的基本概念及其优势。

3. 什么是递归?请给出一个简单的递归算法例子。

三、计算题(每题25分,共50分)1. 给定一个无序数组,请写出一个时间复杂度为O(n log n)的排序算法,并说明其工作原理。

2. 描述如何使用队列来实现一个简单的文本编辑器的撤销和重做功能。

四、编程题(共30分)编写一个函数,该函数接受一个整数数组作为参数,返回数组中所有元素的和。

如果数组为空,返回0。

答案一、选择题1. 答案:C(树和图都是非线性结构)2. 答案:D(需要前驱节点的引用来删除节点)3. 答案:A(栈是一种后进先出的特殊线性表)4. 答案:B(链地址法是解决哈希冲突的常用方法)5. 答案:B(冒泡排序是稳定的排序算法)二、简答题1. 数组和链表的区别:- 数组是连续的内存空间,链表是非连续的。

- 数组的索引访问速度快,链表需要遍历。

- 数组的大小固定,链表动态可变。

2. 二叉搜索树的基本概念及其优势:- 二叉搜索树是一种特殊的二叉树,左子树上所有节点的值小于它的根节点的值,右子树上所有节点的值大于它的根节点的值。

- 优势:支持快速的查找、插入和删除操作。

3. 递归是函数自己调用自己的过程。

例如,计算n的阶乘的递归算法: ```cint factorial(int n) {if (n <= 1) return 1;return n * factorial(n - 1);}```三、计算题1. 快速排序算法:- 选择一个元素作为“基准”(pivot)。

数据结构重修

数据结构重修

1内蒙古农业大学职业技术学院2010―2011学年第二学期《数据结构》重修考试卷一、填空题。

(每空1分,共20分) 1、算法的5个特性为_________、 、 、 、 。

2、结构中的数据元素存在多对多的关系称为________结构。

3、结构中的数据元素存在一对多的关系称为________结构。

4、结构中的数据元素存在一对一的关系称为________结构。

5、在一个单链表中p 所指结点之后插入一个s 所指结点时,应执行___ _____和p->next=s;的操作。

6、在一个单向链表中,要删除p 所指结点,又已知q 指向p 所指结点的前驱结点。

则可以用操作________。

7、对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的_______、_______和_______三项信息。

8、设有一棵深度为4的完全二叉树,第四层上有5个结点,该树共有_________个结点。

(根所在结点为第1层)9、一棵有14个结点的完全二叉树,则它的最高层上有_______个结点。

10、二叉树排序中任一棵子树都是二叉排序树,这种说法是_______的。

(回答正确或不正确)11、________遍历二叉排序树可得到一个有序序列。

12、两个串相等的充分必要条件是_______ ___。

13、在双向链表中,每个结点有两个指针域,一个指向________,另一个指向_________。

二、选择题。

(每题2分,共30分)1、带头结点的链表为空的判断条件是( )(设头指针为head )。

A .head = =NULL B .head →next= =NULL C .head →next= =head D .head!=NULL2、链表所具备的特点是( )。

A .可以随机访问任一结点B .占用连续的存储空间C .插入删除不需要移动元素结点D .可以通过下标对链表进行直接访问 3、非空的单向循环链表的尾结点满足( )(设头指针为head ,指针p 指向尾结点)。

数据结构试题及答案

数据结构试题及答案

数据结构试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是元素之间存在一对一的线性关系。

以下哪个数据结构不属于线性结构?A. 栈B. 队列C. 树D. 链表答案:C2. 栈(Stack)是一种后进先出(LIFO)的数据结构,以下哪个操作不是栈的基本操作?A. PushB. PopC. TopD. Sort答案:D3. 在二叉树的遍历中,前序遍历的顺序是:A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表的冲突可以通过多种方法解决,以下哪个不是解决哈希表冲突的方法?A. 链地址法B. 开放地址法C. 再散列法D. 排序法答案:D5. 以下哪个排序算法是稳定的?A. 快速排序B. 堆排序C. 归并排序D. 选择排序答案:C6. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构来实现?A. 队列B. 栈C. 链表D. 哈希表答案:B7. 以下哪个是图的存储方式?A. 顺序存储B. 链式存储C. 散列表D. 矩阵存储答案:D8. 动态数组(如C++中的vector)在插入元素时可能需要进行的操作是:A. 原地扩展B. 复制元素C. 重新分配内存D. 释放内存答案:C9. 以下哪个不是算法的时间复杂度?A. O(1)B. O(log n)C. O(n^2)D. O(n!)答案:D10. 在查找算法中,二分查找法要求被查找的数据必须是:A. 无序的B. 有序的C. 随机分布的D. 唯一元素答案:B二、简答题(每题5分,共30分)1. 简述链表和数组的区别。

答案:链表和数组都是存储数据的线性数据结构,但它们在内存分配、访问方式、插入和删除操作等方面存在差异。

数组在内存中是连续存储的,可以通过索引快速访问任意元素,但插入和删除元素时可能需要移动大量元素。

链表在内存中是非连续存储的,每个元素包含数据和指向下一个元素的指针,不支持通过索引快速访问,但插入和删除操作只需要改变指针,不需要移动其他元素。

数据结构作业题及参考答案

数据结构作业题及参考答案

东北农业大学网络教育学院数据结构作业题(一)、选择题(每题2分,共20 分)1在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( )。

2A Qn) B、O(n/2) C、O(1) D O(n )2.带头结点的单链表first为空的判定条件是( )。

A、first == NULL ;B、first->link == NULL ;C、first->link == first ;D、first != NULL ;3•在一棵树中,( )没有前驱结点。

A、分支结点B、叶结点C、树根结点D、空结点4•在有向图中每个顶点的度等于该顶点的( )。

A、入度B、出度C、入度与出度之和D、入度与出度之差5.对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为( ) 的值除以9。

A、20B、18C、25D、226•下列程序段的时间复杂度为( )。

s=0;for(i=1 ; i<n; i++)for(j=1 ; j<n ; j++)s+=i*j ;2A、O(1)B、O(n)C、O(2n)D、O(n)7•栈是一种操作受限的线性结构,其操作的主要特征是( )。

A、先进先出B、后进先出C、进优于出D、出优于进&假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。

若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( )。

4•在二叉树的第i 层上至多有 ______________ 结点。

5.对于一棵具有 n 个结点的二叉树,若一个结点的编号为A、 C、 (rear-front-1) % n B 、(rear-front) % n (front-rear+1) % nD 、(rear-front+n) % n高度为5的完全二叉树中含有的结点数至少为(16B 、17C 、3110.如图所示有向图的一个拓扑序列是D 、32)A 、 ABCDEFB 、 FCBEADC 、 FEDCBAD 、 DAEBCF二、填空题(每空1分,共20 分)1. n (n > 0)个顶点的无向图最多有2.在一棵AVL 树中,每个结点的左子树高度与右子树高度之差的绝对值不超过 ________ 。

数据结构题库及答案详解

数据结构题库及答案详解

数据结构题库及答案详解一、选择题1. 在数据结构中,线性结构的特点是什么?A. 结构中存在唯一的开始结点和终端结点B. 结构中所有结点的前驱和后继都存在C. 结构中所有结点都只有一个直接前驱和一个直接后继D. 结构中存在多个开始结点和终端结点答案:C2. 栈是一种特殊的线性表,其特点是:A. 先进先出B. 先进后出C. 可以同时在两端进行插入和删除操作D. 只能在一端进行插入和删除操作答案:D3. 在二叉树的遍历算法中,先序遍历的顺序是:A. 先访问根结点,然后遍历左子树,最后遍历右子树B. 先遍历左子树,然后访问根结点,最后遍历右子树C. 先遍历右子树,然后访问根结点,最后遍历左子树D. 先遍历左右子树,最后访问根结点答案:A二、填空题4. 在图的遍历中,______算法可以避免重复访问同一顶点。

5. 哈希表的冲突可以通过______方法来解决。

答案:4. 深度优先搜索(DFS)5. 链地址法或开放地址法三、简答题6. 简述排序算法中的快速排序算法的基本原理。

答案:快速排序算法是一种分治算法,它通过选择一个元素作为“基准”,然后将数组分为两个子数组,一个包含小于基准的元素,另一个包含大于基准的元素。

然后对这两个子数组递归地应用快速排序算法。

7. 解释什么是递归,并给出一个递归函数的例子。

答案:递归是一种在函数中调用自身的编程技术。

递归函数必须有一个明确的终止条件,以避免无限递归。

例如,计算阶乘的递归函数如下:```int factorial(int n) {if (n == 0) return 1; // 终止条件return n * factorial(n - 1); // 递归调用}```四、编程题8. 编写一个函数,实现单链表的反转。

答案:```c// 假设ListNode是链表节点的定义ListNode* reverseList(ListNode* head) {ListNode* prev = NULL;ListNode* curr = head;ListNode* next = NULL;while (curr != NULL) {next = curr->next; // 保存下一个节点curr->next = prev; // 反转指针prev = curr; // 移动prevcurr = next; // 移动curr}return prev; // 新的头节点}```9. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。

数据结构的试题及答案

数据结构的试题及答案一、选择题1. 在数据结构中,线性表的顺序存储方式被称为:A. 栈B. 队列C. 链表D. 数组答案:D2. 以下哪种数据结构是动态数据结构?A. 数组B. 链表C. 栈D. 队列答案:B3. 树的度是树内所有节点的度的最大值,树的深度是树的最长路径上的节点数。

以下哪个选项正确描述了树的度和深度?A. 度是节点的最大值,深度是路径上节点数B. 度是路径上节点数,深度是节点的最大值C. 度是节点的最大值,深度是节点的最大值D. 度是路径上节点数,深度是路径上节点数答案:A二、简答题1. 请简述链表和数组的区别。

答案:链表和数组是两种不同的数据存储方式。

数组是连续的内存空间,可以通过索引快速访问元素,但插入和删除操作可能需要移动大量元素。

链表由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针,链表的插入和删除操作不需要移动其他元素,但访问特定元素需要从头开始遍历。

2. 什么是二叉搜索树?它有哪些特点?答案:二叉搜索树(BST)是一种特殊的二叉树,其中每个节点的值都大于或等于其左子树中的任何节点的值,并且小于或等于其右子树中的任何节点的值。

BST的主要特点是它支持快速的查找、插入和删除操作,时间复杂度为O(log n)。

三、计算题1. 给定一个链表,编写一个算法来删除链表中的重复元素。

答案:以下是删除链表中重复元素的算法步骤:- 遍历链表,使用一个哈希表来记录已经遇到的元素。

- 当遍历到一个新元素时,检查它是否已经在哈希表中。

- 如果已经存在,删除当前节点,并继续遍历。

- 如果不存在,将元素添加到哈希表中,并继续遍历。

- 完成遍历后,链表中的重复元素将被删除。

2. 假设有一个二叉搜索树,编写一个算法来找到树中第k小的元素。

答案:以下是找到二叉搜索树中第k小元素的算法步骤:- 从根节点开始,使用中序遍历(左-根-右)。

- 遍历过程中,记录访问的节点数量。

- 当访问到第k个节点时,该节点即为所求的第k小的元素。

(完整版)数据结构练习题及参考答案

数据结构练习题第一部分绪论一、单选题1. 一个数组元素a[i]与________的表示等价。

A、 *(a+i)B、 a+iC、 *a+iD、 &a+i2. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。

A、参数类型B、参数个数C、函数类型3. 若需要利用形参直接访问实参,则应把形参变量说明为________参数A、指针B、引用C、值4. 下面程序段的时间复杂度为____________。

for(int i=0; i<m; i++)for(int j=0; j<n; j++)a[i][j]=i*j;A、 O(m2)B、 O(n2)C、 O(m*n)D、 O(m+n)5. 执行下面程序段时,执行S语句的次数为____________。

for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)S;A、 n2B、 n2/2C、 n(n+1)D、 n(n+1)/26. 下面算法的时间复杂度为____________。

int f( unsigned int n ) {if ( n==0 || n==1 ) return 1; else return n*f(n-1);}A、 O(1)B、 O(n)C、 O(n2)D、 O(n!)二、填空题1. 数据的逻辑结构被分为__________、_________、__________和__________四种。

2. 数据的存储结构被分为__________、_________、__________和__________四种。

3. 在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着________、________和________的联系。

4. 一种抽象数据类型包括__________和__________两个部分。

5. 当一个形参类型的长度较大时,应最好说明为_________,以节省参数值的传输时间和存储参数的空间。

数据结构试题及答案(十套)

一、单选题(每题 2 分,共20分)1.对一个算法的评价,不包括如下(B )方面的内容。

A.健壮性和可读性B.并行性C.正确性D.时空复杂度2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。

A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.AOV网是一种()。

A.有向图B.无向图C.无向无环图D.有向无环图6.采用开放定址法处理散列表的冲突时,其平均查找长度()。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。

A.值B.函数C.指针D.引用8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。

A.行号B.列号C.元素值D.非零元素个数9.快速排序在最坏情况下的时间复杂度为()。

A.O(log2n) B.O(nlog2n)C.0(n) D.0(n2)10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1.数据结构是指数据及其相互之间的______________。

当结点之间存在M对N (M:N)的联系时,称这种结构为_____________________。

2004级计算机科学与技术专业《数据结构》重修考试试题

2004级计算机科学与技术专业《数据结构》重修考试试题一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1分,共10分)1.下面关于线性表的叙述中,错误的为( )A.顺序表使用一维数组实现的线性表B.顺序表必须占用一片连续的存储单元C.顺序表的空间利用率高于链表D.在链表中,每个结点只有一个链域2.带头结点的单链表head为空的判断条件是( )A. head=NULLB. head→next=NULLC. head→next=headD. head< >NULL3.队列通常采用两种存储结构是( )A.顺序存储结构和链表存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构4.深度为n的二叉树中所含叶子结点的个数最多为( )个。

A.2nB.nC.2n-1D.2n-15.在双向链表存储结构中,删除p所指的结点时须修改指针()。

A.p->llink ->rlink=p->rlink p->rlink ->llink=p->llink;B.p->llink=p->llink ->llink p->llink ->rlink=p;C.p->rlink ->llink=p p->rlink=p->rlink ->rlinkD.p->rlink=p->llink ->llink p->llink=p->rlink ->rlink;6.下面的二叉树中,( )不是完全二叉树。

7.下列说法错误的是( )。

A.一个图的邻接矩阵表示是唯一的B.一个图的邻接表表示是不唯一的C.一个图的生成树必为该图的极小连通子图D.一个无环有向图的拓扑排序序列必唯一8.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

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

第一章绪论一、选择题3.在数据结构中,从逻辑上可以把数据结构分成()(A)动态结构和静态结构(B)紧凑结构和非紧凑结构(C)线性结构和非线性结构(D)内部结构和外部结构5.算法分析的目的是()。

(A)找出数据结构的合理性(B)研究算法中的输入和输出的关系(C)分析算法的效率以求改进(D)分析算法的易懂性和文档性二、判断题1.数据的机内表示称为数据的存储结构。

()2.算法就是程序。

()5.算法的时间复杂度取决于问题的规模和待处理数据的初态。

()三、填空题1.数据逻辑结构包括________、________、_________ 和_________四种类型,其中树形结构和图形结构合称为_____。

2.在线性结构中,第一个结点____前驱结点,其余每个结点有且只有______个前驱结点;最后一个结点______后续结点,其余每个结点有且只有_______个后续结点。

3.在树形结构中,树根结点没有_______结点,其余每个结点有且只有_______个前驱结点;叶子结点没有________结点,其余每个结点的后续结点可以_________。

4.在图形结构中,每个结点的前驱结点数和后续结点数可以_________。

5.线性结构中元素之间存在________关系,树形结构中元素之间存在______关系,图形结构中元素之间存在_______关系。

8.链式存储结构与顺序存储结构相比较,主要优点是________________________________。

9.设有一批数据元素,为了最快的存储某元素,数据结构宜用_________结构,为了方便插入一个元素,数据结构宜用____________结构。

四、算法分析题,求下列算法段的语句频度及时间复杂度for (i=1;i<=n;i++)for (j=1;j<=i;j++)for ( k=1;k<=j;k++)x=i+j-k;第二章线性表一、选择题1.一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( ) (A)110 (B)108(C)100 (D)1202. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动()个元素。

(A)64(B)63 (C)63.5(D)73.线性表采用链式存储结构时,其地址()。

(A) 必须是连续的(B) 部分地址必须是连续的(C) 一定是不连续的(D) 连续与否均可以4. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行()(A)s.next=p;p.next=s; (B)s.next=p.next;p.next=s;(C)s.next=p.next;p=s; (D)p.next=s;s.next=p;5.在一个单链表中,若删除p所指结点的后续结点,则执行()(A)p.next=p.next.next; (B)p=p.next; p.next=p.next.next;(C)p.next=p.next; (D)p =p.next.next;6.下列有关线性表的叙述中,正确的是()(A)线性表中的元素之间隔是线性关系(B)线性表中至少有一个元素(C)线性表中任何一个元素有且仅有一个直接前趋(D)线性表中任何一个元素有且仅有一个直接后继7.线性表是具有n个()的有限序列(n≠0)(A)表元素(B)字符(C)数据元素(D)数据项二、判断题1.线性表的链接存储,表中元素的逻辑顺序与物理顺序一定相同。

()3.线性结构的特点是只有一个结点没有前驱,只有一个结点没有后继,其余的结点只有一个前驱和后继。

()三、填空题1.已知P为单链表中的非首尾结点,在P结点后插入S结点的语句为:_______________________ 。

2.顺序表中逻辑上相邻的元素物理位置( )相邻,单链表中逻辑上相邻的元素物理位置_________相邻。

四、算法设计题对于结点类型为LNode的单链表,编写出下列每个算法。

(1)删除单链表中的第i个结点。

(2)在有序单链表中插入一个元素x的结点。

(3)从单链表中查找出所有元素的最大值,该值由函数返回,若单链表为空,则显示出错信息并停止运行。

(4)统计出单链表中结点的值等于给定值x的结点数。

第三章栈和队列一、选择题1. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()。

(A)edcba(B)decba(C)dceab (D)abcde2.栈结构通常采用的两种存储结构是()。

(A)线性存储结构和链表存储结构(B)散列方式和索引方式(C)链表存储结构和数组(D)线性存储结构和非线性存储结构3.判定一个栈ST(最多元素为m0)为空的条件是()。

(A)ST.top!=0 (B)ST.top==0(C)ST.top!=m0 (D)ST.top=m04.判定一个栈ST(最多元素为m0)为栈满的条件是()。

(A)ST.top!=0 (B)ST->top==0(C)ST.top!=m0-1(D)ST.top==m0-15.一个队列的入列序列是1,2,3,4,则队列的输出序列是()。

(A)4,3,2,1(B)1,2,3,4(C)1,4,3,2(D)3,2,4,16.循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear则当前队列中的元素个数是()(A)(rear-front+m)%m (B)rear-front+1 (C)rear-front-1(D)rear-front7.栈和队列的共同点是()(A)都是先进后出(B)都是先进先出(C)只允许在端点处插入和删除元素(D)没有共同点9.4个元素a1,a2,a3和a4依次通过一个栈,在a4进栈前,栈的状态,则不可能的出栈序是()(A)a4,a3,a2,a1(B)a3,a2,a4,a1(C)a3,a1,a4,a2(D)a3,a4,a2,a110.以数组Q[0..m-1]存放循环队列中的元素,变量rear和qulen分别指示循环队列中队尾元素的实际位置和当前队列中元素的个数,队列第一个元素的实际位置是()(A)rear-qulen(B)rear-qulen+m(C)m-qulen(D)1+(rear+m-qulen)% m二、填空题1.栈的特点是_______________________,队列的特点是__________________________。

2.线性表、栈和队列都是_____________________结构,可以在线性表的______________位置插入和删除元素,对于栈只能在________插入和删除元素,对于队列只能在_______插入元素和_________删除元素。

3.一个栈的输入序列是12345,则栈有输出序列12345是____________。

(正确/错误)4.设栈S和队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过一个栈,一个元素出栈后即进入队列Q,若6个元素出队列的顺序是a3,a5,a4,a6,a2,a1则栈S至少应该容纳_____个元素。

三、算法设计题1.链栈的出栈入栈算法。

2.顺序循环队列的出队入队算法.第四章串和数组一、选择题1.下列关于串的叙述中,正确的是()(A)一个串的字符个数即该串的长度(B)一个串的长度至少是1(C)空串是由一个空格字符组成的串(D)两个串S1和S2若长度相同,则这两个串相等2.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时元素( ) 的起始地址相同。

3.(A)M[2][4](B)M[3][4](C)M[3][5](D)M[4][4]4.3.数组A[8][10]中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是()。

5.(A)80(B)100(C)240(D)2706.4.数组A[8][10]中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[7][4]的起始地址为()。

7.(A)SA+141(B)SA+144(C)SA+222(D)SA+2258.5.数组A[8][10]中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,该数组按列存放时,元素A[4][7]的起始地址为()。

9.(A)SA+141(B)SA+180(C)SA+222(D)SA+22510.6.稀疏矩阵一般的压缩存储方法有两种,即()。

11.(A)二维数组和三维数组(B)三元组和散列12.(C)三元组和十字链表(D)散列和十字链表13.7.若采用三元组压缩技术存储稀疏矩阵,只要把每个元素的行下标和列下标互换,就完成了对该矩阵的转置运算,这种观点()。

14.(A)正确(B)错误15.8.设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素ai,j(i<=j),在一组数组B的下标位置k的值是()。

16.(A)i(i-1)/2+j-1(B)i(i-1)/2+j(C)i(i+1)/2+j-1 (D)i(i+1)/2+j17.4.串是一种特殊的线性表,其特殊性表现在()18.(A)可以顺序存储(B)数据元素是一个字符19.(C)可以链式存储(D)数据元素可以是多个字符20.5.设串S1=‘ABCDEFG’,s2=‘PQRST’,函数CONCAT(X,Y)返回X和Y串的连接串,SUBSTR (S,I,J)返回串S从序号I开始的J个字符组成的字串,LENGTH(S)返回串S的长度,则CONCAT(SUBSTR(S1,2,LENGTH(S2)),SUBSTR(S1,LENGTH(S2),2))的结果串是()21.(A)BCDEF (B) BCDEFG (C)BCPQRST (D)BCDEFEF二、填空题1.己知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是LOC(A[0][0]),则A[0][0]的地址是_____________________。

2.2.二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元,并且A[0][0]的存储地址是200,则A[6][12]的地址是________________。

3.3.有一个10阶对称矩阵A,采用压缩存储方式(以行序为主,且A[0][0]=1),则A[8][5]的地址是__________________。

4.4.设n行n列的下三角矩阵A已压缩到一维数组S[1..n*(n+1)/2]中,若按行序为主存储,则A[i][j]对应的S中的存储位置是________________。

相关文档
最新文档